2010-01-31 15 views
5

मैं अपने वर्तमान प्रोजेक्ट आर्किटेक्चर पर कुछ इनपुट ढूंढ रहा हूं। तीन घटक हैं: सर्वर, डेस्कटॉप और मोबाइल डिवाइस।आर्किटेक्चर डिज़ाइन सहायता

2 लक्ष्य:।

1) (डेटा भेजें लगभग कोई डेस्कटॉप से ​​पाठ की 100 KB) (अधिक से अधिक बहु मंच क्लाइंट अनुप्रयोग Windows XP/Vista/7, और मैक ओएस एक्स) पर चल रहा है एक डेटाबेस (एसक्यूएल सर्वर) में सहेजने के लिए एक सर्वर (विंडोज सर्वर 2008, आईआईएस 7, डब्ल्यूसीएफ रीस्टफुल सेवा) के लिए। सेवाओं को स्केलेबल होने की आवश्यकता है क्योंकि वे डेस्कटॉप डिवाइस और आवृत्ति डेटा की संख्या अज्ञात हैं।

2) डेटाबेस से डेटा पुनर्प्राप्त करने के लिए एक सेवा (एसक्यूएल सर्वर) और मोबाइल डिवाइस (आईफोन और एंड्रॉइड एप्लिकेशन) को भेजें। संदेश का आकार 100 से अधिक केबी नहीं है)। सेवा को स्केलेबल करने की आवश्यकता है क्योंकि मोबाइल डिवाइस और वे आवृत्ति की संख्या अज्ञात है।

मेरे प्रस्तावित समाधान:

सर्वर साइड (SQL सर्वर और विंडोज सर्वर 2008): मैं डेस्कटॉप अनुप्रयोग (रों) और मोबाइल एप्लिकेशन के साथ संवाद करने के लिए एक WCF RESTful JSON सेवाओं पर देख रहा हूँ (रों) । मुझे डब्ल्यूसीएफ पसंद है क्योंकि मैं सी # में सबसे अधिक कुशल हूं, कुछ शोध करने के बाद डब्लूसीएफ को लागू करने का कुछ अनुभव है, ऐसा लगता है कि प्लेटफ़ॉर्म (विंडोज एक्सपी/विस्टा/7 और मैक ओएस एक्स) के लिए उपयोग की जाने वाली सभी तकनीकें आसानी से डब्ल्यूसीएफ रीस्टफुल सेवा के साथ संवाद कर सकती हैं।

  • इस परिदृश्य में डब्ल्यूसीएफ सेवा के साथ कोई उच्च स्तर के मौलिक मुद्दे?
  • मैंने केवल विंडोज सर्वर 2003 मशीन पर डब्ल्यूसीएफ लागू किया है जिसमें ~ 15 डिवाइस प्रत्येक 15 मिनट से कनेक्ट होते हैं। सर्वर एक निजी नेटवर्क पर चल रहे घर सर्वर में एक भौतिक था। मुझे होस्ट और स्केलेबल होने के लिए इस समाधान की आवश्यकता है। विंडोज सर्वर 2008 की मेजबानी के लिए कोई सिफारिशें? क्या सेवा की मेजबानी करने के लिए कोई बेहतर तकनीक है? (मैं क्लाउड सामान कैसे काम करता है उससे बहुत परिचित नहीं हूं)

सेवाएं SQL सर्वर से डेटा को सहेज और पुनर्प्राप्त कर रही हैं। मैं LINQ से SQL का उपयोग अपनी डेटा एक्सेस परत के रूप में करना चाहता हूं। यह मेरी समझ है कि SQL सर्वर से जुड़ी बड़ी लाइसेंसिंग फीस हैं इसलिए मुझे अब SQL सर्वर एक्सप्रेस के साथ जाना होगा।

  • मैं डब्ल्यूसीएफ सेवाओं और डेटाबेस को अलग से होस्ट (2 diff मशीन) को रखना पसंद करूंगा। एसक्यूएल सर्वर (या एक्सप्रेस) की मेजबानी के लिए कोई सिफारिशें? क्या कोई होस्टिंग सेवा है जो मेरे डेटाबेस के लिए बेहतर स्केल कर सकती है? क्या इन्हें 2 diff मशीनों पर रखने के लिए समझ में आता है?

