欢迎来到学术参考网

基于web services的EAI技术研究

发布时间:2015-07-13 09:46
摘 要 随着企业信息化的发展,传统的系统集成方法不再能够满足企业应用集成的需要。Web Services由于具有开放性、跨平台和协议简单等特性,成为实现企业应用集成的一种新方法。本文通过分析Web Services技术中的规范和标准以及Web Services的运作模式,对基于Web Services的企业应用集成中的数据集成和业务流程集成的实现方法进行了说明。
关键词 企业应用集成;Web Services;业务流程

0 引言

EAI(Enterprise application integration)即企业应用集成,EAI通过将一系列的方法、技术和工具组织在一起实现对不同应用的合并与协调,从而实现企业信息系统的集成。
目前,由于现代企业信息自动化要求的提高,各个系统之间的互动和相互通讯更为重要。保护原有投资,重用遗留系统、集成新的应用系统是当前很多中大型企业的重要任务。由于遗留系统的运行平台是异构环境,要横跨多种硬件平台、操作系统、软件技术、数据管理系统以及各种业务应用,不仅要进行复杂的跨业务处理,还要解决复杂的横向协调问题,因此EAI(企业应用集成)的代价一般来说是很高的。
传统的企业应用集成方案有:基于应用编程接口(API)的方案,基于分布式对象技术(如DCOM、CORBA、EJB等)的方案等,当用户群非常庞大时,这种点到点的集成会变得非常困难。再加上DCOM、CORBA或EJB之间出于厂商利益的技术对抗也阻碍了企业应用集成。因此探讨新的集成方案是很有必要的。随着网络技术、网络运行理念的发展,人们提出一种新的利用网络进行企业应用集成的解决方案——Web服务(Web Services)。

1 Web services技术

Web Services是部署在网络上的对象(或组件)集合。它采用对象/组件技术、使用标准的Internet协议、将功能展示在互联网和企业网内部。它的基石是以XML为主的、开放的Web规范技术,因此具有比任何现有的对象技术更好的开放性。 构筑Web Services的关键技术有:XML、SOAP、WSDL、UDDI。其中,简单对象访问协议(SOAP)提供了标准的RPC方法来调用Web Services;Web Services描述语言(WSDL)用于描述Web Services(该web服务的元数据信息:服务的名字、提供者、服务的具体访问地址等)及其函数、参数和返回值;统一描述、发现与集成(UDDI)规范定义了这样的注册中心:Web Services的提供者可以在其中发布相应的WSDL文档, Web Services的消费者则可以在其中找到自己需要的服务,并通过WSDL文档获得如何调用相应Web Services的方法。
SOAP、WSDL、UDDI都是基于XML的协议,正是因为使用XML,使企业应用集成在数据层上达成了一致,解决了不同平台或系统、不同数据结构或模式之间的差异,使得原本复杂的数据层的集成变得简单起来。
前面讨论的所有技术在Web Services中都扮演着一个角色。如图1所示。
图1 Web 服务运作图
Web服务的请求-响应循环可以概述
1)Web服务提供者将本Web服务的元数据信息、实现的功能和接口描述在WSDL文档中,并发布到Web服务注册中心上,其信息被写入UDDI注册表中;Web服务注册中心对Web服务进行分类,并提供Web搜索服务。
2)Web服务客户机根据Web服务注册中心提供的规范接口向Web服务注册中心发送Web服务查询请求。
3)Web服务客户机通过分析从Web服务注册中心得到的Web服务绑定信息(WSDL),包括服务的访问路径、服务调用的参数、返回值、传输协议、安全要求等,对自己的系统进行配置。并远程调用请求的Web服务。
4)被请求Web服务处理该远程调用,并调用自己的相应操作,这个操作可能需要如EJB和JDBC数据源等J2EE组件的服务以及其他Web服务。
5)完成以上2)-4)的操作后,被请求Web服务返回给最初的用户一个SOAP消息,得到所需要的结果。

2 使用Web Services技术实现EAI

EAI能够将业务流程、应用软件、硬件和各种标准联合起来,在机构内部或机构之间实现应用系统的无缝集成,使它们象一个整体一样进行业务处理和信息共享。它包括数据传输、接口集成、数据转换、工作流和系统监控5大关键技术。集成层面包括:数据级集成、用户界面级集成、应用级集成、业务流程级集成。本文讨论的重点放在数据级集成和业务流程级集成。

2.1 数据级集成

