- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
______________________________________________________________________________________________________________
几种项目间数据交互方式
不同的系统之间进行数据交互是可避免的, 总的说来,可以总结为向第三方系统
推送数据或从服务器拉回数据两种, 下面我列举几种常见的系统间数据交互方式,
并给出架构设计时应考虑的因素。
一、 ftp 服务器共享方式。 即建立一个 ftp 服务器,为不同的系统分配账
号、密码、目录的操作权限等, 要交换数据的两个系统要约定好数据格式 (比如:
xml 文件, excel 文件, csv 文件等)、文件命名方式、存放路径等规则等。交
互时,一个系统按约定的时间将数据写入 ftp 目录中,另一个系统定期取走并进
行相应的业务操作。这种方式在电信、移动中项目用得比较多,特别是 sp 。交
互示意图如下:
ftp 数据交换示意图
精品资料
______________________________________________________________________________________________________________
二、 socket 通讯服务器方式。 要传送数据的双方建立 socket 连接后再传
送数据,数据格式自行约定, 并对传输的数据进行加密, 这种方式在银行系统中
用得比较多( c、c++写的核心)。交互示意图如下:
socket 数据交换示意图
三、 webservice 方式。 这种方式不再做过多描述,具体请参阅我的
webservice 之 cxf 实现》,《 webservice 架构设计》博文。这种方式在互联网上用得多一些。
精品资料
______________________________________________________________________________________________________________
webservice 数据交换示意图
四、 远程 rmi(如 OMG CORBA )方式。以前我在 delphi 中实现过(怀
念李维的时代,呵呵), j2se 中也有相应的支持,这种方式相对来说比较复杂。
如果同为 java 系统可用 jndi 方式, ejb 也是一种方式。
五、 远程 url 地址方式。这种方式在互联网上用得很多, 比如:facebook ,
豆瓣的 api,支付宝在线支持数据交互等等,早期 DWR 的 web 远程调用本质上
也属于这种。当然, webservice 说到底也是这种方式,只不过数据的 xml 打包
和解包过程由程序按照规范自动完成。交互示意图如下:
精品资料
______________________________________________________________________________________________________________
url 调用方式数据交换示意图
这种暴露 url 地址方式的数据传输格式可以是 xml 、 json 或自定义 text 格式,也
可以在请求参数中直接协带一个一个需要的数据。 要注意的是,如果在客户浏览
器中解析第三方服务器的 json 数据会有跨域安全访问问题(无论 js 还是 fash 、
flex 都一样),还好, jQuery 中有相应的函数封装。
总之,无论采用哪种方式, 你在为实际项目做架构原型的时候, 下面几个因素都
要考虑周全。
一、 简单。交互的设计要简单,这对调用双方都有好处。
二、 安全性。如何保证数据在交互过程中的安全性是一个点。
三、 性能。在选择的时候,要考虑数据量的大小,以决定一种合适的方
式(比如:一次调用请求的数据量,请求调用的频率)。
四、 最后,要考虑重复数据的处理,特别是在其它系统将数据推入的情
况,对于推入的数据,要做好处理日志,以备后查。
精品资料
______________________________________________________________________________________________________________
Welcome To
Download !!!
欢迎您的下载,资料仅供参考!
精品资料
文档评论(0)