JAX-RS और JAX-WS में क्या अंतर है?


94

JAX-RS और JAX-WS के बारे में कुछ लेख पढ़ने के बाद, मेरे कुछ सवाल थे जिनकी मैं पुष्टि करना चाहता हूँ?

  1. क्या JAX-RS, JAX-WS जैसे अतुल्यकालिक अनुरोध कर सकता है?
  2. क्या JAX-RS एक वेब सेवा का उपयोग कर सकता है जो जावा प्लेटफॉर्म पर नहीं चल रही है, और इसके विपरीत?
  3. इसका क्या मतलब है "REST विशेष रूप से सीमित-प्रोफ़ाइल उपकरणों के लिए उपयोगी है, जैसे पीडीए और मोबाइल फोन"?
  4. इसका क्या मतलब है "JAX-RS को XML संदेश या WSDL सेवा-एपीआई परिभाषा की आवश्यकता नहीं है?

जवाबों:


78

क्या JAX-RS, JAX-WS जैसे अतुल्यकालिक अनुरोध कर सकता है?

1) मुझे नहीं पता कि JAX-RS एपीआई में अतुल्यकालिक अनुरोधों के लिए एक विशिष्ट तंत्र शामिल है, लेकिन यह उत्तर अभी भी आपके द्वारा उपयोग किए जाने वाले क्लाइंट कार्यान्वयन के आधार पर बदल सकता है।

क्या JAX-RS एक वेब सेवा का उपयोग कर सकता है जो जावा प्लेटफॉर्म पर नहीं चल रही है, और इसके विपरीत?

2) मैं किसी भी कारण के बारे में सोच भी नहीं सकता।

इसका क्या मतलब है "REST विशेष रूप से सीमित-प्रोफ़ाइल उपकरणों के लिए उपयोगी है, जैसे पीडीए और मोबाइल फोन"?

3) अन्य आधारित आर्किटेक्चर आमतौर पर डेटा को आगे और पीछे भेजने के लिए JSON की तरह एक हल्के डेटा प्रारूप का उपयोग करेंगे। यह JAX-WS के विपरीत है जो XML का उपयोग करता है। मैं खुद को XML को JSON (जो कुछ लोग बहस कर सकते हैं) की तुलना में बहुत भारी नहीं देखते हैं, लेकिन JAX-WS के साथ यह है कि XML का कितना उपयोग किया जाता है जो JSON के हल्के विकल्प के साथ REST का निर्माण करता है।

इसका क्या मतलब है "JAX-RS को XML संदेश या WSDL सेवा-एपीआई परिभाषा की आवश्यकता नहीं है?

4) जैसा कि 3 में कहा गया है, REST आर्किटेक्चर अक्सर JSON का उपयोग डेटा भेजने और प्राप्त करने के लिए करते हैं। JAX-WS XML का उपयोग करता है। ऐसा नहीं है कि JSON अपने आप में XML से काफी छोटा है। यह ज्यादातर है कि JAX-WS विनिर्देशन में बहुत अधिक ओवरहेड शामिल है कि यह कैसे संचार करता है।

WSDL और API परिभाषाओं के बारे में, REST अधिक बार URI संरचना और HTTP कमांड का उपयोग संदेश प्रकारों के बजाय API को परिभाषित करने के लिए करेगा, जैसा कि JAX-WS में किया गया है। इसका मतलब है कि आपको WSDL दस्तावेज़ प्रकाशित करने की आवश्यकता नहीं है ताकि आपकी सेवा के अन्य उपयोगकर्ता यह जान सकें कि आपकी सेवा से कैसे बात की जाए। REST के साथ आपको अभी भी अन्य उपयोगकर्ताओं को कुछ प्रलेखन प्रदान करने की आवश्यकता होगी कि REST सेवा कैसे व्यवस्थित की जाती है और डेटा और HTTP आदेशों को भेजने की क्या आवश्यकता है।


उस बहुत ही उपयोगी उत्तर के लिए धन्यवाद। क्या ऐसी कोई और चीज़ है जो JAX-RS को JAX-RS में अंतर करेगी, जिसे आप जानते हैं?
pmark019

92

एक और महत्वपूर्ण बिंदु

JAX-WS SOAP का प्रतिनिधित्व करता है

JAX-RS, REST का प्रतिनिधित्व करता है

JAX-RS और JAX-WS वेब सेवाओं के कार्यान्वयन के बीच चयन कैसे करें?


29
दरअसल, JAX-WS, RESTful और SOAP आधारित वेब सेवाओं दोनों का प्रतिनिधित्व करता है। इसके बारे में सोचने का एक तरीका यह है कि JAX-RS, RESTful में माहिर है, जबकि JAX-WS आपको और अधिक लचीलेपन की अनुमति देता है, जबकि एक ही समय में (कुछ मामलों में) कॉन्फ़िगर करने के लिए अधिक जटिल है।
मैट

