نظام بنية وسيط طلب الكائنات المشتركة CORBA

اقرأ في هذا المقال


تعد بنية وسيط طلب الكائنات المشتركة (CORBA) معياراً تم تطويره بواسطة مجموعة من إدارة الكائنات (OMG)، مع العلم أنّ بنية وسيط طلب الكائنات المشتركة “CORBA” هو الحل الوسيط الرائد في العالم الذي يتيح تبادل المعلومات بشكل مستقل عن الأنظمة الأساسية للأجهزة ولغات البرمجة وأنظمة التشغيل مع العلم أنّ بنية وسيط طلب الكائنات المشتركة “CORBA” هي في الأساس مواصفات تصميم لوسيط طلب كائن (ORB).

ما هو نظام بنية وسيط طلب الكائنات المشتركة CORBA

تعد بنية وسيط طلب الكائنات المشتركة “CORBA” هي بنية مكونة تم تطويرها بواسطة مجموعة من إدارة الكائنات والشركات الأعضاء فيها، والتي تحدد تقنيات إنشاء كائنات برمجة المكونات وتوزيعها وإدارتها عبر الشبكة، حيث تم تصميم “CORBA” وذلك لتوفير إمكانية التشغيل البيني بين التطبيقات في البيئات الموزعة غير المتجانسة.

  • “CORBA” هي اختصار ل كلمة “Common Object Request Broker Architecture”.
  • ORB” هي اختصار ل كلمة “Online Record Book“.

CORBA - Common Object Request Broker Architecture model

كيفية عمل نظام بنية وسيط طلب الكائنات المشتركة CORBA

في بيئة بنية وسيط طلب الكائنات المشتركة “CORBA”  تطلب البرامج الخدمات من خلال وسيط طلبات الكائنات (ORB) والذي يسمح لمكونات التطبيقات الموزعة بالعثور على بعضها البعض والتواصل دون معرفة مكان وجود التطبيقات على الشبكة أو نوع الواجهة التي تستخدمها، مع العلم أنّ “ORBs” هي البرامج الوسيطة التي تمكن برامج العميل والخادم من إنشاء جلسات مع بعضها البعض بغض النظر عن موقعها على الشبكة أو واجهة البرمجة الخاصة بها، وتتم بعدها عملية استدعاء العميل لواجهة برمجة التطبيقات (API) على كائن الخادم شفافة.

حيث تعد بنية وسيط طلب الكائنات المشتركة (CORBA) معياراً تحدده مجموعة إدارة الكائنات (OMG) والتي تتيح لمكونات البرامج المكتوبة بلغات كمبيوتر متعددة والتي تعمل على أجهزة كمبيوتر متعددة العمل معاً، إنّ بنية وسيط طلب الكائنات المشتركة “CORBA” هو معيار لتوزيع الكائنات عبر الشبكات بحيث يمكن استدعاء العمليات على هذه الكائنات عن بُعد، ولا يرتبط  بنية وسيط طلب الكائنات المشتركة “CORBA” بلغة برمجة معينة.

كما ويمكن استخدام أي لغة بها ارتباط بنية وسيط طلب الكائنات المشتركة “CORBA” لاستدعاء وتنفيذ كائنات “CORBA”، ويتم وصف الكائنات في بناء جملة يسمى لغة تعريف الواجهة (IDL).

  1. يتضمن نظام بنية وسيط طلب الكائنات المشتركة CORBA أربعة مكونات

  • وسيط طلب الكائن (ORB): حيث يتعامل وسيط طلب الكائن (ORB) مع اتصالات وتنظيم وإلغاء تنظيم المعلومات بحيث تكون معالجة المعلومات شفافة لخادم بنية وسيط طلب الكائنات المشتركة “CORBA” وتطبيقات العميل.
  • خادم “CORBA”: حيث يقوم خادم “CORBA” بإنشاء كائنات “CORBA” وتهيئتها باستخدام “ORB”، بحيث يضع الخادم مراجع إلى كائنات بنية وسيط طلب الكائنات المشتركة “CORBA” داخل خدمة تسمية حتى يتمكن العملاء من الوصول إليها.
  • خدمة التسمية: حيث تحتوي خدمة التسمية على مراجع لكائنات “CORBA”.
  • طلب عقدة: بحيث تعمل عقدة “CORBARequest” كعميل “CORBA”، بحيث يوضح الرسم البياني التالي طبقات الاتصال بين “IBM®” “Integration Bus” و “CORBA”، كما هو موضح بالخطوات.

The diagram shows how IBM Integration can connect to CORBA.

 2. الميزات في نظام بنية وسيط طلب الكائنات المشتركة CORBA

البيانات التي يوفرها الكائن للجمهور، والعمليات التي يمكن أن يستجيب لها الكائن بما في ذلك التوقيع الكامل للعملية، حيث يتم تعيين عمليات بنية وسيط طلب الكائنات المشتركة “CORBA” إلى طرق “Java” ومن ثم يتم تعيين أنواع معلومات عملية “IDL” لأنواع بيانات “Java”، بحيث يوفر بنية وسيط طلب الكائنات المشتركة “CORBA” ارتباطات للعديد من اللغات بما في ذلك اللغات غير المتعلقة بالكائن مثل “COBOL” و “C” واللغات الموجهة للكائنات مثل “Smalltalk” و “Java”.

