किसी प्रोजेक्ट के लिए मुझे वेब सर्वर पर होस्ट किए गए डेटाबेस और इंटरनेट पर कई क्लाइंट के बीच संचार लागू करना होगा। थोड़ा पढ़ रहे हैं और संभव (माइक्रोसॉफ्ट) प्रौद्योगिकियों मैं पता लगा है कि मैं है लगता है के बारे में कुछ परिचयात्मक वीडियो को देखने के बाद (कम से कम) तीन विकल्प:डब्ल्यूसीएफ, वेब सेवाएं या एडीओ.NET डेटा सेवाएं: मैं क्या उपयोग करूं?
1) विंडोज संचार फाउंडेशन (WCF)
2) एएसपी। नेट वेब सेवाएं
3) ADO.NET डेटा सेवाएं
क्योंकि मैं उन तीनों तकनीकों में से किसी से परिचित नहीं हूं, मुझे सीखना है (उम्मीद है कि केवल उनमें से एक) गहराई से - और सवाल यह है: कौन सा?
या अधिक सटीक होने के लिए: निम्न कार्य के लिए कौन सा एक है?
किसी क्लाइंट से सर्वर/डेटाबेस में डेटा अपलोड करने की आवश्यकता है और कुछ अन्य डेटा भी डाउनलोड करने की आवश्यकता है। ग्राहक पक्ष पर यह किसी ऐसे उपयोगकर्ता द्वारा इंटरैक्टिव रूप से नहीं होगा जो ब्राउज़र में काम करता है बल्कि क्लाइंट पर एक स्वचालित प्रक्रिया के रूप में होता है जो आवधिक रूप से (उदाहरण के लिए हर 2 घंटे) चलाएगा।
क) वेब सर्वर साइड पर किया जाएगा:
- एक SQL सर्वर डेटाबेस
- .NET फ्रेमवर्क 3.5 एसपी 1
- एक वर्ग पुस्तकालय डेटाबेस संरचना का प्रतिनिधित्व करने और ADO.NET इकाई की रूपरेखा के साथ मॉडलिंग
- (एक एएसपी.नेट वेब एप्लिकेशन जो ब्राउज़र में डेटाबेस में डेटा पेश करेगा: मैंने इसे यहां ब्रैकेट में रखा है क्योंकि यह वेब एप्लिकेशन वास्तव में कोई फर्क नहीं पड़ता क्योंकि उल्लिखित डेटा अप/डाउनलोड ट्रिगर नहीं किया जाएगा एक ब्राउज़र जीयूआई।)
बी) ग्राहक पक्ष कम स्पष्ट है और अधिक लचीला होना चाहिए। बार मैं विकास के लिए उपलब्ध है) के संदर्भ में
i) प्राथमिकता एक (: यहाँ मैं दो आवश्यकताओं के बीच भेद करने के लिए है
- ग्राहक के पक्ष मेरे नियंत्रण में है, इसका मतलब है: मैं किसी भी है क्लाइंट पर विंडोज ओएस, मैं .NET Framework स्थापित कर सकता हूं और मैं विंडोज सेवा, कंसोल एप्लिकेशन, विंडोज फॉर्म एप्लिकेशन या जो कुछ भी विकसित करने का निर्णय ले सकता हूं। और मुझे ऊपर वर्णित कक्षा पुस्तकालय के बारे में ज्ञान है और पहुंच है।
ii) कम प्राथमिकता है, लेकिन एक भविष्य विकल्प होना चाहिए:
- मैं जो अन्य डेवलपर्स अपलोड/डाउनलोड डेटा के लिए अपने स्वयं अनुप्रयोगों के निर्माण के लिए अनुमति देता है इंटरफ़ेस विवरण के किसी भी प्रकार का पर्दाफाश करने की जरूरत है।
- जो क्लाइंट दूसरों के लिए विकसित होंगे वे किसी भी प्रकार के ओएस (विंडोज़, यूनिक्स, मैकोज़ और अधिक) के साथ संचालित किए जा सकते हैं। साथ ही वे अपनी पसंदीदा प्रोग्रामिंग भाषा का चयन करने के लिए जितना संभव हो सके मुफ़्त होंगे।
डेवलपर्स को क्लाइंट पक्ष पर .NET Framework का उपयोग करने के लिए अंतिम बिंदु के कारण एक विकल्प नहीं है। ग्राहक पक्ष पर संचार विभिन्न प्लेटफार्मों और भाषाओं से सुलभ "मानक" तकनीक का होना चाहिए।मैं अपने छोटे शोध के दौरान "एसओएपी", "आरईएसटी" या "एटमपब" जैसे शब्दों को पढ़ रहा था और ये एक तरह का मानक प्रोटोकॉल या संचार तकनीक (एक स्वामित्व माइक्रोसॉफ्ट आविष्कार नहीं) प्रतीत होता है। लेकिन मुझे यकीन नहीं है और न ही मुझे पता है कि कौन सी तकनीक "अद्यतित है", "सबसे अच्छा भविष्य" है, सबसे आम और प्रसिद्ध है, सबसे शक्तिशाली है या उपयोग करने में सबसे आसान है (उन अन्य संभावित दृष्टिकोणों के दृष्टिकोण से) डेवलपर्स! तो सवाल यह है कि मुझे अधिकतर क्लाइंट साइड डेवलपर्स को खुश करने के लिए समर्थन करना है)।
एक अंतिम बिंदु: सुरक्षा महत्वपूर्ण है! डेटा अपलोड करना/डाउनलोड करना समर्पित व्यक्तियों तक ही सीमित होना चाहिए। उपयुक्त प्रमाण-पत्रों के बिना इंटरफ़ेस का उपयोग या अन्वेषण करना संभव नहीं होना चाहिए।
अब कौन सी तकनीक का उपयोग करना सबसे अच्छा है? (1), (2) या (3)? और आप इसकी सिफारिश क्यों करेंगे?
किसी भी सलाह के लिए अग्रिम धन्यवाद!
डब्ल्यूसीएफ मैक, आईफ़ोन, .NET, जावा पर रूबी - किसी भी ** क्लाइंट साइड के साथ संवाद कर सकता है - आप इसे नाम दें।यह किसी और चीज की तुलना में अधिक उद्योग मानकों का समर्थन करता है .... –