Web服务技术的企业应用集成模型设计
[摘 要] 信息技术的不断发展,使基于Web服务技术的企业应用集成将成为下一代企业应用集成的主流技术之一,也成为现阶段企业改革与发展的方向。本文阐述了利用网络技术将企业由企业内部扩展其他能普及到的地域,分析了企业应用集成和Web服务的技术特点,主要对基于Web服务技术的企业网络应用集成的模型设计、主要技术和一些应用进行了一些探讨。
[关键词] 企业网络应用集成;Web服务;架构模型;数据库
[中图分类号] F270.3 [文献标识码] A [文章编号] 1006-5024(2006)12-0130-03
[作者简介] 崔明远,南昌工程学院网络信息中心工程师,研究方向为计算机网络;
王 毅,南昌工程学院网络信息中心教师,研究方向为计算机应用。(江西 南昌 330099)
随着科学技术的进步,尤其是计算机网络的发展,人类将进入信息社会,而企业信息化建设的发展、企业并购和合并以及激烈的竞争带来的商业需求的快速变化等种种因素,已使当今企业充分认识到所面临的“信息孤岛”带来的挑战。面对竞争日益激烈的市场 ,大多数企业都引入了各种不同的企业信息系统(Enterprise Information System,简称EIS),但这些EIS均是自包含的独立系统,每种信息系统只能完成某一些功能,却难以形成一个完整的业务流程,导致 EIS的应用被分割,形成一个个的信息“孤岛”,这在某种程度上造成了企业信息系统反应迟钝、成本提高和效益下降,整合这种“各自为政”的系统、数据就成为众多企业迫切需要解决的问题。
企业应用集成(Enterprise Application Integration,简称 EAI)就是为解决上述问题而产生的,它能融合企业的遗留应用,让企业利用现有的信息资源来快速提供新的产品和服务,增进与客户、供应商和其他相关利益集团的联系。我们需要一种标准的企业应用集成解决方案。它基于开放的技术和标准,具有与平台无关、语言独立的互操作性 ,能很好地解决企业计算环境的分布异构问题。
一、Web服务技术
1.Web服务关键技术。Web服务作为一种新的分布式计算体系结构,它定义了企业应用的基本功能和规范,为企业应用提供了一个良好的平台。Web服务以技术栈的形式规范了Web服务体系中的各类关键技术,包括服务的描述、发布、发现以及消息的传输等。其中主要的技术包括以下几种:
(1)XML(eXtensible Markup Language,可扩展标记语言)规范提供了在Web服务中表示数据和消息的标准方法 ,Web服务的其它协议规范都是以 XML形式来描述和表达的。
(2)SOAP(Simple Object Access Protocol,简单对象访问协议)规范规定了在分布环境中的实体间传递XML消息的机制(遵循 SOAP规范的 XML消息称为 SOAP消息),SOAP包括三部分:SOAP信封,SOAP编码规则,SOAP RPC。Web服务客户端使用SOAP消息调用Web服务,Web服务利用SOAP消息返回信息。
(3)WSDL(Web Service Description Language,Web服务描述语言)规范用于定义Web服务接口。每一个 Web服务都有一个相应的WSDL文件(用XML写成)详细说明其所拥有的方法和每个方法能接收和返回的参数,应用程序通过WSDL文件才能了解如何使用Web服务。
(4)UDDI( Universal Description , Discovery , and Inte-gration,通用描述、发现和集成)规范给出了一种机制,Web服务提供者可以通过该机制将本组织的信息(如组织名称 ,业务类型、联系方式等)和本组织提供的 Web服务注册到UDDI注册表,Web服务使用者则可以在注册表中寻找和发现感兴趣的Web服务。
Web服务利用这些标准提供了一个松散耦合的分布式计算环境。Web服务具有自包含、自描述以及模块化的特点,可以通过从 Web发布、查找和调用。利用标准网络协议和 XML数据格式进行通信,这允许并支持基于 Web服务的应用程序是松散耦合、面向组件和跨技术实现。
2.Web服务的体系结构。Web服务是由URI标识的软件应用程序,其接口和绑定可以通过XML构件进行定义、描述和发现,它支持通过基于因特网的协议使用基于XML的消息与其它软件应用程序直接交互。Web服务包括一个由一系列的相关技术和标准所组成的体系结构。该体系结构基于三种角色(服务请求者、服务提供者和服务注册中心)之间的交互。交互涉及发布、查找和绑定操作。这些角色和操作一起作用于Web服务构件:Web服务软件实现模块和服务描述文档。典型情况下,服务提供者托管可通过网络访问软件模块,服务提供者定义Web服务的服务描述并把它发布到服务请求者或服务注册中心,服务请求者使用查找操作从本地或服务注册中心检索服务描述,然后使用描述与服务提供者进行绑定并调用 Web服务实现。
二、一个面向服务的企业应用集成架构模型设计
针对面向服务的企业应用集成的实现,目前优秀技术是Web服务。Web服务技术的定义有两个层次的含义,首先是一种技术和标准,然后才是一种软件或者说功能。Web服务也是一种可通过网络存取的软件组件,它使得应用程序之间可通过共同的网络标准相互连结使用。Web服务框架的实现也是与具体开发和集成平台无关的,它只是给出了一些广泛的标准协议,提供一套标准的类型系统,用于沟通不同平台、编程语言和组件模型中的不同类型系统,以此来实现企业应用集成。而J2EE平台在规范开放性、厂商支持、独立性、较好支持和现有系统协同工作、支持较多集成方案、成熟度较高等多方面具有一定的优势,提出一个基于J2EE平台的一个面向服务的企业应用集成架构模型。
1.企业应用集成的原理分析
(1)数据集成。从 Java应用程序的观点看,这种类型的集成集中在通过会话bean或实体bean问旧数据库或文件。它还包括对由旧系统产生的、用于数据访问特殊目的的、近来新开发数据供给的访问。XML通常用于这种集成技术,因为XML与共享数据的平台无关。数据集成的优点是可以相当直接且迅速地实现;缺点是增加应用程序之间的数据耦合,从而增加维护的负担,以及需要为设计很差的数据编写重要的数据清洁/格式化代码。
(2) API集成。使用这种方法,可以利用由应用程序暴露的应用程序编程接口(API)来访问旧系统封装的数据。应用程序接口集成的优点是许多软件包(如 SAP和PeopleSoft)都包括可以经由Java Native Interface(JNI)代码访问的C- API。其主要缺点是,在组织内部开发的软件,有很少已定义的API;API的范围可能有限并且不能提供需要的功能。
(3)方法集成。更新客户数据、验证信用卡交易或将钱存入银行账户等公共操作可以在所有应用程序都有权访问的公共资源库或可重用的框架中使用。方法集成的优点是,它通常提供对公共商业功能的细致访问;大范围的应用程序(包括 Java和非Java)都可以访问这些操作;调用方法是直接的。缺点是如果每个方法中都没有有效的支架,那么公共方法的细致特性会难以支持事务或支持公共技术性服务,如安全性访问控制。
(4)用户界面集成。这种技术集中在通过用户界面访问现有的应用程序,这种过程称为屏幕剪贴,在其中模仿用户击键来实现与旧软件的交互。屏幕剪贴是基于Web聚集器站点使用的公共技术 ,以显示金融或其他类型信息的个性化视图。其优点是,这是旧集成经过时间测试且通用的方法,许多用户界面测试工具都使用它。其主要缺点是这种方法可能很慢,需要等待旧的应用程序绘制正在剪贴的屏幕,而且对旧的用户界面所做的任何更改都需要对集成代码进行更改。
2.基于 Web服务的企业应用集成框架设计
针对企业现有应用系统以及具体应用状况,利用Web服务集成的关键技术和原理,本文设计了一个基于 Web服务的企业应用集成框架(如图1)。
在该集成框架中,应用系统既可以是已有的应用系统,也可以是新开发的Web服务应用。如果是已有的应用系统,需要先将此应用系统封装成Web服务组件,其方法是:首先,生成描述该系统功能和调用方法的WSDL文件;然后,生成服务器端基于SOAP的服务框架(service skeleton),并在此基础上开发适用于已有系统的适配器;最后,将服务描述文件通过UDDI API发布到 UDDI注册服务器中。
3.J2EE平台的Web服务的企业应用集成模型设计
J2EE是一个标准的体系结构,它特别面向使用Java程序设计语言进行基于Web的企业应用的开发与部署。软件开发者和企业使用J2EE体系结构能够快速地进行企业应用的开发和部署,从而有效地替代了传统的两层和多层结构。
在所设计的架构模型中,根据功能的不同,将企业应用逻辑划分成不同的应用组件,并且可以在同一个或不同的应用服务器上安装这些组件。一个应用组件应被安装在什么地方,取决于它属于该结构中的哪一层。基于J2EE平台的面向服务的企业应用集成体系结构主要包括四层:客户层、中间层(包括Web层和业务逻辑层)和企业信息系统层如图2所示。
(1)客户层。在客户端,主要有两种类型的客户:
①Web客户。通常在 Web浏览器中运行。对于这类客户程序,用户界面是在服务器端作为HTML或XML来产生的,并被浏览器下载和显示。这种客户使用HTTP协议与Web容器进行通信。Web容器负责从 Web客户接收请求,并借助于应用组件(包括 Web组件和 EJB组件)来产生应答。
②EJB客户。主要是使用 RMI-IIOP协议直接访问 EJB容器中 EJB组件的单独的应用程序。在这两种情况下,客户都是通过相应的容器访问应用组件。Web客户通过 Web容器访问 Servlet和 JSP页面,而 EJB客户通过 EJB容器访问 EJB组件。
(2)中间层。在该体系结构中,中间层一般由Web层和业务层构成。
①Web层。Web层由负责处理系统呈现逻辑的 Web组件构成,Web容器为Web组件提供一系列的服务。Web层一般不处理具体的业务逻辑,而只是提供界面让用户输入请求,并将请求发送到业务层,最后结果呈现给用户。
②业务层。业务层主要由负责处理系统业务逻辑的企业 Bean ( EJB)构成,所以业务层经常也被称作 EJB层。企业Bean从Web组件或客户程序处接收请求,对请求进行处理,如果需要,访问数据库中的数据,并将处理结果返回给Web组件或客户程序。
③企业信息系统层。企业信息系统层为企业应用正常运行提供了信息基础,主要包括企业基础设施系统,例如企业资源计划(ERP)系统、数据库系统、客户关系管理(CRM)系统及其他遗留信息系统。
模型的实现基于UDDI/WSDL/SOAP/HTTP协议栈。根据该模型构建的基于 Web服务的企业应用集成解决方案具有如下特点:
(1)简单性。Web服务的软件实现基于企业各应用系统之上,使用原有架构和技术,从而保护了企业已有的投资。而且,Web服务的封装仅限于应用系统之间的交互部分,不需对原有系统做大量编程工作,简化了集成的实施。
(2)开放性。Web服务是基于开放标准的,其相关技术如HTTP、XML、SOAP、WSDL、UDDI等都是现行的因特网标准,或是被广泛接受并正在成为业界标准的规范。这种开放性使得Web服务被广泛接受和支持。
(3)安全性。方案中与Web服务相关的应用集成部分位于企业防火墙内部,隔绝了外部对Web服务的非法访问并保证消息的可靠传递。在Web服务安全标准尚不完善的情况下提供了对Web服务的安全支持。
(4)可扩展性。该方案对新增应用系统采用统一的接口方式,具有良好的包容扩展能力。并且结合私有 UDDI注册中心和 WWW服务器,可以很容易地将本企业所实现的 Web服务对外发布 ,支持因特网范围内的集成。
参考文献:
[1]吴军.基于Web Services的企业应用集成方法研究[J].计算机应用研究,2006,(8).
[2]黄明.java的最新技术——连接SQL的JDBC[M].北京:电子工业出版社,1999.
[3]吉根林.Web程序设计[M].北京:电子工业出版社,2003.
[4]袁占亭.基于Web Services的企业应用集成解决方案研究[J].计算机集成制造系统,2004,(4).
[责任编辑:熊一坚]
上一篇:供应链业务流程集成的系统分析
下一篇:半导体:集成电路仍重3C领域