2010-03-24 14 views
7

माइक्रोसॉफ्ट ने एसओए/वेब देव की अद्भुत दुनिया में डेटा सेवाओं के लिए वास्तविक स्थान की रूपरेखा नहीं देने का एक समझदार काम किया है।डब्ल्यूसीएफ डाटा सर्विसेज कार्यान्वयन रणनीतियों

तो मेरा प्रश्न है डब्ल्यूसीएफ डाटा सर्विसेज बाहरी ग्राहकों के माध्यम से उपयोग किए जाने के लिए डिज़ाइन किया गया है? क्या किसी ने सर्वर सर्वर पर किसी का उपयोग करने के बारे में कभी सुना है (यानी वेब सेवा के लिए डेटा बेस एक्सेस)?

सरल परिदृश्य एक सामान्य स्तरित वास्तुकला बो व्यापार वस्तुओं का उपयोग कर (कोष्टक से संकेत मिलता है क्या परतों के बीच पारित किया जा रहा है)

(एक्सएमएल) WCF सेवा -> (बो) व्यवसाय तर्क -> (BO) दाव -> इकाई फ्रेमवर्क

या डेटा सेवाओं का उपयोग करना यह होगा जहां डीएस बीओ डेटा सेवा में उपयोग की जाने वाली व्यावसायिक संस्थाओं का मॉडल किया जाएगा।

(एक्सएमएल) WCF सेवा -> (बो) व्यवसाय तर्क -> (BO) WCF डाटा सेवा -> (डी एस बो) सर्वर

मैं बाद के लिए एक उपयोग नहीं देख सकते हैं, जब तक कि बहुत से मामले नहीं होंगे, लोग आपकी डेटा सेवा परत बनाम सेवा परत के माध्यम से आपके डेटा तक पहुंच पाएंगे?

विचार किसी भी, किसी भी प्रकार का संदर्भ दस्तावेज़ जो इसे वापस करने में मदद करेगा, उपयोगी होगा।

मैं अन्य लोगों की मदद करने के लिए पेशेवरों/विपक्ष की तलाश में हूं जैसे कि मुझे परिभाषित करता है कि डेटा सेवाओं का उपयोग कब/कहां किया जाए।

+0

ईएफ का कम प्रदर्शन है, इसलिए यह उच्च प्रदर्शन सेवाओं के लिए एक खराब समाधान है। – garik

+2

ईएफ दोनों परिदृश्यों में उपयोग किया जाएगा, और प्रदर्शन हमारे थ्रूपुट के लिए स्वीकार्य है। – Nix

उत्तर

3

यहां इस विषय पर जो कुछ भी मिला है, उसे रेखांकित करने का मेरा प्रयास यहां दिया गया है।

डेटा सेवाओं का उद्देश्य किसी वेब यूआरआई के माध्यम से किसी प्रकार के संसाधन का खुलासा करना है। सभी डेटा मानक HTTP क्रियाओं (GET, POST, PUT, DELETE) के माध्यम से एक्सेस/बदला जाता है।

डीएस (पूरी तरह कॉन्फ़िगर करने योग्य) के लिए मानक प्रतिक्रिया JSON/Atom हैं।

डेटा सेवाओं की बॉक्स शैली में से किसी भी प्रकार के क्लाइंट के लिए बैक एंड एक्सेस लेयर के रूप में डिज़ाइन किया गया है जिसे वेब पर अपने डेटा तक पहुंचने की आवश्यकता है।

डेटा सेवा अतिरिक्त व्यावसायिक तर्क (सेवा संचालन/इंटरसेप्टर के माध्यम से) जोड़ने का समर्थन करती है लेकिन आमतौर पर उन मामलों में उपयोग की जाती है जहां व्यापार तर्क सीमित है।

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

मुझे कोई संसाधन (ब्लॉग या लेख) नहीं मिला है जो यह बताता है कि इन्हें सर्वर साइड अनुप्रयोगों पर दाओ परत के रूप में उपयोग किया जाता है। सर्वर साइड पर डाटा सेवा का उपयोग कर के लिए

मामले:

1) आसान संस्करण डाटा सेवाओं के लिए। मैं किसी भी व्यक्ति का उपयोग करने वाले किसी भी व्यक्ति को प्रभावित किए बिना एक इकाई मॉडल के विभिन्न संस्करणों को जारी कर सकता हूं (कोई तर्क दे सकता है कि आप एडीओ.NET इकाई मॉडल का उपयोग करके थोड़ा और काम कर सकते हैं)

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

संसाधन

White Paper Using Microsoft ADO.NET Data Services

ADO.NET Data Services Overview

Simplifying our n-tier development platform: making 3 things 1 thing

Data Services for the Web

3

दूसरा मत करो।

डब्ल्यूसीएफ डाटा सर्विसेज इंटरफेस एटम पब पर आधारित है, जो आरईएसटी पर आधारित है जिसका उद्देश्य ग्राहक का सामना करना है।

यहां एक मुख्य कारण है। आप डब्ल्यूसीएफ डाटा सर्विस इंटरफेस पर दो चरण-प्रतिबद्ध लेनदेन नहीं कर सकते हैं और मुझे उम्मीद है कि डब्ल्यूसीएफ टीम इसे कभी भी सक्षम करने की कोशिश नहीं करेगी।

