كوربا (حاسوب)

عودة للموسوعة

CORBA هي حدثة اختصار لـCommon Object Request Broker Architecture وهي تعبير إنكليزية تعني باللغة العربية أسلوب البناء الوسيطي لطلب الأغراض العامة.

يعتبر أسلوب البناء الوسيطي لطلب الأغراض العامة CORBA معيار قياسي معرّف من قبل مجموعة إدارة الأغراض (بالإنجليزية: Object Management Group،‏ OMG)‏. يخوّل هذا المعيار المكونات البرمجية (بالإنجليزية: Software components)‏ المكتوبة بلغات حاسوبية مختلفة، والتي تعمل على أجهزة متعددة، يخولها بالعمل معا.

نظرة عامة (مقدمة)

تعتبر كوربا CORBA تقنية في البرمجيات مستخدمة في تنظيم وتوحيد دلالية استنادىءات المناهج (الطرائق) method-call بين أغراض التطبيقات التي تقع في المجال العنواني نفسه للتطبيق أوتقع في مجال عنواني بعيد (أي عنوان المضيف نفسه، أوعنوان مضيف بعيد على شبكة ما). لقد تم اصدار النسخة 1.0 في شهر تشرين الأول أكتوبر من عام 1991 ميلادي.

تستخدم كوربا CORBA لغة تعريف القابلات Interface Definition Language) IDL) لتحديد القابلات التي يفترض أن تقدمها الأغراض البرمجية للعالم الخارجي. عندئذ كوربا تؤمن الانتنطق من لغة تعريف القابلات IDL إلى أي لغة برمجة خاصة بالتطبيق مثل لغة C++ أولغة جافا. هناك ارتباط قياسي لعدد من لغات البرمجة منها لغة آدا Ada ولغة C ولغة C++ ولغة Lisp ولغة Smalltalk ولغة جافا ولغة كوبول COBOL ولغة PL/L ولغة بايثون Python. كما وهناك ارتباطات غير قياسية للغات أخرى مثل لغة بيرلPerl ولغة فيجوال بيسك Visual Basic ولغة Rubyروبي ولغة Erlang ولغة Tcl منجزة من خلال الوسائط لطلب الأغراض العامة ORBs Object Request Brokers ومكتوبة من أجل تلك اللغات.

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

يستخدم الـ Object Adapter لتسجيل الـ instances من الصفوف مولدة النص البرمجي generated code classes. تعتبر الصفوف مولدة النص البرمجي Generated Code Classes على أنها نتيجة ترجمة الكود الخاص بـ IDL المستخدم الذي يقوم بتحويل تعاريف القابلات عالية المستوى إلى أساس صفوف خاصة باللغة وخاصة بنظام التشغيل لكي يتم استخدامها في تطبيق المستخدم. وتعد هذه المستوى ضرورية للتأكيد على دلالات ألفاظ الكوربا، كما وتعد ضرورية لتقديم عملية سليمة للمستخدم لللقاءة مع البنية التحتية لكوربا. هناك لغات لقاءات IDL تعتبر أكتر صعوبة من غيرها. على سبيل المثال طبيعة لغة البرمجة جافا تقتضي حتى الـ IDL-Java Mapping سلس ويستفيد من كوربا بشكل سهل في تطبيقات الجافا. بينما C++ Mapping لا تعتبر سهلة ولكنها مناسبة لجميع هيئات الكوربا مثل معالجة الاستثناءات Exception Handling. كما وأن C-mapping تعتبر أشد غرابة (لأنها ليست لغة برمجة غرضية التوجه) ولكنها منطقية وتعالج RPC semantics بشكل جيد. (لقد استبدلت Red Hat Linux وGNOME UI system الـ IPC المبني على كوربا بآخر هوDBus) إن تحقيق التقابل بين لغات البرمجة يحتاج من المبرمج حتى يخط IDL code يمثل قابلة إلى الأغراض البرمجية الخاصة به. وعادةً هناك مترجم خاص مع كوربا هوIDL compiler يحول IDL code الذي خطه المبرمج إلى نص برنامج مولد حسب لغة البرمجة المحددة. ومن ثم يقوم مترجم تقليدي بترجمة نص البرنامج المولد لإنشاء ملفات أغراض القابلة للربط لهذا التطبيق.

بعض مواصفات كوربا هي: أنماط المعطيات، الاستثناءات Exceptions، بروتوكولات الشبكة، الزمن المحدد للتواصل communication timeouts. على سبيل المثال: يتواجد في جهة الخادم عادةً Portable Object Adapter (POA) يقوم بتوجيه الطلبات اما إلى الخادم المحلي local servants أويقوم بتوجيهها إلى خوادم أخرى وذلك لتحقيق موازنة الحمل.

