Translate

2015/02/08

DataSnap? Midas? 你是誰?我應該選誰?

我想你知道 DataSnap ,但對 Midas 可能有點陌生。但提到 DataSnap 就不能不提到它的過往,底下就來介紹一下。
Delphi 3 MIDAS Logo

Midas 全名是:Multitiered Destributed Application Services;
中文是「多層分佈式應用程序服務」。

當時,Oracle 和好朋友 SQL Server 還是個天價計費的時代(現在依然價格不裴),每一個會連線到資料庫的使用者,都是燒錢的版權費用;而 Borland 和 Microsoft 的資料庫通訊的戰爭也還在持續中,這時 Borland 提出由中間應用層來負責對使用者電腦傳送資料封包,除了可以替企業省錢外,還能夠在通訊協定的戰役上扳回一成。

於是 Borland 開始進行輔導企業導入 Midas 這個工作,很有趣的, Midas 產品是另外收錢的「企業服務」,所以也不是任何企業都想使用這個服務。

隨後,好消息是,Midas 的開放,被納入 Delphi 4 以後企業版的產品線中,於是 Delphi 核心技術之一的多層開發更進一步的讓更多開發人員知道。

Midas 在當時是計劃變為中間層元件 (2003.李維.Borland 傳奇.第四章 未完的傳奇),那不就是 BDE 嗎!還好 Borland 最後沒有這樣做,有彈性的中間層開發才能面面俱到。

一直到 Delphi 6 ,Borland 為 Midas 改了個名字: DataSnap ,也確定了往後中間層開發的路線,一直到今天,這個路線一直都沒有太大的變化,也因為如此,才有了這篇的出現。

總結:
Midas 歷經 Delphi 3、4、5 ,從 Delphi 6 開始更名為 DataSnap,直到現在的 XE。
本質都是「多層分佈式應用程序服務」。

另外,Oracle 和 SQL Server 的授權方式也因為 DataSnap 而改變,所以省錢的這個條目已經被消滅,還有使用它的理由?

我想,可能還少講了 Kylix,在 Kylix 3 停止開發後,直到 XE 2 ,以不一樣的跨平台開發手法重生。

在 Kylix 還活著的時候,Linux 本身除了 JAVA 外,並沒有比較好的資料庫連線的方法。
DataSnap 也就應用在這個場合上,就算到現在的 XE ,這個理由也依然適用。

--- 未完待續 ---

沒有留言:

張貼留言

一山不容二虎之 EDBClient - Key violation 記事

關聯式資料庫裡有個很基本的特性:PRIMARY KEY 條件約束。 一個資料表只能有一個 PRIMARY KEY 條件約束,並且任何加入 PRIMARY KEY 條件約束的資料行都不可接受 Null 值。因為 PRIMARY KEY 條件約束保證唯一的資料,它們通常...