欢迎来到天天文库
浏览记录
ID:44182640
大小:87.19 KB
页数:3页
时间:2019-10-19
《几种项目间数据交互方式》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、几种项目间数据交互方式不同的系统之间进行数据交互是可避免的,总的说来,可以总结为向第三方系统推送数据或从服务器拉回数据两种,下面我列举几种常见的系统间数据交互方式,并给出架构设计时应考虑的因素。一、 ftp服务器共享方式。即建立一个ftp服务器,为不同的系统分配账号、密码、目录的操作权限等,要交换数据的两个系统要约定好数据格式(比如:xml文件,excel文件,csv文件等)、文件命名方式、存放路径等规则等。交互时,一个系统按约定的时间将数据写入ftp目录中,另一个系统定期取走并进行相应的业务操作。这种方式在电信、移动中项目用得比较多,特别是sp。交互示意图如下:
2、ftp数据交换示意图二、 socket通讯服务器方式。要传送数据的双方建立socket连接后再传送数据,数据格式自行约定,并对传输的数据进行加密,这种方式在银行系统中用得比较多(c、c++写的核心)。交互示意图如下:socket数据交换示意图 三、 webservice方式。这种方式不再做过多描述,具体请参阅我的《webservice之cxf实现》,《webservice架构设计》博文。这种方式在互联网上用得多一些。webservice数据交换示意图四、 远程rmi(如OMGCORBA)方式。以前我在delphi中实现过(怀念李维的时代,呵呵),j2se中
3、也有相应的支持,这种方式相对来说比较复杂。如果同为java系统可用jndi方式,ejb也是一种方式。五、 远程url地址方式。这种方式在互联网上用得很多,比如:facebook,豆瓣的api,支付宝在线支持数据交互等等,早期DWR的web远程调用本质上也属于这种。当然,webservice说到底也是这种方式,只不过数据的xml打包和解包过程由程序按照规范自动完成。交互示意图如下:url调用方式数据交换示意图这种暴露url地址方式的数据传输格式可以是xml、json或自定义text格式,也可以在请求参数中直接协带一个一个需要的数据。要注意的是,如果在客户浏览器中解析
4、第三方服务器的json数据会有跨域安全访问问题(无论js还是fash、flex都一样),还好,jQuery中有相应的函数封装。总之,无论采用哪种方式,你在为实际项目做架构原型的时候,下面几个因素都要考虑周全。一、 简单。交互的设计要简单,这对调用双方都有好处。二、 安全性。如何保证数据在交互过程中的安全性是一个点。三、 性能。在选择的时候,要考虑数据量的大小,以决定一种合适的方式(比如:一次调用请求的数据量,请求调用的频率)。四、 最后,要考虑重复数据的处理,特别是在其它系统将数据推入的情况,对于推入的数据,要做好处理日志,以备后查。
此文档下载收益归作者所有