بعض الأمور التي لا تهتم بها كوربا ولكنها موجودة في جميع الأنظمة الموزعة الأخرى هي: مدة حياة الغرض، التكرارية وتجاوز الأعطال، name semantics، إدارة الذاكرة، الموازنة الديناميكية للحمل، وفصل النماذج عن بعضها (اظهار، معطيات، تحكم). إضافة لكون كوربا تقدم للمستخدم تقنية استنادىء الاجرائيات عن بعد بغض النظر عن البيئة، فهي أيضاً تعرّف بعض الخدمات الهامة مثل المناقلات transactions والأمان والأحداث والوقت وغيرها من نماذج القابلات حسب المجال المحدد.

العلامة التجارية OMG

إن كلاً من كوربا CORBA وIIOPوOMG هي علامات تجارية مسجلة لمجموعة Object Management Group ويجب مراعاة ذلك عن استخدامها. أما GIOP فهي ليست علامة مسجلة لدى OMG لذلك يكفي القول حتى التطبيق يستخدم بنية معتمدة على GIOP.

المواضيع التي تهتم بها كوربا CORBA (أسلوب البناء الوسيطي لطلب الأغراض العامة)

الأغراض بواسطة المرجع

تستخدم الأغراض البرمجية في التطبيقات من خلال مرجع لها، ويمكن تحقيق هذا المرجع اما بعنوان نصي URI أوعن طريقة خدمة أسماء مماثلة لـ DNS أوتمريره كأحد المتحولات الممررة الاستنادىء. ان المراجع على الأغراض البرمجية تعتبر أغرض خفيفة مماثلة لقابلات أغراض الواقع (سواء كانت محلية أوعن بعد). إذا استنادىت الطرق البرمجية بواسطة المرجع Method calls on the reference تُنتِج استنادىءات متتالية لـ ORB كما وتحجب الـ thread بينما تنتظر اجابة: نجاح أم فشل. إذا المتحولات الممررة قد تعيد معطيات ومن ثم المعطيات المستثناة ترتب داخليا من قبل الـ ORB حسب تقابل لغة البرمجة المحددة ونظام التشغيل.

المعطيات بواسطة القيمة

تقدم لغة تعريف القابلات الخاصة بـ CORBA تعريف inter-object communication مستقل عن لغة البرمجة ونظام التشغيل. إذا أغراض كوربا تمرر بواسطة المرجع بينما المعطيات متل (integers, doubles, structs) تمرر بواسطة القيمة وهذا المزيج من الأغراض البرمجية الممررة بواسطة المرجع والمعطيات الممررة بواسطة القيمة تؤكّد على قوة data typing أثناء ترجمة الـ clients والـ Servers، ومع ذلك تحمي الوراثة المرنة في CORBA problem-space.

الأغراض بواسطة القيمة Object By Value(OBV)

عرّفت كوربا وRMI-IIOP مفهوم OBV بعيداً عن الأغراض البرمجية البعيدة. إذا النص البرمجي المكتوب في طرائق هذه الأغراض البرمجية بشكل افتراضي ينفذ محلياً. إذا كان الـ OBV قد وصل من مكان بعيد فإن النص البرمجي اللازم يجب حتىقد يكون معروف سابقاً لدى كلا الطرفين أويتم تحميله بشكل ديناميكي من المرسل، وللقيام بذلك يجب حتى تتوفر الإنضمامة التي تحوي الـ Code Base التي هي تعبير عن قائمة من عناوين URL مفصولة بفراغات، حيث يمكن تحميل النص البرمجي من تلك العناوين. كما ويمكن حتى يوجد طرق عن بعد للـ OBV. قد يحوي الـ OBV حقول تنتقل عندما ينتقل الـOBV حيث حتى هذه الحقول قد تكون OBV أيضاً معضلة قوائم أوأشجار أوبنيان ما. إذا OBV تتميز ببنية صفوف class hierarchy تتضمن الوراثة المتعددة والصفوف المجردة.

نموذج مكونات كوربا CORBA Component Model (CCM)

