تقنية استنادىء الطرائق عن بعد
استنادىء الطرائق عن بعد في جاڤا Java remote method invocation، هي آلية وتقنية تسمح لنا ببناء تطبيقات موزعة وذلك بتزويدنا بإمكانية استنادىء توابع (أوطرائق)methods عن بعد بين عدة آلات مختلفة JVM . والـ RMI هي نوع من أنواع البرمجيات الوسيطة Middleware التي تستخدم لمكاملة تطبيقات شبكة(تطبيقات موزعة)،وهي معيار من شركة SUN وبالتالي فهي خاصة بـلغة جافا حصراً، وبالتالي لا يمكن مكاملة تطبيقات شبكية لا تستخدم لغة جافا بواسطة الـ RMI. طبعاً يوجد عدة تطبيقات وسيطة أخرى مكافئة للـ RMI منها: RPC,ORB,Queue,Web Services ،CORBA وكلها لها الهدف نفسه وهومكاملة التطبيقات على الشبكة.
ميزات الـ RMI
مل يميز الـRMI عن باقي أنواع البرمجيات الوسيطة Middleware
- أكثر سهولة في الاستخدام ،مقارنة مثلاً بالـ CORBA التي تتميز بالصعوبة البالغة في الاستخدام.
- آمنة. بما أنها تعمل مع لغة جافا قهي أكثر أمناً من باقي أنواع البرمجيات الوسيطة .
- تجنبنا استخدام الـ Socket والتي يعتتبر التعامل معها قاسي وLow-level مستوى منخفض ، إذ حتى عملية تحزيم الطلب وإرساله ثم إعادة فك التحزيم تتم بشكل تلقائي دون الحاجة لتدخل المبرمج فيها.
- لاتحتاج إلى توصيف بروتوكول تخاطب بين المخدم والزبون.
آلية عمل الـRMI
إن مبدأ عمل الـ RMI سهل للغاية، فهي تعتمد على وجود RMI Server وهوتعبير عن برنامج جافا عادي يقوم بانشاء الأغراض Object التي نريد استنادىءها أواستنادىء طرق Method منها عن بعد ثم يقوم بوضع bind ربط أوتسجيل تلك الأغراض المنشأة فيما يسمى بالـ RMI ،لتصبح بعد ذلك متاحة للزبائن. بالإضافة لوجود مخدم RMI نحتاج لوجود RMI Client والذي يطلب من المخدم السابق(بعد حتى يعهد نفسه ) البحث عن غرض ما ضمن الـ Registry ثم يعيد المخدم لذلك الزبون عندما يجد ذلك الغرض ما يسمى بـ Stub (يعهد أيضاً بـ Remote reference) ثم استنادىء الطرائق المطلوبة ، طبعاً عملياً الزبون يستدعي الطريقة البعيدة أي حتى الطريقة المستنادىة تنفذ عند المخدم وليس عند الزبون أما النتيجة return فهي التي تعاد للزبون. مع ملاحظة حتى الـ RMI هواستنادىء غير متزامن.