الفرق بين RPC و RMI

جدول المحتويات:

الفرق بين RPC و RMI
الفرق بين RPC و RMI

فيديو: الفرق بين RPC و RMI

فيديو: الفرق بين RPC و RMI
فيديو: 15- الاوراق المالية والفرق بين الاسهم والسندات واذون الخزانه كورس اساسيات العمل المصرفى 2024, شهر نوفمبر
Anonim

RPC مقابل RMI

الاختلاف الأساسي بين RPC و RMI هو أن RPC هي آلية تمكن من استدعاء إجراء على كمبيوتر بعيد بينما RMI هو تنفيذ RPC في java. RPC هو لغة محايدة ولكنه يدعم فقط أنواع البيانات الأولية التي يتم تمريرها. من ناحية أخرى ، يقتصر RMI على Java ولكنه يسمح بتمرير الكائنات. يتبع RPC تراكيب اللغة الإجرائية التقليدية بينما يدعم RMI التصميم الموجه للكائنات.

ما هو RPC؟

RPC ، والتي تعني استدعاء الإجراء البعيد ، هي نوع من الاتصالات بين العمليات. هذا يسمح باستدعاء وظيفة في عملية أخرى تعمل على الكمبيوتر المحلي أو كمبيوتر بعيد.ظهر هذا المفهوم منذ وقت طويل في عام 1980 ، لكن أول تطبيق مشهور شوهد في يونكس.

RPC يتضمن عدة خطوات. يقوم العميل بإجراء استدعاء على الكمبيوتر المحلي كالمعتاد. تقوم الوحدة النمطية التي تسمى كعب العميل بجمع الوسائط وإنشاء رسالة وتمريرها إلى نظام التشغيل ، ويقوم نظام التشغيل بإجراء مكالمة نظام ويرسل هذه الرسالة إلى الكمبيوتر البعيد. يجمع نظام التشغيل في الخادم الرسالة ويمررها إلى الوحدة النمطية الموجودة على الخادم والتي تسمى كعب الخادم. ثم يستدعي كعب الخادم الإجراء على الخادم. أخيرًا ، يتم إرسال النتائج مرة أخرى إلى العميل.

ميزة استخدام RPC هي أنه مستقل عن تفاصيل الشبكة. يتعين على المبرمج فقط أن يحدد بطريقة مجردة بينما يعتني نظام التشغيل بتفاصيل الشبكة الداخلية. لذا فإن هذا يجعل البرمجة أسهل ويسمح لـ RPC بالعمل عبر أي شبكة على الرغم من الاختلافات المادية والبروتوكول. توجد تطبيقات RPC في جميع أنظمة التشغيل السائدة مثل Unix و Linux و Windows و OS X.يعد RPC محايدًا للغة بشكل عام ، ومن ثم فهو يحد من أنواع البيانات إلى الأنواع الأكثر بدائية حيث يجب أن تكون مشتركة لجميع اللغات. النهج في RPC ليس موجهًا نحو الهدف ، ولكنه آلية إجرائية تقليدية كما هو الحال في C.

الفرق بين RPC و RMI
الفرق بين RPC و RMI
الفرق بين RPC و RMI
الفرق بين RPC و RMI

ما هو RMI؟

RMI ، التي تعني استدعاء الأسلوب البعيد ، هي واجهة برمجة تطبيقات (واجهة برمجة التطبيقات) التي تنفذ RPC في جافا لدعم الطبيعة الموجهة للكائن. هذا يسمح باستدعاء طرق Java على جهاز Java Virtual آخر موجود على نفس الكمبيوتر أو على جهاز بعيد. يتمثل الحد من RMI في أنه يمكن استدعاء عمليات Java فقط ، ولكن هذا يأتي مع ميزة أنه يمكن تمرير الكائنات كوسائط وقيم إرجاع.عندما يعتبر الأداء أن RMI أبطأ من RPC بسبب مشاركة الرمز الثانوي على جهاز Java Virtual ، لكن RMI سهل جدًا للمبرمجين ، وهو سهل الاستخدام للغاية.

يستخدم RMI آليات أمان مضمنة في Java ، كما يوفر مصنعًا للمقبس يتيح استخدام بروتوكولات طبقة النقل المخصصة بخلاف TCP. علاوة على ذلك ، يوفر RMI طرقًا لتجاوز جدران الحماية. الخطوات التي تحدث في RMI تشبه RPC. يعتني تطبيق RMI بتفاصيل الشبكة الداخلية حيث لا داعي للقلق من جانب المبرمج.

ما هو الفرق بين RPC و RMI؟

• RPC هي لغة محايدة بينما RMI مقصورة على Java.

• RPC إجرائي كما هو الحال في C ، لكن RMI موجهة نحو الكائن.

• يدعم RPC أنواع البيانات الأولية فقط بينما يسمح RMI بتمرير الكائنات كوسائط وقيم إرجاع. عند استخدام RPC ، يجب على المبرمج تقسيم أي كائنات مركبة إلى أنواع بيانات أولية.

• RMI من السهل برمجة ذلك RPC.

• RMI أبطأ من RPC نظرًا لأن RMI تتضمن تنفيذ java bytecode.

• يسمح RMI باستخدام أنماط التصميم نظرًا لطبيعة الكائن الموجه بينما لا يمتلك RPC هذه الإمكانية.

ملخص:

RPC مقابل RMI

RPC هي آلية لغة محايدة تسمح باستدعاء إجراء على كمبيوتر بعيد. ومع ذلك ، فإن ميزة اللغة المحايدة تحد من أنواع البيانات التي يتم تمريرها كوسائط وإرجاع القيم إلى الأنواع الأولية. RMI هو تنفيذ RPC في Java وهو يدعم تمرير الكائنات أيضًا ، مما يجعل حياة المبرمج أسهل. ميزة RMI هي دعم التصميم الموجه للكائنات ، لكن تقييد Java هو عيب.

موصى به: