2015-03-16 3 views
8

मैं वर्तमान में अपना अंतिम परियोजना अध्ययन तैयार कर रहा हूं। मुझे मानव संसाधनों के प्रबंधन के लिए एक वितरित आवेदन विकसित करना है, लेकिन प्रौद्योगिकियों के उपयोग के लिए मेरे बेंचमार्क पर मुझे वसंत या ईजेबी 3.1 के बीच निर्णय लेने में भ्रमित पाया गया।वसंत बनाम ईजेबी (लाभ और हानि)

मुझे नहीं पता कि कौन सा सबसे अच्छा और उपयोग करने में आसान होगा। मैं दोनों तकनीकों के लिए एक नौसिखिया हूं और इसलिए मुझे आशा है कि कोई मेरी मदद कर सके।

+2

http://stackoverflow.com/questions/7076144/ejb-3-1-or-spring-3-when-to-choose-which-one – elsadek

उत्तर

34

आप ईजेबी और वसंत के बीच चयन नहीं करते हैं, तो आप वास्तव में जावा ईई और वसंत के बीच चयन करते हैं क्योंकि ईजेबी जावा ईई का केवल एक हिस्सा है जिसमें अन्य घटक जैसे जेएमएस, सर्वलेट्स, जेएसपी, जेएसएफ, सीडीआई इत्यादि शामिल हैं। प्रारंभिक दिनों (जे 2 ईई 1.4) जावा के एंटरप्राइज़ संस्करण के प्रोग्रामिंग मॉडल में बहुत सी त्रुटियां और कमीएं थीं, लेकिन सबसे महत्वपूर्ण बात यह थी कि यह बहुत सारे बॉयलर-प्लेट कोड और एक्सएमएल कॉन्फ़िगरेशन के टन के साथ थकाऊ और वर्बोज था। स्प्रिंग को परंपरागत ओवर-कॉन्फ़िगरेशन सिद्धांत के पक्ष में वैकल्पिक ढांचे के रूप में पेश किया गया था। दूसरे शब्दों में, वसंत में कुछ समझदार डिफ़ॉल्ट थे जिन्हें आपको इसकी आवश्यकता होने पर पुन: कॉन्फ़िगर किया जा सकता था। जावा ईई 5 ने वसंत से एक ही सम्मेलन-ओवर-कॉन्फ़िगरेशन सिद्धांत को अपनाने में महत्वपूर्ण परिवर्तन किए, जो कोड की मात्रा और जटिलताओं को कम करने के लिए आवश्यक जटिलता को कम करते हैं, इसलिए इस क्षेत्र में वसंत में कोई भी सहज लाभ नहीं होता है।

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

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

लेकिन एक ऐसा क्षेत्र जहां जावा ईई अभी भी वसंत के पीछे की कमी है, वह टेस्टेबिलिटी है। ईजेबी के लिए यूनिट परीक्षण लिखना आसान नहीं है - इसके लिए आपको एक विशेष थर्ड-पार्टी फ्रेमवर्क (आर्किलियन) का उपयोग करना होगा और अपने परीक्षणों के अंदर कुछ बॉयलरप्लेट कोड लिखना होगा (उदाहरण के लिए टेस्ट परिनियोजन पैकेज बनाने और इसे कंटेनर पर तैनात करना आदि। ।)। वास्तव में, जावा ईई को बॉक्स से बाहर ईजेबी का परीक्षण करने के लिए कोई समर्थन नहीं है। इसके विपरीत, वसंत को टेस्टेबिलिटी और टीडीडी के साथ दिमाग में बनाया जाता है। स्प्रिंग बीन्स का परीक्षण करना आसान है क्योंकि स्प्रिंग में आवेदन के सभी हिस्सों के साथ-साथ मॉकिंग दोनों परीक्षण (यूनिट परीक्षण, एकीकरण परीक्षण) दोनों के लिए बंडल समर्थन शामिल है।

+0

आपके उत्तर के लिए धन्यवाद, यह बहुत उपयोगी था – Informatique2015

+1

शानदार उत्तर । कभी-कभी ऐसा लगता है कि हर कोई कुख्यात "वसंत या ईजेबी" पूछता है - यह किसी भी तरह की भूमिहीन धार्मिक चर्चा में समाप्त होता है –

संबंधित मुद्दे