2012-08-31 12 views
5

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

  1. MVC वेब प्रोजेक्ट सामने के छोर जो सीधे WCF सेवाओं के लिए संवाद स्थापित करेंगे।
  2. डेटा एनोटेशन का उपयोग कर एमवीसी मॉडल पर सर्वर साइड सत्यापन किया जाएगा तो डेटा डब्लूसीएफ परत को पास कर दिया जाएगा। ग्राहक सदस्यता प्रदाता का उपयोग सुरक्षा भी एमवीसी में लागू किया जाएगा।
  3. डब्ल्यूसीएफ परत एक व्यापार परत की तरह काम करेगी। जहां आवश्यक हो यह डीएएल से संचार करेगा जो कक्षा पुस्तकालय है।
  4. दाल का उपयोग एफई इस वास्तुकला अच्छा एसक्यूएल सर्वर से संवाद किया जाएगा *

सवालों को खुश

  1. है?
  2. क्या डब्ल्यूसीएफ का उपयोग व्यावसायिक परत और सेवाओं की परत के रूप में करना अच्छा है?
  3. किस परत पर हमें कौन से परतों को लागू करना चाहिए?
  4. डेटा सत्यापन और सुरक्षा के लिए एमवीसी सही जगह है?

धन्यवाद

संपादित 5. यह इकाई परीक्षण के बारे में अच्छा है? या बेहतर testign के लिए मुझे कुछ बदलाव करना चाहिए?

उत्तर

4

जो आप वर्णन कर रहे हैं वह एक सुंदर आधुनिक और अच्छा माइक्रोसॉफ्ट सर्वर स्टैक है।

एएसपीनेट एमवीसी आपके लिए वेब यूआई अच्छा है। यदि आप एएसपीएनटी एमवीसी के साथ जा रहे हैं तो आपको बिजनेस लेयर के लिए एएसपीनेट वेबपी (नया) भी देखना चाहिए।

http://www.asp.net/web-api

http://weblogs.asp.net/scottgu/archive/2012/02/23/asp-net-web-api-part-1.aspx

एसक्यूएल सर्वर और एफई काफी मानक हैं। दूसरा विकल्प शुद्ध टी-एसक्यूएल है यदि आपको परम नियंत्रण की आवश्यकता है और सीधे एसक्यूएल के साथ सहज हैं।

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

मोबाइल डिवाइस (यदि मोटी ऐप्स) सीधे वेब-एपीआई का उपयोग कर सकते हैं। जब तक मोबाइल ऐप एक एम्बेडेड ब्रोवर/जावास्क्रिप्ट समाधान का उपयोग करके हाइब्रिड मोबाइल ऐप न हो, तब तक यह आपके एमवीसी वेब यूआई का एक छोटा सा कारक उपभोक्ता है।

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

+0

धन्यवाद @byanmac, मुझे वेब एपीआई के बारे में पता नहीं था। क्या आप कृपया मुझे अपने डिजाइन में मार्गदर्शन कर सकते हैं जहां इसे लगाया जाएगा और यह क्या बदलेगा? कृपया यदि संभव हो तो मेरे अन्य क्रमांकित प्रश्नों का उत्तर दें। – user576510

+1

यह डब्ल्यूसीएफ मध्यम स्तर को प्रतिस्थापित करेगा। यह आपके फ्रंट एंड वेब यूआई भूमिकाओं का उपयोग करने के लिए एक आरईएसटी एंडपॉइंट होगा। – bryanmac

+0

धन्यवाद। एमवीसी में विकसित नहीं होने वाले मोबाइल एप्लिकेशन जैसे अन्य ग्राहकों के लिए मैं इसे सीधे कैसे एक्सेस कर पाऊंगा? जैसे कि यह एचटीएमएल या एचटीएमएल 5 जैसी देशी ब्राउज़र भाषाओं में एंडॉइड के लिए एक आवेदन है? – user576510

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