2009-03-09 13 views

उत्तर

12

जैसा कि पहले से ही कहा गया है, लेकिन मुझे बस बिंदु को पुन: स्थापित करने दें। जेबॉस एक एप्लीकेशन सर्वर है। कुछ जावा अनुप्रयोग सर्वर शामिल

  • Websphere
  • Glassfish
  • JBoss

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

जैसा कि मैंने पहले कहा कि अन्य सुविधाओं स्प्रिंग प्रदान करता है इस तरह के

  • सुरक्षा रूपरेखा को
  • नियंत्रण
  • निर्भरता इंजेक्शन
3

जेबॉस एक कंटेनर है, बसंत कंटेनर के अंदर चलता है। आप संतरे से सेब की तुलना कर रहे हैं।

+3

शायद उसका मतलब उनकी निर्भरता इंजेक्शन क्षमताओं का है। – cherouvim

+6

जब आप किसी को संतरे से सेब की तुलना करते हुए देखते हैं, तो यह बताकर शुरू करें कि कौन सा रसदार है, जिसमें छील खाया जा सकता है, यह प्रत्येक से रस बनाने के लिए अलग कैसे है, आदि। यह एक पूरी तरह से वैध तुलना है। – Ekevoo

+0

लाइनें धुंधली लगती हैं जो नौसिखिया को – xenoterracide

5

यहाँ मेरी राय है:

वसंत का प्रतिनिधित्व करता है कि सभी जावा ईई में अच्छा है, जबकि JBoss का प्रतिनिधित्व करता है कि सभी खराब है।

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

+0

चुनने के लिए चुनने के लिए मुश्किल बनाती है, इस लाइन को प्यार करें "वसंत जेईई में अच्छा है, जबकि जेबॉस उन सभी का प्रतिनिधित्व करता है जो खराब हैं।" –

45

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

और वसंत एक आईओसी ढांचा था (जिसे अब "निर्भरता इंजेक्शन" कहा जाता है), अनिवार्य रूप से वस्तुओं के लिए एक कारखाना ताकि आप अधिक "ढीले युग्मित" डिज़ाइन का अनुसरण कर सकें।

हालांकि, उनकी लोकप्रियता के साथ, दोनों उत्पादों का विस्तार हुआ।उदाहरण के लिए, JBoss अब यह खुद आईओसी कंटेनर है है: JBoss Microcontainer: JBoss IoC

JBoss अपनी ही हल्के आईओसी कंटेनर बुलाया जा सकता है। जेबॉस माइक्रोक्रॉन्टेनर हल्का वजन है, नियंत्रण/निर्भरता इंजेक्शन कंटेनर वसंत, पिको कंटेनर और प्लेक्सस के अवधारणा में समान है।

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

Rod Johnson ऐसा कोई कारण नहीं तुम स्प्रिंग JBoss में नहीं चलाया जा सकता है कि ने कहा है:

स्प्रिंग किसी भी आवेदन सर्वर में काम करने के लिए (या एक अनुप्रयोग सर्वर के बाहर) बनाया गया है; वसंत का उपयोग करने का मतलब यह नहीं है कि सर्वर को ऑफ़र करना पड़ सकता है। यह मामलों में बहुत अधिक विकल्प प्रदान करता है।

तो आपको यह तय करना होगा कि आप किस सिस्टम का उपयोग करना चाहते हैं, और आप कौन से जावा मानकों का पालन करना चाहते हैं। इस आलेख के अनुसार, JBoss and Spring पर, जो यह दर्शाता है कि वे मानकों का कितना अच्छा पालन करते हैं, ऐसा लगता है कि आप जिस तकनीक का चयन करते हैं, उसके आधार पर आप एक पक्ष चुन रहे हैं, क्योंकि यह एक बहुत ही विवादास्पद लड़ाई प्रतीत होता है।

आगे क्या आता है, लेकिन शांति बनाए रखने के लिए कुछ भी है के रूप में JBoss और स्प्रिंग स्रोत उपकरणों के लिए एकीकरण के लिए एक्सएमएल से सब कुछ खत्म हो गया लड़ाई के अंत में वर्चुअलाइजेशन, जो अपने आप .... अपने एक स्वस्थ प्रतिस्पर्धा,

[स्निप ]

