जर्सी बनाम जैक्स-आरएस के बीच क्या अंतर है


95

मैं वास्तव में नहीं समझ सकता कि वास्तव में जर्सी क्या है ..

मुझे क्या पता है कि जैक्स-आरएस आरईएस वेब सेवाओं, और जर्सी के निर्माण के लिए एक एपीआई है? मुझे कुछ जानकारी मिली और सभी यही कहते हैं: "जर्सी जैक्सन-आरएस का कार्यान्वयन है"। लेकिन इसका क्या मतलब है?

यदि jax-rs एक एपीआई है, तो हमें एक आराम वेब सेवा बनाने के लिए जर्सी की आवश्यकता क्यों है? क्या jax-rs के साथ लक्ष्य करने के लिए जर्सी को अधिक परिवादों की एक जोड़ी है? यदि हाँ, jax-rs एक अधूरा एपीआई है?


13
JAX-RS विनिर्देश के कार्यान्वयन में जर्सी
ब्रायन रोच

1
जर्सी सिर्फ आसान तरीके से JAX-rs का उपयोग करने के लिए एक इंटरफ़ेस। JAX-RS ने सर्वलेट प्रदान नहीं किया है लेकिन जर्सी करता है। जर्सी एक जावा सर्वलेट कंटेनर में रेस्टफुल वेबसर्विसेज को लागू करने के लिए एक पुस्तकालय प्रदान करता है, जर्सी एक सर्वलेट कार्यान्वयन प्रदान करता है जो पूर्वनिर्धारित कक्षाओं को स्कैन करता है ताकि रेस्टफुल संसाधनों की पहचान की जा सके। अपने web.xml कॉन्फ़िगरेशन में अपने वेब एप्लिकेशन के लिए इस रजिस्टर को दर्ज करें।
taymedee

1
JAX-RS एक विनिर्देश है (जो मूल रूप से बताता है कि क्या लागू करना / पालन करना है) और जर्सी एक कार्यान्वयन है (जिसका अर्थ है कि उन विनिर्देशों को कैसे लागू किया जाना चाहिए)। हम एक विनिर्देशन के लिए कई कार्यान्वयन कर सकते हैं। JAX-RS के लिए हमारे पास लिबास हैं क्योंकि हम JAX-RS API का उपयोग आपके कोड में कर सकते हैं ताकि भविष्य में यदि आप अपना कार्यान्वयन बदल दें (इस मामले में जर्सी कुछ और) तो आप कोड अभी भी ठीक काम करेंगे। आप इसे अपने इंटरफ़ेस और कार्यान्वयन वर्ग के साथ संबंधित कर सकते हैं।
विशाल अक्कलकोट

@VishalAkkalkote नमस्कार, मैं इसके चारों ओर अपना सिर लपेटने की कोशिश कर रहा हूं। मैं काम पर Websphere 8.5 का उपयोग करता हूं, और मैं JAX-RS का उपयोग करके अन्य सेवाओं को लिखने की कोशिश कर रहा हूं, लेकिन सभी ट्यूटोरियल JAX-RS को जेर्सी के साथ दिखाते हैं। क्या आप कह रहे हैं, मैं एक ही EXACT कोड लिख सकता हूं और यह तब भी काम करेगा जब मैं Jersy lib का उपयोग नहीं करता?
SuperPhreshHackerKid

1
@superPhreshHackerKid हाँ यह काम करना चाहिए बशर्ते आप JAX-RS के कार्यान्वयन में से एक का उपयोग करेंगे। उदा। अपाचे सीएक्सएफ
विशाल अक्कलकोट

जवाबों:


98

JAX-RS एक विनिर्देशन है (सिर्फ एक परिभाषा) और जर्सी एक JAX-RS कार्यान्वयन है।


14
तो jax-rs कहते हैं कि हमें क्या करना चाहिए, और जर्सी क्या करना है ?? Thats समझ में आता है, लेकिन jax-rs lib क्यों हैं ??
user1851366

20
उदाहरण के लिए: JAX-RS आपको इंटरफेस (मानक जावा इंटरफेस) का एक सेट देता है जो जर्सी द्वारा कार्यान्वित किया जाता है। ताकि लागू करने के लिए एक निर्भरता के रूप में इंटरफेस (या कक्षाएं) के सेट की आवश्यकता हो।
अले ज़्लाज़ार

3
ठीक है, यह समझ में आता है ... लेकिन, हमें हमेशा jax-rs को लागू करने के लिए अन्य वर्गों की आवश्यकता है, है ना? इस एक की तरह, जर्सी ..
user1851366

10
यह सही है। यानी JAX-RS आपको javax.ws.rs.core.equest इंटरफ़ेस देता है और जर्सी इसे com.sun.jersey.spi.container.ContainerRequest में लागू करता है
Ale Zalazar

9
क्या यह जेपीए के विनिर्देशन के समान है और हाइबरनेट इसके कार्यान्वयन में से एक है?
DesirePRG

26

सीधे जर्सी साइट से

