سؤال

بالنسبة لمشروع حوسبة موزعة يبدأ اليوم، بدون مكونات قديمة، هل هناك أي أسباب وجيهة للنظر في CORBA؟

هل كانت مفيدة؟

المحلول

لا تزال هناك مواقف يمكن أن يكون فيها CORBA إجابة جيدة:

  • عندما تقوم ببناء موزع نظام يتضمن برمجة متعددة اللغات والمنصات المتعددة ،
  • عندما يستلزم نظامك إرسال هياكل البيانات المعقدة ...والصابون لا يقطعها ،
  • عندما يكون لديك معدلات مراسلة عالية ...وHTTP لا يقطعها، أو
  • عندما تضطر إلى التفاعل مع عملاء CORBA الحاليين و/أو الخدمات.

ولكن بعد قولي هذا، هناك بدائل تفعل ما يفعله كوربا، ولكن بشكل أفضل ...أو هكذا يزعمون.على سبيل المثال زيرو سي آيس

يحرر يأتي @fnieto ليقول (أو يشير ضمنيًا) إلى أن ICE ليست مجانية، لكن TAO كذلك.

وهذا غير دقيق ومضلل.

  1. ICE هو برنامج خاضع لرخصة GPL، وهو متاح للتنزيل مجانًا.ما عليك سوى الدفع مقابل ICE إذا لم تكن أنت / شركتك مستعدًا للتعايش مع شروط GPL.(أو إذا كنت بحاجة إلى الدعم.)
  2. لقد استخدمت ICE كمثال على بديل إلى كوربا.TAO هو كوربا.يقدم مؤلفو ICE حجة موثوقة حول سبب حصولهم على أداء أفضل من خلال عدم امتثالهم لـ CORBA.
  3. TAO ليس بأي حال من الأحوال تطبيق CORBA المجاني / مفتوح المصدر الوحيد.أستطيع أن أفكر في 3 آخرين، من أعلى رأسي.

الجانب السلبي لـ ICE هو الافتقار إلى قابلية التشغيل البيني مع مكدسات البرامج الوسيطة لـ CORBA، ولكن في تجربتي، قد تكون قابلية التشغيل البيني لتطبيقات CORBA المختلفة مشكلة أيضًا.(ربما تحسنت الأمور في هذا المجال ...لكنني لم أقم بأي عمل من أعمال CORBA منذ عام 2002 تقريبًا، لذا فأنا بعيد كل البعد عن التواصل.)

نصائح أخرى

ومن الإجابات الموجودة، وهذا يحصل في ما يقرب من الموضوع الديني. يمكن للمرء أن ننظر في كوربا بنفس طريقة الزجاج نصف فارغة / نصف كاملة: من جهة، كوربا غير مؤرخة العناصر غير المرغوب فيها تراث، ومن ناحية أخرى انها مستقرة نسبيا مع العديد من التطبيقات المتاحة و"الشيطان الذي تعرفه" <. / P>

في خط عملي، وأرى كوربا المنتشرة في الأنظمة المدمجة، وأنظمة الوقت الحقيقي (كوربا لديها امتدادات RT)، وما شابه ذلك. ليست هناك العديد من البدائل AFAIK.

وآخر "ميزة" من كوربا هو توافر عدة ذات جودة عالية تطبيقات مفتوحة المصدر، على سبيل المثال، TAO، MICO، JacORB، وما إلى ذلك، مع اختلاف الترخيص ودعم النماذج. وهناك أيضا طبعات لا يزال التجارية المتاحة.

وفيما يتعلق "معظم" التطبيقات كوربا التي يجري تنفيذها في جافا - وهذا ليس هو الحال في تجربتي. حين تعيين لغة كوربا إلى جاوة هو واحد من اجمل هناك (والذي قد لا يكون القول بكثير)، جافا لديها بالفعل نموذج الحوسبة الموزعة لطيف جدا أن تقدم ثراء وراء كوربا، وجميع تطبيقات جافا استخدام هذا أكثر من كوربا. الغالبية العظمى من تطوير كوربا رأيت هي في C ++ (الذي هو أيضا أسوأ رسم الخرائط اللغة).

وأخيرا، كوربا تقدم موحدة غير متزامن دعوات من جانب العميل في شكل AMI، ولكن لم تقدم قط معالجة غير متزامن على جانب الملقم. تقدم TAO التنفيذ من جانب الخادم غير قياسي دعا AMH.