केवल समय बताएगा, लेकिन मुझे लगता है कि है कि इस लड़ाई केवल बातें डेवलपर्स के लिए बेहतर है, बल्कि नेट की तुलना में अधिक विकल्प, और जावा के आसपास अधिक नवाचार बनाता है, यह JBoss के लिए एक कठिन परीक्षा होगी, लेकिन एक कि वे संभाल सकते हैं यदि निष्पादन दोषपूर्ण है, अन्यथा, वसंत स्रोत को जेईई 6 के के बीच एक वेज ड्राइव करने के लिए देखें ... जल्द ही, आवेदनों की पोर्टेबिलिटी को मालिकाना मॉडल का मुकाबला करने के लिए प्रदर्शित किया जाना चाहिए , और कहा कि ऐसा नहीं होता है

विभिन्न जावा मानकों के पालन पर एक और अधिक अप-टू-डेट देखने के लिए, request for feedback on Spring 5 देखो ले। तुम्हें पता है, की कमी स्प्रिंग डिजाइनरों का सामना की एक विचार प्राप्त कर सकते हैं जबकि यह भी तथ्य यह है कि, स्प्रिंग बाजार के लिए, यह वसंत सुनिश्चित करना महत्वपूर्ण है पर प्रकाश डाला विभिन्न ईई सर्वर का समर्थन करता है:

हम धीरे ईई उन्नयन करने का इरादा बेसलाइन भी।अब, यह एक थोड़ी सूझबूझ से काम के बाद से हम प्रभावी रूप से यहां अलग-अलग आवश्यकताओं है है - और हम वातावरण उत्पादन में उद्यम गोद लेने के स्तर पर विचार करने की जरूरत है:

हम निश्चित रूप से हमारे वर्तमान से सर्वलेट को 3.0+ (बढ़ा देंगे सर्वलेट 2.5 रनटाइम संगतता) लेकिन कोई भी उच्च नहीं है क्योंकि हम स्प्रिंग 5 अनुप्रयोगों को अभी भी ईई 6 बेसलाइन सर्वर पर चलाने के लिए चाहते हैं। जावा ईई 7 के साथ बाज़ार की स्थिति और सर्वर की भीड़ अभी भी सर्वलेट 3.0 एपीआई पर आधारित है, इस पर चर्चा के लिए मेरे पिछले ब्लॉग पोस्ट को देखें। [स्निप] यह सिर्फ शर्म की बात है कि हमें 2002-युग जेएमएस 1.1 एपीआई का समर्थन करना है ... हम जेपीए 2.1+ और बीन सत्यापन 1.1+ को बढ़ाने के लिए चाहते हैं, लेकिन हमारे हाथ बंधे होने के लिए प्रतीत होते हैं: TomEE 1.7 और जेबॉस ईएपी 6.4 में हार्ड जेपीए 2.0 और बीन उनमें सत्यापन 1.0 एपीआई हैं, और वेबलॉगिक 12.1.3 में जेपीए 2.1 है लेकिन बीन सत्यापन 1.1 एपीआई (संबंधित होने के बावजूद)।

+0

आलेख संदर्भित एक पुराना लिंक है – xenoterracide

+0

लिंक अब काम कर रहा है। यदि वे बासी जाते हैं तो लिंक से टेक्स्ट में जोड़ा गया। – michaelok

0

के बाद से Java6 और CDI (@inject पर नज़र) आपकी राय यह बात गलत है, वसंत केवल एक ही अब और नहीं है। 15 साल पहले ईजेबी 2 (और यहां तक ​​कि ईजेबी 3) के साथ सच था लेकिन आज सीडीआई कोड websphere, weblogic, jboss, glassfish, ... जो भी ऐप सर्वर आप चाहते हैं में प्रबंधित किया जाता है।

0

जेबॉस पर मोनोलिथिक के रूप में चलने वाले अनुप्रयोग (एक जेवीएम प्रक्रिया सब कुछ करता है) जहां आपको स्केल करने के लिए एक लंबवत/क्षैतिज क्लस्टर की आवश्यकता होगी, जहां वसंत के उपयोग को समायोजित किया जा सकता है ताकि माइक्रो सेवाओं के आर्किटेक्चर को भी कार्यान्वित किया जा सके।

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