面向服务架构的集成方式研究

时间:2022-04-25 03:57:06

面向服务架构的集成方式研究

【摘要】 近年来为了实现企业信息系统整合,减少信息孤岛,基于SOAP/HTTP协议已经成为集成系统数据的一代新宠,随之而来的是SOA(面向服务架构)技术被广泛使用,然后基于SOA架构的SAAS(软件即服务)云架构诞生,SOA给企业信息化带来了新的发展前景。企业总线、数据交换是实现SOA集成必不可少的中间软件,它们之间的区别是实施系统集成项目的决策者关心的问题。本文将先通过介绍使用SOAP/HTTP协议直连方式说明SOA集成的原理,再分析企业总线和数据交换之间差异,使读者在读完本文后能了解在什么情况下使用什么样的集成方式。

【关键词】 SOA ESB SAAS 数据交换 集成

一、 直连方式

直连方式即提供SOA服务的系统直接WEBSERVICE服务,消费者不通过任何中间系统直接消费该服务

服务提供者与服务消费者之间做了2个接口,接口1将服务提供者系统table1中的字段field1和field2传输至服务消费者系统,分别写入table1的field1和table2的filed2中,接口2将服务提供者table2的字段filedA和table3的字段filedB填写至消费者系统的table3中。

服务提供者将自己的输出功能函数封装成webservice服务并以WSDL的形式注册在服务定义库(UDDI)中,服务消费者在服务描述库中获取该webservice的服务定义(XML格式),根据服务定义的内容找到相应的程序的服务,获取相应的数据。

直连方式是最简单的SOA的WEBSERVICE接口方式,服务提供者系统会将需要传输的数据通过封装程序打包用字符串(string)的形式生成XML语言的传输文本,通过SOAP协议传输至对端,服务消费者针对该接口的接收程序将该字符串拆开后存放至正确的表中。

安全性:由于总部ERP是在用生产环境,上面如果运行海量的接口会对其性能造成严重的影响,同时大量接口需要大量接口用户验证,极大地提升了总部生产系统的安全风险,可靠性:大量的封装程序和接收程序会给系统带来极大负载,完全无法实现同样业务的接口复用,而且所有接口还有日志记录需求,还会给总部ERP系统带来额外的I/O压力和海量日志数据。

易用性: 如果业务发生变动,需要对每个接口封装程序进行调整,工作成本巨大。

兼容性:不同系统对SOAP版本的支持不同,可能ERP系统只能提供SOAP1.1的协议,而基建管控只能接受SOAP1.2的协议,那么这两系统如果集成可能还需要进行系统升级,而且对于无法支持SOAP的系统完全无法集成。

直连模式无法解决不同系统兼容性的问题,所以无法实现业务自由集成的,而且直连接口带来的安全性,可靠性,易用性使得整个集成工作变成不可能完成的任务,因此直连模式最佳使用场合就是少数系统之间不存在兼容性问题的接口互联,所以直连模式根本无法称之为SOA的解决方式,但是我们可以通过直连方式了解实现SOA技术的内部原理。

可扩展性:基本没有可扩展性,

二、总线方式

总线方式是在SOA架构提出后,最早使用的使用中间系统集成SOA接口的方式,与直连相比,总线方式可以将所有系统出来的服务自己作为消费者接收其数据,然后自己WEBSERVICE服务,再将这些服务注册在自己的服务定义库。和直连方式一样,总线方式不会处理传输的数据,不过它可以实现协议的转换,例如将接收到的SOAP协议的数据转换成FTP或者JMS输出,或者将接收到的SOAP1.1的协议转换成SOAP1.2,而且企业服务总线对于消费者而言不仅支持HTTP/SOAP,还会提供多种协议支持,例如JDBC,JMS或者其它自定义的接口,消费者系统就算不支持HTTP/SOAP的传输方式也可以接收服务提供者发出的数据,同时也解决了消费者需求不同SOAP版本服务的问题,极大地解决的SOA兼容性的问题。

可靠性