सरल स्पष्टीकरण के लिए धन्यवाद।
पीरनेट

2
" JAX-WS, RESTful और SOAP आधारित वेब सेवाओं दोनों का प्रतिनिधित्व करता है " - यह सच नहीं है, क्या आप कृपया अपने दावे को मान्य करने के लिए कुछ संदर्भ डाल सकते हैं, JAX-WS HTTP पर HTTP और XML को HTTP पर भी ट्रांसपोर्ट कर सकता है, लेकिन यह JAX-WS बनाता है RESTful। Restful होना पूरी तरह से अलग अवधारणा है।
हगरावल ha

43

JAX-WS - XML- आधारित वेब सेवाओं के लिए जावा एपीआई है - SOAP संकेतन (सिंपल ऑब्जेक्ट एक्सेस प्रोटोकॉल) में वेब-सेवाओं को विकसित करने का एक मानक तरीका है ।

वेब सेवाओं की कॉलिंग दूरस्थ प्रक्रिया कॉल के माध्यम से की जाती है। ग्राहक और वेब सेवा के बीच सूचना के आदान-प्रदान के लिए SOAP प्रोटोकॉल का उपयोग किया जाता है। क्लाइंट और सर्वर के बीच एक्सएमएल -आधारित एसओएपी संदेशों के माध्यम से संदेश विनिमय ।

JAX-WS Web- Service के ग्राहकों को निष्पादन योग्य कोड उत्पन्न करने के लिए एक WSDL फ़ाइल की आवश्यकता होती है, जिसका उपयोग ग्राहक Web- सेवा को कॉल करने के लिए कर सकते हैं।

JAX-RS - रैस्टफुल वेब सेवाओं के लिए जावा एपीआई। रैस्टफुल वेब सेवाओं को संसाधनों के रूप में दर्शाया जाता है और यूनिफ़ॉर्म रिसोर्स आइडेंटिफ़ायर ( URI ) द्वारा पहचाना जा सकता है । इस मामले में दूरस्थ प्रक्रिया कॉल एक HTTP - अनुरोध का प्रतिनिधित्व करती है और आवश्यक डेटा क्वेरी के मापदंडों के रूप में पारित किया जाता है। वेब सेवाएं Restful - अधिक लचीली, कई अलग-अलग MIME प्रकारों का उपयोग कर सकती हैं । आमतौर पर XML डेटा एक्सचेंज या JSON (जावास्क्रिप्ट ऑब्जेक्ट नोटेशन) डेटा एक्सचेंज के लिए उपयोग किया जाता है ...


संक्षिप्त और कुरकुरा स्पष्टीकरण !! अति उत्कृष्ट।
सौरभ राय

0

मैं Apachi Axis1.1 और Axis2.0 और JAX-WS पर काम कर रहा हूं, लेकिन मैं आपको JAX-WS का सुझाव दूंगा क्योंकि यह आपको किसी भी प्रारूप में wsdl बनाने की अनुमति देता है, मैं Apis Axis2 में GetInquiry () के रूप में ऑपरेशन कर रहा था, यह नहीं किया मुझे ऊपरी मामले में ऑपरेशन नाम शुरू करने की अनुमति दें, इसलिए मुझे यह अच्छा नहीं लगता है, इसलिए मेरा सुझाव है कि आपको JAX-WS का उपयोग करना चाहिए


0

क्या JAX-RS, JAX-WS जैसे अतुल्यकालिक अनुरोध कर सकता है?

हां, यह निश्चित रूप से @Async का उपयोग कर सकता है

क्या JAX-RS एक वेब सेवा का उपयोग कर सकता है जो जावा प्लेटफॉर्म पर नहीं चल रही है, और इसके विपरीत?

हाँ, यह कर सकते हैं

इसका क्या मतलब है "REST विशेष रूप से सीमित-प्रोफ़ाइल उपकरणों के लिए उपयोगी है, जैसे पीडीए और मोबाइल फोन"?

यह मुख्य रूप से सार्वजनिक एपिस के लिए उपयोग होता है यह इस बात पर निर्भर करता है कि आप किस दृष्टिकोण का उपयोग करना चाहते हैं।

इसका क्या मतलब है "JAX-RS को XML संदेश या WSDL सेवा-एपीआई परिभाषा की आवश्यकता नहीं है?

इसके अपने मानक हैं WADL (वेब ​​एप्लिकेशन डेवलपमेंट लैंग्वेज) इसमें http अनुरोध है जिसके द्वारा आप संसाधनों का उपयोग कर सकते हैं जो पूरी तरह से अलग मानसिकता के द्वारा बनाए गए हैं, मामले में जैक्स-रु में आपको संसाधनों को उजागर करने के बारे में सोचना होगा

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