कौन सा फ्रेमवर्क बेहतर है सीएक्सएफ या स्प्रिंग-डब्लूएस? [बन्द है]


80

मैं वेब सेवाओं के लिए सीएक्सएफ और स्प्रिंग-डब्ल्यूएस की शोध / तुलना करने की प्रक्रिया में हूं? मुझे एक प्रदाता और WS के उपभोक्ता के रूप में कार्य करने की आवश्यकता है। संक्षेप में, मुझे बताया गया है कि स्प्रिंग-डब्ल्यूएस अधिक विन्यास योग्य है, लेकिन सीएक्सएफ उठना और चलाना आसान है। यह प्रश्न व्यक्तिपरक है, लेकिन मुझे अपने शोध में प्रत्यक्ष रूप से मदद करेगा।

  • इन चौखटों में से आपको क्या अनुभव है?
  • क्या आप किसी ढांचे के साथ किसी भी नुकसान में भाग गए हैं?
  • क्या आपने कोई ऐसी उपयोगी सुविधा प्रदान की है जो संभवतः दूसरे द्वारा प्रदान नहीं की गई है?

जवाबों:


21

मुझे लगता है कि सबसे बड़ा अंतर स्प्रिंग-डब्लूएस केवल 'अनुबंध-पहले' है, जबकि मेरा मानना ​​है कि सीएक्सएफ सामान्य रूप से 'अनुबंध-अंतिम' है।

http://static.springsource.org/spring-ws/sites/1.5/reference/html/why-contract-first.html

अनुबंध-अंतिम जावा कोड से शुरू होता है, इसलिए आमतौर पर इसके साथ शुरुआत करना आसान होता है।

हालांकि, WSDL इसे और अधिक नाजुक बनाता है।


19
JAX-WS अनुबंध-पहले दृष्टिकोण का समर्थन करता है जो कि गंभीर विकास करने वाले लोग इसका उपयोग कैसे कर रहे हैं, मुझे विश्वास है। तो यह निश्चित रूप से JAX-WS ढेर और स्प्रिंग WS को अलग करने का अच्छा तरीका नहीं है। वास्तव में, स्प्रिंग WS की JAX-WS के साथ तुलना नहीं की जाती है, स्प्रिंग WS केवल एक न्यूनतम WS स्टैक है।
पास्कल थिवेंट

80

अपाचे सीएक्सएफ के बारे में:

  • सीएक्सएपी एसओएपी, डब्ल्यूएसआई बेसिक प्रोफाइल, डब्ल्यूएसडीएल, डब्ल्यूएसडी-एड्रेसिंग, डब्ल्यूएस-पॉलिसी, डब्ल्यूएस-रिलाएबल मेसेजिंग, डब्ल्यूएस-सिक्योरिटी, डब्ल्यूएस-सिक्योरिटीपॉलिशी, और डब्ल्यूएस-सिक्योरकोनरेशन सहित कई मानकों का समर्थन करता है।
  • अपाचे सीएक्सएफ दोनों अनुबंध-अंतिम (जावा के साथ शुरू) और अनुबंध-पहले (डब्ल्यूएसडीएल के साथ शुरू) दृष्टिकोण प्रदान करता है।
  • Apache CXF JAX-WS और JAX-RS को लागू करता है।

स्प्रिंग WS के बारे में:

  • स्प्रिंग डब्लूएस एक एक्सएसडी स्कीमा से शुरू होने वाला "केवल" अनुबंध-प्रथम प्रदान करता है।
  • स्प्रिंग WS SOAP, WS- सुरक्षा, WS- एड्रेसिंग का समर्थन करता है।

इसलिए, अंत में, मैं स्प्रिंग डब्ल्यूएस को एक न्यूनतम वेब सेवा ढांचे के रूप में देखता हूं लेकिन विचार करें कि यह (मेरी राय में) अपाचे सीएक्सएफ (जो स्प्रिंग के साथ बहुत अच्छी तरह से एकीकृत है) पर कोई लाभ नहीं है। दोनों के बीच, मैं अपाचे सीएक्सएफ उठाऊंगा।


34

सीएक्सएफ किसी भी तरह से, आपको एक अनुबंध (डब्ल्यूएसडीएल) से शुरू होने से नहीं रोकता है। मैंने वेब सेवा बनाने के लिए इन दोनों उत्पादों का उपयोग किया।

CXF में, मैंने SEI (इंटरफ़ेस) को उत्पन्न करने के लिए wsimport गोल को कॉल करते हुए Maven और Maven प्लगइन का उपयोग किया, जिसे मैंने तब लागू किया था। वास्तविक सेवा तर्क और मेरे बीन कार्यान्वयन बीन्स को कॉन्फ़िगर करने के लिए इंटरफ़ेस को लागू करने के बाद। बीएक्सएल , मैंने तब मावेन को तैनाती के लिए एक युद्ध फ़ाइल में पैकेज दिया। पूरी कवायद आसान नहीं हो सकती थी।

मुझे नहीं लगता कि स्प्रिंग-डब्ल्यूएस कोई भी लाभ प्रदान करता है जो JAX-WS की कमी को दूर करता है। सीएक्सएफ पहले से ही आपको अपने बीन्स को तार करने के लिए स्प्रिंग का उपयोग करने की अनुमति देता है और साथ ही साथ JAX-WS का पूर्ण कार्यान्वयन भी करता है।


12

हमें CXF के साथ एक अनुभव है और यह पूर्ववर्ती XFire है और मैं ठोस, जल्दी (बनाने और क्रियान्वित करने WS) और विश्वसनीय ढांचा के रूप में यह सिफारिश कर सकते हैं।

उन मुद्दों के बारे में जो आप सीएक्सएफ से मिल सकते हैं मेरी पोस्ट /programming/289977/recommended-framework-for-java-web-services#290205 और मैं टूलकिट से सहमत हूं , कि चौखटे के बीच सबसे बड़ा अंतर है वैचारिक रूप से: पहला कोड (इंटरफ़ेस) या अनुबंध (wsdl) क्या है। कुछ विवरण यहां देखें:



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