मैं अब 15 डेवलपर्स की एक टीम का प्रबंधन कर रहा हूं, और हम प्रौद्योगिकी चुनने पर एक बिंदु पर अटक गए हैं, जहां टीम दो पूरी तरह से विपरीत टीमों में टूट गई है, डब्ल्यूसीएफ बनाम वेब एपीआई के उपयोग पर बहस कर रही है।
टीम ए जो वेब एपीआई के उपयोग का समर्थन करती है, इन कारणों को सामने लाती है:
- वेब एपीआई लेखन सेवाओं का सिर्फ आधुनिक तरीका है ( विकिपीडिया )
- WCF HTTP के लिए एक ओवरहेड है। यह टीसीपी, और नेट पाइप और अन्य प्रोटोकॉल के लिए एक समाधान है
- WCF मॉडल [DataContract] और [DataMember] और उन विशेषताओं के कारण POCO नहीं हैं
- SOAP JSON की तरह पठनीय और उपयोगी नहीं है
- JSON (HTTP पर परिवहन) की तुलना में SOAP नेटवर्क के लिए एक ओवरहेड है
- ओवरलोडिंग का कोई तरीका नहीं
टीम B जो WCF के उपयोग का समर्थन करती है, कहती है:
- WCF कई प्रोटोकॉल (कॉन्फ़िगरेशन के माध्यम से) का समर्थन करता है
- WCF वितरित लेनदेन का समर्थन करता है
- WCF के लिए कई अच्छे उदाहरण और सफलता की कहानियां मौजूद हैं (जबकि वेब एपीआई अभी भी युवा है)
- द्वैध दो-तरफ़ा संचार के लिए उत्कृष्ट है
यह बहस जारी है, और मुझे नहीं पता कि अब क्या करना है। व्यक्तिगत रूप से, मुझे लगता है कि हमें किसी उपकरण का उपयोग उसके सही स्थान के लिए करना चाहिए । दूसरे शब्दों में, हम वेब एपीआई का बेहतर उपयोग करेंगे, यदि हम HTTP पर एक सेवा को उजागर करना चाहते हैं, लेकिन टीसीपी और डुप्लेक्स के लिए डब्ल्यूसीएफ का उपयोग करें।
इंटरनेट पर खोज करके, हम एक ठोस परिणाम तक नहीं पहुँच सकते। डब्ल्यूसीएफ का समर्थन करने के लिए कई पोस्ट मौजूद हैं, लेकिन इसके विपरीत हम लोगों को इसके बारे में शिकायत भी करते हैं। मुझे पता है कि इस प्रश्न की प्रकृति तर्कपूर्ण लग सकती है, लेकिन हमें निर्णय लेने के लिए कुछ अच्छे संकेत चाहिए। हम एक बिंदु पर अटक गए हैं, जहां संयोग से एक तकनीक का चयन करना हमें बाद में पछतावा कर सकता है। हम खुली आंखों से चुनना चाहते हैं।
हमारा उपयोग ज्यादातर वेब के लिए होगा, और हम HTTP पर अपनी सेवाओं को उजागर करेंगे। कुछ मामलों में (कहें कि 5 से 10 प्रतिशत) हालांकि हमें वितरित लेनदेन की आवश्यकता हो सकती है।
अब मुझे क्या करना चाहिए? मैं इस बहस को रचनात्मक तरीके से कैसे प्रबंधित करूं?