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