2009-01-14 4 views
23

वर्तमान में मैं जावा में वेब सेवा ढांचे की संख्या का मूल्यांकन कर रहा हूं। मुझे वेब सेवा ढांचे की ज़रूरत है जो मुझे जेबॉस पर चल रहे मौजूदा एप्लिकेशन की कुछ कार्यक्षमता का पर्दाफाश करने में मदद करेगी, आवेदन ज्यादातर स्प्रिंग और पीओजेओ (कोई ईजेबी) का उपयोग करके विकसित नहीं किया जाता है।जावा वेब सेवा ढांचे/पुस्तकालय, जो एक बेहतर है और क्यों?

  1. यह बॉयलरप्लेट कोड के स्वत: उत्पन्न करने के लिए उपकरण उपलब्ध कराने और जावा (java2wsdl) से डबल्यूएसडीएल पैदा उदाहरण उपकरण, उपकरणों के लिए, दोहराए जाने वाले कार्यों को नष्ट करने से समय की बचत करना चाहिए:

    क्या मैं जरूरत है एक ढांचे के निम्नलिखित गुण होने है एंडपॉइंट्स इत्यादि उत्पन्न करना

  2. अनुप्रयोगों को मौजूदा जे 2 ईई प्लेटफार्म (जेबॉस) पर आसानी से तैनात किया जाना चाहिए, इसका मतलब है कि इसमें जितनी कम संभव कॉन्फ़िगरेशन फाइलें होनी चाहिए (जैसे axis2.xml अक्ष 2 फ्रेमवर्क में)।
    • यह भी के भीतर वेब सेवा को तैनात करने में सक्षम होना पसंद है। मौजूदा एप्लिकेशन का संग्रह। (ऐसा लगता है कि एक्सिस 2 को वेब सेवा ऐप के लिए एक अलग संग्रह की आवश्यकता है।)
    • POJOs और वसंत के संयोजन का उपयोग करना बहुत अच्छा होगा।
    • आम तौर पर, ढांचे में स्वच्छ संरचना और डिज़ाइन होना चाहिए (उदाहरण के लिए स्प्रिंग-डब्ल्यूएस में इसकी कमी है), अच्छा प्रलेखन और जो भी सॉफ्टवेयर का एक अच्छा टुकड़ा है।
    • यह पसंद किया जाता है कि ढांचे में कुछ विशिष्ट विशेषताओं जैसे कि जेएक्स-डब्ल्यूएस इत्यादि विक्रेता विशिष्ट तरीकों के बजाय शामिल हैं।

मैं संक्षिप्त

  • Axis2
  • अपाचे CXF
  • और सूर्य की मेट्रो
  • स्प्रिंग WS

की जांच की लेकिन फिर भी यह क्या तय करने के लिए मुश्किल है मेरे मामले में उपयोग करने के लिए:

  • Axis2 तो निम्न स्तर प्रतीत हो रहा है, यह अलग आवेदन संग्रह और
  • स्प्रिंग WS भी अपारदर्शी और हो रहा है विन्यास के बहुत सारे "छाप प्रयोजनों के लिए परिष्कृत (?)"
  • अपाचे CXF और मेट्रो की आवश्यकता है शायद दो ढांचे हैं जिन्हें मैं चुनना पसंद करता हूं लेकिन अभी भी

मुझे वास्तविक दुनिया के अनुप्रयोगों में से कुछ के उपयोग के बारे में आपकी राय और अनुभव की आवश्यकता है।

उत्तर

23

मैंने कुछ समय के लिए सीएक्सएफ के अग्रदूत, एक्सफायर का उपयोग किया है और यह बहुत बुरा नहीं रहा है। उस समय, हम दो प्रमुख कारणों से एक्सिस से माइग्रेट हुए: प्रदर्शन और विकास की आसानी। उस समय (पता नहीं है कि यह अब सच है या नहीं), XFire का प्रदर्शन वहां से कहीं भी बेहतर था, और एनोटेशन-संचालित विकास के साथ, स्टब पीढ़ी चलाने की बजाए, यह वास्तव में नया जोड़ना वास्तव में आसान था वेब सेवाएं।

