2002-09-12 09:50
面向服务的应用集成
——EAI和Web服务
Web服务为实现EAI提供了一种全新的机制。它为本地和远程服务的定义、发布和访问提供了一整套开放标准的方法。应用开发人员建立了一套服务的标准后,可以在不同的系统、不同的平台,使用不同的语言来方便地访问应用服务,也可以组合一些服务来形成新的服务。使用Web服务来实现EAI,可以称之为“面向服务的应用集成”。
Web服务及其特点
Web服务(Web Service)是一种分布式的计算技术,在Internet或者Intranet上通过标准的XML协议和信息格式来发布和访问商业应用服务。
使用Web服务,可以在Web站点放置可编程的元素,发布能满足特定功能的在线应用服务,其他组织可以通过Internet来访问并使用这种在线服务。
Web服务使用的是开放的Internet标准:Web服务描述语言(WSDL,用于服务描述),统一描述、发现和集成规范(UDDI,用于服务的发布和集成),简单对象访问协议(SOAP,用于服务调用)。
Web服务具备如下特点:
● 互操作性:任何的Web服务都可以与其他Web服务进行交互。因为SOAP协议是所有供应商都支持的标准,避免了在CORBA、DCOM和其他协议之间转换带来的麻烦。
● 普遍性:Web服务使用HTTP协议和XML进行通信。因此,任何支持这些技术的设备都可以拥有和访问Web服务。
● 易用性:Web 服务的概念易于理解,任何开发语言都可以用来编写Web服务。目前已经有许多工具可以开发和部署Web服务,还有一些工具可以将已有的COM组件和JavaBeans、Enterprise JavaBeans部署为Web服务。
由于Web服务的这些特点,使得Web服务成为EAI解决方案的一个理想选择。
面向Web服务集成方案的先进性
Web服务以一种松散的服务捆绑集合形式(也可以说是一个特别的解决方案),能够快速地开发、发布、发现和动态地绑定应用服务。就目前Web服务的技术发展水平来看,Web服务可以实现应用程序之间的函数或方法级的集成。
下图是一个使用Web服务来实现EAI集成的案例。用户使用Web浏览器可以访问应用服务器的信息,应用服务器作为SOAP客户端可以访问驻留在各个企业系统中的Web服务。
这种面向Web服务的集成方案,与典型的EAI解决方案比较,具有如下优点:
● 简单:毫无疑问,相比于典型的EAI解决方案(包括分布式技术如DCOM和CORBA),Web服务更便于设计、开发、维护和使用。开发和使用Web服务的平台框架之后,创建跨越多个应用程序的商务流程处理将变得相对简单。
● 开放标准:不像有所有权的EAI解决方案,Web服务是基于开放标准如UDDI、SOAP、HTTP等的。这可能是导致Web服务被广泛接受的最重要的因素。事实上,基于现存的开放标准,节约了企业为了支持新出现的Web技术所需要的投资。
● 灵活性:基于Web服务的集成是非常灵活的,因为它是建立在发布服务的应用程序和使用服务的应用程序之间的松散耦合。
● 便宜:EAI解决方案,诸如消息中介,其实施是非常昂贵的。而Web服务的实施则会变得经济而快速。
● 范围:EAI解决方案,诸如消息中介,把应用程序作为一个单独的实体来集成。然而Web服务允许企业把大的应用划分为小的独立的逻辑实体并且包装他们。
● 高效性:正如前文所言,Web服务允许把应用程序划分为一些小的逻辑组件,因为在小粒度基础上集成应用程序时,集成将变得更容易,这也使Web服务的EAI解决方案比传统的EAI解决方案效率更高。
● 动态:Web服务通过提供动态的服务接口来实施一个动态的集成。然而传统的EAI解决方案都是静态处理的。
使用Web服务面临的问题
由于面向Web服务的集成方式和以前的集成方式有着本质的区别,因此引入Web服务需要考虑的问题是如何使这种方式融入到已有的系统中。一种选择就是对应用做较多的修改,甚至可能要对应用进行重新设计。
另一方面,Web服务的标准和技术都在不断发展,Web服务在安全性等方面还不是很完善。所以,引入Web服务需要把握好时机,需要考虑集成的成本和实施的风险。