Professional Documents
Culture Documents
L8 Ar
L8 Ar
Intro
يرتبط استدعاء األسلوب البعيد ( )RMIارتباطًا وثي ًقا بـ RPCولكنه يمتد إلى عالم الكائنات الموزعة.
• في ، RMIيمكن للكائن المستدعي استدعاء طريقة في كائن يحتمل أن يكون بعي ًدا .كما هو الحال
مع ، RPCيتم إخفاء التفاصيل األساسية بشكل عام عن المستخدم.
The commonalities between RMI and RPC
• كالهما يدعم البرمجة مع واجهات ،مع الفوائد الناتجة التي تنبع من هذا النهج.
• يتم إنشاء كالهما بشكل نموذجي فوق بروتوكوالت الرد على الطلب ويمكنهما تقديم مجموعة من
دالالت االتصال
مثل مرة واحدة على األقل ومرة واحدة على األكثر.
• كالهما يوفر مستوى مشاب ًها من الشفافية -أي أن المكالمات المحلية والبعيدة تستخدم نفس
الصيغة ولكن الواجهات البعيدة عاد ًة ما تكشف الطبيعة الموزعة للمكالمة األساسية ،على سبيل
المثال من خالل دعم االستثناءات البعيدة.
• ال
Design issues for RMI
• كما ذكر أعاله ،تشترك RMIفي نفس مشكالت التصميم مثل RPCمن حيث
• programming with interfaces,
• call semantics and
• level of transparency.
• Distributed objects
• تتكون حالة الكائن من قيم متغيرات الحالة الخاصة به.
• في النموذج القائم على الكائن ،يتم تقسيم حالة البرنامج إلى أجزاء منفصلة ،كل منها مرتبط
بكائن.
• نظرًا ألن البرامج القائمة على الكائنات مقسمة منطقيًا ،فإن التوزيع المادي للكائنات في عمليات أو
أجهزة كمبيوتر مختلفة في نظام موزع يعد امتدا ًدا طبيعيًا.
• قد تتبنى أنظمة الكائنات الموزعة بنية خادم العميل.
• في هذه الحالة ،تتم إدارة الكائنات بواسطة الخوادم ويقوم عمالؤها باستدعاء أساليبهم باستخدام
استدعاء الطريقة البعيدة.
• في ، RMIيتم إرسال طلب العميل الستدعاء طريقة كائن في رسالة إلى الخادم الذي يدير الكائن.
• يتم االستدعاء من خالل تنفيذ طريقة الكائن على الخادم ويتم إرجاع النتيجة إلى العميل في رسالة
أخرى.
• نشير إلى الكائنات التي يمكن أن تتلقى الدعوات عن بعد كأشياء بعيدة.
• في الشكل ، 5.12الكائنات Bو Fهي كائنات بعيدة.
• يمكن لجميع الكائنات استقبال الدعوات المحلية ،على الرغم من أنها يمكن أن تتلقاها فقط من
الكائنات األخرى التي تحتوي على مراجع لها.
• يوجد المفهومان األساسيان التاليان في قلب نموذج الكائن الموزع:
• مراجع الكائنات البعيدة :يمكن للكائنات األخرى استدعاء أساليب كائن بعيد إذا كان لديهم وصول إلى
مرجع الكائن البعيد الخاص به.
• على سبيل المثال ،يجب أن يتوفر مرجع كائن بعيد لـ Bفي الشكل 5.12لـ .A
• واجهات بعيدة :لكل كائن بعيد واجهة عن بعد تحدد أي من طرقه يمكن استدعاؤها عن بعد.
• على سبيل المثال ،يجب أن يكون للكائنين Bو Fفي الشكل 5.12واجهات بعيدة.
• في الشكل ، 5.12يحتاج الكائن Aإلى االحتفاظ بمرجع كائن بعيد إلى الكائن .Bيمكن الحصول
على مراجع الكائن البعيد كنتيجة الستدعاءات الطريقة البعيدة .على سبيل المثال ،قد يحصل الكائن
Aفي الشكل 5.12على مرجع بعيد للكائن Fمن الكائن .B
• عندما يؤدي إجراء ما إلى إنشاء مثيل لكائن جديد ،سيعيش هذا الكائن بشكل طبيعي في العملية
منشئ.حيث يتم طلب إنشاء مثيل -على سبيل المثال ،حيث تم استخدام ال ُ
• إذا كان الكائن الذي تم إنشاء مثيل له حدي ًثا يحتوي على واجهة بعيدة ،فسيكون كائ ًنا بعي ًدا بمرجع
كائن بعيد.
• قد تزود التطبيقات الموزعة الكائنات البعيدة بأساليب إنشاء مثيل للكائنات التي يمكن الوصول إليها
بواسطة ، RMIوبالتالي توفير تأثير إنشاء مثيل عن ُبعد للكائنات بشكل فعال.
• على سبيل المثال ،إذا كان الكائن Lفي الشكل 5.14يحتوي على طريقة إلنشاء كائنات بعيدة ،
فقد تؤدي االستدعاءات البعيدة من Cو Kإلى إنشاء مثيل للكائنين Mو ، Nعلى التوالي.