सीएक्सएफ उतना ही अधिक प्रतीत होता है लेकिन बेहतर है - हम अभी भी विकास के समय पर बाधाओं के कारण माइग्रेट नहीं हुए हैं और साथ ही ऐसा करने का दबाव नहीं है (साथ ही 6-12 महीने पहले दस्तावेज़ीकरण की सापेक्ष कमी बहुत उत्साहजनक नहीं था)। इसके अतिरिक्त मैंने वास्तव में देर से बाजार का मूल्यांकन नहीं किया है, इसलिए मैं आपको नहीं बता सकता कि सीएक्सएफ अपने समकालीन प्रतिस्पर्धियों के लिए कैसे खड़ा है।

अपने अंक के बारे में:

  1. वहाँ उत्पन्न किया जा करने के लिए कोई बॉयलरप्लेट कोड है, डबल्यूएसडीएल स्वचालित रूप से सेवा वर्ग 'व्याख्याओं से बनाया है और सर्वर द्वारा प्रकाशित हुआ है।
  2. टोमकैट में तैनाती अपेक्षाकृत सरल थी। बस web.xml में एक और सर्वलेट परिभाषित करें और इस सर्वलेट में एक यूआरएल पैटर्न मैप करें।
  3. हमारी वेब सेवाओं को WAR फ़ाइलों में तैनात किया गया था, मुझे यकीन नहीं है कि वास्तव में विकल्प क्या हैं लेकिन यह ऐसा करने का डिफ़ॉल्ट और स्पष्ट तरीका प्रतीत होता है।
  4. POJO प्रारंभ में ठीक काम करता है; अब हमने अधिक जटिल सशर्त निर्भरताओं को तारने के लिए स्प्रिंग में अधिकांश वेब सेवा ऑब्जेक्ट सृजन को स्थानांतरित कर दिया है और इसमें कोई समस्या नहीं है।
  5. प्रलेखन मूल रूप से सीएक्सएफ के साथ एक कमजोर बिंदु था, हालांकि अभी एक ऐसा लग रहा था, यह अब बेहतर लगता है। सामान्य डिजाइन और वास्तुकला अपेक्षाकृत सभ्य लगता है; ट्रांसमिशन विवरण को संशोधित करने के लिए अपने स्वयं के फ़िल्टर में स्लॉटिंग बहुत दर्दनाक नहीं था, और मौजूदा वर्गों को विस्तारित करना आम तौर पर माना जाता है (उदाहरण के लिए, समझदार तरीके निजी के बजाय सुरक्षित चिह्नित हैं)।
  6. जेएक्स-डब्ल्यूएस सीएक्सएफ में पूर्ण समर्थित है।

तो मैं के रूप में मैं अन्य लोगों को प्रयास नहीं किया है एक छोटे से निष्पक्ष शायद हूँ, लेकिन मैं एक अंगूठे CXF पर एक नज़र होने के लिए प्रदान करेंगे। यदि आप इसे ट्विक करने की ज़रूरत है तो यह बहुत तेज़, अपेक्षाकृत सरल और काफी शक्तिशाली है।

+0

की तुलना में उपयोग करना आसान है मैंने एक्सफ़ीयर और सीएक्सएफ दोनों किया है और अपग्रेड अपेक्षाकृत दर्द रहित है। वह एक्सएमएल कॉन्फ़िगरेशन फ़ाइल थोड़ा अलग है लेकिन ज्यादा नहीं है। –

3

मैं स्प्रिंग डब्ल्यूएस पहले और एक्सफायर सेकेंड के साथ जाऊंगा। मैं एक वसंत उपयोगकर्ता हूं, इसलिए मुझे अस्पष्टता के लिए उपयोग किया जाता है।

2

एक्सफायर अब अपाचे सीएक्सएफ एक्सिस की तुलना में उपयोग करना बहुत आसान था। मैंने इसका उपयोग करके बहुत जल्दी किया था जहां एक्सिस अत्यधिक जटिल लग रहा था। मैंने स्प्रिंग डब्ल्यूएस को नहीं देखा।

1

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

4

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

2

मैं सीएक्सएफ का उपयोग करूंगा। एक्सिस 2

संबंधित मुद्दे