Translate

2015/02/16

我的 DataSnap 開發二部曲 -- 使用 REST DataSnap


按照近幾年 Delphi XE 的 What's New 所提及到 DataSnap 的資料所示,REST DataSnap 的傳輸效能還有再往上的空間,想要在萬年範例上使用 REST DataSnap 要有心裡準備。

但 REST DataSnap 可是跨平台的第一交椅,非得用它不可。

所以在衍生出參數化查詢的做法,並回傳物件集合,如:TJSONArray 等。

當然,這也和 FireMonkey 的 LiveBinding 有關係,可以直接和物件關係綁定,這是新的概念。

除了新概念外,能大量減少不必要的資料傳輸才是加快反應時間的問題核心。

REST DataSnap 提供底下兩種傳輸方法:

TDSProviderConnection:對應的就是 REST DataSnap 裡的 TDataSetProvider。設計方式依循 Com-base DataSnap 的做法:一個 Table / Query 一個 ClientDataSet。

後來因為這方式太不靈活,於是我採用的是另一種方法:

REST function:利用公開的函式庫,下載所需要的物件,再另行處理。


--- 未完待續 ---

沒有留言:

張貼留言

Delphi 自動化 JSON 格式相容性分析

Delphi 自動化產出的 JSON 格式一直被詬病著,因為它的 JSON 格式在起始處一定會強制寫入「Meta Data」,它看起來像是: "table":[["EmpNo",6,0,0,0,4,0,0,false,false,...