2012-06-20 14 views
9

एक वेब सेवा एक ऐसा फ़ंक्शन है जिसे वेब पर अन्य प्रोग्राम (एचटीपी) द्वारा एक्सेस किया जा सकता है। थोड़ा सा स्पष्टीकरण देने के लिए, जब आप PHP में एक वेबसाइट बनाते हैं जो HTML को आउटपुट करता है तो उसका लक्ष्य ब्राउज़र होता है और विस्तार से मनुष्य ब्राउज़र में पृष्ठ पढ़ रहा है। एक वेब सेवा मनुष्यों पर लक्षित नहीं बल्कि अन्य कार्यक्रमों पर लक्षित है।रीस्टफुल वेब अनुप्रयोगों का क्या अर्थ है?

  1. एसओएपी और आरईएसटी वेब सेवा बनाने के दो तरीके हैं। अगर मैं गलत हूँ तो मुझे सही करें?
  2. मैं अन्य तरीकों से वेब सेवा कैसे बना सकता हूं?
  3. इसका मतलब पूरी तरह से रीस्टफुल वेब एप्लिकेशन का क्या अर्थ है?
+3

यह शायद http://programmers.stackexchange.com या यहां तक ​​कि [Google] (http://google.com) पर भी है। – lanzz

+0

विज्ञापन। 1 जरूरी नहीं है। बिग वेब सर्विसेज और रीस्टफुल वेब सर्विसेज दो तरीके हैं। यह SOAP का उपयोग करने या उपयोग करने से थोड़ा अधिक जटिल है। एसओएपी का उपयोग आरईएसटी के अनुसार किया जा सकता है। विज्ञापन। 3 पता लगाने के लिए रॉय फील्डिंग की थीसिस पढ़ें। मैं आरओए (रिसोर्स ओरिएंटेड आर्किटेक्चर) पर एक पठन की भी सिफारिश करता हूं, जो आरईएसटी की अवधारणा से कुछ अधिक विशिष्ट है। यह सबसे सामान्य डिजाइनों का भी सबसे अधिक लागू होता है। यह अक्सर आरईएसटी के साथ उलझन में है। – toniedzwiedz

+0

एक HTTP परोसा गया वेबसाइट मनुष्यों पर भी लक्षित नहीं है, लेकिन सबसे पहले HTTP ब्राउज़र पर;) तो डब्ल्यूडब्ल्यूडब्ल्यू हाइपरटेक्स्ट दस्तावेज़ों की सेवा * * एक webservice है। – hakre

उत्तर

4
  1. सही
  2. W3C एक "Web service" के रूप में "एक सॉफ्टवेयर एक नेटवर्क पर अंतर-संचालित मशीन-टू-मशीन बातचीत का समर्थन करने के लिए डिज़ाइन किया गया प्रणाली" परिभाषित करता है।
  3. एक पूरी तरह से पुनर्स्थापना सेवा वह है जो सभी या रॉय फील्डिंग की थीसिस, Architectural Styles and the Design of Network-based Software Architectures में दी गई वास्तुकला की बाधाओं का पालन करती है। यह एक लंबा पठन है और कई व्याख्याएं हैं। एक अच्छी शुरुआत Richardson Maturity Model के साथ स्वयं को परिचित करना होगा। नोट: अधिकांश वेब सेवाएं जो कि विश्वसनीय होने का दावा करती हैं केवल उस मॉडल में level 2 पर हैं।
0

मुझे लगता है कि पूरी तरह से पुनर्स्थापित सेवा क्या है समझने के लिए आपको रीस्टफुल सेवाओं और मानक वेब सेवाओं के बीच अंतर को समझना होगा। यह JEE6 ट्यूटोरियल में काफी अच्छा exaplained है ओरेकल द्वारा:

