public interface OWIN
{
void ListenHttpCallAndServeWebPage();
}
namespace Microsoft.OWIN
{
public class Katana : OWIN
{
public void ListenHttpCallAndServeWebPage()
{
// listen to a port for HTTP call and serve web page
}
}
}
हाँ य़ह सही हैं। OWIN एक इंटरफ़ेस है और Katana Microsoft द्वारा OWIN इंटरफ़ेस का कार्यान्वयन है । इसलिए हम इन 2 शब्दों (OWIN / KATANA) को एक साथ सुनते हैं और कई बार हम इन 2 शब्दों के बीच के अंतर के बारे में भ्रमित हो जाते हैं। तो, कटाना Microsoft का OWIN इंटरफ़ेस का कार्यान्वयन है। कहते हैं कि BIG-BOSS नाम की एक और कंपनी है जो OWIN का अपना कार्यान्वयन बनाना चाहते थे, वे ऐसा कर सकते हैं और अपने कार्यान्वयन को 'BATANA' नाम दे सकते हैं और OWIN / BATANA जैसे वाक्यांशों का विज्ञापन कर सकते हैं।
तो, क्यों OWIN !!!
उस देश के बारे में सोचें, जहां आवाजाही के लिए एकमात्र वाहन एक ट्रक है। और कुछ नहीं। यदि आप एक वाहन खरीदना चाहते हैं, तो आप ट्रक खरीदेंगे। खैर, यह अच्छा काम करता था लेकिन लोगों को यह एहसास होने लगा कि, उन्हें हर समय ट्रक की जरूरत नहीं है, खासकर जब वे फिल्म देखने जाना चाहते हैं या दूध खरीदना चाहते हैं, भारी ट्रक चलाने से न केवल उच्च ईंधन खर्च होता है, बल्कि ड्राइविंग पर तनाव जोड़ें। लेकिन हां, अगर वे बहुत सारे भारी सामान ले जाना चाहते हैं, तो ट्रक बहुत अच्छे से काम करता है।
फिर, उस देश की सरकार वाहन निर्माताओं के लिए एक विनिर्देशन लेकर आई। विनिर्देश निम्नानुसार है:
- एक वाहन में 4 पहिये होने चाहिए
- वाहन में स्टीयरिंग होना चाहिए।
- वाहन में हेडलाइट और सिग्नल लाइट होनी चाहिए।
तो, इन विशिष्टताओं के आधार पर, कोई भी विभिन्न आवश्यकताओं के अनुसार वाहन बना सकता है और वे अपने वाहन का नाम उसके अनुसार रख सकते हैं। इसलिए, सेडान, पिकअप ट्रक, एसयूवी, वैन, ..टीक .. सभी तरह के वाहन बाजार में दिखाई दिए। यदि किसी को हर समय भारी सामान ले जाने की आवश्यकता नहीं है, बल्कि कार्यस्थल पर जाने के लिए वाहन की जरूरत है, तो वह थोड़ा सेडान खरीद सकता है। किसी को एसयूवी खरीद सकते हैं अगर उसे थोड़ी अधिक शक्ति चाहिए।
उपर्युक्त उदाहरण के आधार पर, हम कह सकते हैं कि हमारा ASP.NET वेब एप्लिकेशन System.Web असेंबली का उपयोग करता है जो एक ट्रक (जैसे ट्रक) से भरी हुई है और यदि हम थोड़ा वेब अनुप्रयोग बनाना चाहते हैं, जहां हमारा उद्देश्य केवल कुछ फ़ाइलों की सेवा करना है अनुरोधों के एक छोटे से सेट पर, हम उस भारी System.Web असेंबली (ट्रक) का उपयोग करने के लिए बाध्य हैं। अब, OWIN दिखाता है। OWIN विनिर्देशन का एक सेट है (हम इसे इंटरफ़ेस कह सकते हैं) जो एक सर्वर को परिभाषित करता है। उस विनिर्देश के आधार पर, कोई व्यक्ति (वाहन निर्माता की तरह) विशिष्ट समस्या डोमेन / एप्लिकेशन की जरूरतों के आधार पर विभिन्न प्रकार के सर्वर बना सकता है। Microsoft ने अपना स्वयं का कार्यान्वयन OWIN के लिए किया जिसका नाम कटाना रखा गया जो वेब एपीआई की सेवा कर सकता है। जैसा कि WebAPI एक हल्के वजन की तकनीक है, जिसे पूर्ण विकसित सिस्टम की जरूरत नहीं है।
अब, यदि आप पूछें, ' क्या मुझे इसकी आवश्यकता है'? उत्तर है, 'यह आपके प्रदर्शन की आवश्यकता पर निर्भर करता है'। अगर आप मूवी देखने जाने के लिए भी अपने ट्रक को चलाने से गुरेज नहीं करते हैं, तो, शायद आपको OWIN की जरूरत नहीं है। लेकिन अगर आपको लगता है कि, एक हल्के वजन की सेडान कार आपको एक शहर के भीतर, छोटी दूरी पर, फिल्म देखने के लिए चाहिए .. तो .. हाँ, आप जाँच कर सकते हैं कि बाज़ार में उपलब्ध ओविन का क्या कार्यान्वयन है। कटाना OWIN के कार्यान्वयन में से एक है, इसलिए आप जांच कर सकते हैं कि कटाना क्या पेशकश करता है। केवल कटाना ही नहीं, यदि कोई अन्य कंपनी विशिष्ट डोमेन के अनुसार OWIN लागू करती है (उदाहरण के लिए, चिकित्सा उपकरणों के लिए एक सर्वर जो नवीनतम चिकित्सा जानकारी डाउनलोड करेगा) और यदि आप एक डॉक्टर हैं, तो शायद, आप OWIN के उस कार्यान्वयन की जांच कर सकते हैं। इसके अलावा, आप स्वयं किसी भी विशिष्ट आला को लक्षित करते हुए अपना स्वयं का कार्यान्वयन बना सकते हैं।
वेब एप्लिकेशन के संदर्भ में, यदि आप एक साधारण वेब डेवलपर हैं, तो अपने ग्राहकों के लिए कस्टम वेबसाइट विकसित करना, शायद, आपको OWIN के कस्टम कार्यान्वयन के बारे में चिंता करने की आवश्यकता नहीं है, क्योंकि IIS आपको संतुलित तरीके से काम करेगा। यदि आप एक वेब एपीआई परियोजना का निर्माण करते हैं, तो आपको विज़न स्टूडियो -> नई परियोजना से तैयार कटाना आधारित टेम्पलेट मिल जाएगा, इसलिए आपको कटाना विशिष्ट तकनीकों को सीखने के अलावा किसी अन्य चीज के बारे में चिंता करने की आवश्यकता नहीं होगी। इस समय, कटान पूरी तरह से ASP.NET MVC के लिए IIS की आवश्यकता को बदलने के लिए परिपक्व नहीं है, लेकिन शायद, भविष्य में यह होगा।
फिर जब मुझे अपने स्वयं के कार्यान्वयन को लिखने की आवश्यकता हो सकती है?
उत्तर: उदाहरण के लिए, उदाहरण के लिए, आपने एक विंडोज़ एप्लिकेशन विकसित किया है जो पृष्ठभूमि में सर्वर के रूप में चलना चाहिए और एक पोर्ट संख्या XXXX को सुनना चाहिए। आपका सर्वर इस तरह के केवल कुछ अनुरोधों का जवाब देगा:
- सूची प्राप्त करें
- DELETE इन्वेंटरी आईडी = 4
- इन्वेंटरी आईडी = ५ पर भरें
बस इतना ही। और कुछ नहीं। तो, आपको इस छोटे से कार्य के लिए पूर्ण IIS वेब सर्वर की आवश्यकता क्यों होगी? आप उस मामले में अपना स्वयं का OWIN कार्यान्वयन बना सकते हैं। (शायद, आप इसके लिए कटाना का उपयोग करेंगे)
ठीक है, तो मैं समझ गया कि, अगर मैं एक ASP.NET MVC वेबसाइट बनाना चाहता हूं, तो मेरे पास IIS को बदलने का विकल्प नहीं है, तो मुझे इस समय कटाना के बारे में जानने की क्या आवश्यकता है?
उत्तर: भले ही काना आईआईएस की जरूरत को पूरा करने के लिए परिपक्व नहीं है, ताकि आप अपनी ASP.NET MVC वेबसाइट को सीधे कटाना में होस्ट कर सकें, लेकिन कटाना ने OWIN के कई शांत इंटरफेस को लागू किया ताकि आप उन विशेषताओं का उपयोग कर लाभ उठा सकें बगल में। उदाहरण के लिए, अपने उपयोगकर्ताओं को फेसबुक, Google, ट्विटर आदि का उपयोग करके लॉगिन करने की अनुमति देना पहले बहुत आसान नहीं था। कटाना आपको कई हुक देता है (एक मध्य-वेयर के रूप में) ताकि आप कटाना को बाहरी सोशल मीडिया आधारित प्रमाणीकरण का ध्यान रखे बिना आसानी से प्लंबिंग कोड लिख सकें। कटाना का उपयोग करने के कई अन्य लाभ हैं जो आपको इस तकनीक का उपयोग शुरू करने पर पता चल सकता है।