वास्तव में जावा ईई क्या है?


162

मैं कुछ वर्षों से जावा एसई कर रहा हूं और जावा ईई पर आगे बढ़ रहा हूं। हालाँकि, मुझे जावा ईई के कुछ पहलुओं को समझने में कुछ परेशानी है।

  1. क्या जावा ईई सिर्फ एक विनिर्देश है? मेरा मतलब है: क्या EJB Java EE है?

  2. क्या EJB / स्प्रिंग जावा EE के अलग-अलग कार्यान्वयन हैं?

मुझे पूछने के लिए खेद है लेकिन मुझे यह समझने में कुछ कठिनाइयाँ हैं कि जावा ईई क्या है।

कोई समझा सकता है कि जावा ईई क्या है? और ईजेबी?



2
आपको इस प्रश्न को दो प्रश्नों में काट देना चाहिए, हालांकि एक डुप्लिकेट है, दूसरा मुझे लगता है कि वहां लिंक में उत्तर नहीं दिया गया है।
Kheldar

2
दरअसल, क्या आपने [java-ee] टैग विकी पढ़ा था ?
पाओलो एबरमन


यह भी:
हू

जवाबों:


187

क्या जावा ईई सिर्फ एक विनिर्देश है? मेरा मतलब है: क्या EJB Java EE है?

जावा ईई वास्तव में एक सार विनिर्देश है। कोई भी विनिर्देश के कार्यशील कार्यान्वयन को विकसित करने और प्रदान करने के लिए खुला है। ठोस कार्यान्वयन तथाकथित आवेदन सर्वर हैं, जैसे WildFly , TomEE , ग्लासफिश , लिबर्टी , WebLogic , आदि वहाँ भी इस तरह के रूप सर्वलेट कंटेनर जो केवल विशाल जावा ईई एपीआई के JSP / Servlet भाग को लागू कर रहे हैं बिलाव , घाट , आदि।

हम, जावा ईई डेवलपर्स को विनिर्देशन का उपयोग करते हुए कोड लिखना चाहिए (यानी कार्यान्वयन के बजाय विशिष्ट कक्षाओं को लागू करने के बजाय हमारे कोड में केवल javax.* कक्षाएं आयात करें org.jboss.wildfly.*, com.sun.glassfish.*और फिर हम किसी भी कार्यान्वयन पर अपना कोड चलाने में सक्षम होंगे (इस प्रकार, किसी पर भी) अनुप्रयोग सर्वर)। यदि आप JDBC से परिचित हैं, तो यह मूल रूप से एक ही अवधारणा है कि JDBC ड्राइवर कैसे काम करते हैं। Ao भी देखें सरल शब्दों में, एक कारखाना क्या है?

जावा ईई एसडीके डाउनलोड Oracle.com से मूल रूप से दस्तावेज और उदाहरण और वैकल्पिक रूप से भी NetBeans आईडीई के एक समूह के साथ ग्लासफिश सर्वर में शामिल है। यदि आप एक अलग सर्वर और / या IDE चाहते हैं तो आपको इसकी आवश्यकता नहीं है।

ईजेबी जावा ईई विनिर्देश का हिस्सा है। देखो, यह जावा ईई एपीआई में है । पूर्ण विकसित जावा ईई एप्लिकेशन सर्वर इसे बॉक्स का समर्थन करते हैं, लेकिन सरल जेएसपी / सर्वलेट कंटेनर नहीं करते हैं।

यह सभी देखें:


क्या EJB / स्प्रिंग जावा EE के अलग-अलग कार्यान्वयन हैं?

नहीं, जैसा कि कहा गया है, EJB Java EE का हिस्सा है। स्प्रिंग एक स्टैंडअलोन ढांचा है जो जावा ईई के कई हिस्सों को बदलता है और बेहतर बनाता है। स्प्रिंग को चलाने के लिए जावा ईई की आवश्यकता नहीं है। टॉम्केट जैसा नंगे हड्डियों वाला सर्वलेट कंटेनर पहले से ही पर्याप्त है। सीधे शब्दों में कहें, स्प्रिंग जावा ईई का एक प्रतियोगी है। जैसे "स्प्रिंग" (स्टैंडअलोन) EJB / JTA, स्प्रिंग MVC, JSF / JAX-RS, स्प्रिंग DI / IoC / AOP प्रतिस्पर्धा CDI, स्प्रिंग सुरक्षा प्रतिस्पर्धा JAAS / JASPIC, आदि का मुकाबला करता है।

पुराने J2EE / EJB2 समय के दौरान, EJB2 एपीआई को लागू करने और बनाए रखने के लिए भयानक था। स्प्रिंग तब EJB2 के लिए एक बेहतर विकल्प था। लेकिन EJB3 (जावा EE 5) के बाद से, EJB API स्प्रिंग से सीखे गए पाठों के आधार पर बहुत सुधरी थी। CDI (Java EE 6) के बाद से, स्प्रिंग को फिर से एक और फ्रेमवर्क पर देखने का कोई कारण नहीं है, ताकि डेवलपर्स को दूसरों की सेवा परत के रूप में विकसित करने में अधिक आसान बनाया जा सके।

केवल जब आप नंगे हड्डियों के सर्वलेट कंटेनर का उपयोग कर रहे हैं जैसे कि टॉमकैट और जावा ईई सर्वर पर नहीं जा सकता है, तो स्प्रिंग अधिक आकर्षक है क्योंकि टॉमकैट पर स्प्रिंग स्थापित करना आसान है। यह संभव नहीं है कि सर्वर पर संशोधन के बिना टॉमकैट पर एक ईजेबी कंटेनर स्थापित किया जाए, आप मूल रूप से टॉमईई को फिर से स्थापित करेंगे।

