Delphi多層開發方案比較

2022-07-21 05:39:14 字數 4265 閱讀 3631

看到別人寫的內容收藏一下,原作者寫的時間可能比較早,因為尚未加入cg的datasnap的多層比較

方案->

midas

dcom

com+

asta

remoteobject

.net

提供者

borland

微軟微軟

微軟

核心技術

com com

comasta自己的,類同midas,

但不依賴於com

remobjects自己的webservice技術,

不依賴於com

webservice

開發工具

delphi7

delphi7

delphi7

delphi7

delphi7

visual studio/delphi8,9

與現有開發模式相容程度

★★★★★

★★★★

★★★★

★★

(很不同的開發模式)

★★★★

(支援delphi的prvider/clientdataset)

部署容易程度

★★★ ★★

★★★★★

(整合server、不需要類似socket server、midas.dll的東西)

★★★★★

(整合server、不需要類似socket server、midas.dll的東西)

可伸縮性

★★★★

★★★★

★★★★★★

★★★★

★★★★★

(支援自帶伺服器,或者使用apache/iis等容器)

★★★★

效能(效率)

★★★ ★★★★

★★★★

★★★★★

(二進位制傳輸,支援壓縮)

★★★★

(二進位制傳輸,支援壓縮)

★★

(文字的xml訊息傳輸)

訊息傳輸格式

二進位制com訊息

二進位制com訊息

二進位制com訊息

二進位製流

二進位製流或文字的xml soap訊息

xml soap訊息

源程式

不全 無無有

有無

購買**

$0 $0

$0$299 - $7,500

eur 299

$0與.net整合

不可以 可以

可以不可以

可以

(直接基於webservice並提供.net客戶端開發包,並可以使用二進位制訊息格式)

可以中介軟體跨平台

有可能 不可能

不可能有可能

可以

(支援kylix開發,支援apache做容器)

可能吧總體評價

★★★ ★★

★★★★★

★★★★★

★★速度與效率測試

測試專案 *

計算1000次1+1=2 *

傳輸10000條100位元組記錄 *

所花時間(ms) *

傳輸位元組數 *

所花時間

傳輸位元組數

midas (socket connection)26,047

366,000

2,359

1047,000

midas (dcom connection)812

933

2,047

1047,000

ado直連資料庫 (兩層)

297

1046,000

asta 3 壓縮

1,578

1100,000

remoteobject2 http 二進位制 壓縮8,641

791,000

2,515

1048,000

remoteobject2 http 二進位制 不壓縮7,765

remoteobject2 tcp 二進位制 壓縮8,406

512,000

2,422

1049,000

remoteobject2 tcp 二進位制 不壓縮6,547

504,000

2,484

1563,000

remoteobject2 tcp soap11,281

1673,000

remoteobject3 http 二進位制 壓縮11,625

504,000

remoteobject3 http 二進位制 不壓縮10,593

remoteobject3 tcp 二進位制 壓縮11,172

512,000

remoteobject3 tcp 二進位制 不壓縮10,203

504,000

remoteobject3 tcp soap15,547

1712,000

結果分析:

* 以上測試涉及檔案都在附件中的測試包中;都是連線的本機(localhost);空白的是沒有做測試的

* 傳輸位元組數測量都是用的commview 4.1 ip包檢測捕獲軟體,監測「loopback」(127.0.0.1)裝置;commview軟體安裝見測試包的tools目錄;位元組數包括實際傳輸的數 據和ip握手資訊等,如果大於10k,則只保留到千位,可能每次測量會有一點點區別。

* 測試所花時間時commview停止捕獲ip包,測試3次左右,取中間值

* 測試計算1000次1+1=2:

中間都是實現類似以下方法:

function sum(a, b: integer): integer;

begin

result := a + b;

end;

其 中remoteobject 2、3的測試程式直接用的它自帶的megademo例子,執行檔案分別見測試包中的「1+1=2\remobjects sdk 2」和「1+1=2\remobjects sdk 3」目錄,後者是試用版,執行前需要先允許delphi(不知道還有沒有其它限制),測試時都是設定的使用indy;midas和dcom的測試是自己寫的程式,源程式和執行檔案測試包中的「midas」目錄。

Delphi多層開發方案比較

方案 midas dcom com asta remoteobject net 提供者 borland 微軟 微軟 http www.remobjects.com 微軟 核心技術 comcom com asta自己的,類同midas,但不依賴於com remobjects自己的webservice技...

博摘 Delphi多層開發方案比較

摘自 qdyoung 的 blog 方案 midas dcom com asta remoteobject net 提供者 borland 微軟 微軟 http www.remobjects.com 微軟 核心技術 comcom com asta自己的,類同midas,但不依賴於com remobj...

使用delphi 開發多層應用(十)安全訪問伺服器

前面講了如何建立和訪問伺服器,但是前面建的伺服器都沒有安全控制,這裡有很大的安全問題,第一是任何人做乙個客戶端都可以都可以訪問 伺服器。第二是資料在網路傳輸過程中都是明碼的,沒有加密,使用網路偵聽器就可以檢測到傳輸的內容。這是乙個標準的系統不允許的,今天就 講一下如何安全的訪問伺服器.首先我們需要使...