जर्सी की रूपरेखा JAX-RS संदर्भ कार्यान्वयन से अधिक है। जर्सी अपनी स्वयं की एपीआई प्रदान करता है जो RESTful सेवा और ग्राहक विकास को और सरल बनाने के लिए अतिरिक्त सुविधाओं और उपयोगिताओं के साथ JAX-RS टूलकिट का विस्तार करता है। जर्सी कई विस्तार SPI को भी उजागर करता है ताकि डेवलपर्स अपनी आवश्यकताओं के अनुसार जर्सी का विस्तार कर सकें।


3
ठीक है, मैं उस के बारे में पढ़ा है, लेकिन मेरे सवाल मत पूछो। अगर हमारे पास jax-rs है तो हमें जर्सी की आवश्यकता क्यों है? अधूरा है?
user1851366

28
@ user1851366 कल्पना कीजिए कि एक उदार संगठन है जो कारों के लिए डिज़ाइन बनाता है (और मुफ्त में देता है)। दुनिया भर के निर्माता मानते हैं कि वे डिज़ाइन अच्छे हैं और उन डिज़ाइनों के आधार पर वास्तविक कारों को लागू करते हैं। खैर, JAX-RS केवल Restful APIs बनाने के तरीके पर एक योजना या डिज़ाइन की तरह है, और सॉफ्टवेयर निर्माता इसे पहचानते हैं और उन विचारों को वास्तविक Restful API के साथ कार्यान्वित करते हैं, इनमें से एक को जर्सी कहा जाता है, लेकिन अन्य (यानी RESTEasy) हैं। बस टोयोटा के अलावा कई अन्य निर्माता कारों के अपने संस्करण बनाने के लिए डिजाइन का उपयोग कर सकते हैं।
एडविन डेलोरजो

3

JAX-RS एक विनिर्देशन है (सिर्फ एक परिभाषा) और जर्सी एक JAX-RS कार्यान्वयन है। जर्सी की रूपरेखा JAX-RS संदर्भ कार्यान्वयन से अधिक है। जर्सी अपनी स्वयं की एपीआई प्रदान करता है जो रेस्टफुल सेवा और ग्राहक विकास को और सरल बनाने के लिए अतिरिक्त सुविधाओं और उपयोगिताओं के साथ JAX-RS टूलकिट का विस्तार करता है।


2

JAX-RS एक विनिर्देशन है और जर्सी एक JAX-RS कार्यान्वयन है

इसे OOPS सिद्धांतों से संबंधित समझा जा सकता है JAX-RS एक इंटरफ़ेस है और जर्सी उस इंटरफ़ेस को लागू करने वाला एक वर्ग है।

ये विशिष्टताएँ वेब सेवाओं के विकास और उपयोग के लिए एक मानक बनाती हैं।

अन्य JAX-RS कार्यान्वयन भी हैं जैसे कि विंक, रेस्टैसी।

JAX-RS एक विनिर्देश है जो निर्दिष्ट करता है कि हम वेब सेवाओं को कैसे लागू कर सकते हैं, कि इनपुट प्रकार, इनपुट प्रारूप, आउटपुट प्रकार, इसका प्रारूप, इसका कॉन्फ़िगरेशन आदि क्या होगा। बस एक प्रकार की घोषणा और इसका कार्यान्वयन ये पुस्तकालय, जर्सी, हैं। विंक रेस्टसी आदि।

इसके अलावा, जावा में जेपीए (जावा पर्सिस्टेंस एपीआई) जैसे विनिर्देश भी हैं और जैसा कि ऊपर उल्लेख किया गया है कि हाइबरनेट है जो जेपीए का कार्यान्वयन है।


2

अकेले JAX-RS के उपयोग से REST को लागू नहीं किया जा सकता, इसके लिए जर्सी को रजिस्टर करने की आवश्यकता है क्योंकि REST अनुरोधों के लिए सर्वलेट डिस्पैचर है web.xml

एक मानक और पोर्टेबल JAX-RS API डिज़ाइन किया गया है। जर्सी रैस्टफुल वेब सर्विसेज फ्रेमवर्क ओपन सोर्स, प्रोडक्शन क्वालिटी, जावा में रेस्टफुल वेब सर्विसेज को विकसित करने के लिए फ्रेमवर्क है जो JAX-RS API के लिए सहायता प्रदान करता है और JAX-RS (JSR 311 & JSR 339) संदर्भ कार्यान्वयन के रूप में कार्य करता है।

जर्सी की रूपरेखा JAX-RS संदर्भ कार्यान्वयन से अधिक है। जर्सी यह स्वयं की एपीआई प्रदान करता है जो RESTful सेवा और ग्राहक विकास को और सरल बनाने के लिए अतिरिक्त सुविधाओं और उपयोगिताओं के साथ JAX-RS टूलकिट का विस्तार करता है। स्रोत

अधिक जानकारी के लिए

रेस्टलेट और जर्सी जावा पारिस्थितिकी तंत्र में रैस्टफुल वेब सेवाओं को विकसित करने के लिए उपयोग किए जाने वाले JAX-RS के सबसे लोकप्रिय कार्यान्वयन में से दो हैं, लेकिन कुछ अन्य कार्यान्वयन भी मौजूद हैं जैसे Apache Wink, Apache CXF, और JBoss RESTOS नासी। स्रोत

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