2008-08-14 13 views
16

मैंने वेब सेवाओं के रूप में लगभग दस जावा वर्गों का पर्दाफाश करने के लिए अपाचे सीएक्सएफ का उपयोग किया है।वेबसाइसेस के साथ काम करते समय एंडपॉइंट, एक सेवा और पोर्ट के बीच क्या अंतर है?

मैंने क्लाइंट को सीएक्सएफ, एक्सिस और .NET का उपयोग करके उत्पन्न किया है।

एक्सिस और सीएक्सएफ में "सेवा" या "लोकेटर" उत्पन्न होता है। इस सेवा से आप "पोर्ट" प्राप्त कर सकते हैं। "पोर्ट" का उपयोग वेब सेवा द्वारा प्रकट विधियों को व्यक्तिगत कॉल करने के लिए किया जाता है।

.NET में "सेवा" सीधे वेब सेवा पर कॉल का खुलासा करता है।

क्या कोई वेब सेवाओं की बात करते समय पोर्ट, सेवा, लोकेटर और एंडपॉइंट के बीच अंतर को समझा सकता है?

एक्सिस:

PatientServiceImplServiceLocator locator = 
    new PatientServiceImplServiceLocator(); 
PatientService service = locator.getPatientServiceImplPort(); 

CXF:

PatientServiceImplService locator = new PatientServiceImplService(); 
PatientService service = locator.getPatientServiceImplPort(); 

.net:

PatientServiceImplService service = new PatientServiceImplService(); 

उत्तर

6

मैं http://www.w3.org/TR/wsdl.html पर आशा करता हूं जो मुझे लगता है कि पोर्ट, सेवा और एंडपॉइंट उचित रूप से अच्छी तरह से बताता है। एक लोकेटर एक कार्यान्वयन विशिष्ट तंत्र है जो कुछ डब्ल्यूएस स्टैक सेवा अंतराल तक पहुंच प्रदान करने के लिए उपयोग करता है।

1

आप पहले से ही उल्लेख किया है, उन शब्दों अलग ढेर में अनेक अर्थ - वहाँ कोई नहीं है वेब सेवाओं के लिए सही सामान्य जवाब।

31

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

एक डब्ल्यूएसडीएल दस्तावेज़ सेवाओं को नेटवर्क एंडपॉइंट्स या बंदरगाहों के संग्रह के रूप में परिभाषित करता है। डब्ल्यूएसडीएल में, एंडपॉइंट्स और संदेशों की सार परिभाषा उनके ठोस नेटवर्क परिनियोजन या डेटा प्रारूप बाइंडिंग से अलग होती है। यह अमूर्त परिभाषाओं का पुन: उपयोग करने की अनुमति देता है: संदेश, जो डेटा का आदान-प्रदान किया जाता है, और पोर्ट प्रकार जो संचालन के सार संग्रह हैं। एक विशेष बंदरगाह प्रकार के लिए ठोस प्रोटोकॉल और डेटा प्रारूप विनिर्देश एक पुन: प्रयोज्य बाध्यकारी का गठन करता है। एक पोर्ट को एक पुन: प्रयोज्य बाध्यकारी के साथ एक नेटवर्क पते को जोड़कर परिभाषित किया जाता है, और बंदरगाहों का संग्रह एक सेवा को परिभाषित करता है। इसलिए, एक WSDL दस्तावेज़ नेटवर्क सेवाओं की परिभाषा में निम्नलिखित तत्वों का उपयोग करता:

  • प्रकार - कुछ प्रकार सिस्टम (जैसे XSD के रूप में) का उपयोग कर डेटा प्रकार परिभाषा के लिए एक कंटेनर।
  • संदेश - संचार की जा रही डेटा की एक सारणी, टाइप परिभाषा।
  • ऑपरेशन - सेवा द्वारा समर्थित एक क्रिया का एक सार वर्णन।
  • पोर्ट प्रकार - एक या अधिक अंतराल द्वारा समर्थित संचालन का सार सेट।
  • बाइंडिंग - एक विशेष पोर्ट प्रकार के लिए एक ठोस प्रोटोकॉल और डेटा प्रारूप विनिर्देश।
  • पोर्ट - बाध्यकारी और नेटवर्क पते के संयोजन के रूप में परिभाषित एक एकल अंतराल।
  • सेवा - संबंधित अंतराल का संग्रह।
3

मैं जोड़ने के लिए है कि <port> और <endpoint> इसी उद्देश्य को पूरा करना चाहते हैं, लेकिन port डबल्यूएसडीएल 2.0 द्वारा WSDL 1.1 और endpoint द्वारा प्रयोग किया जाता है।

यह मुझे पहले उलझन में डाल दिया।

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