क्या EJB 3 के बजाय स्प्रिंग + हाइबरनेट पसंद किया जाता है?


12

यह मेरी धारणा है कि जब भी नई जेईई परियोजनाएं शुरू होती हैं (जहां ये प्रौद्योगिकियां लागू होंगी), लोग ईजेबी 3 के बजाय स्प्रिंग + हाइबरनेट के संयोजन का उपयोग करना पसंद करते हैं।

ऐसा लगता है कि जूनियर प्रोग्रामर्स को भी सलाह दी जाती है कि वे EJB के बजाय इसके लिए जाएं।

क्या यह व्यक्तिगत प्राथमिकता है या इसके लिए उचित कारण हैं? (जैसे पहले के ईजेबी संस्करणों द्वारा बनाए गए व्यक्तिगत निशान जो ईजेबी में अविश्वास का कारण बने या प्रौद्योगिकी बनाम प्रदर्शन के कारणों या सीखने की अवस्था में गिरावट)?


2
मुझे लगभग लगता है कि यह एक ऐतिहासिक कैरी ओवर है क्योंकि ejb एक बिंदु पर वसंत + हाइबरनेट के रूप में अच्छा नहीं था ... अब मुझे लगता है कि कुछ मामलों में ejb के लिए एक केस बनाया जा सकता है ...
रिग

जवाबों:


11

EJB 3+ फ्रेमवर्क वास्तव में बहुत अच्छे हैं क्योंकि वे जेपीए के साथ-साथ एनोटेशन कॉन्फ़िगर किए गए दृढ़ता फ्रेमवर्क के उत्तर के रूप में आए, साथ ही सीडीआई जो एनोटेशन कॉन्फ़िगर किए गए निर्भरता इंजेक्शन के लिए अनुमति देता है। आप उस वेल्ड के शीर्ष पर भी जोड़ें। दूसरी ओर वसंत अब एनोटेशन के माध्यम से विन्यास के साथ खेल में पकड़ बना रहा है।

इसके साथ ही कहा जा रहा है कि EJB1 और 2 के खिलाफ ऐतिहासिक वापसी नहीं होनी चाहिए। वे उद्यम अनुप्रयोगों को लिखने के साथ समस्याओं को हल करने में विफल नहीं हुए, वे शानदार रूप से विफल रहे। यह एंटरप्राइज़ और वेब एप्लिकेशन डेवलपर्स के सामने सही समस्याओं पर एक पल्स प्राप्त करने और बदले में समाधान प्रदान करने में डिजाइनरों की ओर से पूरी तरह से विफलता थी, जिनकी उन्हें वास्तव में आवश्यकता थी।

उस अविश्वास के शीर्ष पर जोड़ें कि इस समय जावा की वर्तमान दिशा के साथ कुछ गंभीर शेकअप और अस्थिरताएं हैं और ओरेकल में वर्तमान स्टीवन और पुराने सन जेवीएम के मालिकों में विश्वास की कमी है। बहुत से लोगों को विश्वास नहीं है कि ओरेकल जावा पर सुधार करेगा और दिशा का नेतृत्व करेगा और यह भी डर है कि अपाचे सॉफ्टवेयर फाउंडेशन सिर्फ तौलिया में फेंक सकता है। अधिक से अधिक लोग जावा के भविष्य के लिए OpenJDK की तलाश कर रहे हैं, लेकिन यह सिर्फ वह जगह नहीं है जहां इसे एंटरप्राइज़ अपनाने के लिए होना चाहिए।

कुछ लोग इसे मौत की गंध के रूप में देखते हैं क्योंकि उद्यम अनुप्रयोगों के प्रमुख कारण हैं कि जावा ऐतिहासिक रूप से दुनिया में # 1 प्रोग्रामिंग भाषा रही है, जब तक यह है। यही कारण है कि Microsoft .NET तकनीकों के साथ जावा के खिलाफ इतनी जमीन हासिल कर रहा है।

गैर-आधारित जावा एप्लिकेशन डेवलपर अपने समाधान बनाने में मदद करने के लिए OpenJDK और अन्य ओपन सोर्स फ्रेमवर्क की ओर अधिक से अधिक रुख कर रहे हैं और कुछ कभी पीछे मुड़कर नहीं देख रहे हैं। कोई कह सकता है कि जेईई को वैधता के मामले में सबसे आगे लाने में बहुत कम देर का मामला है, भले ही तकनीकी रूप से जेईई आपके तुलनीय वसंत आवेदन के साथ पैर की अंगुली को खड़ा कर सकता है।


