2008-10-24 14 views
39

एक बड़ी बड़ी डब्ल्यूसीएफ सेवा लिखने के लिए सबसे अच्छा अभ्यास क्या है, जिसमें बहुत से ऑपरेशन कॉन्ट्रैक्ट्स और डेटाकंट्रैक्ट्स हैं?बड़ी डब्ल्यूसीएफ सेवा के लिए सर्वश्रेष्ठ अभ्यास?

मैं कई अनुबंधों में कार्यात्मक क्षेत्रों को अलग कैसे करूं, क्या प्रत्येक कार्यात्मक क्षेत्र के लिए एक अंतिम बिंदु बनाना सर्वोत्तम होगा?

क्या अलग-अलग हिस्सों के लिए स्रोत को रखने का कोई तरीका है, लेकिन फिर भी उन सभी के लिए केवल एक सेवा का उपयोग करें?

मुझे अच्छी जानकारी मिलती है कि अनुबंधों की योजना कैसे बनाएं, क्या शामिल करना है, कैसे विभाजित करें ...?

उत्तर

16

यह उनकी स्थापना के बाद से आसपास के सेवाओं के बारे में एक बड़ा सवाल रहा है। एसओए सफलतापूर्वक किया गया है एसओए जिस हद तक आप बात कर रहे हैं उसकी योजना बनाई है। ऐसा कहकर, मैंने हमेशा विभाजित सेवाओं की ओर अधिक झुका दिया है, लेकिन उन्हें एक समग्र तरीके से उपयोग कर रहा है। यही है, जब आपके पास कई अनुबंध होते हैं, लेकिन उनमें से अधिकतर केवल कुछ अंतराल बिंदुओं से खपत होते हैं जिन्हें गैर-सेवा कॉलर्स द्वारा खपत किया जाता है। (वाह, यह एक मुट्ठी भर था, क्या यह भी समझ में आया?)

इसके अलावा, मैं जितना संभव हो उतना अनुबंध करने की सलाह दूंगा। बहुत सारे अनुबंध खराब प्रबंधन क्षमता का कारण बन सकते हैं। अच्छा अनुबंध डिजाइन एंडपॉइंट्स और सर्विस कॉल की संख्या को सीमित करने में मदद करेगा। अनुबंध डिजाइन से ओओ अवधारणाओं को हटाने का ऐसा करने का एक तरीका है। अनुबंध डिजाइन स्वयं में एक बड़ा विषय है, लेकिन यह कहने के लिए पर्याप्त है कि अच्छी अनुबंध योजना (सामने के सामने) के माध्यम से, अच्छी सेवा डिजाइन आता है।

डब्ल्यूसीएफ डिजाइन पर मार्टिन मुलेंडर writes a great blog, और एक पढ़ा जाना चाहिए। कुछ महान एसओए/डब्ल्यूसीएफ किताबें भी उभर रही हैं।

कुछ अच्छी किताबें:

+0

मुझे लगता है कि के सबसे के साथ सहमत के लिए एक। और निश्चित रूप से मार्टिन मुलेंडर के ब्लॉग को अपनी फीड में जोड़ा गया! – user9991

+0

महान, धन्यवाद - ब्लॉग को जोड़ा गया, अब संग्रह के माध्यम से पढ़ रहा है! – Sam

5

यह मेरे लिए उपयोगी है यह idesign.net वेबसाइट से आता है और यह युवल लोवी ने लिखी थी:

WCF Coding Standard

+1

यूआरएल बदल गया है http://idesign.net/Downloads/GetDownload/1987 या मैंने क्या किया http://idesign.net/Downloads और यह विविध अनुभाग में पाया जाता है – PJUK

5

मैं यहां ट्रैक से बाहर जाऊंगा और कहूंगा कि मैंने मोनोलिथिक डब्ल्यूसीएफ कॉन्ट्रैक्ट्स, कार्यात्मक रूप से अलग अनुबंध (अपनी पुस्तक में जुवाल के दिशानिर्देशों के साथ अधिकतम दस विधियों के साथ) का उपयोग किया है, और मैंने एक संदेश हैंडलिंग आर्किटेक्चर की कोशिश की है जहां एक सेवा एक ऐसी विधि है जो एक मूल संदेश लेती है, और हैंडलर जो 'पता' करते हैं कि तार को पार करने के बाद संदेश को कैसे खोलना और संसाधित करना है।

यदि आप बाड़ के दोनों किनारों पर .NET प्राप्त कर चुके हैं तो मैं उत्तरार्द्ध का एक बड़ा प्रशंसक हूं। ओरेन के पास कोड के साथ विचार पर एक स्क्रीनकास्ट है। मुझे नहीं पता कि आपकी ज़रूरतें क्या हैं लेकिन यह मेरे लिए काम कर रही है।

http://ayende.com/Blog/archive/2008/03/30/Hibernating-Rhinos-8--Going-Distributed-amp-Building-our-own.aspx

अगर आप पहले से से आ रहे हैं ने कहा कि यही कारण है कि फिर एक विधि के लिए जा रहा शायद आप के लिए यह कटौती करने के लिए नहीं जा रहा है "मैं एक बड़ी WCF सेवा की जरूरत है"। यदि यह सच है तो जुवाल लोवी की प्रोग्रामिंग डब्ल्यूसीएफ सेवाएं मानक है जो आपको अपने डिजाइन में कायम रखनी चाहिए।

http://www.iserviceoriented.com/blog/post/Introduction+to+Service+Oriented+Architecture.aspx

आप केवल वास्तविक व्यापार की घटनाओं के लिए संचालन के साथ खत्म करना चाहिए:

4

मैं कैसे अलग-अलग कार्यों के पारंपरिक कोड संचालन से अलग करना चाहिए के बारे में एक पोस्ट यहाँ है। यदि आप कभी भी रुकते हैं और सोचते हैं कि "मुझे अपनी वेब सेवा पर लेनदेन सहायता सक्षम करने की आवश्यकता है" जिसका अर्थ है कि आपने ऑपरेशन को व्यापक रूप से पर्याप्त रूप से डिज़ाइन नहीं किया है। आपको वेब सेवा लेनदेन समर्थन को कभी भी सक्षम नहीं करना चाहिए।

मैं उच्च स्तर की एसओए अवधारणाओं के लिए बिल पोल के ब्लॉग की अत्यधिक अनुशंसा करता हूं। यहाँ एक पोस्ट आरंभ करने के लिए है:

http://feeds.feedburner.com/~r/BillPoolesCreativeAbrasion/~3/328955489/service-contract-stability.html

0

मैं जानता हूँ कि यह एक पुरानी पोस्ट है, लेकिन मैं एक ही तरह से सेवाओं की सोच रहा हूँ के रूप में मैं प्रोग्रामिंग में वस्तुओं के बारे में सोच।

उन्हें अपने न्यूनतम कार्यों के लिए रखें जो उन्हें करना चाहिए। बेशक चरम पर नहीं जाना है, लेकिन मैं डेटा संस्थाओं के आधार पर अपने फैसले कर रहा हूं। खाते के लिए

एक सेवा, उत्पाद आदि

सुनिश्चित नहीं हैं कि किसी को भी इस बात का हालांकि लगता होगा ...

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