我正在尋找我當前項目體系結構的一些輸入。有三個組件:服務器,桌面和移動設備。建築設計幫助
我有2個目標:
1)發送數據(大約不超過從桌面100 KB的文本)(在Windows XP/Vista/7的,和Mac OS X)上運行的多平臺客戶端應用程序到服務器(Windows Server 2008,IIS 7,WCF RESTful服務)以保存在數據庫(Sql Server)中。這些服務需要具有可擴展性,因爲桌面設備的數量和發送數據的頻率是未知的。
2)從數據庫(Sql Server)中檢索數據併發送到移動設備(Iphone和Android應用程序,消息大小不超過100 KB的文本)的服務。服務需要可擴展,因爲移動設備的數量和連接的頻率是未知的。
我提出的解決方案:
服務器端(SQL Server和Windows Server 2008): 我期待在WCF REST風格的JSON服務與桌面應用程序(S)和移動應用通信(S) 。我喜歡WCF,因爲我最擅長C#,有一些實現WCF的經驗,在做了一些研究之後,似乎用於平臺的所有技術(Windows XP/Vista/7和Mac OS X)都可以輕鬆地與WCF RESTful服務進行通信。
- 在這種情況下WCF服務的任何高層次的基本問題?
- 我只在每臺15分鐘連接800臺設備的Windows Server 2003計算機上實現WCF。該服務器是在專用網絡上運行的物理內部服務器。我需要這個解決方案來託管和擴展。任何託管Windows Server 2008的建議?是否有更好的技術來承載服務? (我不太熟悉雲計算的工作原理)
服務將保存和從SQL服務器檢索數據。我想使用LINQ to SQL作爲我的數據訪問層。我的理解是,與SQL服務器綁定的許可證費用很高,所以我現在可能需要使用SQL Server Express。
- 我寧願將WCF服務和數據庫單獨託管(2個diff機器)。任何建議主辦SQL服務器(或快遞)?有沒有可以擴展我的數據庫的託管服務?將這些保存在2個差異機器上有意義嗎?
桌面 我需要開發適用於Windows XP/VISTA/7和Mac OS X.(客戶端)我打算寫一個.NET應用程序的Windows計算機(或多個)上運行。如果我要寫(學習:P)XCode或嘗試單聲道,我仍然在空中任何跨平臺的想法?
- 我應該有任何根本性的問題,獲得桌面應用程序跟我的WCF RESTful服務?
移動Applicaitons 我需要開發商的IPhone和Android。有使WCF RESTful服務的例子很多呼叫使用Objective C和Android的SDK。我」考慮嘗試跨平臺(即Appcelerator)。從高層看來,這些移動跨平臺已經構建了一個Java腳本層,可與iPhone和Android兼容!
有關使用跨平臺技術編寫ONE移動應用程序在iPhone和Android上運行的任何想法?
在JavaScript中調用WCF RESTful服務的任何基本問題?
對不起有點長的帖子。我從未設計過這種尺寸的解決方案。所有的反饋意見。
謝謝!
[如何看待多設備架構的統一設計?](http://izlooite.blogspot.com/2011/07/how-to-think-unified-design-for-multi.html) – 2011-07-06 18:15:51