अच्छी तरह से संक्षेप में और बोला गया मार्स। यह ईजेबी के बारे में मेरी दृष्टि को भी साझा करता है।
onigunn

4

EJB के पास बहुत सारा सामान है। उस सामान का एक हिस्सा इस तथ्य से आता है कि इसे गलत दर्शकों पर लक्षित किया गया था। दूसरा भाग यह था कि पहले दो संस्करण बिलकुल बकवास थे।

यदि आप मूल ईजेबी संस्करणों को देखते हैं, तो डिजाइन यह था कि एक ईजेबी डेवलपर एक पैकेज्ड समाधान बना सकता है जिसे किसी भी ईजेबी अनुरूप कंटेनर के भीतर इस्तेमाल किया जा सकता है। एक घर की दुकान के लिए, अमूर्तता का यह स्तर अनावश्यक था। यह तीसरे पक्ष के EJB घटक विक्रेताओं के लिए एक संपन्न बाजार बनाने के लिए एक सही समाधान था। हालांकि, कंटेनर विक्रेता अपने विपणन में बहुत अधिक मात्रा में थे और हर दिन के विकास के लिए एक व्यवहार्य समाधान के रूप में अपने उत्पाद बेचने वाले टन बना रहे थे। यह आपके सभी एप्लिकेशन कोड को COM + घटकों के रूप में बनाने के बराबर होगा।

मूल J2EE कल्पना की पृष्ठभूमि के अधिक के लिए, इसमें शामिल अधिकांश विक्रेताओं के पास CORBA सर्वर थे और वे उन उत्पादों का लाभ उठाना चाहते थे जो आगे जा रहे थे। EJB युक्ति IIOP प्रोटोकॉल (वास्तव में Java RMI जो IIOP पर एक पतली परत थी) पर बनाया गया था। CORBA को इसकी जटिलता के कारण पहले ही खारिज कर दिया गया था, और EJB केवल भेस में CORBA था, इसलिए यह अपने साथ कई समस्याएं लेकर आया था, जो CORBA की थी। दरअसल, EJB के अमूर्त तत्वों ने शुद्ध CORBA कार्यान्वयन की तुलना में काम करना अधिक कठिन बना दिया है।

एक बार जब रबर फुटपाथ से टकराया, तो लोगों ने महसूस किया कि ईजेबी के साथ प्रदर्शन अत्याचारपूर्ण था। हर कॉल एक दूरस्थ कॉल होने और यहां तक ​​कि एप्लिकेशन को शुरू करने और शुरू करने के लिए सही ढंग से चलने में कठिनाई के साथ, लोग जल्दी से विकल्प की तलाश में थे। JSP कंटेनर में चलने वाला हाइबरनेट और स्प्रिंग इसका समाधान बन गया।

EJB 3 ने इस दृष्टिकोण को "अपनाया"। लेकिन यह अभी भी एक सामान्य समझौता है जो बहुत लाभ प्रदान नहीं करता है। अभी भी कोई 3 पार्टी EJB घटक बाजार नहीं है, इसलिए आपके समाधान के निर्माण के लिए EJB कंटेनर का उपयोग करने का वास्तव में कोई मतलब नहीं है।

कहानी संक्षिप्त में। जबकि EJB 3 पहले दो पुनरावृत्तियों पर एक बहुत बड़ा सुधार है, फिर भी यह लागतों को पछाड़ने के लिए पर्याप्त लाभ प्रदान नहीं करता है।


This would be the equivalent of building all of your application code as COM+ components. ... कैसे भयानक
maple_shaft

3
वास्तव में;) मैंने 2001 में एक डॉटकॉम के साथ काम किया, जिसने तय किया कि वे अपने PERL एप्लिकेशन (जो कि आपके दिमाग को ठीक काम कर रहे थे) को J2EE में पोर्ट करने जा रहे हैं। इस प्रयास के लिए "आर्किटेक्ट्स" का सामूहिक एक महीने का J2EE प्रशिक्षण था (कभी भी जावा की एक पंक्ति पहले नहीं लिखी गई थी)। मेरा पसंदीदा उद्धरण "वैसे मैं वास्तव में पेर्ल में अच्छा हूं, जावा को चुनना एक नया वाक्यविन्यास सीखने की बात है।" मैंने अपना रिज्यूम उस दिन मॉन्स्टर को सौंप दिया।
माइकल ब्राउन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.