JAX-WS, Axis2 और CXF के बीच अंतर


131

दोनों के बीच क्या अंतर है:

  1. JAX-WS
  2. Axis2
  3. CXF

जावा में webservices बनाने के लिए इन तीनों का उपयोग किया जा सकता है।
जैसा कि मुझे पता है कि JAX-WS एक विनिर्देशन है और Axis2 और CXF कार्यान्वयन हैं, लेकिन जावा 1.6 में JAX-WS का कार्यान्वयन है यदि मैं गलत नहीं हूं।

तो क्या कोई Axis2 या CXF का उपयोग किए बिना JAX-WS वेब सेवाओं को विकसित करने के लिए Java 1.6 का उपयोग कर सकता है? फिर एक्सिस 2, सीएक्सएफ का उपयोग क्या है?

जवाबों:


143

JDK में निर्मित JAX-WS कार्यान्वयन वास्तव में मूल साबुन सामग्री है। यदि आपको किसी और अधिक जटिल WS- * की आवश्यकता है जैसे कि WS-Security, WS-RM, WS-Policy, आदि ..., तो आपको CXF या मेट्रो या Axis2 जैसे विकल्पों में से एक का उपयोग करने की आवश्यकता है। यह इस बात पर भी निर्भर कर सकता है कि आप किस चीज को एकीकृत करने की कोशिश कर रहे हैं। उदाहरण के लिए, CXF में शीर्ष पायदान स्प्रिंग समर्थन के साथ-साथ बहुत अच्छा OSGi समर्थन है।

सीएक्सएफ में सिर्फ JAX-WS के अलावा अन्य चीजें भी हैं। इसका एक समान JAX-RS कार्यान्वयन है और यह REST और SOAP दोनों को अच्छी तरह से उजागर करने वाली सेवाओं का समर्थन करता है। यदि इस प्रकार की चीजों की आवश्यकता है, तो W3C अनुपालन SOAP / JMS कार्यान्वयन है। मूल रूप से, Jdk JAX-WS से कई सामान उपलब्ध नहीं हैं।

और देखें:

अपाचे सीएक्सएफ और एक्सिस के बीच अंतर


1
धन्यवाद, एक बहुत मदद करता है। इसलिए मूल वेब सेवा सामग्री के लिए मैं सिर्फ जावा 1.6 को लागू करने के लिए उपयोग कर सकता हूं। और क्या जावा 1.5 में जैक्स-डब्ल्यूएस का कार्यान्वयन था? या इसे 1.6 के बाद जोड़ा गया था? अगर मुझे अतिरिक्त सुविधाओं की आवश्यकता है तो मैं सीएक्सएफ के साथ जा सकता हूं?
मैवरिक रिज़

5
यह 1.6 में जोड़ा गया था। यदि आपको 1.5 समर्थन की आवश्यकता है, तो आपको CXF या JAX-WS संदर्भ निहित या इसी तरह की आवश्यकता होगी।
डेनिएल कुलप

7
और अधिकांश भाग के लिए, यदि आप इन-जेडके JAX-WS के साथ शुरू करते हैं, तो आप किसी भी समय CXF में ड्रॉप कर सकते हैं और यह अभी भी काम करेगा।
डेनिएल कुलप

1
मुझे थोड़ा शक है। क्या मेट्रो-JAX-WS कार्यान्वयन JDK में नहीं बनाया गया है? या JDK में निर्मित JAX-WS कार्यान्वयन की तुलना में मेट्रो अधिक परिष्कृत है?
डेक्सटर

16

संक्षेप में।

WSDL WS- * भाषा-अज्ञेयवादी हैं।

JAX-WS वेब सेवा बनाने के लिए जावा मानक हैं।

Apache CXF और Apache Axis 2 JAX-WS के दो कार्यान्वयन हैं। वे JAX-RS क्रियान्वयन भी प्रदान करते हैं ताकि आप रेस्टफुल सेवाओं का निर्माण कर सकें।

सीएक्सएफ का स्प्रिंग के साथ बेहतर एकीकरण है, और कैमल ( ऊंट-सीएक्सएफ )। और एक्सिस 2 में सक्रिय रिलीज नहीं है।


15

मैंने सीएक्सएफ के साथ पाया - वसंत के साथ एकीकरण बहुत आसान है। इसके अलावा, यह विभिन्न विशेषताएं प्रदान करता है जैसे:

  1. लॉगिंग सुविधाओं का अनुकूलन
  2. इनबाउंड और आउटबाउंड इंटरसेप्टर
  3. आवेदन स्तर की सुरक्षा
  4. कस्टम फॉल्ट का उपयोग करके आसान अपवाद हैंडलिंग।

अधिक विवरण के लिए, यदि आप चाहें, तो कृपया इस लिंक की जाँच करें:

http://predic8.com/axis2-cxf-jax-ws-comparison.htm

http://www.ibm.com/developerworks/java/library/j-jws11/

और, मैं ऊपर दिए गए लिंक को पढ़ता हूं, यह मेरे लिए बहुत उपयोगी है। मुझे आशा है कि यह यू के लिए भी काम करता है।

धन्यवाद !


3

वेब सेवा संगठन कुछ दिशा-निर्देशों यानी बीपी (बेसिक प्रोफाइल) 1.0 और बीपी (बेसिक प्रोफाइल) 1.1 को दोहराता है। दिशानिर्देशों के आधार पर सभी भाषा (जावा / .नेट) लोग डिफ़ॉल्ट कार्यान्वयन के साथ विशिष्टता जारी करते हैं। बीपी 1.0 पर जावा बेस में विशिष्टता JAX-RPC है और 1.0 विशिष्टता JAX-WS है

JAX-WS डिफ़ॉल्ट कार्यान्वयन RI है (संदर्भ कार्यान्वयन) आवश्यकता / पसंद के आधार पर हम कार्यान्वयन (RI / AXIS-2 / CXF) को बदल सकते हैं

जब हम java 1.6 का उपयोग कर रहे हैं तो JDK में वह केस पहले से ही उपलब्ध है इसलिए किसी अन्य जार की आवश्यकता नहीं है। यदि आप अलग कार्यान्वयन का उपयोग करना चाहते हैं तो उस मामले में विशेष रूप से इम्प्लांटेशन जार की आवश्यकता होती है।

एक्सिस -2 और सीएक्सएफ अपाचे से आते हैं

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