हमारी कंपनी काफी बड़ी SOA पहल शुरू कर रही है। हम बहुत सारा सामान सही कर रहे हैं: अच्छा संचार है; उपकरण के लिए पैसा जहां उपयुक्त हो; और हम संक्रमण के साथ हमारी मदद करने के लिए कुछ अच्छी विशेषज्ञता लाए हैं।
हम मानकों को विकसित करने की कोशिश कर रहे हैं जिन्हें हम एक समूह के रूप में अनुसरण कर सकते हैं, और प्रस्तावित मानकों में से एक मुझे काफी परेशान कर रहा है:
हमने उस पैटर्न पर मानकीकृत किया है जहां प्रत्येक ऑपरेशन एक अनुरोध ऑब्जेक्ट लेता है और एक प्रतिक्रिया ऑब्जेक्ट देता है।
मुझे पता है कि यह बहुत सारे लोगों के लिए एक मानक दृष्टिकोण है, लेकिन मैं पूछ रहा हूं कि मुझे परेशान क्यों होना चाहिए? (मैं प्राप्त ज्ञान के साथ इतना अच्छा नहीं हूं, मुझे कुछ क्यों चाहिए)।
मैं जो सेवाएं प्रदान करूंगा उनमें से अधिकांश सरल संगठनात्मक मेटाडेटा पुनर्प्राप्ति हैं। उदाहरण के लिए, किसी विशेष उपयोगकर्ता के लिए सुरक्षा नीति खोजें। इसके लिए यूजर आईडी और कुछ नहीं चाहिए। मानक मुझे बताता है कि मुझे इस अनुरोध को किसी ऑब्जेक्ट में लपेटना चाहिए और किसी प्रतिक्रिया ऑब्जेक्ट में दी गई नीति को लपेटना चाहिए।
डब्ल्यूएसडीएल पर एक नज़र से मेरी बेचैनी बढ़ जाती है जो हमारे अनुबंधों से उत्पन्न होती है। WCF स्वचालित रूप से अनुरोध और प्रतिक्रिया संदेश उत्पन्न करता है और यहां तक कि अनुरोध / प्रतिक्रिया ऑब्जेक्ट लपेटता है।
मैं पूरी तरह से समझता हूं कि यदि आप एक जटिल अनुरोध कर रहे हैं तो एक जटिल इनपुट ऑब्जेक्ट वारंटेड है। यदि आप सेवाएं शामिल नहीं हैं तो भी आप क्या करेंगे।
मेरा सवाल यह है कि मुझे अनुरोधों और प्रतिक्रियाओं को स्वचालित रूप से क्यों लपेटना चाहिए:
- यह सरल सेवाओं को कम अभिव्यंजक बनाता है
- आप इसे एक जटिल सेवा के लिए वैसे भी करेंगे
- WCF वैसे भी एक अनुरोध / प्रतिक्रिया संदेश बनाता है
मुझे इस दृष्टिकोण के पक्ष में निम्नलिखित तर्क मिले हैं:
यह अनुरोध ऑब्जेक्ट में वैकल्पिक मापदंडों को फिसलने की अनुमति देकर संस्करण का समर्थन करता है।
दिन में वापस, मैंने COM का एक अच्छा सा काम किया, और मैं इसे संस्करण बनाने के लिए लगभग एक विरोधी पैटर्न मानूंगा। कुछ चीजों के लिए, मुझे लगता है कि यह मदद करेगा, लेकिन मुझे उम्मीद है कि जहां यह मदद करेगा, आपके पास पहले से ही एक पैरामीटर वस्तु है।
यह सामान्य डेटा और व्यवहार को एक आधार वर्ग के लिए पृथक करने की अनुमति देता है
यह कोई मेरे साथ कुछ भार वहन करता है।
यह लोगों को RPC शैली व्यवहार से और संदेश सेवा व्यवहार की ओर ले जाता है
मैंने इसे Microsoft की साइट पर पढ़ा है और इसे हमारे गुरु से सुना है, लेकिन मुझे अभी भी स्पष्ट विचार नहीं है कि उनका क्या मतलब है या यह मूल्यवान क्यों है। क्या यह है कि प्राकृतिक दिखने वाले इंटरफेस लोगों को यह भूल जाते हैं कि वे एक दूरस्थ सेवा कह रहे हैं?
मैं शायद 300 तरीकों के हस्ताक्षर को फिर से देख रहा हूं, इसलिए यह एक गैर-तुच्छ राशि है। मैं कार्यान्वयन में निरंतरता का बहुत बड़ा प्रशंसक हूं, इसलिए मैं दर्द को लेने के लिए तैयार हूं, यह सिर्फ यह जानने में मदद करेगा कि यह अंत में इसके लायक होगा।