基于Web SerVice技术实现大型系统集成
夏 平,张水平,余侃民
(空军工程大学电讯工程学院 陕西西安 710077)
1 引 言
当一个单位或机构在面临信息化要求时,直接的方式是采购或自行开发系统以满足需求。久而久之在单位或机构内部将会有许多为了不同目的而建置的信息系统,这些系统使用的操作系统平台(operation system)、程序设计语言(programming language)及信息标准可能不同。当然,将单位内部所必需的系统整合起来的解决方案能够很好的解决这个问题,该方案目的是整合现有子系统,改善应用流程。
过去的集成解决方案虽然能够有效地将系统内部子系统集成到一起,暂时满足应用需求,但仍无法提供有效的方法将所有系统纳人,一旦有新的需求要加入集成,又将面对一连串的程序开发与流程变更,更为重要的是因成本高、导入期间过长而丧失优势。
一个大型应用系统内部由数以千计的程序模块、数据库、带有运行过程的数据文件、控制单元以及安全访问机制所组成。由于系统集成工作涉及大量连续的低级别程序开发任务,有时甚至会对大部分系统模块进行重新开发以实现集成需求,因此,集成工作需要消耗大量资源、时间与资金。
运用Web Service技术实现的系统集成方案,将对应用系统创建并集成的那些用以控制自身应用运作效率的应用程序及处理过程所采用的方式产生深远影响。与此同时,该方案也使得随时随地在系统内部自由的交换并访问信息成为可能,Web Service技术能够在应用程序和业务流程之间实现顺畅的自动化信息交换机制,而不必考虑这些信息初是由何种应用或平台提供的。本文将讨论以下
3个问题:
(1)Web SeriVice技术的定义及包含协议。
(2)目前3种实施Web Service技术的先进应用程序框架。
(3)应用Web SerVice技术解决系统集成的实例。
2 Web Service技术简介
2.1 Web Service的定义
Web SerVice技术是应用程序通过内联网或者因特网发布和利用软件服务的一种标准机制。他提供了一套分布式的计算技术,在Internet或Intranet上通过使用标准的XML协议和信息格式提供应用服务。使用标准的XML协议使得Web服务平台、语言和发布者能够互相独立,并以一种高度灵活和自动化方式组织交互活动,建立基础牢固的系统应用集成,是实现系统集成解决方案的一个理想的 选择。
作为Web Service用户,客户程序可以采用UDDI协 议发现服务器应用程序(Web Service供应商)发布的WebSerVice;采用WSDL语言确定服务的接口定义;用基于SOAP的XML文档再通过}iTTP,FTP和SMTP等常用通信方式交换数据。在Web Service的客户应用程序一方,客户程序在本机调用方法,但是被调用的方法会被转换为XML(基于SOAP),并通过网络发送给Web Service供应 商应用程序。供应商再利用XMI.文档(基于SOAP)发回对方法调用的响应。由于Web Service是通过URL,HtTTP和XML访问的,所以运行在任何平台之上、采用任何语言的应用程序都可以访问XML Web Service。
2.2 Web Service堆栈协议
Web Services是一个全新的技术架构,在这个技术架构中,为了支持技术架构的各种特性,各种各样的技术规范不断地开发出来。整个Web Services技术系列被称为"Web ServiceS stack",他们就像一个堆栈那样,按照图1所示的方式共存协作着。
其中,底部是先前定义好的并且广泛使用的传输层和网络层的标准:IP,HTTP,SMTP等。而中间部分是目前开发的Web Service的相关标准协议,包括服务调用协议SOAP,服务描述协议WSDL和服务发现协议UDDI,WS-Inspection,以及服务工作流描述语言WSFL,Web Service的安全协议以及路由协议等。右边部分是各个协议层的公用机制,这些机制一般由外部的正交机制来完成。
3 实施工具介绍
目前各大技术提供商都在研究和开发Web Service的事务性支持,业界的有Microsoft、IBM和SUN等几家大型软件公司,目前他们主要的工作集中在:一方面协力制定国际化We.b Service标准;另一方面推出支持Web Service技术开发、部署和应用整套过程的基础平台和框架。下面将介绍以上三家公司的系列产品。
3.1 Microsoft.NET基础框架平台
Microsoft.NET就是Microsoft XML Web Service平台。他对建立和利用标准的Web Service提供内置支挣。在微软的.NET框架内,客户应用程序通过Web Service侦听器的实现即可调用Web Service。服务器应用程序(Web Service供应商)可以用任何.NET编程语言,比如C#,VB.NET或者受管C++实现Web Service,程序将被编译为微软中介语言MSIL,之后被公共语言运行时用CL.R这种虚拟机执行。客户应用程序(Web Service用户)可以用MSXML或者ASP.NET实现Web Service侦听器,以方法调用的方式调用Web Service。
3.2 J2EE基础框架平台
J2EE由一整套技术和说明规范组成,每一种规范都规定了各类J2EE函数的操作方式。J 2EE为基于XML的RPC(JAX-RPC)提供了Java API用以支持面向函数/方法的Web Service集成。JAX-RPC采用XML执行远程过程调用(RPC),同时为汇集和去汇集参数、传送和接收过程调用提供API。到目前为止,JAX--RPC的参考实现还依赖于SOAP 1.1和HTTPl.1两种协议版本。
定义和实现基于JAX-RPC的Web Service。其WebService的实现既可以是独立的Java应用程序也可以是Enterprise Java Bean(EJB)。JAX-RPC API可以用来创建基于SOAP的封装器以确定现有Java类或者EJB的WSDL接口。
在服务器端JAX-RPC运行时(runtime)系统上部署Web Service。其部署受到Web Service具体实现的控制。比如说,如果实现方式是EJB,那么其部署就应该在EJB容器内进行。
客户应用程序通过WSDL文档说明端口调用WebService。对客户应用程序来说,对Web Service的调用应该形如本机方法调用。
3.3 WebSphere基础框架平台
WebSphere是IBM在Web Services策略中的平台。WebSphere是行业个产品化的用于提供和部署Web Service的功能性基础架构软件平台。WebSphere支持所有开发、发布、部署Web Service应用所必须的开放标准和技术,包括UDDI,SOAP,J 2EE,WSDL,和对XML技术集成的增强。IBM拥有个商业化的开发Web Service和Java Server Pages(JSp)的工具组,使程序员能够简单快速地创建、部署和维护基于Web的应用。
WebSphere包含的开发工具使软件开发人员创建、测试和部署Web Service应用,并且使之与现存的业务流程进行连接。同时,这个开发工具允许您的业务为现有的或将来的贸易伙伴通过UDDI注册发布Web Services的应用。WebSphere私有的UDDI注册能够使公司内部的流程自动化,显示了IBM对UDDI的开发和增强的承诺。通过对开放标准的运用,WebSphere能够连接足够多数量的商业应用和业务并进行互操作,包括SAP,PeopleSoft,IBM的CICS,。IMS,大型主机的整合以及更多。根据IDC和Giga的调查显示,WebSphere是行业中成长为迅速的互联网基础架构软件平台。
4 结 语
Web Service不仅是一个革命性的技术,同时他对计算机软件的体系架构将产生深远的影响。原先处于不同平台,使用不同对象技术的CORBA,DCOM,EJB构架都能够去除平台和实现的差异,统一在一个技术层面之上,这个技术层面就是Web Service技术层。然而,Web Service乃至Web Service技术尚不成熟,Web Service技术系列正在不断开发中,几乎所有的Web Service规范都未成为终标准,他们都在不断发展与修订中,同时也有很多新的规范在出现,这是挑战也是机遇,应当积极参与其中。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。