方案-> | Midas | DCOM | com+ | แอสต้า | remoteobject | .สุทธิ |
提供者 | บอร์แลนด์ | 微软 | 微软 | http://www.astatech.com | http://www.remobjects.com | 微软 |
核心技术 | com | com | com | ASTA 自己的, 类同 midas, 但不依赖于 com | remobjects 自己的 webservice 技术, 不依赖于 com | เว็บเซอร์วิส |
开发工具 | Delphi7 | Delphi7 | Delphi7 | Delphi7 | Delphi7 | Visual Studio/Delphi8,9 |
与现有开发模式兼容程度 | (很不同的开发模式) | (支持 delphi 的 prvider/clientDataset) | ||||
部署容易程度 | (集成เซิร์ฟเวอร์ 、不需要类似 เซิร์ฟเวอร์ซ็อกเก็ต、 midas.dll 的东西) | (集成เซิร์ฟเวอร์ 、不需要类似 เซิร์ฟเวอร์ซ็อกเก็ต、 midas.dll 的东西) | ||||
可伸缩性 | (支持自带服务器, 或者使用 Apache/iis 等容器) | |||||
性能 (效率) | (二进制传输, 支持压缩) | (二进制传输, 支持压缩) | (文本的 xml 消息传输) | |||
消息传输格式 | 二进制 com 消息 | 二进制 com 消息 | 二进制 com 消息 | 二进制流 | 二进制流或文本的 XML SOAP 消息 | สบู่ xml 消息 |
源程序 | 不全 | 无 | 无 | 有 | 有 | 无 |
购买价格 | $ 0 | $ 0 | $ 0 | $ 299 - $ 7,500 | 299 ยูโร | $ 0 |
与 .net 集成 | 不可以 | 可以 | 可以 | 不可以 | 可以 (直接基于 webservice 并提供 .net 客户端开发包, 并可以使用二进制消息格式) | 可以 |
中间件跨平台 | 有可能 | 不可能 | 不可能 | 有可能 | 可以 (支持 kylix 开发, 支持 apache 做容器)) | 可能吧 |
总体评价 |
速度与效率测试:
测试项目 * | 计算 1,000 次 1+1 = 2 * | 传输 10,000 条 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 | 11,687 | 2478,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 |
SOAP RemoteObject2 TCP | 11,281 | 1673,000 | ||
RemoteObject3 http 二进制压缩压缩 | 11,625 | 504,000 | ||
RemoteObject3 http 二进制不压缩不压缩 | 10,593 | 501,000 | ||
สบู่ remoteObject3 http | 15,640 | 1108,000 | ||
RemoteObject3 TCP 二进制压缩 | 11,172 | 512,000 | ||
RemoteObject3 TCP 二进制不压缩 | 10,203 | 504,000 | ||
SOAP TCP RemoteObject3 TCP | 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: จำนวนเต็ม): จำนวนเต็ม;
เริ่ม
ผลลัพธ์: = A + B;
จบ;
其中 remoteObject 2、3 的测试程序直接用的它自带的 megademo 例子, 执行文件分别见测试包中的执行文件分别见测试包中的执行文件分别见测试包中的执行文件分别见测试包中的执行文件分别见测试包中的执行文件分别见测试包中的执行文件分别见测试包中的执行文件分别见测试包中的执行文件分别见测试包中的执行文件分别见测试包中的执行文件分别见测试包中的执行文件分别见测试包中的执行文件分别见测试包中的执行文件分别见测试包中的执行文件分别见测试包中的执行文件分别见测试包中的执行文件分别见测试包中的执行文件分别见测试包中的执行文件分别见测试包中的执行文件分别见测试包中的执行文件分别见测试包中的执行文件分别见测试包中的执行文件分别见测试包中的执行文件分别见测试包中的,, 执行文件分别见测试包中的执行文件分别见测试包中的执行文件分别见测试包中的执行文件分别见测试包中的 1 = 1 = 2/remobjects sdk 2” 和“ 1+1 = 2/remobjects sdk 3” 目录目录目录, 后者是试用版, 运行前需要先允许 delphi (不知道还有没有其它限制),, 测试时都是设置的使用 indy; midas 和 dcom 的测试是自己写的程序, 源程序和执行文件测试包源程序和执行文件测试包源程序和执行文件测试包源程序和执行文件测试包中的“ midas” 目录。