WCF प्रोग्रामिंग: सेवा-आधारित Windows अनुप्रयोग बनाएँ

प्रकटीकरण: आपका समर्थन साइट को चालू रखने में मदद करता है! हम इस पृष्ठ पर हमारे द्वारा सुझाई गई कुछ सेवाओं के लिए एक रेफरल शुल्क कमाते हैं.


विंडोज कम्युनिकेशन फाउंडेशन (WCF) एक रनटाइम वातावरण है और सेवा-उन्मुख, जुड़े अनुप्रयोगों के निर्माण में उपयोग किए जाने वाले .NET फ्रेमवर्क में एपीआई का एक सेट है। WCF सेवा-उन्मुख अनुप्रयोगों के निर्माण के लिए Microsoft का एकीकृत प्रोग्रामिंग मॉडल है.

संक्षिप्त इतिहास

पिछले दशक में सेवा-उन्मुख संचार और अनुप्रयोगों की बढ़ती लोकप्रियता ने सॉफ्टवेयर विकास पर गहरा प्रभाव डाला। अनुप्रयोग सहभागिता के लिए विभिन्न सेवाओं पर भरोसा करते हैं। Microsoft के Windows विकास प्लेटफ़ॉर्म पर, ये परिवर्तन Windows संचार प्लेटफ़ॉर्म (WCF) द्वारा संभव किए गए थे.

WCF को पहली बार 2006 में .NET फ्रेमवर्क 3.0 के एक भाग के रूप में पेश किया गया था, और आगे .NET फ्रेमवर्क संस्करणों 3.5 और 4.0 में अपडेट किया गया। डब्ल्यूसीएफ का नवीनतम संस्करण .NET फ्रेमवर्क संस्करण 4.5 के एक भाग के रूप में उपलब्ध है.

.NET कम्युनिकेशन के आधार पर बहुत से सॉफ्टवेयर में विंडोज कम्युनिकेशन फाउंडेशन का उपयोग किया जाता है.

डब्ल्यूसीएफ सुविधाएँ

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

डब्ल्यूसीएफ वेब सेवा अंतर के लिए आधुनिक उद्योग मानकों को लागू करता है, जैसे कि HTTP, सोप, एक्सएमएल, डब्ल्यूएस-एड्रेसिंग, डब्ल्यू 3 सी वेब सर्विसेज एड्रेसिंग, और कई और अधिक। संदेशों (या हमें डेटा कहना चाहिए) का कई अलग-अलग पैटर्न में आदान-प्रदान किया जा सकता है.

सबसे आम संचार पैटर्न अनुरोध-उत्तर है, लेकिन WCF अन्य पैटर्नों का समर्थन करता है, जैसे एक तरफ़ा संदेश या द्वैध विनिमय पैटर्न। डेटा सुरक्षा के लिए संदेशों को एन्क्रिप्ट किया जा सकता है, और उपयोगकर्ता प्रमाणीकरण को लागू किया जा सकता है। SSL या WS-SecureConversation जैसे उद्योग मानक समाधानों का उपयोग करके सुरक्षा लागू की जाती है। संदेशों को विभिन्न प्रोटोकॉल और एन्कोडिंग का उपयोग करके ले जाया जा सकता है, आमतौर पर सबसे अधिक पाठ HTTP पर SOAP संदेशों को एन्कोड किया जाता है। WCF टीसीपी, MSMQ या नामित पाइप पर संदेश भेजने का समर्थन करता है, पाठ के रूप में एन्कोडेड या एमटीओएम मानक का उपयोग करके एक अनुकूलित बाइनरी का उपयोग करता है। कस्टम परिवहन प्रोटोकॉल और एनकोडिंग भी बनाए जा सकते हैं.

डब्ल्यूसीएफ विश्वसनीय संदेश विनिमय का समर्थन करता है जो कि एमएसएमक्यू का उपयोग करके डब्ल्यूएस-रिलायबल मेसेजिंग और कतारबद्ध संदेशों पर लागू होता है। टिकाऊ संदेश के लिए समर्थन भी WCF में बनाया गया है, जिससे संचार समस्याओं के कारण डेटा हानि को रोका जा सकता है.

तीन लेन-देन मॉडल में से एक का उपयोग करके WCF में व्यापक लेन-देन का समर्थन उपलब्ध है: WS-AtomicTransactions, System से APIs। ट्रांस्फ़ॉर्मेशन नेमस्पेस, या Microsoft वितरित ट्रांज़ेक्शन कोऑर्डिनेटर.