إن CORBA Component Model (CCM) هوإضافة لمجموعة تعريفات كوربا. أول ظهور له كان في CORBA ثلاثة كما وأنه يوصّف اطار عمل framework للتطبيقات قياسي لـ CORBA Component. بالرغم من أنه لا يعتمد على Enterprise Java Beans (EJB) التي هي مستقلة عن لغة البرمجة، الا وأنه أكثر عمومية من EJB لأنه يقدم أربع أنواع من الـcomponents بدلاً من 2 التي تعرّفها EJB. كما وأنه يعرّف تجرّد من الأمور entities التي يمكن حتى تقدم وتقبل خدمات من خلال قابلات اسمية فهم جيداً تدعى ports. لدى CCM حاوٍ للمكونات component container لكي تُنشَر المكونات البرمجية فيه. ان هذا الحاوي يقدّم مجموعة من الخدمات للمكونات. بعض هذه الخدمات هي التنبيه والتوثيق authentication والاستمرارية وإدارة المناقلات. وهذه الخدمات هي أكثر الخدمات التي تطلبها النظم الموزعة، ومن خلال نقل التحقيق لهذه الخدمات من المكونات البرمجية إلى حاوِ المكونات ينخفض تعقيد المكونات components بشكل كبير. 2-5- بروتوكول InterORB العام (General InterORB Protocol(GIOP يعتبر GIOP بروتوكول مجرد تتخاطب من خلاله الـ ORB مع بعضها البعض. المعايير القياسية المرتبطة بهذا البروتوكول متبناة من قبل مجموعة OMG. إذا بنية GIOP تقدم بعض البروتوكولات متل:

  • Internet InterORB Protocol (IIOP) وهوتحقيق لـ GIOP يستخدم في الإنترنت ويقدم تقابل بين رسائل GIOP وTCP/IP layer.
  • SSL InterORB Protocol (SSLIOP) وهوIIOP فوق SSL ويقدم ترميز encryption وتوثيق Authentication.
  • HyperText InterORB Protocol (HTIOP) وهوIIOP فوق HTTP ويقدم بروكسي شفاف جانبي.
  • وغيرها الكثير..

VMCID (Vendor Minor Codeset ID)

كل استثناء قياسي في كوربا يتضمن رقم ثانوي لتحديد نوع الاستثناء exception، رقم الاسثناء يتألف من رقم موجب مؤلف من 20 بت ويسمىVMCID (Vendor Minor Codeset ID) وهي الـ 20 بت العليا بالإضافة إلى 12 بت أخرى هي الرقم الثانوي. رقم VMCID في المجال بين 0 و0xfffff محجوز للتجارب والرقم VMCID OMGVMCID و1 إلى 0xf محجوز لاستخدامات مجموعة OMG أما غيرها فهومتاح للشركات المصنّعة.

Corba Location (CorbaLoc)

هومرجع نصي لأغراض كوربا يشبه URL. مثال عن corbaloc هو:

corbaloc::160.45.110.41:38693/StandardNS/NameServer-POA/_root

يجب على جميع منتجات كوربا حتى تدعم “corbaloc:”و“corbaname:” ويمكنها حتى تدعم أي من “http:”, “ftp:”, “ملف:”. المزايا

- الاستقلال عن لغة البرمجة.

- الاستقلال عن نظام التشغيل.

- التحرر من التقنية، حيث تسمح كوربا للمهندسين باستنظام القابلات بين النظم الجديدة والنظم القديمة وتؤمن وسائل تسمح للمبرمجين ببرمجة نظم متفاوتة ومن ثم دمجها معا لتكوين نظام متماسك بغض النظر عن التقنية المستخدمة.

- قوة في أنماط المعطيات، حيث تسمح كوربا بأي نمظ للمعطيات تقريبا كما وأن CORBA IDL تقدم تقنية تؤكد حتى نص البرنامج المكتوب متوافق مع أنماط التوابع وأسماؤها وأنماط المتحولات الممررة والاسثناءات وغيرها..

- قدرة عالية على تحقيق التوافقية.

- التحرر من تفاصيل نقل المعطيات.

المساويء والمشكلات والانتقادات

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

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

- مشكلات في التطبيق والتحقيق، غالباً كانت النسخ المحققة قليلة أوغير كاملة أوغير كافية. على الرغم من حتى النسخ المحققة جيداً من كوربا كان قاسي الحصول عليها سابقاً إلا حتى SUN Java SDK يأتي معها كوربا ضمنياً. كما وأن هناك بعض النسخ المحققة من كوربا قد تكون معقدة أوبطيئة أوغير متوافقة أوعير كاملة.

- الجدار الناري Firewalls، كوربا وبالتحديد IIOP تستخدم اتصال TCP/IP خام لنقل المعطيات، فإذا كان الزبون client موجود خلف بيئة firewall أوtransparent proxy server قوية تسمح فقط بتمرير HTTP connections عبر الميناء 80، عندئذ التواصل سيكون محال إلا إذا منح مخدم البروكسي المطلوب السماحية لـ HTTP CONNECT method أوSOCKS connections.

لقد كان من الصعب اجبار التحقيق على استخدام port قياسي واحد فقد كان يتم اختيار عدد من الـ ports بشكل عشوائي، وللآن الـ ORBs لديهم هذه العلة. بسبب هذه الصعوبات ازداد عدد المستخدمين الذين لجئولاستخدام خدمات الويب web services بدلا من استخدام كوربا CORBA حيث تتواصل باستخدام XML/SOAP على الميناء 80 الذي يُترَك مفتوح عادةً. بعض النسخ الحديثة المحققة من كوربا تدعم SSL ويمكن إعدادها بسهولة لتعمل على رقم ميناء port واحد فقط.

ومن أشهر الـ ORBS المفتوحة المصدر مثل TAO وJacORB تدعم GIOP باتجاهين مما يعطي كوربا ميزة القدرة على اتصالات استعمال الاستنادىء الرجعي callback communication بدلا من صفة polling approach الموجودة في خدمات الويب.

كما أنه أصبح هناك عدد من الـ CORBA-friendly firewalls الصديقة لكوربا متوفرة في السوق.

- لا وجود للضغط compression، إذا كوربا ترتب معطياتها على شكل معطيات ثنائية (صفر وواحد) ولكنها لا تستخدم أي ضغط. وحالياً شركات IONA/Remedy IT/Telefonica يعملون على إنشاء إضافة لمعيار كوربا القياسي يسمح بتحقيق الضغط وتسمى هذه الإضافة بـ ZIOP وسوف يقدم به طلب رسمي لمجموعة OMG في اجتماعها القادم.

- تجاهل التعامل مع الـ threads.

- لا يوجد تقابل للغات برمجة متل C# حيث حتى كوربا تجاهلت.Net.

وغيرها الكثير من المشكلات التي أدت إلى تراجع أهمية كوربا مع الزمن، وأيضاً من مسببات اندثار كوربا هوظهور منافسة لها من قبل عدد من التقنيات مثل DCOM التابعة لشركة مايكروسوفت وEJB وخدمات الويب Web Services.

OpenCCM (Open CORBA Component Model)

يعتبر OpenCCM أول تحقيق عام ومفتوح المصدر لمواصفات CORBA Component Model المعرّفة حسب مجموعة Object Management Group (OMG). يسمح OpenCCM بتصميم وتحقيق وترجمة وترزيم وتجميع ونشر وتنصيب واعداد وتطبيق وإدارة وإنشاء تطبيقات موزعة تعتمد على مكونات كوربا CORBA Component. يعتبر OpenCCM مشروع مجاني ومفتوح المصدر معرّف تحت رخصة جنوLGPL ومستضاف من قبل Object Web Constium.

يعتمد OpenCCM على جافا مما يسمح له بالعمل على عدة منصات كما ويعمل على منتجات كوربا التالية:

  • Borland Enterprise Server (BES)
  • JacORB
  • ORBacus
  • The Community OpenORB

كما ويعمل OpenCCM تقريبا على جميع أنظمة التشغيل مثل:

  • Linux
  • Linux Familiar
  • MacOS X
  • Solaris
  • Windows NT/2000/XP
  • Windows NT/2000/XP with CYGWIN
  • Windows CE for Personal Data Assistants (PDA)

ولا زال OpenCCM قيد التطوير حيث أنه لا يتمتع بجميع ميزات CCM المعروفة.

مراجع

  1. ^ Chappel, David (May 1998). "Trouble with CORBA". www.davidchappel.com. مؤرشف من الأصل في 03 ديسمبر 2012. اطلع عليه بتاريخ 15 مارس 2010.
  2. ^ "omniORB : Free CORBA ORB". sourceforge.net. مؤرشف من الأصل في ثلاثة أبريل 2019. اطلع عليه بتاريخ 09 يناير 2014.
  3. ^ "History of CORBA". Object Management Group. مؤرشف من الأصل في 23 أكتوبر 2017. اطلع عليه بتاريخ 12 مارس 2017.
تاريخ النشر: 2020-06-01 21:07:48
التصنيفات: اتصال بين العمليات, برمجة كائنية التوجه, جنوم, معايير الأيزو, كوربا (حاسوب), هندسة البرمجيات بالمكونات, مقالات تحتوي نصا بالإنجليزية, صفحات تستخدم خاصية P244, صفحات تستخدم خاصية P227, بوابة برمجة الحاسوب/مقالات متعلقة, جميع المقالات التي تستخدم شريط بوابات

مقالات أخرى من الموسوعة

سحابة الكلمات المفتاحية، مما يبحث عنه الزوار في كشاف:

آخر الأخبار حول العالم

الطيران الإسرائيلي يشن هجمات على غزة

المصدر: مصراوى - مصر التصنيف: غير مصنف
تاريخ الخبر: 2022-07-16 12:23:59
مستوى الصحة: 45% الأهمية: 50%

مقطعي فيديو خطيرين بالشارع العام يستنفران المصالح الأمنية بأكادير

المصدر: أخبارنا المغربية - المغرب التصنيف: سياسة
تاريخ الخبر: 2022-07-16 12:23:20
مستوى الصحة: 66% الأهمية: 83%

الرئيس الأميركي يلتقي رئيس الوزراء العراقي في جدة

المصدر: مصراوى - مصر التصنيف: غير مصنف
تاريخ الخبر: 2022-07-16 12:23:39
مستوى الصحة: 57% الأهمية: 56%

بايدن يبحث القدرات الصاروخية والدفاعية المتكاملة خلال قمة جدة

المصدر: ألشرق الأوسط - السعودية التصنيف: سياسة
تاريخ الخبر: 2022-07-16 12:24:54
مستوى الصحة: 77% الأهمية: 93%

مرة أخرى..العثور على جثة مهاجر مغربي بالطريق يستنفر الأمن الإيطالي

المصدر: أخبارنا المغربية - المغرب التصنيف: سياسة
تاريخ الخبر: 2022-07-16 12:23:21
مستوى الصحة: 66% الأهمية: 70%

مطار سان فرانسيسكو يعاود عمله الطبيعي بعد إنذار بوجود قنبلة

المصدر: ألشرق الأوسط - السعودية التصنيف: سياسة
تاريخ الخبر: 2022-07-16 12:24:56
مستوى الصحة: 95% الأهمية: 98%

شكرى يعرض على ولى عهد بريطانيا رؤية مصر لمؤتمر المناخ القادم

المصدر: مصراوى - مصر التصنيف: غير مصنف
تاريخ الخبر: 2022-07-16 12:24:18
مستوى الصحة: 54% الأهمية: 59%

غارات جوية إسرائيلية على غزة تتزامن مع زيارة بايدن للشرق الأ

المصدر: مصراوى - مصر التصنيف: غير مصنف
تاريخ الخبر: 2022-07-16 12:23:37
مستوى الصحة: 50% الأهمية: 70%

الكاظمي وبايدن يؤكدان الالتزام بالشراكة القوية بين العراق وأميركا

المصدر: ألشرق الأوسط - السعودية التصنيف: سياسة
تاريخ الخبر: 2022-07-16 12:24:53
مستوى الصحة: 80% الأهمية: 92%

عرض "لا يصدق" من النجمة "شاكيرا" لخطيبها السابق "بيكي" لتسوية انفصالهما وديا

المصدر: أخبارنا المغربية - المغرب التصنيف: سياسة
تاريخ الخبر: 2022-07-16 12:23:22
مستوى الصحة: 66% الأهمية: 76%

كيف ينظر العالم العربي إلى الحرب في أوكرانيا؟

المصدر: مصراوى - مصر التصنيف: غير مصنف
تاريخ الخبر: 2022-07-16 12:23:11
مستوى الصحة: 60% الأهمية: 51%

النمسا سلمت الولايات المتحدة رجل أعمال تركيا

المصدر: مصراوى - مصر التصنيف: غير مصنف
تاريخ الخبر: 2022-07-16 12:23:26
مستوى الصحة: 57% الأهمية: 52%

سياسات الانقلاب تنقل الصراعات القبلية إلى «النيل الأزرق»

المصدر: صحيفة التغيير - السودان التصنيف: سياسة
تاريخ الخبر: 2022-07-16 12:24:34
مستوى الصحة: 46% الأهمية: 61%

السيسي يلتقي بايدن على هامش «قمة جدة للأمن والتنمية»

المصدر: ألشرق الأوسط - السعودية التصنيف: سياسة
تاريخ الخبر: 2022-07-16 12:24:51
مستوى الصحة: 95% الأهمية: 88%

أميركا تمدد صلاحية تأشيرة الزيارة للسعوديين إلى 10 سنوات

المصدر: ألشرق الأوسط - السعودية التصنيف: سياسة
تاريخ الخبر: 2022-07-16 12:24:53
مستوى الصحة: 86% الأهمية: 99%

تحميل تطبيق المنصة العربية