| 方案 -> | Midas | Dcom | Com + | Asta | Doterobject | .FILET |
| 提供者 | Borland | 微软 | 微软 | http://www.astatech.com | http://www.remobjects.com | 微软 |
| 核心技术 | Com | Com | Com | Asta 自己的 , 类同 midas , 但不依赖于 com | Remobjects 自己的 Webservice 技术 , 不依赖于 com | Websservice |
| 开发工具 | 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 消息 | 二进制流 | 二进制流或文本的 Soap XML 消息 | Savon XML 消息 |
| 源程序 | 不全 | 无 | 无 | 有 | 有 | 无 |
| 购买价格 | 0 $ | 0 $ | 0 $ | 299 $ 7 500 $ | 299 EUR | 0 $ |
| 与 .net 集成 | 不可以 | 可以 | 可以 | 不可以 | 可以 (直接基于 webService 并提供 .net 客户端开发包 , 并可以使用二进制消息格式) | 可以 |
| 中间件跨平台 | 有可能 | 不可能 | 不可能 | 有可能 | 可以 (支持 Kylix 开发 , 支持 Apache 做容器)) | 可能吧 |
| 总体评价 | ★★★ | ★★ | ★ | ★★★★ | ★★★★★ | ★★ |
:
| 测试项目 * | 计算 1000 次 1 + 1 = 2 * | 传输 10000 条 100 字节记录 * | ||
| 所花时间 (ms) * | 传输字节数 * | 所花时间 | 传输字节数 | |
| Midas (connexion à socket) | 26 047 | 366 000 | 2 359 | 1047 000 |
| Midas (connexion DCOM) | 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 |
| Savon HTTP RemoteObject2 | 11 687 | 1935 000 | 3110 | 1052 000 |
| RemoteObject2 TCP 二进制 压缩 | 8 406 | 512 000 | 2 422 | 1049 000 |
| RemoteObject2 TCP 二进制 不压缩 | 6 547 | 504 000 | 2 484 | 1563 000 |
| Savon TCP RemoteObject2 | 11 281 | 1673 000 | ||
| RemoteObject3 http 二进制 压缩 | 11 625 | 504 000 | ||
| RemoteObject3 http 二进制 不压缩 | 10 593 | 501 000 | ||
| Savon HTTP RemoteObject3 | 15 640 | 1108 000 | ||
| RemoteObject3 TCP 二进制 压缩 | 11 172 | 512 000 | ||
| RemoteObject3 TCP 二进制 不压缩 | 10 203 | 504 000 | ||
| Savon TCP RemoteObject3 | 15 547 | 1712 000 | ||
:
* 以上测试涉及文件都在附件中的测试包中;都是连接的本机 (localhost) ;空白的是没有做测试的
* 传输字节数测量都是用的 Commview 4.1 IP 包检测捕获软件 , 监测 监测 监测 监测 监测 监测 监测 监测 监测 监测 监测 监测 监测 监测 监测 目录;字节数包括实际传输的数据和 目录;字节数包括实际传输的数据和 outils 目录;字节数包括实际传输的数据和 ip 握手信息等 , 如果大于 10K , 则只保留到千位 , 可能每次测量会有一点点区别。
* 测试所花时间时 Commview 停止捕获 ip 包 , 测试 3 次左右 , 取中间值
* 测试计算 1000 次 1 + 1 = 2:
:
Sum de fonction (a, b: entier): entier;
commencer
Résultat: = a + b;
fin;
其中 RemoteObject 2、3 的测试程序直接用的它自带的 Megademo 例子 , 执行文件分别见测试包中的 “1 + 1 = 2 / Remobjects Sdk 2” 和 “1 + 1 = 2 / Remobjects Sdk 3” 目录, 后者是试用版 , 运行前需要先允许 Delphi (不知道还有没有其它限制) , 测试时都是设置的使用 Indy ; midas 和 dcom 的测试是自己写的程序 , 源程序和执行文件测试包中的 «Midas» 目录。