Delphi多层开发方案比较
看到别人写的内容收藏一下,原作者写的时间可能比较早,因为尚未加入CG的Datasnap的多层比较
方案->
|
Midas
|
DCOM
|
COM+
|
ASTA
|
RemoteObject
|
.NET
|
提供者
|
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 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
|
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
|
||
结果分析:
- 两层的效率当然是最高的;这样选择三层方案时就可以在伸缩性和性能之间做权衡,选择最优方案
- DCOM针对本机运算可能做过优化,太快了,传输的字节数也太少了
- Socket Connection的效率实在不敢恭维,比RemoteObject使用SOAP传输还低
- RemoteObject使用二进制传输的效率大概是使用SOAP的2-3倍
- RemoteObject使用二进制传输基本能达到甚至超过Socket Server的性能
- RemoteObject的压缩好像没什么用
- Asta性能比RemoteObject和Midas都高,但这个结果是设置了ADOQuery的CacheSize=1000时取得的,其它的测试都没有专门设置该属性
* 以上测试涉及文件都在附件中的测试包中;都是连接的本机(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”目录。
转载于:https://www.cnblogs.com/AndySong/archive/2009/06/06/1497686.html
Delphi多层开发方案比较相关推荐
- Delphi三层开发小技巧:TClientDataSet的Delta妙用
Delphi三层开发小技巧:TClientDataSet的Delta妙用 Delphi做三层开发时,很多人都会在客户端放一个TClientDataSet,中间层远程数据模块就对应放一个TDataSet ...
- EtherCAT伺服驱动器-如何选择硬件开发方案
EtherCAT伺服驱动器-如何选择硬件开发方案
- 前端工程化开发方案app-proto
什么是前端工程化?根据具体的业务特点,将前端的开发流程.技术.工具.经验等规范化.标准化就是前端工程化.它的目的是让前端开发能够"自成体系",最大程度地提高前端工程师的开发效率,降 ...
- 流言终结者- Flutter和RN谁才是更好的跨端开发方案?
背景 论坛上很多小伙伴关心为什么闲鱼选择了Flutter而不选择其他跨端方案?站在质量的角度,高性能是一个很重的因素,我们使用Flutter重写了宝贝详情页之后,对比了Flutter和Native详情 ...
- Web图形开发方案选型,SVG/VML/Flash/Applet优劣比较
Web图形开发方案选型,SVG/VML/Flash/Applet优劣比较 在Web 项目开发过程中,我们常常会使用到各类图形,如流程图,饼图,甘特图,散列图,趋势图等等.目前有很多种方法在网页上绘制图 ...
- Delphi 程序开发范例宝典(第2版)高清PDF下载 附光盘
Delphi 程序开发范例宝典(第2版)高清PDF下载 附光盘 转载于:https://www.cnblogs.com/gavinhughhu/archive/2010/10/29/1864092.h ...
- 千亿智慧照明市场背后,BLEMESH免开发方案成主流
随着智慧城市.智慧楼宇.智能家居等应用场景的落地,以及 LED 应用带来的变革,运用物联网.传感器.嵌入式等技术的智慧照明已成为当今主流智能解决方案之一.据前瞻产业研究院<智能照明行业分析报告& ...
- java nc接口开发_OA和NC系统集成接口开发方案.doc
OA与NC系统集成接口开发方案 目 录 目 录2 4 单点登录3 4.1 注册登录key访问接口3 4.2 访问NC-EHR业务功能3 5. 代办事项列表信息4 6 单一代办事项信息展示4 4 单点登 ...
- 【delphi】开发微信小程序后台控件(一)(含源代码、演示程序、控件使用帮助)
1. 前言 微信小程序已经非常普及,但是遗憾的是官方提供的 SDK 等没有Delphi语言的,这样使用Delphi语言开发微信小程序后台就相对比较困难,需要研究平台API,费时费力,特别是调试API很 ...
- 蓝牙运动手环app开发方案
所谓智能蓝牙手环app软件开发, 就是内置蓝牙操作系统.通过连接网络来实现多种功能的手环产品,蓝牙手环一般能同步手机中的电话.短信.邮件.照片.音乐等相关数据.其实早在1982年,日本精工就通过其收 ...
最新文章
- jmeter分析性能报告时的误区
- Hibernate事务处理
- shell 实现ip字符串与整形互转
- Android开发之设置listview分割线的颜色
- LeetCode 257. Binary Tree Paths (二叉树路径)
- SpringBoot项目读取json配置文件
- 网页版bpc电波对时_电波表对时软件下载-BPC(中国码)电波表对时模拟软件 20170308 官方版 - 河东下载站...
- Lakes.AERMOD.View.v8.9.0 1CD大气扩散模型软件包
- 分布式机器学习主要笔记
- mma7660(重力感应传感器)
- 恒生UFX接口引用计数心得
- CTS 使用instrumentation命令测试
- 编程常用英语单词(一)
- Postgresql - 监控 moniter - 监控日志
- t20171215a1BILL的账单
- 如何利用工具低成本构建华为云灾备方案?
- Rockland 血红蛋白 β A-2 抗体说明书
- N个数里面找出最大的k个数
- caffe模型训练与使用(windows平台)
- 一文读懂什么是反卷积