Home 文章 Java/XML WebSphere 应用服务器 6.1 Web Services 功能部件包入门

feedsky
抓虾
google reader
my yahoo
WebSphere 应用服务器 6.1 Web Services 功能部件包入门 E-mail
User Rating: / 0
PoorBest 
作者是 Administrator   
2008-01-17 04:54:26

WebSphere 应用服务器 6.1 Web Services 功能部件包中的新增内容

WebSphere 应用服务器 6.1 Web Services 功能部件包(WebSphere Application Server 6.1 Web Services Feature Pack 简称 WAS61 WSFP)是 WebSphere 应用服务器 6.1 专对 Web Service 功能提供的可选择安装的增强包。它提供了对 Web Services 的更强大支持。现在 Web Services Feature Pack 已经正式发布,您可以从 IBM 网站上下载它。Web Service 功能部件包最显著的特点是引入了对 JAX-WS2.0 的支持。JAX-WS2.0 是 JAX-RPC 1.1 的后续版本,其主要目标是与行业方向保持一致。通过使用 JAX-WS,就可通过使用动态代理和 Java 注释,借助于 Java 应用程序的不依赖于平台的特征,简化 Web Service 和客户机的开发。使用 JAX-WS 2.0 及与之相关的一系列标准和模型,您可以使用消息传输优化机制(MTOM)发送附件数据,可以利用 JAXB 方便的进行 XML 数据操作,可以采用异步编程模型,还可以实现安全可靠的 Web service 消息传递等功能。

我们先来看看 WAS61 WSFP 增加了对哪些 Web Service 新标准和编程模型的支持。

新的 Web Service 标准的支持:

  1. Web Service 可靠消息传递(WS-RM)
  2. Web Service 寻址(WS-Addressing)
  3. SOAP 消息传输优化机制(MTOM)
  4. Web Service 安全对话(WS-SC)

新的基于标准的编程模型的支持:

  1. Java API for XML Web Services(JAX-WS 2.0)
  2. Java Architecture for XML Binding(JAXB 2.0)
  3. SOAP 1.2
  4. SOAP with Attachments API for Java(SAAJ 1.3)
  5. Streaming API for XML(StAX 1.0)

归结这些新增 Web Service 新标准和编程模型的支持,Web Service 功能部件包对 Web Service 的增强主要涵盖了以下几个方面:

安全可靠性

  1. 可靠性 - WS-Reliable Message 确保 Web Service 消息传递到目的地,如果消息丢失则通过再次传递杜绝消息丢失。此规范使发送方和接收方能够保证一组消息中的服务质量。它有助于应用程序开发者处理旧问题、维护中断和阻碍消息完成的其他问题。
  2. 异步– JAX-WS2.0 支持 Web Service 异步通信,即使通信一方离线,繁忙或者不可达,消息仍能在稍后的时间正确传递。
  3. 安全– 支持基于 WS-Secure 对话(WS-SC)和 WS-Security 规范以及相关联的令牌概要文件。WS-Security 规范及其相关联的令牌概要文件定义发送安全性令牌的方法并提供消息完整性和机密性。WS-Secure 对话规范根据共享密钥建立安全上下文,供客户机和服务器用于一系列消息。此标准在各组织之间提供一个框架,该框架定义如何保护整个对话。WS-Security 策略可用于定义如何保护 SOAP 消息。它具有以下选项:
    1. 哪些消息部件已签署和加密;
    2. 要包括的令牌类型;
    3. 是使用对称密码术还是非对称密码术;
  4. 事务支持 - 提供对 Web Service 应用程序的原子事务的支持。通过附加策略集(该策略集将 WS-Transaction 策略作为策略集的一部启用),在客户端(出站)和服务器端(入站)都可以启用 WS-Transaction。

易于实现

  • 支持基于注释的 Web Service 开发模式大大简化了开发流程。

Web Service 功能部件包提供了对这种新的编程标准的支持。通过使用注释来指定与 Web Service 实现相关联的元数据以及简化 Web Service 的开发。 注释描述如何将服务器端的服务实现作为 Web Service 来访问或者客户端的 Java 类如何访问 Web Service。JAX-WS 编程标准支持将具有用于定义服务端点应用程序的元数据的 Java 类作为 Web Service 来注释以及注释客户机如何访问 Web Service。JAX-WS 支持使用基于 Metadata Facility for the Java Programming Language(Java 规范请求(JSR)175)规范和“用于 Java 平台的 Web Service 元数据”(JSR 181)规范的注释,还可以使用由 JAX-WS 2.0(JSR 224)规范定义的注释(包括 JAXB 注释)。通过使用符合 JSR 181 标准的注释,可以简单地注释服务实现类或服务接口,并且将应用程序作为 Web Service 来启用。通过在 Java 源代码中使用注释可以简化 Web Service 的开发和部署,是因为会定义一些通常从部署描述符文件和 WSDL 文件中获得的附加信息,或者会将元数据从 XML 和 WSDL 映射至源工件中。使用注释可以来配置绑定,处理程序链、端口类型的集合名称、服务以及其他 WSDL 参数。注释用于将 Java 映射至 WSDL 和模式,以及在运行时控制 JAX-WS 运行时处理和响应 Web Service 调用的方式。

