APP下载

基于SOA的企业应用集成研究

2013-05-07余浩洋

科学导报·学术论坛 2013年2期

余浩洋

【摘要】通过深入分析传统企业应用集成(EAI)不足与优势,将SOA引入到EAI领域,介绍了面向服务架构的基本概念,并讨论了相关的支撑技术,提出了采用SOA模型的企业应用集成架构,提出了Web服务集成实现模型,为用户提供一个灵活、跨平台、松耦合、可扩展的基础集成服务平台。证了应用系统在集成平台中仍保持原先的安全稳定性。

【关键词】面向服务架构;企业应用集成;Web服务;服务模型

引言

随着分布式技术的广泛应用和软件开发方法研究的不断深入,基于各种开发工具和平台所构建的软件系统得到广泛应用,使得企业软件系统日益庞大和复杂。而且,由于传统软件开发使用的开发语言、开发平台、操作系统、开发工具在结构上的紧耦合,导致一些部署在不同地域,不同平台上分散的独立系统逐渐形成了所谓的“信息孤岛”。这就导致迫切需要一种全新的应用系统集成方式将企业内部的不同应用系统集成在一起,以达到企业所希望的IT资源整合的目的。

为了更好地重用已有模块、加快软件开发和缩小平台环境的差异,且使被重用的模块可以顺利地由旧系统纳入新系统,一种面向服务的体系结构SOA(Service Oriented Architecture)的软件设计方法被提了出来。

一、面向服务架构

(一)SOA服务模型

面向服务的体系架构中共有3种角色,分别是服务请求者、服务提供者和服务注册中心。它们是构成SOA的基础,遵循“发布、查找、绑定和触发”原则,其中,服务请求者通过查询服务注册中心来查找与其标准匹配的服务,从而执行动态服务定位。

服务请求者:是需要使用服务的应用程序或其他的服务。它发起对服务注册中心的服务的查询,根据接口说明信息并使用服务绑定与某种传输协议并执行服务功能。

服务提供者:是一个可通过网络寻址,能创建服务的实体。可以从服务请求者处接受请求并远程执行所请求服务。通过向注册中心发布服务接口信息,以提供服务请求者发现和访问服务。

服务注册中心:处于中心位置提供了展示服务的功能,包含一个可用服务的存储库。服务消费者通过查询存储有服务信息库的注册中心以找到感兴趣服务的接口信息。

(二)SOA特点与优势

(1)粗粒度、松耦合。通过一组有效设计和组合的粗粒度服务,开发人员能够有效地组合出新的业务流程和应用程序。松耦合可以使服务请求者和服务提供者在服务实现和客户如何使用服务方面隔离开来。

(2)编码灵活性。可采用不同组合方式创建高层服务、基于模块化的低层服务,从而实现重用,体现了编码的灵活性。此外,由于服务请求者不能直接访问服务提供者,这种服务实现方式本身也体现了灵活性。

(3)服务封装性和接口标准化。服务具有良好的封装性,不仅提高了应用系统的逻辑安全性和数据安全性,而且还提高了软件的复用能力,增强了单个服务的重用性。通过服务接口的标准化描述,从而使得该服务可以提供给任何用户接口和任何异构平台使用。

二、企业应用集成(EAI)

(一)EAI概述

EAI是指企业中和企业之间的任何相连的应用间无限制地共享数据和业务处理,其目的是将企业的应用软件系统、业务流程、各种标准、硬件联合起来,在多个企业应用系统之间实现无缝集成,使系统像一个整体一样进行信息、业务处理,从而使企业的整个管理、业务、资源等各个环节,能够协调运转,效率最大化,从而最终实现企业效益的提升。从企业应用集成的具体应用范围来看,企业应用集成包括两方面:企业之间的应用系统集成和企业内部应用系统集成。通过EAI,企业就可以将新的Interact解决方案和企业核心应用结合在一起。EAI结构如图1所示

(二)传统的EAI方案及其不足

