用Web服务和J2EE集成企业应用
程序 用Web服务和J2EE集成企业应用程序
把这些企业技术结合起来使EAI更容易进行
DanielaRudrof(Daniela.3710167@qq.com.com),IT专家,IBMSecurityOperationsAndreTost(3710167@qq.com.com),解决
方案设计师,IBMWebSphereBusinessDevelopmentGroup2002年11月
内容:
J2EE、JMS和JCA关于Web服务的疑问WSDL中的协议绑定Web服务调用框架结束语参考资料关于作者对本文的评价
英文原文
相关内容:
应用Web服务调用框架(WebServicesInvocationFramework)
xml和Web服务专区中还有:一段时间以来,IT员工已经能够使用
Java2平台,企业版(Java2Platform,EnterpriseEdition(J2EE))的元素集成后端
系统了。最近出现的Web服务技术已经使我们能够用一些以前想不到的新方法来实现类似的目的。在本文中,AndreTost和DanielaRudrof向您说明了如何结合J2EE和Web服务使企业应用程序集成(enterpriseapplicationintegration(EAI))变得更轻松。您还将看到如何把Java消息传递服务(JavaMessagingService)和Java2连接器体系结构(Java2ConnectorArchitecture)与Web服务技术一起使用使集成过程达到一个新的抽象层次。
教学工具与产品所有的文章
目前,开发者要在应用程序集成方面花费很多精力和资源。这包括把新应用程序与先前已有的应用程序集成在一起以及使现有的应用程序互相
通信—同时所有这些
工作都尽量使这些应用程序的更改达到最少。通常情况下,这类集成被称为企业应用程序集成或EAI。目前市场上有几种产品可以使EAI的过程更轻松。大多数情况下,企业是通过构建一个中间件基础架构和几个适配器(这些适配器允许不同的后端应用程序插入到一个某种类型的公共协议,从而互相交换数据)来实现集成。Java2平台,企业版(J2EE)满足了用一种健壮的、安全的、事务性的方法在Web上提供现有的应用程序和业务流程的需要。J2EE环境下已经建立了几个规范,最值得注意的是Java消息传递服务(JMS)和Java2连接器体系结构(JCA),这些规范主要用来把J2EE应用程序与非J2EE环境集成在一起。另外,Web服务技术最近在集成领域引起了许多关注,因为它们定义了一些通用的方法使应用程序可以跨异构编程语言和操作系统互相交互。这一点成为可能是因为Web服务使用XML作为它们的数据格式基础,将其用于描述特定的服务(即Web服务定义语言(WebServicesDefinitionLanguage)或称WSDL)或实际调用服务(即简单对象访问协议(SimpleObjectAccessProtocol)或称SOAP)。在本文中,您将学到如何利用J2EE集成技术(特别是JMS和JCA标准)的优势,以及如何用Web服务技术增强这些技术,以便用更基于标准和互操作性更好的方式来实现企业应用程序的集成。我们将展示基于Web服务的公共接口如何帮助您把一个后端系统集成到J2EE环境中。这样,您将支持更高级别的自动化,并支持使用各种工具环境,从而使后端系统的互相连接更加容易,并且不需要太关心各个API和协议。在阅读本文之前,您应该对Web服务和J2EE技术有基本的理解。如果您不熟悉这些主题,请参阅下面的参考资料部分获得一些有用的论文、文章和教程的链接。
J2EE、JMS和JCA
人们已经写了许多关于J2EE及J2EE所包含的API的文章,所以我们就不在这里重复所有那些信息了。但为了让读者都能够及时了解这篇文章中将讲些什么内容,我们来简要概述一下将作为我们的讨论的基础的一些技术。
http://www-900.ibm.com/developerWorks/cn/
webservices/ws-eai/(1of7)2005-1-520:06:35
用Web服务和J2EE集成企业应用程序
Java消息传递服务
Java消息传递服务(JMS;请参阅参考资料以了解更多相关信息)定义了一个可以用来在应用程序间交换消息的公共API。它允许应用程序间的异步通信,在这种通信中一个应用程序向消息队列发送一条消息并随后继续自己的正常处理而不是等待该消息被另一个应用程序接收。任何负责接收的应用程序都从该队列检索消息,解释该消息并适当地处理它。两方的应用程序都可能在同一时间或不同时间,在相同的或不同的机器上运行。上面所描述的应用程序间的通信被称为点对点通信(point-to-pointcommunication),因为一个应用程序发送的消息只被另外一个应用程序接收。另一个描述多个应用程序如何在JMSAPI上进行交互的模型被称为发布-预定(publishsubscribe)模型。在这个模型中,一个应用程序将消息发布到某个被称为主题的目的地那里,该消息被任意已经预定了这个特定主题的应用程序接收。这样,同一条消息就有可能被多个客户机应用程序接收到。JMS规范只定义了一个编程接口来使用消息队列和主题,并把这个API的实现留给了所谓的消息提供者,每个与J2EE1.3兼容的应用程序服务器都带有这种消息提供者。在使用JMS集成后端应用程序时,我们经常说这些应用程序是松散耦合的。这描述了这样一条消息—它在一个事务中被创建、发送,然后从队列中被取出,并在一个独立的事务中被处理。把消息的创建者与处理者分开在一定程度上是间接的。只要消息交换在进行,JMS就是事务性的,但交换和处理发生在相互分开的事务中。换句话说就是,JMS提供者可以向消息的发送方保证将消息发送到目的地(一个队列或主题),并且是一次性发送。但在消息的处理过程中是否发生了错误就完全是另一回事了。