यह सभी देखें:


2
तो जावा ईई को यह परिभाषित करने के रूप में कहा जा सकता है कि चलाने के लिए एक विशिष्ट जेईई आवेदन के लिए क्या समर्थन होना चाहिए?
जेम्स पी।

4
@ नाम: हाँ। जावा ईई एपीआई में बहुत कुछ सार है। जावा एसई एपीआई के कई सार भाग भी हैं, जैसे JDBC, JAXP, JAXB, आदि
BalusC

3
"डेवलपर्स को और अधिक आसान बनाने के लिए स्प्रिंग जैसी एक और रूपरेखा को देखने का वास्तव में कोई कारण नहीं है।" -> वास्तव में मूल्यवान जानकारी।
१२

@ बालसु: हाय, क्या आधिकारिक सन जावा ईई .... लिंक टूट गया है, यदि आप उसी के समान लिंक देते हैं, तो यह किसी के लिए उपयोगी होगा।
अब्दुल रहमान

पूरा स्प्रिंग फ्रेमवर्क चलाने के लिए, सर्वलेट कंटेनर पर्याप्त होगा, सर्वलेट कंटेनर [वेब सर्वर + वेब कंटेनर (एप्लाएंट्स सर्वलेट एपीआई]] है जहाँ जावा ईई को चलाने के लिए, आपको ग्लासफ़िश जैसे एप्लिकेशन सर्वर की आवश्यकता होती है। सर्वलेट कंटेनर पर्याप्त नहीं होगा। सर्वलेट कंटेनर एप्लिकेशन सर्वर का एक सबसेट है। मैं इसे कैसे समझूं?
ओवरएक्सचेंज

11

जावा एंटरप्राइज एडिशन (जावा ईई) एक छाता विनिर्देश है जो कई अन्य विस्तृत विनिर्देशों का संदर्भ देता है, जिनमें से एंटरप्राइज़ जावाबीन्स (ईजेबी) अधिक महत्वपूर्ण है।

पढ़ें यह - यह जावा ईई और स्प्रिंग के बीच का अंतर बताते हैं

धन्यवाद...


4
  • स्रोत - जावा 2 प्लेटफ़ॉर्म, एंटरप्राइज एडिशन (जे 2 ईई) घटक-आधारित मल्टीटियर एंटरप्राइज़ एप्लिकेशन विकसित करने के लिए मानक को परिभाषित करता है। J2EE पोर्टेबल, स्केलेबल हैं जो एंटरप्राइज़ अनुप्रयोगों के निर्माण को सरल करता है, और यह आसानी से विरासत अनुप्रयोगों और डेटा के साथ एकीकृत होता है।

  • स्रोत - एंटरप्राइज जावाबीन्स (ईजेबी) तकनीक जावा प्लेटफॉर्म, एंटरप्राइज एडिशन (जावा ईई) के लिए सर्वर-साइड घटक वास्तुकला है। EJB प्रौद्योगिकी जावा प्रौद्योगिकी के आधार पर वितरित, लेनदेन, सुरक्षित और पोर्टेबल अनुप्रयोगों के तेजी से और सरलीकृत विकास को सक्षम करती है।

  • क्या जावा ईई सिर्फ एक विनिर्देश है? मेरा मतलब है: क्या EJB Java EE है?

    • जावा ईई एक विनिर्देश है।

    • EJB जावा EE के लिए सर्वर साइड घटक वास्तुकला है

  • क्या EJB / स्प्रिंग जावा EE के अलग-अलग कार्यान्वयन हैं?

    • जावा EE के बाद EJB और स्प्रिंग दोनों अलग-अलग चौखटे हैं।

6
विनिर्देश के प्राचीन संस्करण (J2EE) से प्राचीन पाठ (2005) को उद्धृत करना शायद बहुत उपयोगी नहीं है। ओपी ने विशेष रूप से जावा ईई के लिए कहा, जो कि जे 2 ईई का आधुनिक दिन अवतार है।
अर्जन टिजम्स

-5

सीधे शब्दों में कहें - JavaEE एक प्लेटफ़ॉर्म है।

यह कई विशिष्टताओं से बना है जो सिर्फ एपीआई हैं। इन एपीआई के विशिष्ट ठोस कार्यान्वयन तथाकथित 'संदर्भ कार्यान्वयन' हैं

  1. EJB JavaEE प्लेटफॉर्म के भीतर सिर्फ एक विनिर्देश है
  2. नहीं, स्प्रिंग एक एप्लिकेशन फ्रेमवर्क है जो आपको JavaEE अनुप्रयोगों को विकसित करने के लिए अनुमति दे सकता है

EJB एंटरप्राइज़ जावा बीन्स है


4
यह उत्तर पिछले उत्तरों में कुछ भी नहीं जोड़ता है। इसके अलावा, यह सटीक नहीं है: केवल एक ठोस कार्यान्वयन संदर्भ है, अन्य नहीं हैं। माइनर एक: स्प्रिंग JavaEE के साथ एकीकृत होता है, लेकिन इसके बिना काम ठीक हो सकता है।
Tair

@ केवल हां केवल 1 ठोस कार्यान्वयन को 'संदर्भ' के रूप में माना जाता है उदाहरण के लिए जेपीए के पास कई कार्यान्वयन हैं लेकिन केवल एक्लिप्सिंक आरआई है। जब मैंने RI का उल्लेख किया तो मैं अलग-अलग APIs में था। मुझे लगता है कि आपने मेरे उत्तर को गलत समझा। इसके अलावा, हाँ, स्प्रिंग जावा के साथ एकीकृत होता है जो कि मैंने ऊपर उल्लेख किया है।
सॉफ्टवेयरडेवेलपर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.