java - कौन सा ढांचा बेहतर सीएक्सएफ या स्प्रिंग-डब्ल्यूएस है?




web-services cxf (5)

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

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

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

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

वसंत डब्ल्यूएस के बारे में:

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

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


इस तुलना में विचार करने का एक और विकल्प Enunciate

विशेष रूप से यदि आप पहले जावा के साथ शुरू करना चाहते हैं।


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

सीएक्सएफ में, मैंने मेवेन और मेवेन प्लगइन का इस्तेमाल किया, जिसे एसईआई (इंटरफेस) उत्पन्न करने के लिए wsimport लक्ष्य को बुलाया जिसे मैंने लागू किया था। वास्तविक सेवा तर्क को शामिल करने और मेरे बीन कार्यान्वयन beans.xml को कॉन्फ़िगर करने के लिए इंटरफ़ेस को लागू करने के बाद, मैने मैने इसे तैनाती के लिए युद्ध फ़ाइल में पैकेज करने दिया। पूरा अभ्यास आसान नहीं हो सका।

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


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

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


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

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

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

हालांकि, यह डब्लूएसडीएल बनाता है जो अधिक नाजुक हो जाता है।





spring-ws