एक एप्लिकेशन सर्वर और एक सर्वलेट कंटेनर के बीच अंतर?


115

मैं एक पूर्ण विकसित अनुप्रयोग सर्वर (जैसे वेबलॉजिक, JBoss आदि) और एक सर्वलेट कंटेनर (टॉम्कट, जेट्टी आदि) के बीच के अंतर को समझने की कोशिश कर रहा हूं।

वे कैसे भिन्न होते हैं और कब और किसका उपयोग करना है?

धन्यवाद,



@ जिगर: यदि आप इस डुप्लिकेट को सटीक प्रश्न जानते हैं , तो आपको वास्तव में इसे डुप्लिकेट के रूप में बंद करने के लिए वोट करना चाहिए।
जोआचिम सॉयर

1
@ जोकिम मैंने वोट नहीं दिया।
जिगर जोशी

2
क्योंकि यह कोई डुप्लिकेट नहीं है। :)
बूझो

1
उफ़ ... मुझे अनदेखा करने के लिए स्वतंत्र महसूस हो रहा है, ऐसा लगता है कि मैंने अपने आवश्यक कैफीन के स्तर को अभी तक प्राप्त नहीं किया है।
जोआचिम सॉयर

जवाबों:


171

एक सर्वलेट-कंटेनर केवल सर्वलेट API (JSP, JSTL सहित) का समर्थन करता है।

एक एप्लिकेशन सर्वर पूरे JavaEE - EJB, JMS, CDI, JTA, सर्वलेट API (JSP, JSTL सहित), आदि का समर्थन करता है।

एक सर्वलेट-कंटेनर पर अधिकांश JavaEE तकनीकों को चलाना संभव है, लेकिन आपको किसी विशेष तकनीक के स्टैंडअलोन कार्यान्वयन को स्थापित करना होगा।


1
मेरी तरफ से +1, अच्छा अंतर। अधिक मतभेद @Bozho
दीपक

1
@Bozho: +1: एक चीज़ जो मैंने अब तक आपके बारे में देखी है वह है सरलीकृत शब्द जो आप अक्सर अपने अद्भुत उत्तरों में एम्बेड करते हैं।
शिरगिल फरहान

1
यह बहुत उपयोगी है @Bozho
Xstian

@Bozho Can सर्वलेट-कंटेनरों "सर्वर के रूप में बाहर बुलाया जा क्षमताओं * अनुप्रयोग सर्वर के सबसेट के साथ और गहरे में वे हूबहू (दोनों के लिए उपयोग के मामलों में आम के लिए) काम करते
कुलदीप यादव

15

मोटे तौर पर, एक सर्वलेट कंटेनर J2EE सर्वलेट विनिर्देश के कार्यान्वयन के लिए कम या ज्यादा खुद को प्रतिबंधित करता है। इसके अलावा, यह रनटाइम वातावरण पर केंद्रित है और अतिरिक्त उपकरण प्रदान करने पर इतना नहीं है।

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

शुरुआत के लिए, एक साधारण सर्वलेट कंटेनर के साथ रहना बेहतर होता है, क्योंकि सीखने की अवस्था में बहुत कम खड़ी होती है।


संपादित करें

@Apache फैन: यह आपकी स्थिति की मौजूदा प्रणालियों और भविष्य की योजनाओं जैसी चीजों पर निर्भर करता है। मुझे नहीं लगता कि जेनेरिक फ्लोचार्ट अप्रोच यहां लागू है।

प्लेटफ़ॉर्म चयन आमतौर पर विचाराधीन प्रणालियों के प्रथम-ज्ञान के विरुद्ध विशिष्ट आवश्यकताओं को तौलकर किया जाता है।

हालाँकि यह सवाल कोई संकेत नहीं देता कि मूल्यांकन मानदंड क्या हैं। क्या यह खुला स्रोत होना चाहिए? क्या चारों ओर घड़ी विक्रेता का समर्थन आवश्यक है? सिस्टम को किस तरह के उद्यम के साथ एकीकृत करना चाहिए? क्या लाइसेंस फीस एक मुद्दा है? किसी भी तकनीक या उपकरण होना चाहिए? आदि।

ऊपर जानने के बिना यह अंधेरे में बहुत ज्यादा शूटिंग है।


मैं एक उद्यम के नजरिए से पूछ रहा हूं।
पुष्कर

11

मूल रूप से एक एप्लिकेशन सर्वर से जावा ईई संदर्भ में एक सर्वर पर स्थापित एक सॉफ्टवेयर है और जो एक जावा ईई विनिर्देश (उदाहरण के लिए जावा ईई 7) को लागू करता है। इसका मतलब है कि ऐसे सॉफ्टवेयर (एप्लिकेशन सर्वर) जावा ईई एप्लिकेशन को चलाने में सक्षम होना चाहिए।

जावा ईई 4 डोमेन को परिभाषित करता है, तथाकथित कंटेनर :

  • एप्लेट कंटेनर,
  • आवेदन ग्राहक कंटेनर,
  • वेब कंटेनर, और
  • EJB कंटेनर।

दो कंटेनर एप्लिकेशन सर्वर (EJB और वेब कंटेनर) का हिस्सा हैं और दो अन्य क्लाइंट-कंप्यूटर का हिस्सा हैं।

JBoss और Weblogic अनुप्रयोग सर्वर हैं, Tomcat और Jetty वेब कंटेनर हैं। यही कारण है कि JBoss और Weblogic एक वेब कंटेनर की तुलना में अधिक तकनीकों से निपट सकते हैं। एप्लिकेशन सर्वर EJB को प्रबंधित कर सकता है।

सर्वलेट टॉम्केट और जेट्टी के लिए सर्वलेट कंटेनर उपयुक्त अभिव्यक्ति नहीं है क्योंकि यह अधिक प्रतिबंधक है। टॉमकैट केवल सर्वलेट्स ही नहीं, जेएसपी और जेएसएफ को भी निष्पादित कर सकता है।


2

afaik, websphere और jboss पूरी तरह से आज्ञाकारी j2ee- सर्वर है जो EJB की तरह सर्वलेट से चल सकता है, जबकि Tomcat सिर्फ सर्वलेट कंटेनर है और आप इस पर EJB नहीं चला सकते।


फिर Apache सर्वर किस श्रेणी के अंतर्गत आता है?
रोलिंग स्टोन

अपाचे HTTP सर्वर एक पूर्ण विकसित वेब सर्वर है
asgs

2

आम शब्दों में: एक वेब सर्वर का अर्थ है: HTTP अनुरोध (आमतौर पर ब्राउज़रों से) को संभालना।

एक सर्वलेट कंटेनर (जैसे टॉमकैट) का अर्थ है: यह सर्वलेट्स और जेएसपी को संभाल सकता है।

एक एप्लिकेशन सर्वर (जैसे ग्लासफ़िश) का अर्थ है: * यह जावा ईई अनुप्रयोगों (आमतौर पर सर्वलेट / जेएसपी और ईजेबीबी) दोनों का प्रबंधन कर सकता है।

एक शुरुआत के लिए, एक साधारण सर्वलेट कंटेनर के साथ रहना बेहतर है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.