डब्ल्यूसीएफ डाटा सर्विसेज एक रिमोट क्लाइंट को डेटा उजागर करने के बारे में है, न कि आर्किटेक्चर में एक परत के रूप में।

+0

क्या आप दो चरण-प्रतिबद्ध लेनदेन सीमा का विस्तार कर सकते हैं? क्या आप बस दो चरणों के प्रतिबद्धता, या आंतरिक मुद्दों को नियंत्रित करने के बारे में बात कर रहे हैं? – Nix

+0

यदि आप आरईएसटी लेनदेन पर यहां खोज करते हैं तो आपको इसकी बहुत सारी चर्चाएं दिखाई देगी। इस विषय पर मेरा उत्तर यहां है http://stackoverflow.com/questions/2346964/if-transactions-over-rest-are-unachievable-how-can-rest-ever-be-really-useful –

-3

तो मेरे सवाल का सरल है, WCF डाटा ग्राहकों के माध्यम से इस्तेमाल किया जा करने के लिए डिज़ाइन सेवा कर रहे हैं? या किसी ने कभी सर्वर के पक्ष में किसी का उपयोग कर किसी के बारे में सुना है?

भालू को ध्यान में रखें कि "क्लाइंट" शब्द का व्यापक अर्थ है, और विशेष रूप से बैक-एंड सिस्टम शामिल कर सकते हैं, इसलिए उस अर्थ में संक्षिप्त उत्तर हाँ होगा। मैंने किसी को भी सेवर-साइड का उपयोग करके किसी के बारे में नहीं सुना है, लेकिन ऐसा कोई कारण नहीं है; आरएसएस का उपयोग सिस्टम के बीच डेटा सिंडिकेट करने के लिए किया जाता है, डब्ल्यूसीएफ डाटा सर्विसेज ऐसा करने का एक और तरीका होगा।

शायद आप इसे एक तकनीकी केंद्रित दृष्टिकोण से देख रहे हैं, जब वास्तव में आपको अधिक समग्र रूप से सोचने की आवश्यकता होती है? डब्ल्यूसीएफ डाटा सर्विसेज बस एक उपकरण है - जहां भी उचित हो वहां उनका उपयोग करें।

high-level overview docs में से कुछ को देखते हुए ऐसा लगता है कि डब्ल्यूसीएफ डाटा सर्विसेज में संभावित अनुप्रयोगों की एक विस्तृत विस्तृत श्रृंखला है।

+0

कृपया बेहतर देखभाल करें आपके उत्तर (वर्तनी जांच), साथ ही सवाल पढ़ें। यह कुछ भी जवाब नहीं है। मैंने अपने प्रश्न में कहा, "मैं बाद में उपयोग नहीं देख सकता, जब तक कि बहुत से मामले नहीं होंगे, लोग आपके डेटा सेवा परत के माध्यम से आपके डेटा तक पहुंच पाएंगे" अगर किसी कारण से आप दो इंटरफेस का पर्दाफाश कर रहे हैं एक व्यापार सेवा और एक डेटा सेवा मैं इस वास्तुकला के लिए एक आवश्यकता/उपयोग देख सकता था, लेकिन इससे परे किसी को डेटाबेस तक पहुंचने के लिए डेटा सेवाओं का उपयोग करने की सभी परेशानी क्यों होगी? जब आप सिर्फ एक नाखून नेल कर रहे हैं तो एक नाखून बंदूक क्यों खींचें? – Nix

+0

उस मामले में यह मत कहें कि आपका प्रश्न एक साधारण है; मैंने आपको उस (प्रथम भाग) पर विशेष रूप से अपने विचार दिए - जो कि आप वोट देने के लिए पूरी तरह से हकदार हैं यदि यह आपके बाद नहीं है। मैं मानता हूं कि मैंने आपका दूसरा प्रश्न/उदाहरण पूरी तरह समझने के लिए थोड़ा मुश्किल पाया - लेकिन फिर लिखित पाठ के माध्यम से इस तरह की चीज़ों को संवाद करने की कोशिश करना हमेशा आसान नहीं होता है। मैं खराब वर्तनी के लिए क्षमा चाहता हूं, लेकिन मैं कहता हूं कि मैंने और भी बुरा देखा है; मुझे लगता है कि जब लोग यहां प्रश्न पूछते हैं तो वे मुख्य रूप से जानकारी के बाद अंग्रेजी का सही उपयोग नहीं करते हैं। –

+0

मैंने इसे स्पष्ट करने के लिए प्रश्न को दोबारा करने की कोशिश की है जिसे मैं ढूंढ रहा हूं। डाउन वोट का मुख्य कारण यह था कि यह मेरे प्रश्न का समाधान नहीं करता है, यह प्रतीत होता है कि यह एक सामान्य जवाब है। मैं कहूंगा कि मैंने आपके द्वारा भेजे गए लिंक को पढ़ लिया है और यह दिखाता है कि मैं उलझन में क्यों हूं, एमएस वास्तव में क्लाउड के रूप में इस चीज़ को बेच रहा है ... यह सबकुछ कर सकता है ....; ( – Nix

0

अपने डेटा का उपयोग परत की स्थापना डाटा सेवाओं पर एक आत्मघाती है। डब्ल्यूसीएफ डेटा सेवाएं दूरस्थ ग्राहकों के लिए हैं। बस।

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