例如,可在 Java 源代码中嵌入一个简单的 @WebService 标记来将 Bean 显示为 Web Service。

@WebService 

public class MyBean implements BookStore {

 public float getBook(String name) { ... }

 }


  • 支持 Java Architecture for XML Binding(JAXB).

JAXB 提供了映射 Java 类与 XML 模式的简易方便方法,用于简化 Web Service 开发。JAXB 在 Java 应用程序中利用 XML 数据与平台无关的灵活性,将 XML 模式绑定至 Java 应用程序,而不需要具有丰富的 XML 编程知识。WebSphere Application Server V6.1 Web Service 功能部件包提供了对 JAXB 2.0 标准的支持。JAXB 是 XML 至 Java 绑定技术,它支持模式与 Java 对象之间以及 XML 实例文档与 Java 对象实例之间的变换。JAXB 由运行时应用程序编程接口(API)及伴随的工具组成,它们简化了对 XML 文档的访问。JAXB 还有助于构建符合并验证 XML 模式的 XML 文档。JAXB 提供 xjc 模式编译器工具、schemagen 模式生成器工具和一个运行时框架。可以使用 xjc 模式编译器工具从 XML 模式定义(XSD)开始创建一组 JavaBeans(映射至在 XML 模式中定义的元素和类型)。还可以从一组 JavaBeans 开始并使用 schemagen 模式生成器工具来创建 XML 模式。XML 模式与 Java 类之间的映射存在之后,通过使用 JAXB 绑定运行时 API,可将 XML 实例文档转换为 Java 对象,或将 Java 对象转换为 XML 实例文档,而无需了解数据结构就可以访问存储在 XML 文档中的数据。然后可以将生成的 Java 类用于组装 Web Service 应用程序。JAXB 带注释的类和工件包含 JAXB 运行时 API 处理 XML 实例文档所需的所有信息。JAXB 运行时 API 支持将 JAXB 对象编组为 XML 文档以及将 XML 文档取消编组回 JAXB 类实例。JAXB 是缺省数据绑定技术,供本产品中的 Java API for XML Web Services(JAX-WS)2.0 工具和实现使用。可开发 JAXB 对象以在 JAX-WS 应用程序中使用。当想要利用 XML 数据绑定技术来处理 Java 应用程序中的 XML 时,也可以独立于 JAX-WS 使用 JAXB。

  • 使用资源注入

JAX-WS 支持资源注入以进一步简化 Web Service 的开发。JAX-WS 使用 Java EE 5 的此关键功能部件来将在 Java 运行时环境中从 Web Service 应用程序创建和初始化一般资源的负担转移给应用程序容器本身。JAX-WS 提供对在 JSR-250 中为资源注入和在其运行时中的应用程序生命周期定义的一部分注释的支持。 Web Service 功能部件包支持对 @Resource 注释使用 JAX-WS 以进行资源注入。@Resource 注释由包括在 Java Platform, Enterprise Edition 5(Java EE 5)中的 JSR-250(公共注释)规范定义。通过替换服务端点实现的 @Resource 注释,可以请求资源注入并收集与该特定端点调用相关的 javax.xml.ws.WebServiceContext 接口。当端点看到 @Resource 注释时,在将 servlet 放入到服务中之前,端点会添加具有适当值的带注释的变量。从 WebServiceContext 接口中,您可以收集请求的 MessageContext(该请求与使用 getMessageContext() 方法的特定方法调用相关联)。

以下示例演示将 @Resource 注释用于资源注入:

@WebService

public class TestService {
 
 @Resource

 private WebServiceContext ctx;
 
 public String echo (String input) {

 …

 }

 }


  • 支持 SOAP 消息传输优化机制(MTOM)

它是 W3C 开发的标准。MTOM 描述一个机制,该机制用于通过有选择地重新编码部分消息向 SOAP 应用程序显示 XML 信息集来优化 SOAP 消息的传输或有线格式。可能有很多原因会使 Web Service 请求发送二进制附件,例如图像或文件。MTOM 可以帮助 Web Service 按最佳方式发送二进制附件。Web Service 功能部件包提供了 MTOM 的样本应用程序,您可以参考该程序了解如何利用 MTOM.

易用性和互操作性

在安装 Web Service 功能部件包之后,用户可以建立新 Web Service 应用服务器概要或者扩展原有的网络部署服务器概要。Web Service 概要文件简化的管理使得进行配置和重用配置更容易,在 Web service 概要中提供了一套“策略集”(Policy Set). 这些配置在称为“策略集”的组中捕获,它们允许您选择不同的服务质量并使这些服务质量与应用程序关联。可将策略集配置为只允许给定 WS-Interoperability(WS-I)概要文件中的那些功能,因此限制并确保唯有的可配置部分都是必需的。WS-I 是一个开放式业界组织,专用于提升平台、操作系统和编程语言之间的 Web Service 互操作性。





