WebSphere ESB入门:创建POJO并发布(一)

日期: 2007-12-09 作者:Vasudevan Thiyagarajan 来源:TechTarget中国

  了解如何从传统 Java 对象(Plain Old Java™ Object,POJO)开发服务组件,并在 IBM® WebSphere Enterprise Service Bus 中发布。采用 Web 服务描述语言 (WSDL) 定义接口,并使用 Java™ 实现。了解如何将服务组件与独立引用相关联,以及如何使用独立引用跨 ESB 访问服务。

  先决条件

  本文假定您已经安装了 IBM WebSphere ESB 6.0 和 IBM WebSphere Integration Developer 6.0。

  WebSphere Enterprise Service Bus 简介

  WebSphere Enterprise Service Bus 是允许应用程序以灵活方式进行集成的平台,可帮助企业实现其面向服务的体系结构(Service-Oriented Architecture,SOA)目标。ESB 允许服务使用者和服务提供者彼此进行交互,而其间没有任何直接依赖关系。在 ESB 中,需要其他应用程序的服务的应用程序称为“服务使用者”,而提供服务的应用程序称为“服务提供者”。ESB 将服务使用者和服务提供者分离开,务必注意的是,您可以更改服务使用者或服务提供者的接口定义,而不用修改另一方。

  WebSphere Enterprise Service Bus 能够执行以下主要任务,从而将服务提供者与服务使用者分离开来:

  请求和响应路由:服务提供者和服务使用者之间的全部通信都以消息的形式进行。服务使用者请求服务,并针对 ESB 创建请求消息。ESB 平台将充当提供者和使用者之间的传输媒介。ESB 将标识实际的服务提供者并将请求传递给提供者。服务提供者完成操作后,将以消息格式生成响应,并随后将其返回给 ESB。ESB 将响应传输回实际的使用者。在整个通信过程中,提供者和使用者都不会意识到彼此的存在。只有 ESB 知道将请求和响应消息路由到何处。

  消息转换:ESB 允许提供者和使用者使用自己的协议和消息传递格式。他们并没有必要遵循相同的协议和消息格式——ESB 将负责处理不同的协议和不同的消息格式。它知道如何将一种消息格式转换为另一种消息格式,也知道如何将使用一种协议的消息转换为使用另一种协议的消息。

  下图说明了 ESB 的角色:

  图 1. ESB 概略图

  在 WSDL 中创建接口

  我们从将摄氏度转换为华氏度的示例服务组件着手进行演示。Temperature Converter 组件具有名为 convert 的方法,该方法接受以摄氏度表示的给定温度,并将返回对应的华氏度温度作为输出。我们将使用 JavaServer Pages (JSP) 客户机进行测试,此客户机通过独立引用访问该服务组件。

  在 WebSphere ESB 中发布的每个服务组件都具有一个定义良好的接口。我们可以在 WebSphere Integration Developer 中为上述服务组件创建接口 TemperatureConverterInterface:

  图 2. 使用 New Java Interface Wizard 创建 WSDL 接口

  如下所示,向上述接口添加具有一个输入和一个输出的请求与响应操作。此处的操作名为 convert,输入为 Celsius as double,输出为 Fahrenheit as double。

  图 3. 向接口添加操作

  从 WSDL 通过 Assembly Editor 将服务组件作为 POJO 实现

  接下来,我们为上述接口创建一个传统 Java 对象 (POJO) 实现。我们可以在 Assembly Editor 的帮助下采用 Java 创建实现(服务组件),如下所示。Assembly Editor 属于 WebSphere Integration Developer,允许开发人员通过接口(导入和导出)和绑定来连接 SCA 组件。我们将此实现命名为“TemperatureConverterImpl.java”。

  图 4. 使用 Assembly Editor 创建服务组件

  接下来,我们需要通过“Add Interface”将接口 TemperatureConverterInterface 与此实现相关联。

 

 

 

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