您的位置:首页 > 其它

什么是DataSnap

2013-11-07 10:11 218 查看
from http://blog.csdn.net/shuaihj/article/details/6128661

DataSnap起源于MIDAS:

作为MIDAS起始于Delphi3,Delphi4是MIDAS II,Delphi5中是MIDASIII,而后基于COM远程数据模块方式使用TCP/IP,HTTP,(D)COM构建出强大的通讯能力.
从Delphi6开始改名为DataSnap,直到D2007这个框架一直在使用.
D2009重新架构了DataSnap—移除COM依赖,使用TCP/IP以更轻量级的方式生成远程服务对象和客户端连接能力.同时提供了与Delphi Prism2009开发的.NET程序通讯的功能.
Delphi2010中构建于D2009架构之上,并对此架构做了进一步的扩展,包括使用两个向导来创建新的部署目标(VCL窗体,Window服务,控制台及面向Web的ISAPI,CGI或Web App Debugger).HTTP(S)传输协议,HTTP验证,客户端回调函数,REST和JSON的支持,及使用过滤器来支持压缩和解压缩.

从DELPHI2009开始,DATASNAP技术上完全是全新的架构,多层架构不再基于微软的COM,摆脱COM就等于摆脱了WINDOWS的束缚。

TCP/IP通信不再需要先开启scktsrvr.exe程序,相信吃过scktsrvr.exe苦头的人不少,比如多核CPU环境容易挂掉(在DELPHI7的时代,多核CPU的电脑还不流行,当时根本没有考虑到多核的问题)、支持客户端数量非常有限。。。。。。虽然scktsrvr.exe后来随着DELPHI新版本而推出的新版本逐步地修正了比如多核CPU环境容易挂掉等一些BUG,但这也只是易博龙为了照顾原来一些软件厂商基于老的MIDAS构建的多层系统的维护。如果你要开发全新的中间件,那么建议不要使用scktsrvr.exe程序进行TCP/IP通信。

 

全新的DATASNAP,只需要一个中间件,既可以开发普通的TCP/IP通信,DATASETPROVIDER返回OLEVARIANT格式的数据集,如果客户端也用DELPHI开发,使用这种方式可能效能是最高的;又可以开发HTTP+JSON格式的REST WEBSERVICES,使用这种方式,LINUX、WINDOWS、MAC多种操作系统;IPHONE、IPAD、ANDROID多种移动设备都可以调用中间件提供的服务。可能有些人以为,一个DATASNAP中间件只能选择一种方式,即如果使用普通的TCP/IP方式就不能同时支持REST,如果使用REST就不能同时支持普通的TCP/IP方式。其实这完全是一种误解。只需要开发一个中间件,这些方式就能够全部同时得到支持。这就是综合而强大的DATASNAP中间件。

 

DATASNAP的中间件的发布,既可以作成普通的EXE程序也可以是ISAPI程序。

 

传统的SOAP+XML的WEBSERVICES仍然一如既往地被得到支持。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: