2010-05-11 3 views
16

में प्रभावी वेब सेवाओं लिखने के लिए कैसे हालांकि इस Java Web Services का डुप्लिकेट के रूप में प्रकट हो सकता है, मुझे पता है कि कहां से शुरू करने के लिए और पिछले continue.In चाहते हैं, मैं कहाँ शुरू करने के लिए खोजने के लिए समय की बहुत बहुत निवेश किया है लेकिन मैं करने में सक्षम नहीं था। वेब सेवाओं के बारे में पृष्ठों को पढ़ने के दौरान बहुत सारे शब्द और अराजकताएं हैं (कम से कम मेरे लिए!)। ऐसी कई शर्तें हैं - जैसे JAX-RPC, JAX-WS, Axis, Rest, Servlet as WebService, EJB's वेब सेवा और अन्य शर्तों के रूप में जिन्हें मैं नहीं जानता। क्या यह उपयोगकर्ता समूह जावा वेब सेवाओं का एक उच्च स्तर का अवलोकन कर सकता है और समझने में आसान है? मैं आपकी मदद के लिए आपकी दयालुता और धन्यवाद की सराहना करता हूं।जावा

उत्तर

33

वास्तव में एक सा वेब सेवाओं को समझने के लिए एक जंगल है कि। wikipedia पृष्ठ सभ्य है, लेकिन अभी भी कुछ तत्वों की कमी है।

मैं समुदाय विकी के रूप में इस सवाल का जवाब में चिह्नित किये, तो यह अद्यतन करते हैं, या इसे सही करने के लिए स्वतंत्र महसूस कर लिया है। यह केवल एक आधार है।

एक फूला हुआ अवधि:

पहले, अवधि वेब सेवा कई बात का उल्लेख किया जाता है। जबकि बहुत से लोग इसका उपयोग एसओएपी-आधारित वेब सेवा के संदर्भ में करते हैं, इस शब्द का उपयोग वेब इंटरफेस के माध्यम से प्रदान की जाने वाली किसी भी सेवा को दर्शाने के लिए किया जा सकता है; यह भ्रम का स्रोत है।

कार्यान्वयन और डिजाइन शैली:

  • SOAP आधारित - सोप अभी भी वेब सेवाओं के लिए वास्तविक मानक है। SOAP HTTP के शीर्ष पर प्रोटोकॉल है जो संदेश और अपवाद के आदान-प्रदान का वर्णन करता है। SOAP कुछ सरल से कुछ WS-* standards के साथ बहुत जटिल हो गया जो बाद में जोड़ा गया है। सबसे महत्वपूर्ण हैं: डब्लूएस-पॉलिसी, डब्ल्यूएस-सिक्योरिटी, डब्ल्यूएस-एड्रेसिंग, डब्लूएस-लेनदेन। बड़े संदेश के लिए एमटीओएम एक और महत्वपूर्ण कल्पना है।
  • RESTful - अवधि RESTful तथ्य यह है कि सेवा राज्यविहीन है और सभी प्रासंगिक जानकारी पैरामीटर के रूप में पारित हो जाता है से संबंधित है। एसओएपी जैसे प्रोटोकॉल का उपयोग करने के बजाय, सादे HTTP क्रिया का उपयोग किया जाता है, उदा। Get, Put, Delete, Update
  • स्टेटलेस - WS आमतौर पर स्टेटलेस हैं। कभी-कभी संसाधित व्यापार तथाकथित सहसंबंध पहचानकर्ताओं (डब्ल्यूएस-एड्रेसिंग के साथ) पर निर्भर करता है जिनका उपयोग अनुरोधों और प्रतिक्रियाओं से मेल खाने के लिए किया जाता है; यह कुकी में सत्र पहचानकर्ता को संग्रहीत करने जैसा ही विचार है क्योंकि HTTP स्टेटलेस है।
  • स्टेटफुल - स्टेटफुल WS के लिए कुछ प्रस्ताव हैं, लेकिन मैं इसके बारे में ज्यादा पता नहीं है।

कार्यान्वयन और प्रौद्योगिकी के ढेर:

  • सर्वलेट - निम्नतम स्तर के रास्ते एक WS लागू करने के लिए: यदि आप मूल रूप से अनुरोध पार्स और अपने आप से सभी HTTP प्रतिसाद थूक।
  • ईजेबी - चूंकि ईजेबी 3, ईजेबी को वेब सेवा के रूप में बहुत आसानी से उजागर किया जा सकता है। निश्चित रूप से एक ईजेबी कंटेनर की आवश्यकता है।
  • अपाचे एक्सिस - एक लोकप्रिय प्रौद्योगिकी ढेर अब घट रही है जो हुआ करता था।
  • अपाचे सीएक्सएफ - एक और लोकप्रिय विकल्प।
  • JBossWS - फिर भी एक और popluar विकल्प।
  • JAX-WS - सूर्य से आधिकारिक वेब सेवा ढेर, बहुत अच्छा। अब तक मुझे पता है, यह replaces जेएक्स-आरपीसी जिसका नाम बदलकर जेएक्स-डब्ल्यूएस रखा गया था।

संबंधित अवधारणाओं और शब्दजाल:

  • डबल्यूएसडीएल - परिभाषित करता है वेब सेवा के अनुबंध/इंटरफेस, SOAP आधारित WS के मामले में।
  • अनुबंध-पहले - तथ्य यह है कि है कि एक तकनीक किसी भी डबल्यूएसडीएल का समर्थन करने में सक्षम है अग्रिम प्रदान की को संदर्भित करता है। एक कार्यान्वयन तकनीक के विपरीत जो वेब सेवा के कार्यान्वयन के आधार पर डब्लूएसडीएल उत्पन्न करेगा, जिस स्थिति में डब्लूएसडीएल को हमेशा
  • प्रोफ़ाइल - इस गड़बड़ी को सरल बनाने के लिए, प्रोफाइल जो संबंधित विनिर्देशों/क्षमताओं के समूह हैं जिन्हें इंटरऑपरेबिलिटी के लिए समर्थित होना आवश्यक है। मुख्य एक डब्लूएस-आई बेसिक प्रोफाइल है।
  • यूडीडीआई और खोज - ऐसा लगता है कि कुछ लोगों ने सोचा था कि वेब सेवा सार्वजनिक रजिस्टर में प्रकाशित की जाएगी ताकि संभावित उपभोक्ता द्वारा खोजा जा सके। मुझे नहीं लगता कि इस दृष्टि ने बहुत गति प्राप्त की है।
+0

+1 बिंदु सिंहावलोकन करने के लिए अभी तक विस्तृत। – CoolBeans

+0

+1 बहुत अच्छी पोस्ट - आज मुझे बेहद जरूरी कुछ चाहिए, आसानी से पर्याप्त। – aperkins

+0

कोई ग्रहण, Axis2, बिल्ला –

0

सबसे अच्छा विवरण "अनुबंध पहले" वेब सेवाओं के लिए मुझे पता है Spring web service module है।