数据级集成是集成其他应用所使用的后端数据,包括:数据共享、数据迁移、数据复制。有两种方式实现:推和拉。基于“推”的集成是将一个应用中的数据“推入”另外一个应用的数据库中,比如数据迁移就可以采用推的方式;而“拉”的方式是利用触发器以及轮询(Polling)的机制,获取数据的更改,并把通知信息写入一个接口表中,然后相关的系统可以轮询这个接口了解是否有数据变动,比如数据共享可以采用拉的方式。
下面举例说明Web Services实现数据共享的方式:
①当服务提供者的数据发生改动时,就激活数据监控触发器,数据监控触发器将其更改数据的通知消息写入接口表中,更新Web服务中心的接口表。
②服务请求者采取轮询的方式每隔一段时间向Web服务中心发出“查询是否数据更改”的SOAP消息。
③Web服务中心根据接口表的更新情况向服务请求者返回查询结果:如果数据发生变化,则返回带有数据更新的时间和数据更新内容描述信息的WSDL文档,请求者在得到Web服务中心发回的WSDL文档后,确定数据更新的内容是否是自己需要的数据内容,如果是自己需要的数据内容,则生成SOAP请求消息,绑定服务提供者以获取最新数据;如果数据没有发生变化,则Web服务中心返回“否”的结果即可。

2.2 业务流程级集成

业务流程集成是以业务流程为核心的企业集成问题。业务流程表现为参与者对文档、信息或任务按照规程采取行动,并令其在参与者之间传递。业务流程可以通过过程集成模型决定如何进行交互和业务的处理,并对企业业务过程的状态和性能进行实时监控,通过过程可视化工具,对企业业务流程进行配置和管理。在业务流程中工作流占据着重要地位。工作流是业务流程的计算机化或自动化,通过计算机软件对工作流过程进行定义、执行并监控。图2展示了使用Web Services技术实现企业内部业务流程集成的一个示例。

图2 基于Web服务的业务流程集成方案
企业门户应用程序运行过程中,执行业务流程时,工作流引擎作为服务请求者要调用发布为web服务的应用时,它首先向Web服务注册中心发送查询请求,查询到满足要求的web服务后,得到其地址,并将相应的WSDL文件下载到工作流服务器上,当工作流引擎需要相应服务时,就根据获得的地址发起连接,然后通过SOAP协议和Web服务中的远程对象绑定,进行请求的发送和应答的接收。发送和接收的都是符合SOAP规范的SOAP消息。在SOAP的headers和body中即可传送工作流相关数据,实现Web服务的调用,从而实现应用程序的集成。

2.3 存在问题

上述所说明的基于Web Services的EAI更适合于Web服务请求者对Web服务的名称和内容非常清楚、安全性要求不太高的企业内部异构系统间的集成。但是如果在不同企业间进行企业集成,或包含不同的Web应用服务器时,则可能存在如下问题:
①Web服务发现和使用问题。不同企业开发自己的Web服务,他们在Web服务命名、Web服务表现形式、Web服务组织上会因使用的Web应用服务器软件不同、Web服务程序设计者的设计理念、技术等方面的不同而给Web服务的发现和使用带来困难。如何使Web服务请求者能够进行语义层次上的模糊查询并实现一定的智能化是一个需要进一步深入研究和设计的内容。
②保证Web服务协调工作的正确性。在业务流程级的企业集成中,通常需要多个Web服务和组件按照一定的业务逻辑进行动态的组合来完成任务。但是如果将业务流程分割的Web服务粒度不合适,则可能会影响Web服务之间的动态调用,产生错误的执行结果,通过正确的系统需求分析和流程设计,采用合适的过程可视化工具能够在一定程度上保证程序设计的正确性。
③安全性问题。现有的Web Services安全技术如验证与授权、角色、定义用户和用户组、访问控制、身份认证、信息加密等并不能完全保证Web Services的安全。Web服务独立于传输层,并且对防火墙具有穿透能力,使得Web服务请求者绑定的Web服务存在完整性、合法性方面的安全问题。如何保证Web服务不同粒度和级别上的信息安全仍然是一个需要解决的问题。

3 结束语

Web服务凭借其协议简单、跨平台的可操作性实现了Internet 环境下企业应用的松散耦合与集成,使企业可以方便地集成现有的应用。依靠Web服务, 企业能够实时地访问不同部门、不同应用、不同平台和不同系统的信息, 这是Web服务被接受的最重要和最有力的因素之一。
基金项目:河北省科学技术研究与发展计划项目(042835102D)

参考文献

[1] 褚红伟,葛玮.一种新型的企业应用集成解决方案.微机发展,2005(2)
Mark Artiges. BEA WebLogic Server 8.1.机械工业出版社,2005
SOA and Web Services [EB/OL].
纪涛文,林晓宇. 基于J2EE的网上购物配送管理系统设计. 计算机应用与软件. Vo.21,No.3 Mar.,2004

上一篇:Ajax技术及其在WebGIS中的应用

下一篇:基于Java EE的教学测评系统设计与实现