डेस्कटॉप (क्लाइंट साइड) मैं Windows XP/Vista/7 और मैक ओएस एक्स के लिए विकसित करने के लिए आवश्यक कर रहा हूँ मैं खिड़कियों मशीन (ओं) पर चलाने के लिए एक .net आवेदन लिखने के लिए योजना है। मैं "अभी भी हवा में ऊपर मीटर अगर मैं लिखने के लिए (और सीखें: पी) जा रहा हूँ। XCode या मोनो कोशिश किसी भी पार मंच विचारों

  • मैं किसी भी बुनियादी समस्याओं डेस्कटॉप अनुप्रयोगों के लिए हो रही है करने के लिए आशा करनी चाहिए? मेरी WCF RESTful सेवाओं के लिए बात करने के लिए?

मोबाइल Applicaitons मैं IPhone और Android के लिए डेवलपर के लिए आवश्यक कर रहा हूँ। WCF RESTful सेवा बनाने के कई उदाहरण उद्देश्य सी और Android SDK का उपयोग कॉल कर रहे हैं। मैं ' मैं एक क्रॉस प्लेटफॉर्म (यानी एपसेलरेटर) की कोशिश करने पर विचार कर रहा हूं।एक उच्च स्तर से ऐसा लगता है कि इन मोबाइल क्रॉस प्लेटफॉर्म ने जावा स्क्रिप्ट परत बनाई है जो आईफोन और एंड्रॉइड दोनों के साथ काम करता है!

  • आईफोन और एंड्रॉइड पर चलाने के लिए एक मोबाइल ऐप लिखने के लिए क्रॉस प्लेटफ़ॉर्म तकनीक का उपयोग करने पर कोई विचार?

  • किसी भी बुनियादी मुद्दों जावास्क्रिप्ट में WCF RESTful सेवा को फोन?

कुछ हद तक लंबे समय तक खेद है। मैंने इस आकार का समाधान कभी नहीं बनाया है। सभी प्रतिक्रिया की सराहना की है।

धन्यवाद!

+0

[बहु डिवाइस वास्तुकला के लिए एक एकीकृत डिजाइन में सोचने के लिए कैसे?] (Http://izlooite.blogspot.com/2011/07/how-to-think-unified-design-for-multi.html) –

उत्तर

2

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

हालांकि मैं आप पा सकते हैं कि आप मैक और iPhone उपयोगकर्ताओं के लिए उपयोगकर्ता अनुभव जो आदर्श नहीं है के रूप में इन उपयोगकर्ताओं महान उपयोगकर्ता अनुभव के लिए सबसे अधिक उम्मीदें हैं के लिए करते हैं के तत्वों के साथ समझौता लगता है।

मैं समझता हूँ कि हम एक आदर्श दुनिया में नहीं रहते लेकिन अगर हमने आप प्रत्येक मंच के लिए एक अलग ग्राहक का विकास होगा - एक मंच की जरूरतों के लिए अनुकूलित। जब तक कि आप एप्लिकेशन को बहुत अधिक डेटा मैनिपुलेशन नहीं कर रहे हैं, तब डेटा लेयर अब आपके JSON इंटरफ़ेस को सर्वर से जोड़ दिया गया है, इसलिए आपको डेटा ऑब्जेक्ट्स को कार्यान्वयन में साझा करने से ज्यादा लाभ नहीं होगा।

जैसा कि ऐसा लगता है कि आप एक छोटी टीम (स्वयं?) में प्रोजेक्ट को कार्यान्वित कर रहे हैं, तो मैं सुझाव दूंगा कि आप JSON पर सर्वर के साथ संचार करने वाले HTML जावास्क्रिप्ट के साथ एक वेब समाधान लागू करने पर विचार करें।

अन्य विकल्प है कि आप iPhone कोड में फ्लेक्स/हवा संकलित करने के लिए एंड्रॉयड और एडोब के समाधान के विंडोज और मैक और फ्लैश पर एक फ्लेक्स/हवा ग्राहक का उपयोग है।

हालांकि शुभकामनाएं।

0

अपने ग्राहक के पक्ष के लिए आप क्योंकि यह प्लेटफॉर्म है कि आप बिना किसी अतिरिक्त कोड के लिए थोड़ा के साथ की जरूरत के सभी पर चलेगा Appclerator उपयोग करने पर विचार कर सकते हैं, और यह वेब एप्लिकेशन प्रकार अनुप्रयोगों के लिए इस्तेमाल किया जा बनाया गया है

0

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

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