WCF एक बहुत ही लचीला प्लेटफ़ॉर्म है, जो अन्य Microsoft तकनीकों के साथ आसान एक्स्टेंसिबिलिटी और इंटीग्रेशन की अनुमति देता है, उदाहरण के लिए Windows वर्कफ़्लो फ़ाउंडेशन (WF), Microsoft BizTalk और सिल्वरलाइट.

WCF का उपयोग करना

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

WCF सेवा और विज़ुअल स्टूडियो IDE में क्लाइंट बनाने के लिए छह चरणों की आवश्यकता होती है:

  1. WCF सेवा अनुबंध को परिभाषित करना एक सेवा द्वारा समर्थित संचालन को निर्दिष्ट करता है। C ++, C #, या Visual Basic इंटरफ़ेस को परिभाषित करके अनुबंध बनाए जाते हैं, और इंटरफ़ेस में प्रत्येक विधि को एक विशिष्ट सेवा ऑपरेशन के अनुरूप होना चाहिए। प्रत्येक इंटरफ़ेस में यह लागू होने वाला ServiceContractAttribute होना चाहिए, और प्रत्येक ऑपरेशन के पास OperationContractAttribute लागू होना चाहिए, अन्यथा वे उजागर नहीं होंगे.
  2. सेवा अनुबंध को कार्यान्वित करना एक वर्ग बनाकर किया जाता है जो सेवा के लिए उपयोगकर्ता द्वारा परिभाषित इंटरफ़ेस को लागू करता है.
  3. WCF सेवा को होस्ट करना और चलाना निम्नलिखित कार्य होते हैं: सेवा के आधार पते के लिए एक यूआरआई उदाहरण बनाना, सेवा की मेजबानी करना, एक समापन बिंदु जोड़ना जो सेवा को उजागर करता है, मेटाडेटा एक्सचेंज को सक्षम करता है, और सेवा मेजबान को खोलता है.
  4. क्लाइंट बनाने में सेवा के लिए एक प्रॉक्सी बनाना और कमांड-लाइन सर्विस मॉडल मेटाडेटा यूटिलिटी टूल का उपयोग करके कॉन्फ़िगरेशन फ़ाइल शामिल है.
  5. क्लाइंट को कॉन्फ़िगर करना उस एंडपॉइंट को निर्दिष्ट करना है जो क्लाइंट सेवा तक पहुंचने के लिए उपयोग करता है। एक समापन बिंदु का एक पता, एक बंधन और एक अनुबंध होता है, और इनमें से प्रत्येक को क्लाइंट को कॉन्फ़िगर करने की प्रक्रिया में निर्दिष्ट किया जाना चाहिए.
  6. क्लाइंट का उपयोग वास्तव में उत्पन्न प्रॉक्सी से सेवा को कॉल करता है और ऑपरेशन कॉल पूरा होने के बाद क्लाइंट को बंद कर देता है.

विजुअल स्टूडियो में WCF सर्विस लाइब्रेरी टेम्पलेट, या WCF सर्विस एप्लिकेशन टेम्पलेट का उपयोग करके ऊपर बताए गए चरणों को सरल बनाया जा सकता है, क्योंकि वर्णित अधिकांश कार्य स्वचालित रूप से किए जाएंगे।.

क्या मुझे WCF सीखना और इस्तेमाल करना चाहिए?

ज्यादातर मामलों में यह किसी विशिष्ट कार्य के लिए नीचे आता है: इसे कैसे हल किया जा सकता है, और सबसे कुशल और भविष्य-प्रूफ समाधान क्या है? शायद एक सरल उदाहरण इस सवाल का सबसे अच्छा जवाब है.

आप कई बिखरे हुए बिक्री स्थानों के साथ एक क्लाइंट के लिए बिक्री सॉफ्टवेयर सूट का एक बिंदु विकसित कर रहे हैं, और आपको ग्राहक के मौजूदा कोर एसक्यूएल डेटाबेस से कनेक्ट करना होगा। दो संभावित समाधान हैं। पहला WAN स्थापित करना और रूटर्स या वीपीएन कनेक्शन का उपयोग करके क्लाइंट के सभी बिक्री स्थानों को कोर डेटाबेस से जोड़ना है.

दूसरा उपाय केवल WCF क्लाइंट-सर्वर समाधान को लागू करना और इंटरनेट पर डेटाबेस तक पहुंचना है। कई परिदृश्यों में, WCF का उपयोग करना बहुत सहायक और किफायती हो सकता है.

डब्ल्यूसीएफ संसाधन

