الكائنات الموزعة المحمولة

تُعدّ مكتبة الكائنات الموزعة المحمولة ( PDO ) واجهة برمجة تطبيقات (API) لإنشاء برامج كائنية التوجه قابلة للتنفيذ عن بُعد على شبكة حاسوبية. طُوّرت هذه المكتبة بواسطة شركة NeXT Computer, Inc. باستخدام نظام OpenStep الخاص بها ، والذي سهّل استخدام لغة Objective-C كتابة هذه الحزمة البرمجية. تميّزت المكتبة بخفة وزنها وسرعتها العالية مقارنةً بأنظمة مماثلة مثل CORBA .

كانت إصدارات PDO متوفرة لأنظمة Solaris و HP-UX وجميع إصدارات نظام OPENSTEP، كما أُعلن عن اتفاقية لإصدار نسخة لنظام Digital Unix ، الذي كان يُعرف آنذاك باسم OSF/1، وكان من المتوقع إصدارها بعد إصدار نسخ SunOS وSolaris. تراوحت أسعار تراخيص المنتج لهذه المنصات بين 2500 دولار أمريكي للاستخدام على "خادم صغير" و10000 دولار أمريكي للاستخدام على "خادم كبير". [ 1 ] كما توفر إصدار متوافق مع Microsoft OLE يُسمى D'OLE ، [ 2 ] يسمح بعرض التعليمات البرمجية الموزعة المكتوبة باستخدام PDO على أي منصة على أنظمة Microsoft كما لو كانت كائنات OLE محلية.

من ناحية أخرى، اعتمد PDO على عدد قليل من الميزات في بيئة تشغيل Objective-C للتعامل مع قابلية النقل والتوزيع. تمثلت الميزة الرئيسية في دعم اللغة لأسلوب "الفرصة الثانية" في جميع الفئات؛ فإذا فشل استدعاء أسلوب على كائن ما لأن الكائن لا يدعمه (وهو أمر غير مسموح به عادةً في معظم اللغات بسبب قواعد الكتابة الصارمة )، فإن بيئة التشغيل تقوم بتجميع الرسالة في تنسيق مضغوط وإعادتها إلى forwardInvocationأسلوب الكائن. [ 3 ]

كان السلوك المعتاد هو forwardInvocationإرجاع خطأ، يتضمن تفاصيل مستقاة من الرسالة (الاستدعاء). لكن PDO وفر بدلاً من ذلك عددًا من الكائنات الجديدة ذات forwardInvocationالدوال التي تُمرر كائن الاستدعاء إلى جهاز آخر على الشبكة، مع إصدارات مختلفة لدعم الشبكات والأنظمة الأساسية المتنوعة. كان استدعاء الدوال على الكائنات البعيدة شبه غير مرئي؛ فبعد إعداد الشبكة (بضعة أسطر عادةً)، يتم إنشاء كائنات PDO محليًا واستدعاؤها بنفس طريقة استدعاء أي كائن آخر على النظام. ثم يُعيد كائن PDO توجيه الاستدعاء إلى الحاسوب البعيد للمعالجة، ويُفكك النتائج عند إرجاعها.

بالمقارنة مع CORBA ، كانت برامج PDO عادةً ما تكون بحجم عُشر حجم CORBA أو أقل؛ وكان من الشائع أن يكتب موظفو NeXT في المجلات شرحًا لكيفية إعادة تنفيذ مقال CORBA متعدد الصفحات في حوالي 15 سطرًا من التعليمات البرمجية. [ 4 ] من وجهة نظر البرمجة، لم يكن هناك تقريبًا أي شيء سهل الاستخدام مثل PDO.

مع ذلك، كان PDO يعتمد كليًا على لغة Objective-C ليعمل. كان هذا ثمنًا لم يرغب معظم المطورين في دفعه، إذ كانت لغة C++ آنذاك أكثر استخدامًا، واعتُبرت عملية نقل قواعد البيانات البرمجية إلى لغة ونموذج جديدين تمامًا أمرًا شاقًا للغاية. [ 5 ] لم يُستخدم PDO على نطاق واسع، وتحوّل تركيز شركة NeXT إلى إطار عمل WebObjects الجديد في عام 1995.

إن القدرة على إنشاء أي كائن معروف للعملية المحلية من أي عملية أخرى هي ثغرة أمنية معروفة، ولذلك فإن شركة Apple تثني بشدة عن استخدام PDO.

بالإضافة إلى منصة نظام التشغيل OS X، هناك GNUstep ، التي لديها تطبيقها الخاص للكائنات الموزعة. [ 6 ]

انظر أيضاً

مراجع

  1. ناش، كيم س. (28 مارس 1994). "نقل NextStep إلى DEC OSF/1 قيد الإعداد" . Computerworld . ص  24. تم الاطلاع عليه في 5 مارس 2022 .
  2. "شركة NeXT تُطلق الإصدار 3.5 من D'OLE وإطار عمل Enterprise Objects Framework 1.1 لنظام التشغيل Windows NT" . بزنس واير . بزنس واير. 15 يناير 1996. مؤرشف من الأصل في 14 مايو 2005. تم الاطلاع عليه بتاريخ 8 فبراير 2008 .
  3. شركة آبل (19 أكتوبر 2009). "إعادة توجيه الرسائل" . تم الاسترجاع في 22 نوفمبر 2017 .
  4. إرنست ن. برابهاكار (1 أغسطس 1995). "تنفيذ الكائنات الموزعة" . مجلة دكتور دوبز . تقنية CMP . تم الاسترجاع في 8 فبراير 2008 .
  5. "ما الفرق بين لغات البرمجة C و C++ و C# و Objective-C؟" . أخبار Codecademy . 4 مارس 2022. تاريخ الاطلاع: 17 أكتوبر 2022 .
  6. آدم فيدور (26 مايو 2007). "الكائنات الموزعة" . دليل برمجة GNUstep الأساسي بلغة Objective-C . مشروع GNUstep . مؤرشف من الأصل بتاريخ 28 سبتمبر 2007. تم الاطلاع عليه بتاريخ 9 أغسطس 2007 .