数据交换的技术对比
发布日期:2011-9-9 信息来源:http://www.chysoft.net

 数据交换主要解决多个异构系统数据的访问与传输,企业中一般存在多个应用系统,而这些应用系统有可能是在不同的时期、由不同的软件厂商提供的。如果系统之间有关联,那么系统之间存在通讯和数据交换。本篇就数据交换的技术进行分析对比,在技术的层面对数据交换进行描述,主要是面向企业的信息与技术部门用户读者。

 
名称
Webservice
activeMQ
备注
技术部分
基于协议实现
基于SOAP协议
基于JMS协议
 
发起请求
获取到远端service的proxy后直接调用。
遵循JMS API发起请求
 
将请求转化为符合协议的格式
将请求信息转化为遵循SOAP协议的XML格式,由框架转化为流进行传输。
2进制流
 
传输协议
 Http协议。
支持多种传输协议,例如tcp/ip、udp、http等等
 
应端基于什么机制来接收请求
监听Http请求。
监听符合协议的端口。
 
怎么将流还原为传输格式
根据SOAP协议进行还原。
2进制流
 
处理完毕后怎么回应
返回结果写入XML中,由框架返回至调用端。
 遵循JMS API生成消息,并写入JMS Queue中。
 
应用开发
与.net或其他平台交互
能直接与其他应用平台进行交互,交互的平台必须同时实现webservice。
Active MQ解决方案基于Axis提供的JMS(由Java编写而成)和“插件式协议”特性(由.NET编写而成),因此,它并不是以真正的.NET定制通道方式包装的,这就需要更多的定制编程。
 
开发服务器端口
不需要另外开放
需要开放与activemq相关的端口
 
通讯及平台
同步通讯,各个系统是用完全不同的实现技术平台的系统。对高负载,响应速度不是要求很高的情况下采用。
支持异步通讯,在同是java平台下性能上比webservice高。
 
个人观点
Webservice与activemq(jms)是两种截然不同的技术,实现数据交换平台各有各的优缺点。Web Service所使用的是Internet上统一、开放的标准,如HTTP、XML、SOAP(简单对象访问协议)、WSDL等,所以Web Service可以在任何支持这些标准的环境(Windows,Linux)中使用。但,WebService实现起来要容易,但是效率比较低,尤其是传输量比较大的时候。不过,我们在传输量大的时候已经使用前置机模式,这点可以暂时先不考虑。 activemq(jms)在Java系统之间,可以认为是首选。虽然,他也可以实现类似webservice 通过http协议来进行传输,但如果你只是简单实用JMS,如果没有定义一个通用的消息结构,很难做实现一个通用的业务集成的,这样的传输效率与webservice又相同了。
综上所述: WebService 应是首选,便于后续开发人员理解及后续子系统之间的集成。

粤ICP备11095012号-1
Copyright 2005-2017 深圳市承元软件技术有限公司