2010-02-11 8 views
6

किसी प्रोजेक्ट के लिए मुझे वेब सर्वर पर होस्ट किए गए डेटाबेस और इंटरनेट पर कई क्लाइंट के बीच संचार लागू करना होगा। थोड़ा पढ़ रहे हैं और संभव (माइक्रोसॉफ्ट) प्रौद्योगिकियों मैं पता लगा है कि मैं है लगता है के बारे में कुछ परिचयात्मक वीडियो को देखने के बाद (कम से कम) तीन विकल्प:डब्ल्यूसीएफ, वेब सेवाएं या एडीओ.NET डेटा सेवाएं: मैं क्या उपयोग करूं?

1) विंडोज संचार फाउंडेशन (WCF)
2) एएसपी। नेट वेब सेवाएं
3) ADO.NET डेटा सेवाएं

क्योंकि मैं उन तीनों तकनीकों में से किसी से परिचित नहीं हूं, मुझे सीखना है (उम्मीद है कि केवल उनमें से एक) गहराई से - और सवाल यह है: कौन सा?

या अधिक सटीक होने के लिए: निम्न कार्य के लिए कौन सा एक है?

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

क) वेब सर्वर साइड पर किया जाएगा:

  • एक SQL सर्वर डेटाबेस
  • .NET फ्रेमवर्क 3.5 एसपी 1
  • एक वर्ग पुस्तकालय डेटाबेस संरचना का प्रतिनिधित्व करने और ADO.NET इकाई की रूपरेखा के साथ मॉडलिंग
  • (एक एएसपी.नेट वेब एप्लिकेशन जो ब्राउज़र में डेटाबेस में डेटा पेश करेगा: मैंने इसे यहां ब्रैकेट में रखा है क्योंकि यह वेब एप्लिकेशन वास्तव में कोई फर्क नहीं पड़ता क्योंकि उल्लिखित डेटा अप/डाउनलोड ट्रिगर नहीं किया जाएगा एक ब्राउज़र जीयूआई।)

बी) ग्राहक पक्ष कम स्पष्ट है और अधिक लचीला होना चाहिए। बार मैं विकास के लिए उपलब्ध है) के संदर्भ में

i) प्राथमिकता एक (: यहाँ मैं दो आवश्यकताओं के बीच भेद करने के लिए है

  • ग्राहक के पक्ष मेरे नियंत्रण में है, इसका मतलब है: मैं किसी भी है क्लाइंट पर विंडोज ओएस, मैं .NET Framework स्थापित कर सकता हूं और मैं विंडोज सेवा, कंसोल एप्लिकेशन, विंडोज फॉर्म एप्लिकेशन या जो कुछ भी विकसित करने का निर्णय ले सकता हूं। और मुझे ऊपर वर्णित कक्षा पुस्तकालय के बारे में ज्ञान है और पहुंच है।

ii) कम प्राथमिकता है, लेकिन एक भविष्य विकल्प होना चाहिए:

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

डेवलपर्स को क्लाइंट पक्ष पर .NET Framework का उपयोग करने के लिए अंतिम बिंदु के कारण एक विकल्प नहीं है। ग्राहक पक्ष पर संचार विभिन्न प्लेटफार्मों और भाषाओं से सुलभ "मानक" तकनीक का होना चाहिए।मैं अपने छोटे शोध के दौरान "एसओएपी", "आरईएसटी" या "एटमपब" जैसे शब्दों को पढ़ रहा था और ये एक तरह का मानक प्रोटोकॉल या संचार तकनीक (एक स्वामित्व माइक्रोसॉफ्ट आविष्कार नहीं) प्रतीत होता है। लेकिन मुझे यकीन नहीं है और न ही मुझे पता है कि कौन सी तकनीक "अद्यतित है", "सबसे अच्छा भविष्य" है, सबसे आम और प्रसिद्ध है, सबसे शक्तिशाली है या उपयोग करने में सबसे आसान है (उन अन्य संभावित दृष्टिकोणों के दृष्टिकोण से) डेवलपर्स! तो सवाल यह है कि मुझे अधिकतर क्लाइंट साइड डेवलपर्स को खुश करने के लिए समर्थन करना है)।

एक अंतिम बिंदु: सुरक्षा महत्वपूर्ण है! डेटा अपलोड करना/डाउनलोड करना समर्पित व्यक्तियों तक ही सीमित होना चाहिए। उपयुक्त प्रमाण-पत्रों के बिना इंटरफ़ेस का उपयोग या अन्वेषण करना संभव नहीं होना चाहिए।

अब कौन सी तकनीक का उपयोग करना सबसे अच्छा है? (1), (2) या (3)? और आप इसकी सिफारिश क्यों करेंगे?

