एक वितरित कंप्यूटिंग परियोजना के लिए, आज से 0 विरासत घटकों के साथ, कोर्बा में देखने के लिए कोई अच्छे कारण हैं?
एक वितरित कंप्यूटिंग परियोजना के लिए, आज से 0 विरासत घटकों के साथ, कोर्बा में देखने के लिए कोई अच्छे कारण हैं?
जवाबों:
अभी भी ऐसी परिस्थितियाँ हैं जहाँ CORBA एक अच्छा उत्तर हो सकता है:
लेकिन यह कहते हुए कि, ऐसे विकल्प हैं जो कि CORBA करते हैं, केवल बेहतर हैं ... या इसलिए वे दावा करते हैं। उदाहरण के लिए ZeroC का ICE
EDIT @fnieto कहने के लिए (या मतलब है कि ICE) मुक्त नहीं है, लेकिन TAO है।
यह गलत और भ्रामक है ।
ICE का डाउन-साइड, CORBA मिडलवेयर स्टैक के साथ इंटरऑपरेबिलिटी की कमी है, लेकिन मेरे अनुभव में विभिन्न CORBA इम्प्लीमेंटेशन की इंटरऑपरेबिलिटी भी समस्याग्रस्त हो सकती है। (उस क्षेत्र में चीजें बेहतर हो सकती हैं ... लेकिन मैंने ~ 2002 के बाद से कोई भी कोर्बा कार्य नहीं किया है, इसलिए मैं थोड़ा सा संपर्क से बाहर हूं।)
मौजूदा उत्तरों से, यह लगभग एक धार्मिक विषय हो जाता है। कोर्बा आधे-खाली / आधे-पूर्ण ग्लास की तरह ही देख सकता है: एक तरफ, कॉर्बेट को विरासत में मिलाया जाता है, और दूसरी ओर यह कई कार्यान्वयन उपलब्ध है और "आप जानते हैं कि शैतान" के साथ अपेक्षाकृत स्थिर है।
मेरे काम की लाइन में, मैं देखता हूं कि CORBA को एम्बेडेड सिस्टम, रियल-टाइम सिस्टम (CORBA में RT एक्सटेंशन), और इस तरह तैनात किया गया है। वहाँ कई विकल्प AFAIK नहीं हैं।
CORBA का एक और "लाभ" विभिन्न लाइसेंसिंग और समर्थन मॉडल के साथ कई उच्च-गुणवत्ता वाले खुले स्रोत कार्यान्वयन, जैसे, TAO, MICO, JacORB, आदि की उपलब्धता है। अभी भी व्यावसायिक संस्करण उपलब्ध हैं।
जावा में "सबसे" CORBA एप्स को लागू करने के संबंध में - मेरे अनुभव में ऐसा नहीं है। जबकि कोरबा के लिए जावा के लिए भाषा मानचित्रण सबसे अच्छा में से एक है (जो कि ज्यादा कुछ नहीं कह सकता है), जावा में पहले से ही एक बहुत अच्छा वितरित कंप्यूटिंग मॉडल है जो कॉर्ब से परे समृद्धि प्रदान करता है, और सभी-जावा एप्लिकेशन उस कॉर्ब से अधिक का उपयोग करते हैं। कॉर्बा विकास का अधिकांश हिस्सा मैंने C ++ में देखा है (जो कि सबसे खराब भाषा मानचित्रण भी है)।
अंत में, कोर्बा एएमआई के रूप में मानकीकृत अतुल्यकालिक क्लाइंट-साइड इनवोकेशन प्रदान करता है, लेकिन सर्वर साइड पर एसिंक्रोनस हैंडलिंग की पेशकश कभी नहीं की। TAO एक गैर-मानक सर्वर-साइड कार्यान्वयन प्रदान करता है जिसे AMH कहा जाता है।
मेरा मानना है कि कोरबा मूल EJB कल्पना द्वारा पुनर्जीवित किया गया था, क्योंकि EJB को आसानी से थोड़ा सा विन्यास करके CORBA सेम में बदल दिया जा सकता है। मुझे संदेह है कि ज्यादातर कोरबा की तैनाती वास्तव में जावा में लागू की गई थी।
लोकप्रियता के रूप में, मुझे लगता है कि कई दशकों तक कुछ उच्च अंत की तैनाती हो सकती है लेकिन अधिकांश लोगों के लिए कोरबा मर चुका है।
एक ही सामान करने के लिए बहुत सारे सेक्सी तरीके हैं (ऊपर बताए गए उच्च अंत को छोड़कर)।
लेकिन निश्चित रूप से आपके मिलेंगे मई वारि।
जाहिर है यह सर्वर और इंटरप्रोसेस संचार के प्रकार पर निर्भर करता है, जिस पर आप विचार कर रहे हैं। और मुझे लगता है कि स्टीफन सी और क्रिस क्लेलैंड ने कोरबा की सकारात्मकता को अच्छी तरह से कवर किया है।
हमारे आवेदन ने 10 साल से अधिक के लिए CORBA (Orbix) का उपयोग किया है इसलिए अब यह विरासत है। और यह कैसे लिखा जाता है कि कोर्बा एक अच्छी तकनीक है। हालाँकि अगर मैं शुरू कर रहा था तो मैं शायद CORBA का उपयोग नहीं करूंगा:
अब मैं चाहता था कि संचार के प्रकार पर निर्भर करता है:
यह कर्मचारियों और विशेषज्ञता को खोजने, 3 पार्टी के समर्थन और ओपन सोर्स लाइब्रेरी का लाभ उठाने पर आधारित है, फिर कॉर्ब की तकनीकी गुणवत्ता, जिसे मैं हर रोज इस्तेमाल करता हूं और अगर थोड़ा बोझिल है तो मजबूत है।
CORBA निश्चित रूप से पुराने जमाने का है, लेकिन यह कुछ उच्च-स्तरीय फ़ंक्शंस बॉक्स से बाहर भी प्रदान करता है ( यहाँ देखें )। यह कार्यक्षमता सभी आधुनिक वेब सेवाओं का उपयोग करके की जा सकती है, लेकिन शायद एक मानक फैशन में नहीं, और अतिरिक्त काम के बिना बहुत कुछ नहीं।
वितरित सेवाओं के 99% के लिए, हालांकि, CORBA अवांछनीय है। यह बदसूरत, जटिल और उपयोग में कठिन है।
एक बात जो यहाँ किसी ने नहीं बताई है वह है ओपिन, ओपन स्टेंडर्ड। मौजूद सभी तकनीकों में से (SOAP को छोड़कर) यह एकमात्र सच्चा खुला श्वेत पत्र मानक है। मानक किसी एक संगठन प्रौद्योगिकियों पर निर्भर नहीं है। आरएमआई (सन / ओरेकल), डीसीओएम (अब विघटित - माइक्रोसॉफ्ट)। यह पूरी तरह से वेंडर और भाषा तटस्थ है। SOAP को छोड़कर, अन्य DOS (वितरित वस्तु प्रौद्योगिकी) तकनीकों में से कोई भी नहीं है
मैं एक सॉफ्टवेयर आर्किटेक्ट हूं और नियमित रूप से चुनाव करता हूं कि किस सिस्टम डिजाइन में DOS का उपयोग किया जाए। अगर मैं हर बार होने वाले धार्मिक युद्ध के लिए नहीं होता, तो यह एक MOM या CORBA होगा।
इसे इस तरह से देखें, अगर यह मृत था, तो 3 / 4G नेटवर्क में से कोई भी काम नहीं करेगा। 3GPP पूरी तरह से CORBA निर्दिष्ट है। यूरोपीय सैटेलाइट सिस्टम निर्दिष्ट सभी CORBA है। अपने आप से पूछो क्यों? ऐसा इसलिए है क्योंकि वे वेंडर और लैंग्वेज न्यूट्रल आर्किटेक्चर पर आधारित होने चाहिए!
मैं कहता हूं कि वेब सेवाओं की परिपक्वता का मौजूदा स्तर (रीस्ट सहित) और जावा दुनिया में ईजेबी (जो कि कवर के तहत कॉर्बा का उपयोग भी कर सकते हैं) कवर जो वितरित उद्यम प्रणालियों के लिए आवश्यक है।
मैं सलाह दूंगा कि एक पहलू जिसे आपको ध्यान से देखना चाहिए वह अतुल्यकालिक बातचीत की डिग्री है जो आपको अपने वितरित सिस्टम में चाहिए। मैं बताता हूं कि गैर-तुच्छ पैमाने की किसी भी वितरित प्रणाली को अतुल्यकालिक संचार की आवश्यकता होती है, और चुने गए बुनियादी ढांचे को एसाइनच प्रसंस्करण का समर्थन करना चाहिए, आमतौर पर इसका मतलब है कि कतारें।
यह WebServices (या वास्तव में CORBA) के उपयोग के साथ असंगत नहीं है, लेकिन यह आपके उत्पाद चयन के एक पहलू को इंगित करता है जो कि कुछ वितरित प्रसंस्करण प्राप्त करने के प्रारंभिक उत्साह में अनदेखी हो सकती है