杨荣芳
(92493部队98分队,辽宁葫芦岛,125001)
伴随着软件开发方法与技术的不断成熟应用,计算机应用软件变得异常的复杂,由于不同软件平台和工具的运用,加上不同的语言、操作系统和软件结构体系的紧密耦合,导致了不同的软件成了“信息孤岛”。当前,选择合适的集成平台整合企业内部信息系统,有机集成“信息孤岛”显得非常必要。
SOA在本质上可以看做是服务的集合,不同的服务间彼此简单的数据传送或协调某些活动。而且不同的服务之间需要某些方法进行连接。其实,SOA不能说是现成的技术,应该看成是一种IT基础结构、业务功能架构和组织的方法。
SOA由服务请求者,服务提供者和服务注册中心三个部分组成,这也是SOA的主要结构基础。三个主要部分按照“发布、查找、绑定和触发”的机制运行,下图1展示了SOA的基本组成关系。
1)服务请求者:可以是应用程序或者是软件模块,同样也可以是嵌套的服务请求。服务的请求者会向注册中心发出一次服务的查询请求,然后通过传输绑定服务,最后执行服务功能。
2)服务提供者:可以是借助于网络寻址的一个实体对象,专门用来接受、执行那些来自服务请求者的各种服务请求。服务提供者会将自身的服务与接口契约提前向到服务注册中心发布,这样,一旦有服务请求者发出服务请求的时候就能够发现和访问该项服务。
3)服务注册中心:支持和发现服务请求者提出服务请求的。服务注册中心存储着所有的可用服务,同时注册中心还允许所有服务请求者发出的查找服务提供者接口的请求。
服务是SOA的关键,SOA能够借助发布的方法实现即插即用的服务。也就是说潜在的服务请求用户发出查询服务请求的时候,查询服务的提供者能够向这些用户提供查询服务的描述,请求与服务相互结合,也使得各种查询服务工作更加的便捷。SOA中的服务有功能性服务和质量保证服务两种类型,图2是这两种服务分类的具体情况:
SOA的主要目的是为了帮助企业实现IT资源的最大化利用率,实现各种系统间的有效集成,SOA有以下几个主要的特征:
1)外部访问。外部的伙伴能够访问并使用服务。
2)服务随时可用。SOA会对所有的服务请求者提供积极的响应,当前大多数的SOA集成系统帮助企业的门户应用系统,为各系统之间的同步应用和异步应用提供及时的服务回应。
3)服务接口粗粒度。SOA采用粗粒度的服务接口使得服务的使用者和服务层之间一次往复就能实现,避免了以往的多次往复。而且从事务角度来看,向后台服务发送大块数据,借助于粗粒度的请求是获得及时反馈的唯一有效途径。
4)耦合度松散。明显区别与大多数的组件架构,SOA具备松散耦合组件服务的特点,这个特性也帮助服务的使用者和提供者在服务实现的过程中相互隔离,使得服务的接口能成为服务实现而分离的实体。
下面简单介绍下SOA的优势:首先,SOA使得编码非常的灵活,实现了基于模块化的低层服务,还能借助不同组合实现高层服务,这样也保证了SOA可以实现代码的重用和编码的灵活性;其次,SOA还能够支持多种客户类型,SOA能够借助于精确的服务接口定义,支持XML、web服务标准,使得SOA可以支持包括PDA、手机等多种客户类型的新型访问渠道;SOA更易维护,这是因为查询请求服务的提供者和使用者之间的耦合关系送上,再加上采用了开放的标准;SOA具备更好的伸缩性,SOA在请求服务设计、开发和部署过程当中都采用的是可伸缩性的架构模型,这样请求服务的提供者能够彼此独立,并且还能积极响应满足服务需求;最后,SOA还具备更高的可用性,服务的请求者无需了解具体的实现细节,就能在WebLogic集群环境中灵活部署,并且能够将服务请求者的请求转接到可用例程。
SOA应用集成框架具备灵活和开放性等特点,能够整合Web Services技术,借助面向服务的集成实现抽象的接口,保证了用户在发送服务请求的同时无需了解底层的实现细节和协议接口等信息,交互式访问系统,其集成框架如图3所示。
图1 SOA基本组成结构图
图2 SOA服务分类情况
图3 基于SOA的应用集成框架
SOA具体的实现有很多,但随着Web Service技术被越来越重视, 其已经成为构建SOA的主要技术。它使用基于XML的消息处理作为基本的数据通讯格式,使用SOAP协议在服务提供者与服务使用者之间进行通信,这样就避免了传统的集成系统在组件类型、编程语言和操作系统方面的差异性带来的问题,保证了各种不同系统间在借助网络通讯实现协同运作。
Web服务由 SOAP、WSDL和UDDI等技术组成,每项SOA服务都有一个与之相关的服务品质QoS。QoS的一些关键元素包括安全需求、可靠通信、以及谁能调用服务的策略。
Web Services的接口定义了接口中所需要的每个方法,并且下属部门的协议伙伴都会按照Web Services去实现这些接口方法,在这里仅给出三个非常重要的接口函数, 如 getSupplierDetails()、getProductDetails()、reserveOrder(),其中getSupplierDetails ()的功能是为了获取协议伙伴的详细信息,getProductDetails()是获取的详细信息,reserveOrder()的功能是下订单。
通过上文的解析运用,基于SOA系统集成方法能够解决好当前集团内部“信息孤岛”问题,非常有效的集成了现有系统,而且基于SOA的系统集成方法耦合低,非常的灵活和安全,满足了不分布式的需求,而且还易于跨平台和扩展。
[1]王益祥、薛霄.基于SOA架构下的企业应用集成技术研究[J].控制管理,2010(26).64-65.
[2]Thoms Er.Service-Oriented Architecture Concepts,Technology and Design[M].北京:机械工业出版社,2007:78-79.
[3]毛新生.SOA原理方法实践[M]北京:电子工业出版社,2007:54-55.
[4]张倩.基于SOA架构的企业应用集成的设计和实现[D].北京交通大学,2008.
[5]卢致杰,覃正,韩景倜等.SOA体系设计方法研究.工业工程,2004,7(6):14-19