簡體   English   中英

構建OCA的工具(偶爾連接的應用程序)

[英]Tools for Building an OCA (Occasionally Connected Application)

我將構建一個內部的,偶爾連接的應用程序(OCA)。 您建議我采用哪些技術?

這是我的參數:

  1. .NET Shop( 3.5sp1
  2. 代碼背后的C#( winform,wpf,silverlight
  3. SQL Server后端( 2005年或可能 2008年待批准
  4. 獨奏開發者
  5. 獨奏SQL管理員
  6. 低技術最終用戶
  7. 5個分支機構的低帶寬
  8. 這是一個LOB應用程序,但不是POS。
  9. 大多數用戶都有筆記本電腦,他們帶到會員家
  10. 此應用程序的數據存儲在5個單獨的數據庫中,但在一個SQL實例中。

我正在尋找有關選擇路徑的具體建議。 合並復制或Sync Framework數據庫同步提供程序? 訂閱服務器上的SQL Express或SQL CE? 我可以為DAL使用LINQ to SQL嗎?

是Silverlight'離線/退出瀏覽器應用' 示例在這里 ,可行嗎?

這是我的第一個LARGE商業應用程序,因此歡迎任何有經驗的評論。


根據要求,這里有一些關於數據類型的附加信息。 我的用戶是護士和社會工作者,他們去會員家中為他們創建“計划”或“健康評估評論”。 這些是葯物清單或當前“提供者”列表。 實現成員目標的步驟或當前/過去診斷的列表。 像這樣的東西。

還有典型的會員姓名,地址,電話號碼等。這主要是一個便於報告的數據存儲和檢索應用程序。 很少“處理”發生,護士和社會工作者在指定成員的團隊中工作,所以我通常幾乎沒有交叉或潛在的數據沖突。 護士和SW也負責MCP的不同領域( 會員中心計划


附加問題; 如果我可以使用SQL 2008,Sync Framework真的只是一個可行的選擇嗎? 似乎是由於變化跟蹤等等......思想?

一旦解決了變更檢測和數據移動的問題,其他一切都是微不足道的。 換句話說,像WPF,Silverlight,Forms甚至WCF這樣的技術都與您的主要問題正交,您的選擇應該基於您的個人喜好和經驗。 要破解的真正難點是斷開連接和同步變化。 這留下了兩個開箱即用的途徑:Synch Framework或Replication。

我會說,對於您的場景,定義Synch Framework 與所有形式的復制一樣,合並復制適用於與間接斷開連接的系統。 最重要的復制只能在靜態名稱上運行。 從各種熱點和ISP連接的筆記本電腦有一個討厭的習慣,即每次連接都要更改FQ名稱。 只有在使用VPN排序並且VPN通常是主要支持問題時,復制才能克服這個問題。 復制不是為OCA系統的高移動性而設計的。

由於需要更改數據捕獲更改跟蹤 ,Synch Framework將極大地迫使您使用SQL 2008后端,這兩者都是SQL 2008唯一的功能。

您仍然需要解決大量難題(身份驗證,版本控制和升級,數據沖突解決策略,保護客戶端數據以防意外丟失等)

就個人而言,我會說:

  • .NET 3.5
  • WCF數據服務(用於客戶端應用程序和數據之間的通信)
  • SQL Server 2k5 / 2k8(無論哪個都可以使用)
  • Silverlight w / Out of Browser功能
  • VistaDB(在客戶端本地存儲數據,直到您可以推送到服務器)

如果您在脫機時創建內容而未連接,並且在連接時更新數據庫,則使用unique-identifier作為密鑰。

這比使用自動增量鍵更容易

在處理偶爾連接的應用程序之后,我建議您查看SQL Server CE以獲取客戶端計算機,並使用Sync Services來處理連接。 這是一個很好的教程。

看起來你可以從頭開始創造這些東西。

然而,這似乎非常像CRM應用程序,如果您能夠找到一個企業軟件包來執行此操作而無需從頭開始,而是修改其中一個配置以滿足您的業務規則,那就不會讓我感到驚訝。

在以前的生活中,我是一個名為Siebel的配置開發人員,可能接近你正在尋找的東西。 他們甚至還有一個名為Siebel Remote的內置同步工具。

它可能比從頭開始自己滾動更便宜。

我為葡萄酒銷售代表寫了一個訂單計划。 這是視頻。 客戶端軟件使用click-once安裝。 這也安裝SQL Server Express並加載數據庫。 我使用Microsoft Sync Framework將本地數據庫與服務器上的數據庫同步(請參閱視頻的最后一部分。)

  • 現在有強大的客戶端,我認為沒有任何理由不使用SQL Server Express,它是免費的,限制為4GB。

  • SQL CE有太多限制 - 沒有存儲過程是主要的。

  • 您將需要在任何地方使用GUID作為主鍵 - 請參閱新的NewSequentialID()。

  • 我喜歡點擊一次,這是一個很大的節省時間。

我很期待Silverlight,但是沒有時間去研究它。 如果現在這樣做,我不確定我是否會使用Silverlight。

說完這一切之后,對於沒有經驗的人來說,這不是一個項目。 所以我也會得到一些非常有經驗的幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM