2010-05-11 9 views
7

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

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

+0

यहां तक ​​कि एक आंतरिक ऐप के लिए, सीधे .NET असेंबली का उपभोग करने के लिए पीआईटीए हो सकता है यदि आपके असेंबली के कई उपयोगकर्ता हैं, लेकिन एक webservice अधिक स्ट्रीम-लाइन होगी। – Nate

+0

यह एक अच्छा सवाल है ... धारावाहिक/परिवहन/deserializing से संबंधित खर्च वास्तव में महंगा हो सकता है तो यह अन्य मॉडलों पर विचार करने के लिए समझ में आता है। फ्लिप पक्ष पर, एक सेवा मुखौटा होने से डेटा को समृद्ध और परिवर्तित करना आसान हो सकता है। इस पैटर्न के लिए एक और अच्छा पहलू अग्नि-और-भूल भंडारण आवश्यकताओं के लिए कतारबद्ध अंतराल को एकीकृत करने की क्षमता है। – JoeGeeky

उत्तर

2

यह वास्तव में इस बात पर निर्भर करता है कि डेटा सेवा का उपयोग कैसे किया जा रहा है। यदि केवल कुछ एप्लिकेशन हैं तो यह सौदा का बहुत बड़ा नहीं है, लेकिन यदि आपके पास डेटा एप्लिकेशन पर कई एप्लिकेशन और बहुत सारे बदलाव हैं, तो अपडेट किए गए संस्करणों को रोल करना और यह सुनिश्चित करना मुश्किल हो सकता है कि आप ब्रेक न करें मौजूदा अनुप्रयोग

डब्ल्यूसीएफ के साथ आप संस्करण सेवाएं कर सकते हैं जो उस जोखिम को कम करने में मदद करेंगे। तो हकीकत में यह बहुत से उपभोक्ताओं की संख्या, उपभोक्ताओं के स्थान (आंतरिक/बाहरी), और अद्यतन की आवृत्ति पर निर्भर करता है।

कम से कम मैं मूल्यांकन करते समय उपयोग करता हूं।