由于总线环境不会进行任何数据转换,因此还是和直连一样,如图表3中,只有消费者需求的信息完全一样才可以达到接口复用的效果,如果消费者需要的信息稍有不同,必须针对其需求在服务端系统开发新的封装程序,如果面对大量的消费者,服务端所需要大量的封装程序,势必会对服务端性能造成极大影响,和直连场景一样,总线模式无法降低服务端的性能压力。总线方式可以记录信息转发的日志,但是由于数据封装程序和解析程序也都在服务端和消费端,一样没有办法记录任何数据交换的日志。

安全性

尽管总线场景可以改善直连的安全性问题,但是其用户授权验证方式还是针对接口本身的,因此还是存在对于同一系统的服务注册,还是需要分别对该系统的不同接口进行验证,因此也存在需要该系统提供多个账号分别注册不同的接口,这样不仅配置起来复杂,而且提供接口授权用户越多,系统的安全性风险越高。

易用性

如果服务端业务发生变动,也需要对每个接口封装程序进行调整,工作成本巨大。

使用总线方式,主要是解决了大型企业环境中系统集成的兼容性问题,使所有系统集成变成可能,还能解决一部分安全性的问题,这是最基本的SOA解决方案,而且由于技术实现门槛低容易实施,也是很多企业在尝试搭建SOA平台时最先考虑的方式,但是总线方式并不是真正的数据交换模式,对于目前大型企业所需要建立SAAS云的解决方案显得无力支持。

三、数据交换方式

数据交换方式是在提出基于SAAS云(软件即服务)的SOA架构后,为了实现该架构而产生的企业系统集成方式,其原理就如图表5一样,整个数据交换系统就像是云,服务消费者系统全在云端,而服务提供者则是云的载体,它与总线方式相比有着革命性的不同,具体表现在:

可靠性

由于数据交换方式是在中间交换平台处理接口逻辑,而服务消费者和接收者系统不需要处理任何转换逻辑,只负责输出业务数据和接受业务数据,而且服务提供者系统不需要针对每个接口编写输出程序,一个业务输出可能可以替代总线架构的多个接口输出,从而大大的降低了业务系统的运行压力。而且钻换逻辑在数据交换系统也意味着数据交换的日志也从业务系统转移至中间系统,从而实现数据交换日志集中存放,使集中监控变为可能,极大地提升了集成的可靠性。

安全性

由于数据交换方式对于系统是紧耦合方式集成,因此对于接口的集成是基于系统授权验证,而不是之前的对每个接口进行授权验证,服务提供者系统的验证用户也大大减少,这样可以极大减少业务系统的接口用户数量和验证次数,提升业务系统安全性,同时消费者系统的授权则由中间系统根据数据转换内容来控制,并提供多种加密协议,进一步保证了系统集成的安全性。

易用性

即使业务发生变化,只需要调整业务输出程序和数据交换平台的业务接收程序,不需要针对每个接口进行调整,容易实施。

使用数据交换方式是现今最流行,最先进的系统集成方式,它是要实现基于SAAS云的核心组件,但是由于前期投资费用巨大,而且对实施人员技术水准要求高,在中小企业为了降低成本往往还是会选择总线方式集成系统,但是对于存在大量应用系统的大型企和合超大型企业,前期大量的投入可以极大的降低后期的运维成本和风险。

四、结论

数据集成是现代企业信息化发展中不可避免的趋势,而本文中所提到的基于SOA的几种集成方式也可以看成SOA架构的发展方向,随着大型企业越来越多的集成需求,搭建SAAS云服务成为大势所趋,数据交换方式作为集成系统的中间平台无疑是最佳的选择,但是总线方式由于其低廉的实施成本和简单的实施方式也能占有一席之地。

本文对这几种方式进行了深入浅出的分析和比较,将这几种方式的优劣展现给读者,希望能为将要准备实施SOA系统集成项目的读者有所帮助。

上一篇:试论地方电视新闻宣传的大局意识 下一篇:浅析广播电视技术维护管理工作