早期的企业应用集成可以说是应用之间的复杂连接,最早EAI开发者使用点对点的集成方式,这种方案虽然取得了一些成功,但存在种种缺点,一方面随着集成的系统应用越来越多,开发者需要维护和编写代码的工作量也迅速增长;另一方面这种解决方案只能在它们各自的“信息孤岛”中各自为政,而没有建立在能够适应未来IT需求的基础之上。为了克服上述点对点集成的缺点,逐渐形成了基于中间件的企业应用集成方案,通过建立一个由中间件组成的企业应用底层架构,来联系整个企业的异构应用。

当前基于中间件的分布式对象主要集中在:CORBA、RMI、J2EE/JCA、DCOM、EJB上,使用这些分布式处理中间件技术在Web环境中,虽然克服了点对点集成方式的缺点,但也存在一定的局限性:

首先,它们的体系架构并不适合扩展到Web上,包括应用服务的访问和发布,即使有相当的延伸,但应用间的交互还不是依赖于Web技术。

其次,各种分布式计算技术虽然都基于各自的标准,但由于数据定义、传输、访问模型等机制的差异,各自的应用还是不容易互连互通,直接集成的难度较大。在信息表达和交换方面,XML技术有极大的发展空间,但在现有的分布计算平台中融入这种技术并不合适,因此不便于广泛的应用交互。

因此,面向服务的架构SOA应运而生,它是信息系统集成的新构架,是实现Web平台上异构系统整合的最佳解决方案。

三、基于SOA的EAI框架

(一)SOA企业应用集成架构

基于SOA的企业应用集成架构是将开放的、高灵活的WebServices技术与传统的集成方法整合在一起提出的一种新型集成框架。通过面向服务的集成可以提供一个抽象的接口、用户不需要详细了解底层的编程接口和协议,就可进行系统交互。系统只需要以服务的形式为用户提供交换,其集成框架如图2所示。

这里的客户端可以是需要扩展功能的遗留应用,也可以是新的客户端应用。每一个遗留应用可以根据业务需求,封装成一个或者多个服务。根据调用相互的Web服务,多个遗留应用之间可以进行业务的协作处理,这属于功能层的集成,但是如果被集成的遗留应用之间具有不同的数据存储系统,那么在集成过程还必须包括数据类型的转换。

(二)Web服务集成实现模型

Web服务的集成实现模型从下到上大致可以分为6层:网络通信层、消息传输层、服务描述层、服务发现层、服务保证层和服务组合层。

(1)网络通信层。由于Web服务是通过网络基础措施进行消息传递和数据发送,以实现与服务请求者交互的目的,因此需要使用Intemet的标准网络协议进行传送数据。

(2)消息传输层。网络通信层的上一层是消息传输层。消息传输层负责安排消息的格式。该层使用SOAP协议进行消息格式的组织,并将消息以XML格式的进行发送。

(3)服务描述层。消息传输层的上一层是服务描述层。服务描述层主要提供服务部署信息和服务的接口描述信息等。该层利用WSDL作为其描述服务的方式。

(4)服务发现层。服务描述层的上一层是服务发现层。服务发现层是基于UDDI协议的。UDDI是通用描述、发现和集成协议的简称。

(5)服务保证层。服务保证层处理有关Web服务调用的安全性以及协调事务,并保证Web服务消息的可靠传输。

(6)服务组合层。Web服务集成实现模型的最上层是服务组合层。一个业务流程通常需要通过多个Web服务相互之间的协作来完成。服务组合层将多个Web服务联合起来。按照业务流程的逻辑顺序依次进行调用完成系统的目标。

四、结束语

面向服务的体系架构使企业能够在原有系统的基础上集成,从而实现新功能的扩展,大大降低了业务模块之间的藕合度。从而减少了不必要的重复开发,为了满足新业务的需求服务之间可以进行组合,很好地解决了传统企业应用系统集成存在的问题。由于基于SOA架构的企业应用集成平台实现企业整合目标,仍然需要相应系统提供服务的支持,因此,企业应用整合目标的实现仍然需要企业自身投入对新系统对SOA架构的支持和遗留系统的改造。