किसी भी सलाह के लिए अग्रिम धन्यवाद!

+0

डब्ल्यूसीएफ मैक, आईफ़ोन, .NET, जावा पर रूबी - किसी भी ** क्लाइंट साइड के साथ संवाद कर सकता है - आप इसे नाम दें।यह किसी और चीज की तुलना में अधिक उद्योग मानकों का समर्थन करता है .... –

उत्तर

10

अच्छा, नहीं। (2) पुरानी शैली एएसपी.नेट वेबसाइसेस इसके रास्ते पर है - यह पुराना है, अब विकसित नहीं किया जा रहा है - इसे डब्लूसीएफ द्वारा प्रतिस्थापित किया गया है।

तो इससे विकल्प 1 (सीधी डब्ल्यूसीएफ) और 3 (एडीओ.NET डेटा सर्विसेज - हाल ही में नामित डब्ल्यूसीएफ डाटा सर्विसेज) छोड़ देता है।

दोनों डब्ल्यूसीएफ का उपयोग अपनी मूल तकनीक के रूप में करते हैं - इसलिए डब्ल्यूसीएफ के बारे में सीखना और जानना दोनों मामलों में जरूरी है।

सीधे डब्ल्यूसीएफ (विकल्प 1) के साथ आपके पास अधिक विकल्प हैं - आप स्वयं होस्ट कर सकते हैं, आईआईएस में अपनी सेवा होस्ट कर सकते हैं, विभिन्न प्रोटोकॉल और बाइंडिंग का उपयोग कर सकते हैं। लेकिन पसंद के साथ जटिलता आती है - आपको कम से कम कुछ डिग्री तक सीखने और उन सभी चीजों को जानने की ज़रूरत है। आपके क्लाइंट को आपके लिए SOAP से बात करने में सक्षम होना चाहिए - बस किसी भी भाषा के बारे में (.NET पाठ्यक्रम, जावा, रुबी, PHP - आप इसे नाम दें) SOAP को एक तरफ या किसी अन्य तरीके से बात कर सकते हैं।

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

डब्ल्यूसीएफ डेटा सेवाओं के साथ, आपके क्लाइंट को HTTP स्टैक के अलावा कुछ भी नहीं चाहिए - यहां तक ​​कि आईफोन में भी है :-) लेकिन .NET क्लाइंट के साथ, चीजें निश्चित रूप से अच्छी और अधिक आरामदायक और अधिक कुशल हैं।

मैं कहूंगा कि WCF Data Service पहले देखें और देखें कि क्या आपकी आवश्यकताओं को पूरा करता है - और यदि नहीं, तो डब्ल्यूसीएफ में गहराई से खुदाई करें। एक परिचय के लिए WCF Data Service at a glance भी देखें।

अद्यतन:

मार्क, मैं तुम्हें सही ढंग से समझते हैं कि WCF सर्वर पर इस आवश्यकता को पूरा करते हैं? और ADO.NET (डब्ल्यूसीएफ) डेटा सेवाएं भी?

बिल्कुल। सर्वर पक्ष पर डब्ल्यूसीएफ (सादा या डेटा सेवाओं के साथ) क्लाइंट को किसी भी तरह से, आकार या रूप में निर्देशित नहीं करता है। यदि आप वास्तव में ऐसा महसूस करते हैं, तो आप एक आईफोन को डब्ल्यूसीएफ डेटा सेवा में जोड़ सकते हैं :-) डब्लूसीएफ को ग्राउंड अप से बहुत इंटरऑपरेबल होने के लिए डिजाइन किया गया है - वास्तव में, यह एक ऐसा मंच है जो सबसे डब्लूएस-* उद्योग लागू करता है क्रॉस-प्लेटफार्म संचार के लिए मानकों।

+0

"ठीक है, नहीं। (2) पुरानी शैली एएसपी.नेट वेबसाइसेस इसके रास्ते पर है - यह पुराना है, अब विकसित नहीं किया जा रहा है - इसे डब्लूसीएफ द्वारा प्रतिस्थापित किया गया है।" वहां पर कूल-एड्स स्वाद कैसा है, मार्क? जबरदस्त हंसी। और आप निर्दिष्ट आवश्यकताओं की समीक्षा करना चाह सकते हैं। –

+0

+1 क्योंकि मैं एक डोर हूं। –

+0

दिलचस्प, मुझे नहीं पता था कि आप वास्तव में डेटा सेवाओं के खिलाफ लिंक लिख सकते हैं। क्या यह जुड़ता है, सबक्वायरीज़ इत्यादि, या क्या यह मूल रूप से एक आरईएसटी सेवा से अपेक्षा की जाती है, एक प्रकार की वस्तु के खिलाफ सरल प्रश्न? – Aaronaught

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