NonRESTful WebServices (JAX-WS के रूप में जावा में): बिग वेब सेवाओं XML संदेश है कि सिम्पल ऑब्जेक्ट एक्सेस प्रोटोकॉल का पालन (SOAP) मानक, एक XML भाषा परिभाषित का उपयोग संदेश आर्किटेक्चर और संदेश प्रारूप। ऐसी प्रणालियों में अक्सर मशीन-पठनीय सेवा द्वारा प्रदान किए गए संचालन के विवरण शामिल होते हैं, जो वेब सेवा विवरण भाषा (डब्लूएसडीएल) में लिखा गया है, जो इंटरफेस को परिभाषित करने के लिए एक एक्सएमएल भाषा है। एसओएपी संदेश प्रारूप और डब्ल्यूएसडीएल इंटरफ़ेस परिभाषा भाषा ने व्यापक रूप से गोद लेने के लिए प्राप्त किया है। नेटबीन्स आईडीई जैसे कई विकास उपकरण, वेब सेवा अनुप्रयोगों के विकास की जटिलता को कम कर सकते हैं। एक SOAP- आधारित डिज़ाइन में निम्नलिखित तत्व शामिल होना चाहिए।

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

■ आर्किटेक्चर को जटिल गैर-कार्यात्मक आवश्यकताओं को संबोधित करना होगा। कई वेब सेवा विनिर्देशों ऐसी आवश्यकताओं को संबोधित करते हैं और उनके लिए एक सामान्य शब्दावली स्थापित करते हैं। उदाहरणों में लेनदेन, सुरक्षा, पता लगाना, विश्वास, समन्वय आदि शामिल हैं।

■ आर्किटेक्चर को एसिंक्रोनस प्रोसेसिंग और इनवोकेशन को संभालने की आवश्यकता है।ऐसे मामलों में, वेब सेवा विश्वसनीय संदेश (डब्लूएसआरएम), और एपीआई जैसे जेएक्स-डब्लूएस, मानकों द्वारा प्रदान किए गए बुनियादी ढांचे, उनके क्लाइंट-साइड एसिंक्रोनस इनवोकेशन समर्थन के साथ, बॉक्स से लीवरेज किया जा सकता है।

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

वेब सेवाओं के प्रकार क्योंकि RESTful वेब सेवाओं का उपयोग मौजूदा प्रसिद्ध W3C और इंटरनेट इंजीनियरिंग टास्क फोर्स (IETF) मानकों (HTTP, एक्सएमएल, यूआरआई, MIME) और एक हल्के बुनियादी सुविधाओं कि अनुमति देता सेवाओं का निर्माण किया जाना है कम से कम टूलींग के साथ, RESTful वेब सेवाओं के विकास सस्ती है और इस तरह गोद लेने के लिए एक बहुत कम बाधा है। आप इस तरह के NetBeans आईडीई के रूप में एक विकास उपकरण का उपयोग आगे RESTful वेब सेवाओं के विकास की जटिलता को कम कर सकते हैं। निम्न स्थितियों को पूरा होने पर एक विश्वसनीय डिजाइन उपयुक्त हो सकता है।

■ वेब सेवाएं पूरी तरह से स्टेटलेस हैं। एक अच्छा परीक्षण यह विचार करना है कि क्या बातचीत सर्वर के पुनरारंभ से बच सकती है।

■ प्रदर्शन के लिए एक कैशिंग बुनियादी ढांचे का लाभ उठाया जा सकता है। यदि वेब सेवा रिटर्न गतिशील रूप से जेनरेट नहीं किया गया है और कैश किया जा सकता है, तो कैशिंग इंफ्रास्ट्रक्चर जो वेब सर्वर और अन्य मध्यस्थों को स्वाभाविक रूप से प्रदान करता है, प्रदर्शन को बेहतर बनाने के लिए लीवरेज किया जा सकता है। हालांकि, डेवलपर क्योंकि इस तरह कैश सबसे सर्वरों के लिए HTTP GET प्रणाली तक सीमित हैं ख्याल रखना चाहिए।

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

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

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

मूल रूप से उपयोग करने के लिए वेब सेवा का

निर्णय लेना किस प्रकार, आप वेब पर एकीकरण के लिए RESTful वेब सेवाओं का उपयोग और उद्यम अनुप्रयोग एकीकरण परिदृश्यों सेवा के उन्नत है कि गुणवत्ता में बड़ा वेब सेवाओं का उपयोग (चाहेगा क्यूओएस) आवश्यकताओं।

■ वेब सर्विसेज: एंटरप्राइज़ कंप्यूटिंग में आमतौर पर होने वाली उन्नत क्यूओएस आवश्यकताओं को संबोधित करता है। [..]

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

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