مع العلم توفر جميع تطبيقات بنية وسيط طلب الكائنات المشتركة ” CORBA” وسيط طلب كائن (ORB)  والذي يتعامل مع توجيه طلبات الكائنات بطريقة شفافة إلى حد كبير لمطور التطبيق، فعلى سبيل المثال تبدو الطلبات استدعاءات الطريقة على الكائنات البعيدة التي تظهر في رمز العميل تماماً مثل استدعاءات الطريقة المحلية، بحيث يتم الاعتناء بوظيفة الاستدعاء عن بُعد بما في ذلك تنظيم المعلمة وبيانات الإرجاع للمبرمج بواسطة “ORB”.

  2. إيجابيات التي يقدمها نظام بنية وسيط طلب الكائنات المشتركة CORBA

يدعم بنية وسيط طلب الكائنات المشتركة “CORBA” العديد من اللغات الموجودة، بحيث يدعم أيضاً خلط هذه اللغات في تطبيق موزع واحد، كما يدعم بنية وسيط طلب الكائنات المشتركة “CORBA” كلاً من التوزيع وتوجيه الكائن، مع العلم أنّ بنية وسيط طلب الكائنات المشتركة “CORBA” هو معيار صناعي وهذا يخلق منافسة بين البائعين ويضمن وجود تطبيقات عالية الجودة.

كما تدعم أكثر من “600” شركة بنية وسيط طلب الكائنات المشتركة “CORBA”، بما في ذلك شركات الأجهزة وشركات البرمجيات وشركات الكابلات وشركات الهاتف والبنوك وما إلى ذلك. بحيث يوفر استخدام معيار بنية وسيط طلب الكائنات المشتركة “CORBA” أيضاً للمطور درجة معينة من قابلية النقل بين عمليات التنفيذ.

 3. الخطوات الأساسية لتطوير نظام بنية وسيط طلب الكائنات المشتركة CORBA

  • قم بإنشاء IDL لتعريف واجهات التطبيق: يوفر “IDL” نظام التشغيل ولغة البرمجة واجهات مستقلة لجميع الخدمات والمكونات المرتبطة بـ “ORB”، كما يحدد “IDL” وصفًا لأية خدمات يعرضها مكون الخادم للعميل، وغالباً ما يتم استخدام المصطلح “مترجم IDL” ولكن يتم بالفعل ترجمة “IDL” إلى لغة برمجة.
  • ترجمة IDL: ينشئ مترجم “IDL” عادةً جزأين تعاونيين لتنفيذ العميل والخادم ، ورمز كعب الروتين وكود الهيكل العظمي يرتبط رمز كعب الروتين الذي تم إنشاؤه لفئات الواجهة بتطبيق العميل ويوفر للمستخدم واجهة برمجة تطبيقات محددة جيداً  (API)، وبعدها يتم ترجمة “IDL” إلى “C ++”.
  • تجميع ملفات الواجهة: بمجرد ترجمة “IDL” إلى اللغة المناسبة ، سوف يتم تجميع ملفات الواجهة هذه وإعدادها لتنفيذ الكائن.
  • أكمل التنفيذ: اذا كانت فئات التنفيذ غير مكتملة، فيجب تعديل المواصفات وملفات الرأس والهيئات والتعريفات الكاملة قبل المرور عبرها ليتم تجميعها، وعملية الإخراج هو تنفيذ العميل أو الخادم الكامل.
  • تجميع التنفيذ: بمجرد اكتمال فئة التنفيذ تكون واجهات العميل جاهزة للاستخدام في تطبيق العميل، كما ويمكن دمجها على الفور في عملية العميل، بحيث تكون عملية العميل هذه مسؤولة عن الحصول على مرجع كائن لكائن معين، ممّا يسمح للعميل بتقديم طلبات لهذا الكائن في شكل استدعاء أسلوب على واجهة برمجة التطبيقات التي تم إنشاؤها.
  • اربط التطبيق: بمجرد أن يتم تجميع جميع التعليمات البرمجية للكائن من الخطوتين الثالثة والخامسة يجب ربط فئات تنفيذ الكائن بـ رابط “C ++”، وذلك بمجرد الارتباط بمكتبة “ORB” سوف يتم إنشاء عمليتين قابلتين للتنفيذ واحدة للعميل والأخرى للخادم.
  • قم بتشغيل العميل والخادم: اكتملت الآن عملية التطوير وسيتواصل العميل الآن مع الخادم، كما يستخدم الخادم فئات تنفيذ الكائن التي تسمح له بالاتصال بالكائنات التي تم إنشاؤها بواسطة طلبات العميل.
  • “IDL” هي اختصار ل كلمة “Interactive Data Language”.

المصدر: Basic Networking ConceptsCOMPUTER NETWORKSPrentice Hall - Computer Networks Tanenbaum 4ed.pdfComputer Networking REPORT ON COMPUTER NETWORKING AND COMMUNICATION


شارك المقالة: