मैं एंटरप्राइज जावा में देखना शुरू कर रहा हूं और जिस पुस्तक का मैं उल्लेख कर रहा हूं कि वह JBoss का उपयोग करेगी। ग्लासफिश के साथ नेटबीन जहाज। मैंने अतीत में टॉमकैट का इस्तेमाल किया है।
इन तीन कार्यक्रमों में क्या अंतर हैं?
मैं एंटरप्राइज जावा में देखना शुरू कर रहा हूं और जिस पुस्तक का मैं उल्लेख कर रहा हूं कि वह JBoss का उपयोग करेगी। ग्लासफिश के साथ नेटबीन जहाज। मैंने अतीत में टॉमकैट का इस्तेमाल किया है।
इन तीन कार्यक्रमों में क्या अंतर हैं?
जवाबों:
टॉमकैट सिर्फ एक सर्वलेट कंटेनर है, यानी यह केवल सर्वलेट्स और जेएसपी विनिर्देश को लागू करता है। ग्लासफिश और जेबॉस पूर्ण जावा ईई सर्वर (ईजेबी, जेएमएस, ... जैसे सामान सहित) हैं, ग्लासफिश नवीनतम जावा ईई 6 स्टैक का संदर्भ कार्यान्वयन है, लेकिन 2010 में जेबॉस अभी तक पूरी तरह से इसका समर्थन नहीं कर रहा था।
टॉमकैट केवल एक HTTP सर्वर और जावा सर्वलेट कंटेनर है। JBoss और GlassFish एक EJB कंटेनर और उस स्टैक की अन्य सभी विशेषताओं सहित Java EE एप्लिकेशन सर्वर को पूर्ण-विकसित किया गया है। दूसरी ओर, टॉमकैट में एक हल्का मेमोरी फ़ुटप्रिंट (~ 60-70 एमबी) है, जबकि उन जावा ईई सर्वरों का वजन सैकड़ों megs में है। टॉमकैट सरल वेब अनुप्रयोगों या स्प्रिंग जैसे चौखटे का उपयोग करने वाले अनुप्रयोगों के लिए बहुत लोकप्रिय है, जिन्हें पूर्ण जावा ईई सर्वर की आवश्यकता नहीं होती है। एक टॉमकैट सर्वर का प्रशासन यकीनन आसान है, क्योंकि कम चलने वाले हिस्से हैं।
हालाँकि, ऐसे अनुप्रयोगों के लिए जिन्हें पूर्ण जावा ईई स्टैक की आवश्यकता होती है (या कम से कम अधिक टुकड़े जो आसानी से बोल्ट-ऑन किए जा सकते हैं) टॉमकैट पर ... जेबॉस और ग्लासफिश दो सबसे लोकप्रिय ओपन सोर्स प्रसाद हैं (तीसरा एक अपाचे गेरोनिमो है) जिस पर IBM WebSphere का मुफ्त संस्करण बनाया गया है)। JBoss में एक बड़ा और गहरा उपयोगकर्ता समुदाय और एक अधिक परिपक्व कोडबेस है। हालाँकि, JBoss वर्तमान जावा EE स्पेक्स को लागू करने में GlassFish से काफी पीछे है। इसके अलावा, जो लोग GUI- आधारित एडमिन सिस्टम को पसंद करते हैं ... GlassFish का एडमिन कंसोल बेहद स्लीक है, जबकि JBoss में ज्यादातर एडमिनिस्ट्रेशन कमांड-लाइन और टेक्स्ट एडिटर के साथ किया जाता है। ग्लासफिश सीधे सूर्य / ओरेकल से आता है, सभी फायदे जो पेशकश कर सकते हैं। JBoss सन / ओरेकल के नियंत्रण में नहीं है, सभी लाभ जो पेशकश कर सकते हैं।
आपको Java EE एंटरप्राइज़ एप्लिकेशन के लिए GlassFish का उपयोग करना चाहिए । विचार करने योग्य कुछ बातें:
एक वेब सर्वर का अर्थ है: HTTP अनुरोध (आमतौर पर ब्राउज़रों से) को संभालना।
एक सर्वलेट कंटेनर (जैसे टॉमकैट ) का अर्थ है: यह सर्वलेट्स और जेएसपी को संभाल सकता है।
एक एप्लिकेशन सर्वर (जैसे ग्लासफ़िश ) का अर्थ है: * यह जावा ईई अनुप्रयोगों (आमतौर पर सर्वलेट / जेएसपी और ईजेबीबी) दोनों का प्रबंधन कर सकता है।
टोमाट - अपाचे समुदाय द्वारा चलाया जाता है - खुला स्रोत और इसके दो स्वाद हैं:
कोई व्यावसायिक सहायता उपलब्ध नहीं है (केवल सामुदायिक समर्थन)
JBoss - RedHat द्वारा संचालित यह JavaEE के लिए एक पूर्ण-स्टैक समर्थन है और यह एक प्रमाणित जावा EE कंटेनर है। इसमें टॉमकैट आंतरिक रूप से वेब कंटेनर के रूप में शामिल है। इसके भी दो स्वाद हैं:
ग्लासफिश - ओरेकल द्वारा संचालित यह एक पूर्ण स्टैक प्रमाणित जावा ईई कंटेनर भी है। इसका अपना वेब कंटेनर है (टॉमकैट नहीं)। यह ओरेकल से ही आता है, इसलिए सभी नए चश्मे पहले ग्लासफिश के साथ परीक्षण और कार्यान्वित किए जाएंगे। इसलिए, हमेशा यह नवीनतम युक्ति का समर्थन करेगा। मुझे इसके समर्थन मॉडल की जानकारी नहीं है।
jboss और ग्लासफिश में एक सर्वलेट कंटेनर (जैसे tomcat) शामिल है, हालांकि दो एप्लिकेशन सर्वर (jboss और ग्लासफिश) एक बीन कंटेनर (और कुछ अन्य चीजें जो मैं कल्पना करता हूं) प्रदान करता हूं
JBoss और ग्लासफिश मूल रूप से पूर्ण जावा EE एप्लिकेशन सर्वर हैं, जबकि टॉमकैट केवल एक सर्वलेट कंटेनर है। JBoss, Glassfish, लेकिन WebSphere, WebLogic और इतने पर Tomcat के संबंध में लेकिन जेट्टी के बीच मुख्य अंतर इस कार्यक्षमता में था कि एक पूर्ण ऐप सर्वर ऑफ़र। जब आपके पास एक पूर्ण स्टैक जावा ईई ऐप सर्वर होता है, तो आप अपनी पसंद के विक्रेता के सभी कार्यान्वयन का लाभ उठा सकते हैं, और आप ईजेबी, जेटीए, सीडीआई (जावा ईएई 6+), जेपीए, जेएसएफ, जेएसपी / सर्वलेट का लाभ उठा सकते हैं। और इसी तरह। दूसरे हाथ पर Tomcat के साथ आप केवल JSP / सर्वलेट का लाभ उठा सकते हैं। हालांकि स्प्रिंग और गाइस जैसे उन्नत ढांचे के साथ दिन, एक पूर्ण स्टैक एप्लिकेशन सर्वर का उपयोग करने के मुख्य लाभ में से कई को कम किया जा सकता है, और स्प्रिंग इकोसिस्टम के साथ इस फ्रेमवर्क की एक की धारणा के साथ,
जब आप इन उत्तरों को पढ़ते हैं तो टॉमकैट का उपयोग करना थोड़ा हतोत्साहित करने वाला लगता है। हालाँकि जो सबसे अधिक उल्लेख करने में विफल है वह यह है कि आप टॉमकैट के साथ समान या लगभग समान उपयोग के मामलों में प्राप्त कर सकते हैं लेकिन इसके लिए आपको आवश्यक पुस्तकालयों (मावेन के माध्यम से या जो भी आपके द्वारा उपयोग की जाने वाली प्रणाली शामिल है) को जोड़ने की आवश्यकता है।
मैं बहुत छोटे विन्यास प्रयासों के साथ जेपीए, ईजेबी के साथ टॉमकैट चला रहा हूं।
JBoss और Tomcat दोनों ही Java सर्वलेट एप्लिकेशन सर्वर हैं, लेकिन JBoss पूरी तरह से अधिक है। दोनों के बीच पर्याप्त अंतर यह है कि JBoss एंटरप्राइज JavaBeans और कई अन्य तकनीकों सहित एक पूर्ण जावा एंटरप्राइज एडिशन (जावा ईई) स्टैक प्रदान करता है, जो एंटरप्राइज़ जावा एप्लिकेशन पर काम करने वाले डेवलपर्स के लिए उपयोगी हैं।
टॉम्काट बहुत अधिक सीमित है। इसके बारे में सोचने का एक तरीका यह है कि JBoss एक जावा ईई स्टैक है जिसमें एक सर्वलेट कंटेनर और वेब सर्वर शामिल है, जबकि टॉम्कट, अधिकांश भाग के लिए, एक सर्वलेट कंटेनर और वेब सर्वर है।
Apache tomcat केवल एक मात्र सर्वर कंटेनर है जो एंटरप्राइज़ जावा एप्लिकेशन (JEE) के लिए समर्थन नहीं करता है। JBoss और Glassfish JEE एप्लिकेशन के लिए समर्थन कर रहे हैं, लेकिन ग्लासफ़िश JBOSS सर्वर से बहुत भारी है: संदर्भ स्लाइड