| 方案-> | 米达斯 | DCOM | com+ | asta | RemoteObject | 。网 |
| 提供者 | Borland | 微软 | 微软 | http://www.astatech.com | http://www.remobjects.com | 微软 |
| 核心技术 | com | com | com | asta自己的,类同 但不依赖于com | remobjects自己的WEBS服务技术, 不依赖于com | Web服务 |
| 开发工具 | Delphi7 | Delphi7 | Delphi7 | Delphi7 | Delphi7 | Visual Studio/Delphi8,9 |
| 与现有开发模式兼容程度 | ★★★★★ | ★★★★ | ★★★★ | ★★ (很不同的开发模式) | ★★★★ (支持delphi的prvider/clientdataset) | ★ |
| 部署容易程度 | ★★★ | ★★ | ★ | ★★★★ (集成服务器、不需要类似插座服务器,midas.dll的东西) | ★★★★★ (集成服务器、不需要类似插座服务器,midas.dll的东西) | ★ |
| 可伸缩性 | ★★★★ | ★★★★ | ★★★★★★ | ★★★★ | ★★★★★ (支持自带服务器,或者使用apache/iis等容器) | ★★★★ |
| 性能(效率) | ★★★ | ★★★★ | ★★★★ | ★★★★★ (二进制传输,支持压缩) | ★★★★ (二进制传输,支持压缩) | ★★ (文本的xml消息传输) |
| 消息传输格式 | 二进制com消息 | 二进制com消息 | 二进制com消息 | 二进制流 | 二进制流或文本的XML肥皂消息 | XML肥皂消息 |
| 源程序 | 不全 | 无 | 无 | 有 | 有 | 无 |
| 购买价格 | $ 0 | $ 0 | $ 0 | $ 299- $ 7,500 | 299欧元 | $ 0 |
| 与.net集成 | 不可以 | 可以 | 可以 | 不可以 | 可以 (直接基于WEBS服务并提供.NET客户端开发包,并可以使用二进制消息格式) | 可以 |
| 中间件跨平台 | 有可能 | 不可能 | 不可能 | 有可能 | 可以 (支持 kylix开发,支持(Apache)(Apache)) | 可能吧 |
| 总体评价 | ★★★ | ★★ | ★ | ★★★★ | ★★★★★ | ★★ |
速度与效率测试:
| 测试项目 * | 计算1000次1+1 = 2 * | 传输10000条100字节记录 * * | ||
| 所花时间(MS) * | 传输字节数 * | 所花时间 | 传输字节数 | |
| MIDAS(插座连接) | 26,047 | 366,000 | 2,359 | 1047,000 |
| MIDAS(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 |
| 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 SOAP | 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 SOAP | 15,547 | 1712,000 | ||
结果分析:
* 以上测试涉及文件都在附件中的测试包中;都是连接的本机(Localhost);空白的是没有做测试的
*传输字节数测量都是用的commview 4.1 ip包检测捕获软件,监测“ loopback”(127.0.0.1)设备; commview软件安装见测试包的工具目录;字节数包括实际传输的数据和 ip握手信息等,如果大于,10k,则只保留到千位,可能每次测量会有一点点区别。,可能每次测量会有一点点区别。
*测试所花时间时commview停止捕获ip包,测试3,取中间值,取中间值
*测试计算1000次1+1 = 2:
中间都是实现类似以下方法:
函数总和(a,b:integer):整数;
开始
结果:= a + b;
结尾;
其中远程对象2、3的测试程序直接用的它自带的MEGADEMO例子,“ 1+1 = 2/remobjects sdk 2”和“ 1+1 = 2/remobjects sdk 3”目录,后者是试用版,运行前需要先允许(不知道还有没有其它限制),测试时都是设置的使用indy; midas和dcom的测试是自己写的程序,源程序和执行文件测试包中的“ Midas”目录。