أعتقد أنه تم إحياء Corba نوعًا ما من خلال مواصفات EJB الأصلية، حيث يمكن تحويل EJB بسهولة إلى حبوب CORBA عن طريق القليل من التكوين.أظن أن معظم عمليات نشر Corba تم تنفيذها بالفعل في Java.

فيما يتعلق بالشعبية، أعتقد أنه قد تكون هناك بعض عمليات النشر المتطورة المتبقية لعدد من العقود ولكن بالنسبة لغالبية الناس، فإن كوربا قد مات.

هناك مجموعة كبيرة من الطرق المثيرة جدًا للقيام بنفس الأشياء (باستثناء الطرق الراقية المذكورة أعلاه).

  • الحوسبة السحابية (خدمات الويب، الحوسبة القابلة للتطوير، الاقتران السائب، الانتظار).
  • خدمات REST (خدمات الويب لايت).
  • خدمات الصابون (خدمات الويب الثقيلة).
  • الحوسبة الشبكية/العنقودية (قائمة الانتظار، تقليل الخريطة وما شابه ذلك)

ولكن بالطبع قد يختلف عدد الأميال الخاصة بك.

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

لقد استخدم تطبيقنا CORBA (Orbix) لأكثر من 10 سنوات، لذا فهو إرث الآن.وبالنسبة لكيفية كتابتها، فإن CORBA هي تقنية جيدة.ومع ذلك، إذا كنت قد بدأت من جديد، فربما لن أستخدم CORBA:

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

الآن اعتمادًا على نوع الاتصال الذي أردته، ربما سأفكر في ما يلي:

  • مخازن مؤقتة للبروتوكول للعديد من الرسائل الصغيرة (أعلم أنه سيتعين علي توفير النقل)
  • خدمات الويب لعدد أقل من الرسائل الكبيرة

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

وكوربا بالتأكيد قديمة الطراز، ولكنه يوفر أيضا وظائف معينة على مستوى عال من خارج منطقة الجزاء (انظر <لأ href = "http://www.omg.org/technology/documents/formal/corbaservices.htm" يختلط = "noreferrer"> هنا ). يمكن أن يتم كل هذه الوظيفة استخدام خدمات الويب الحديثة، ولكن ربما ليس بطريقة قياسية، وليس من دون قدرا كبيرا من العمل الإضافي.

ل99٪ من الخدمات الموزعة، على الرغم من كوربا هو غير مرغوب فيها. انها قبيحة ومعقدة ويصعب استخدامها.

وشيء واحد أن لا أحد قد ذكر هنا مفتوح، المعايير المفتوحة. من كل التقنيات الموجودة (باستثناء SOAP) هو الوحيد الصحيح فتح ورقة معيار الأبيض. والمعيار هو لا يعتمد على أي تقنيات احد المنظمات. RMI (الشمس / أوراكل)، DCOM (defuncted الآن - مايكروسوفت). هو تماما البائع ولغة محايدة. باستثناء SOAP، فإن أيا من التقنيات (التكنولوجيا كائن الموزعة) أخرى DOS هي

وأنا مهندس البرمجيات، وبعد بانتظام لجعل الاختيار كما يجب أن يستخدم DOS في تصميم النظام. لو لم يكن للحرب الدينية التي أواجهها في كل مرة، فإن ذلك يكون إما MOM أو كوربا.

وننظر الى الامر بهذه الطريقة، إذا كان هذا الميت، أي من شبكات 4G / 3 ستعمل. وتماما محدد 3GPP كوربا. نظام القمر الصناعي الأوروبي هو كل كوربا المحدد. تسألوا أنفسكم لماذا؟ انها لأنها يجب أن تقوم على البائع واللغة المعمارية المحايدة!

أود أن أقول إن المستوى الحالي من النضج لخدمات الويب (بما في ذلك REST) ​​وفي Java World EJBs (والتي قد تستخدم حتى CORBA تحت الأغطية) يغطي ما هو مطلوب لأنظمة المؤسسات الموزعة.

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

لا يتعارض هذا مع استخدام خدمات الويب (أو في الواقع CORBA) ولكنه يشير إلى جانب من اختيار منتجك يمكن التغاضي عنه في الإثارة الأولية لبدء بعض المعالجة الموزعة

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top