回页首


Web Service 功能部件包常见问题

Q. 如何安装 Web Service 功能部件包

A. Web Service 功能部件包需要安装在 WebSphere 应用服务器 6.1 之上,因此您需要先具有 WebSphere 应用服务器 6.1 环境。关于具体安装步骤,可以参考 Web Service 功能部件包的信息中心:http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.wsfep.multiplatform.doc/info/welcome_nd.html

Q. 如果我已有 WebSphere 应用服务器 6.1 环境和概要文件,在安装 Web Service 功能部件包后是否概要文件已具备 Web Service 功能新功能?

A. 并非如此。您需要扩展已有的 Deployment Manager 概要文件使之具备 Web Service 的新功能。在 $WAS_Home/bin 目录下执行

Linux/Unix 系统:
manageProfiles.sh -augment -profileName $YourDmgrProfileName -templatePath 
$WAS_HOME/profileTemplates/WEBSERVICES/dmgr.wsfep

Windows 系统:
manageProfiles.bat -augment -profileName $YourDmgrProfileName -templatePath 
$WAS_HOME/profileTemplates/WEBSERVICES/dmgr.wsfep

您也可以使用 PMT(概要文件管理工具)图形化界面工具来进行概要文件扩充。


概要文件管理工具

需要注意的是,Web Service 功能部件包不支持对应用服务器概要文件进行扩充。您需要重新创建具有 Web Service 新功能的应用服务器概要文件。同样,Web Service 功能部件包不支持扩充定制和单元概要文件。您可通过 addNode.sh或addNode.bat 命令将 Web Service 新应用服务器概要加载到 Web Service 新的 Deployment Manager 概要的单元中去。详细信息请参阅 WAS 6.1 信息中心中对功能部件包扩充概要文件的规则和局限性的描述。

Q. Web Service 功能部件包提供了哪方面的样本应用程序?

A. Web Service 功能部件包提供了三个样本程序,Ping,Echo 和 MTOM。它们示范了:

  • 简单消息传递的同步和异步模式。
  • 使用 Web Service 可靠性的一系列标准,例如 Web service standards such as WS-Addressing (WS-A), WS-Reliable Messaging (WS-RM), and WS-Secure Conversation (WS-SC)。使用 Web Service 样本应用程序,您可以进行可靠交互操作的测试。
  • 使用 JavaBeans,静态 SEI 和基于 proxy 来实现客户端。
  • 使用消息传递优化 (MTOM) 传送附件 。

Q. 如何使用 Web Service 功能部件包提供的样本应用程序?

A. 请参照以下信息运行样本应用程序

样本应用程序位置

安装 Web Service 功能部件包的过程中,样本应用程序会被复制到 $WAS_HOME\samples 下。在 $WAS_HOME\samples\lib\WebServicesSamples 目录下所有的 .ear 文件。WSSampleServicesSei.ear 是包含了 ping 和 echo 样本的 service 端应用程序。WSSampleMTOMService.ear 是 MTOM 样本的 service 端应用程序。

安装样本应用程序

Web Service 功能部件包的样本程序提供了安装脚本。进入目录 $WAS_HOME\\samples\lib\WebServicesSamples 执行 installapps(windows)或 installapps.sh(Linux)。这个脚本有三个可选参数: profile –应用服务器概要名 cell –应用服务器单元名 node –应用服务器节点名 例如

./installapps.sh AppSrv02 MyNode01Cell MyNode01

运行样本应用程序

1. 通过浏览器访问 ping 和 Echo 样本程序,运行 http://Host_Name:port/wssamplessei/demo。


Ping 和 Echo 样本程序界面

2. 运行 MTOM 样本客户端

MTOM 样本提供了一个命令行方式的接口。您可以随意找一个二进制文件如 .gif,.jpeg 或者 .bmp 文件才测试 MTOM 样本的功能。进入目录 $WAS_HOME\samples\lib\WebServicesSamples。执行下面命令查看执行 MTOM 客户端所需参数:

RunSampleMtom.bat –


Ping 和 Echo 样本程序界面

例如,使用 test.jpg 二进制文件测试 MTOM 样本程序则结果如下


Ping 和 Echo 样本程序界面





回页首


结束语

本文阐述了 WebSphere 应用服务器 6.1 Web Service 功能部件的新特性,解答了一些常见问题,并简单介绍的功能部件包的样本程序。 本文将有助于您快速开始使用 WebSphere 应用服务器 Web Service 功能部件的新功能。



参考资料

学习

获得产品和技术
  • 使用 IBM 试用软件开发您的下一个项目,可下载或索取 DVD 光盘。


讨论


最近更新 ( 2008-01-17 04:54:26 )
 
Java家,