WEB服务与EAI(AMT研究院 袁磊)

2004-11-19 15:05:20【作者】 畅享网 【进入论坛】
Web 是为了程序到用户的交互,而 Web 服务是为程序到程序的交互做准备。Web 服务使公司可以 降低进行电子商务的成本、更快的部署解决方案以及开拓新机遇。
本文关键字 理论探讨 EAI
广告

Web 是为了程序到用户的交互,而 Web 服务是为程序到程序的交互做准备。Web 服务使公司可以 降低进行电子商务的成本、更快的部署解决方案以及开拓新机遇。达到这个新天地的关键在于通用的 程序到程序通信模型,该模型应建立在现有的和新兴的标准之上,例如,HTTP、可扩展标记语言(Extensible Markup Language,XML)、简单对象访问协议(Simple Object Access Protocol,SOAP)、Web 服务描述语言(Web Service Description Language,WSDL)以及通用描述、发现和集成(Universal Description Discovery and Integration,UDDI)。

Web 服务使应用程序的集成比以前更快、更容易而且更便宜。集成在协议栈中较高层发生,它基于更注重服务语义而不那么注重网络协议语义的消息,从而实现了业务功能的松散集成。这些特性 对于在企业之间和企业内部通过Web 连接业务功能是非常理想的。它们提供一种一致化编程模型,从而在企业内外都可以利用通用的基础设施并以一种通用的方法进行应用程序集成。利用现有的 语言和平台以及旧应用程序,可以以一种增量的方式来集成和应用Web 服务。此外,Web 服务遵循 Java 2 平台,企业版(Java 2 Platform,Enterprise Edition,J2EE)、通用对象请求代理体 系结构(Common Object Request Broker Architecture,CORBA)以及其它针对与耦合较紧的 分布式或非分布式应用程序集成的标准。Web 服务是部署并提供通过 Web 访问业务功能的技术; J2EE、CORBA 和其它标准是实现 Web 服务的技术。

尽管 Web 服务早先是类似对等的并且是专用的,但它仍能解决程序到程序通信的整个问题,包括描述、发布和查找接口。而且,随着 Web 服务的使用越来越多以及行业的成熟,将会有更多的应用程序集成的 动态模型发展起来。最终,通过 Web 服务进行系统集成将会在运行时动态发生。即时集成将宣布通过因特网进行企业到企业集成的新纪元的到来。

Web服务作为现在大部分公司所熟知的概念,其有时也会被作为EAI(企业应用集成)解决方案的一种替代。然而,随着一些新的所谓的“纯”Web服务解决方案供应商的加入,这就造成了一种持续的混乱局面。

·Web services:Web服务是一种通过标准的XML格式接口来访问网络(包括Internet, intranet, extranet)的一类模块化应用。

·Enterprise application integration(企业应用集成):EAI通过将一系列的方法、技术和工具组织在一起实现对不同应用的合并与协调,从而实现企业信息系统的集成。

从以上两个概念可以看出,Web服务和企业应用集成的作用领域是完全不同的。Web服务关心的是一个明确的特定领域,而EAI则涉及到一个相当广泛的主题。

1、Web服务的技术组成

Web服务由一系列的标准所组成:

        XML:用来描述信息;

        UDDI:用来发现被请求的服务;

        WSDL:用来描述Web服务;

        SOAP:用以实现Web服务的远程执行。

这些技术部分的简单结合使Web服务具有了许多重要的特性。其中最突出的一点就是Web服务的协同工作能力。由于相关技术的简易性和成熟性,Web服务间的协同工作能力已经成为人们可以接受的事实。

上图说明了Web服务另外一个要点:Web服务所涉及的各种标准的目的并不是要定义如何建立一种用来发布或者“Web化”的服务。无论一个服务是新建立的还是已存在的,无论其是以何种技术来实现的,它的表现形式与其它任何Web服务都是一样的。并且,图中的“service wrapper”也是私有的,它与Web服务的各种标准没有联系。

然而,Web服务的这些初始技术组成部分也带来了一些问题。目前,它们正在增加新的技术内容来满足以下各方面的需要:

·加密:对于HTTP协议,我们可以使用SSL对信道进行加密,而不久的将来,采用XML Digital Encryption(XML 数字加密)技术则可以为信息进行加密。

·认证:两个相关的关键标准——SAML(Security Assertion Markup Language) 和 XKMS (XML Key Management Specification)——正在制订过程中。

·签名:XML Digital Signature(XML 数字签名)将会被使用。

·处理事务:采用HP (HP Web Services Transaction Server 1.0) 和XAML (Transaction Authority Markup Language,事务授权标记语言)实现了BTP (Business Transaction Protocol,商业事务协议)。

·工作流的编排与描述:已存在 XLANG (Microsoft BizTalk)和WSFL (Web Services Flow Language)两种流程描述语言。

从以上的论述可以看出,当选择Web服务时应该考虑现有的标准是否能满足应用的需要。

2、EAI的技术组成

由于EAI事实上并没有专门建立在某种标准之上,所以定义EAI的技术组成几乎是不可能的。正如我们在前面所介绍的,EAI将一系列的方法、技术和工具组织在了一起。

总的看来,EAI的集成主要有四种类型:

·数据层的集成:集成是通过提取和可能的转化过程,实现对应用所使用的数据的定向和传输。

·应用层的集成:集成是通过应用的输入/输出来直接实现的;例如,通过使用消息,API等等。

·商业逻辑层的集成:通过集成实现信息系统商业流程的管理;例如,使用分布式的商业对象。

·用户接口层的集成:应用的用户接口是应用的input/output点。用户接口层的集成对那些需要集成的老系统或专有系统非常有用,这些系统不具备其它的输入输出点(如,不存在API,无法访问数据)。

EAI的最终目的是为已存在的应用提供统一、标准的交换中心,并为新的开发提供基础。EAI系统的核心由一系列组件组成。这些组件为不同资源间信息交换的顺畅提供了保障,应用可以通过连接器(connectors)和适配器(adapters)来访问它们。

最后,EAI系统还必须能够提供“标准”的入口,如下图中的公共接口所示。这些接口就是Web服务在EAI解决方案中发挥其功能的地方。另外,Web服务也可以部署到连接器(connectors)一层(例如,SAP可以通过Web服务访问它的BAPI集成接口),但是在这种情况现,许多EAI解决方案所提供的功能将会消失。

 

Web服务和EAI的是两种互补的技术,二者之间并不存在排斥,Web服务可以看作用来实现松耦合EAI的一项技术。

Web服务通常是建立在公司现有的数据和过程基础之上的。Web服务的实现必须以公司的内部应用集成作为支持,没有实施EAI的Web服务是无法实现的。

最后,我们列出建立Web服务时的一般程序:

20%的时间用于功能方面的分析;

70%的工作用于实现内部的应用集成和建立新的系统;

剩余的10%时间用来:(1)添加一个内外部XML调用的管理层:包括SOAP/WSDL,XML-RPC等等。(2)管理系统开放过程中的相关方面:认证,保密,授权和有效性。

如果您希望与本文章的作者或其所在机构,进一步交流,请联系:畅享网 姜小姐
jill.jiang@amteam.org | 021-51096826-112 | 在线联系
SOA之技术流SOA技术摘要

面向服务的体系结构(service-oriented architecture,SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定……

廖斌谈SOA[原创]本体Ontology 与语义web..

先看看什么是语义web,网上很多,我摘录一些:Berners-Lee 于2000-12-18 在XML2000 的会议上正式提出了语义Web。语义Web 的目标……