方案-> | Midas | Dcom | Com+ | Asta | RemoteObject | .NETTO |
提供者 | Borland | 微软 | 微软 | http://www.astatech.com | http://www.remobjects.com | 微软 |
核心技术 | Com | Com | Com | Asta 自己的 , 类同 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 -Seife 消息 | XML -Seife 消息 |
源程序 | 不全 | 无 | 无 | 有 | 有 | 无 |
购买价格 | $ 0 | $ 0 | $ 0 | $ 299 - $ 7.500 | EUR 299 | $ 0 |
与 .net 集成 | 不可以 | 可以 | 可以 | 不可以 | 可以 (直接基于 Webservice 并提供 .NET 客户端开发包 , 并可以使用二进制消息格式) | 可以 |
中间件跨平台 | 有可能 | 不可能 | 不可能 | 有可能 | 可以 (支持 Kylix 开发 , 支持 Apache 做容器) | 可能吧 |
总体评价 | ★★★ | ★★ | ★ | ★★★★ | ★★★★★ | ★★ |
速度与效率测试:
测试项目 * | 计算 1000 次 1+1 = 2 * | 传输 10000 条 100 字节记录 * | ||
所花时间 (ms) * | 传输字节数 * | 所花时间 | 传输字节数 | |
Midas (Sockelverbindung) | 26.047 | 366.000 | 2.359 | 1047.000 |
Midas (DCOM -Verbindung) | 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 | 783.000 | 2.391 | 1049.000 |
RemoteObject2 HTTP -SOAP | 11.687 | 1935.000 | 3,110 | 1052.000 |
RemoteObject2 TCP 二进制 压缩 | 8,406 | 512.000 | 2,422 | 1049.000 |
RemoteObject2 TCP 二进制 不压缩 | 6,547 | 504.000 | 2.484 | 1563.000 |
RemoteObject2 TCP -Seife | 11.281 | 1673.000 | ||
RemoteObject3 http 二进制 压缩 | 11.625 | 504.000 | ||
RemoteObject3 http 二进制 不压缩 | 10.593 | 501.000 | ||
RemoteObject3 HTTP -SOAP | 15.640 | 1108.000 | ||
RemoteObject3 TCP 二进制 压缩 | 11,172 | 512.000 | ||
RemoteObject3 TCP 二进制 不压缩 | 10.203 | 504.000 | ||
RemoteObject3 TCP -Seife | 15.547 | 1712.000 | ||
结果分析 :
* 以上测试涉及文件都在附件中的测试包中;都是连接的本机 (localhost) ;空白的是没有做测试的
* 传输字节数测量都是用的 CommView 4.1 IP 包检测捕获软件 , 监测 监测 „Loopback“ (127.0.0.1) 设备; Commview 软件安装见测试包的 Tools 目录;字节数包括实际传输的数据和 IP 握手信息等 , 如果大于 10k , 则只保留到千位 , 可能每次测量会有一点点区别。 可能每次测量会有一点点区别。
* 测试所花时间时 Commview 停止捕获 ip 包 , 测试 3 次左右 , 取中间值
* 测试计算 1000 次 1+1 = 2:
中间都是实现类似以下方法 :
Funktionssumme (a, b: Ganzzahl): Ganzzahl;
beginnen
Ergebnis: = a + b;
Ende;
其中 RemoteObject 2、3 的测试程序直接用的它自带的 Megademo 例子 , 执行文件分别见测试包中的 执行文件分别见测试包中的 执行文件分别见测试包中的 执行文件分别见测试包中的 “1+1 = 2/remObjects sdk 2” 和 “1+1 = 2/remObjects sdk 3” 目录 目录, 后者是试用版 , 运行前需要先允许 Delphi (不知道还有没有其它限制) , 测试时都是设置的使用 Indy ; Midas 和 dcom 的测试是自己写的程序 , 源程序和执行文件测试包 源程序和执行文件测试包中的 "Midas" 目录。 目录。