某個日本公司寫的一個關於 SOAP 的分散式開發專案範例
網址:
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 開發無狀態的應用程式還是相對簡單。
不過好像沒有文獻顯示SOAP Service可以承載多少 Client 同時在線。這部份可能完全取決在 HTTP Service 上?