यदि आप Microsoft प्लेटफ़ॉर्म के लिए क्लाइंट-सर्वर एप्लिकेशन विकसित करने पर काम करते हैं, तो आपको WCF पर निम्नलिखित संसाधनों पर एक नज़र डालनी चाहिए:

  • Microsoft डेवलपर नेटवर्क (MSDN) Windows संचार फाउंडेशन मुख्य पृष्ठ WCF का पूर्ण अवलोकन प्रदान करता है – जिसमें प्रलेखन, संदर्भ संसाधन, मार्गदर्शिकाएँ और ट्यूटोरियल शामिल हैं।.
  • Visual Studio सेक्शन में Microsoft डेवलपर नेटवर्क (MSDN) WCF विजुअल स्टूडियो में उपलब्ध WCF टूल का वर्णन करता है और शॉर्ट हाऊस-टोस प्रदान करता है.
  • Microsoft डेवलपर नेटवर्क (MSDN) WCF अनुप्रयोग परिनियोजन परिदृश्य WCF उपयोग परिदृश्यों और उपयोग के मामलों को दिखाने वाला एक अच्छा लेख है.

WCF पुस्तकें

हमने WCF के बारे में व्यापक रूप से सम्मानित पुस्तकों के एक जोड़े का चयन किया:

  • प्रोग्रामिंग WCF सेवाएँ: जुवेले लोवी और माइकल मोंटगोमरी द्वारा डिजाइन और मेनटेनेबल सर्विस-ओरिएंटेड सिस्टम्स (2015) का निर्माण: यह पुस्तक दस्तावेजीकरण के बजाय अद्वितीय अंतर्दृष्टि प्रदान करती है, जिससे आपको उन विषयों और कौशलों को सीखने में मदद मिलती है, जिन्हें आप रखरखाव योग्य, एक्स्टेंसिबल और पुन: प्रयोज्य बनाने के लिए आवश्यक हैं। WCF- आधारित अनुप्रयोग.
  • माइक लियू द्वारा एंटिटी फ्रेमवर्क (2014) के साथ WCF मल्टी-लेयर सर्विसेज डेवलपमेंट: यदि आप C #, VB.NET, या C ++ डेवलपर हैं और WCF और Entity फ्रेमवर्क के साथ शुरुआत करना चाहते हैं, तो यह पुस्तक आपके लिए है। यह पुस्तक आपको बैकेंड के रूप में एंटिटी फ्रेमवर्क का उपयोग करके WCF सेवाओं को विकसित करने के लिए सभी आवश्यक सिखाएगी.

निष्कर्ष

चूंकि WCF एक Microsoft उत्पाद है, जो सेवा-उन्मुख सॉफ़्टवेयर समाधान के निर्माण के लिए .NET फ्रेमवर्क पर निर्भर है, इसमें शक्ति रहती है। यह नया नहीं है, लेकिन यह अभी भी प्रासंगिक है, और शायद आने वाले वर्षों के लिए होगा.

हमने पहले ही कुछ उदाहरणों को रेखांकित किया है जिसमें डब्ल्यूसीएफ तकनीकी दृष्टिकोण से बड़ा बदलाव ला सकता है। जब तक यह एक Microsoft तकनीक है, WCF अधिकांश गैर-विंडोज प्रणालियों के साथ अंतर्संचालनीयता का समर्थन करता है, जब तक वे जावा चलाते हैं.

आगे पढ़ना और संसाधन

हमारे पास कोडिंग और विकास से संबंधित अधिक गाइड, ट्यूटोरियल और इन्फोग्राफिक्स हैं:

  • Microsoft Visual Basic / Visual Studio: यह Visual Basic पर ध्यान देने के साथ Visual Studio पर हमारा मूल प्राइमर है.
  • ADO.NET का परिचय: डेटाबेस के साथ बातचीत के लिए मुख्य .NET सिस्टम.
  • C # संसाधन: .NET फर्मेंट में सबसे लोकप्रिय भाषाओं में से एक के रूप में, C # जानना बहुत मददगार है.

आपको क्या कोड सीखना चाहिए?

किस प्रोग्रामिंग भाषा में आपको कोड करना सीखना चाहिए? हमारे इन्फोग्राफिक की जाँच करें, आपको क्या कोड सीखना चाहिए? यह न केवल भाषाओं के विभिन्न पहलुओं पर चर्चा करता है, यह महत्वपूर्ण सवालों के जवाब देता है जैसे, “मैं एक जीवन के लिए प्रोग्रामिंग जावा को कितने पैसे कमाऊंगा?”

आपको क्या कोड सीखना चाहिए?
आपको क्या कोड सीखना चाहिए?

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me