網址:3層スタイルC/Sアプリ作成術サンプルソース
目前看了下範例後有一些簡單的想法。
- 充分利用 ClientDataSet 的 XML 特性,與 SOAP 完美搭配。
- 一樣是 C/S ,更重要的是已經 3-Tier 化了。傳統 2-Tier 下資料庫裸露在外的問題已不復見了。
- 開發上也不需考慮 DCOM +Socket / HttpSrvr 等搭配技術的實現,架構上顯得是相對乾淨,以及在Delphi 3 - XE n 都能夠被實現的技術。
- 標準的無狀態 (Stateless) 的 3 層架構。(不過 SOAP 是允許有狀態 (Stateful) 實現的)
- SOAP 是非常成熟的 Web Service ,也就表示它的問題和 DataSnap 相比下顯得較無缺失些。
- 多種連線方式成為可能,只要重載函式 (overload) ,就能夠讓後端使用多種 DataSet ,不論是 ADO, DBX 還是未來的 FireDAC 都能夠銜接這個框架。
- SOAP 的效率實在是很差,連接的成本太高,還沒開始傳封包呢!
- 按照範例中的 Readme.txt 解釋,在多人連線上似乎會有衝突,還有調整的必要性,畢竟只是 DEMO 。可能還有些關鍵被隱藏起來了吧。
- 在不考慮 Socket / HttpSrvr 的問題 (?) 下,DataSnap 開發無狀態的應用程式還是相對簡單。
我都是利用 3-Tier 觀念去做,反而沒有利用Delphi 現有提供的架構。
回覆刪除自己開發 Http Server 之類,反而效率比 Delphi 高(自己認為)。
多少Client 或是 Thread 可以自行控制或等待排隊。
那麼彈性會比較大。因為底層通訊格式自行實現,故可以減少 通訊的次數。
從 Delphi K.TOP 看過來。留點足跡。....
自己開發 Http Server ,這是多大的一個工程啊。還不包含 Debug 時間
回覆刪除個人單純是從簡單開發的角度所做的選擇, DataSnap 還算是很簡單的
不過開發後才知道官方的問題也真的不少 哈哈
而且主控權是在官方手上,很不方便,自己做的話就沒這麼多問題了!
但那是在有足夠的時間開發為前提下 ^ ^
謝謝您抽空回覆!