快速业务通道

Java Web服务: Metro简介 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16

Java Web服务: Metro简介

时间:2011-07-25 IBM Dennis Sosnoski

Metro Web 服务栈是由 Sun Microsystems 开发的一个开源工具。它将 JAXB 2.x 数据绑定和 JAX-WS 2.x Web 服务标准的参考实现与其他与 XML 相关的 Java 标准相结合。Metro 还包括一些附加组件,以 支持基本 JAX-WS 服务的定义和使用以及 SOAP 消息交换的各种 WS-* 扩展。

Metro 既可以用作独立的 Web 服务栈,也可以用作开源 Glassfish 应用服务器中的集成组件。如果 使用 Glassfish,尤其是在拥有配置基本 Web 服务和 WS-* 扩展的 GUI 工具的开源 NetBeans IDE 上进 行开发时,Web 服务配置会变得更加容易。本系列继续关注 Web 服务。以前的文章讨论 Apache Axis2 的独立使用,而不是包含 Axis2 并支持 GUI 工具的 Apache Axis2 应用服务器。本文也一样,只讨论以 独立于 IDE 的方式单独使用 Metro。

Metro 基础与 Axis2

本系列之前的文章已经深入讨论了 Axis2,所以本文首先讨论 Metro 与 Axis2 之间的相似点和不同 点。两者的相似点比较有限,主要围绕于使用 Web 服务开发代码的常见需求。这两个框架都允许要么从 已有的 Java 代码开始构建 Web 服务(但是,除非使用 Jibx2Wsdl 之类的单独的工具,否则 Axis2 对 这种方法的支持有限),要么从 WSDL Web 服务描述开始,生成使用或实现服务的 Java 代码。这两个框 架都是将服务操作建模为方法调用,而将服务端口类型建模为接口。

Metro 与 Axis2 之间的不同点比相似点要鲜明得多。从基础上讲,Metro 是围绕 JAXB 2.x 和 JAX- WS 2.x 设计的,无意支持这两种技术以外的任何替代技术(除了遗留的 JAX-RPC 的使用)。而 Axis2 则被设计为支持无限种技术,尤其是在 XML 数据绑定领域。虽然它包括对 JAXB 2.x 和 JAX-WS 2.x 的 支持,但是二者并无特殊地位。(如果说有的话,也仅限于 JAX-WS 某种意义上是 Axis2 中的第二类方 案,原因正如 “Axis2 中的 JAXB 和 JAX-WS” 中所述,无法为 JAX-WS 服务配置 WS-Security 或其他 特性)。

从结构上讲,两种栈在处理请求和响应时都使用处理器。Axis2 以这种处理器方法为基础实现模块: 基本 SOAP 消息交换的可插拔扩展,用于以高度可配置的方式实现 WS-* 技术。Metro 支持多种实现处理 器的 WS-* 技术,但是这些技术都被集成到 Metro 引擎,而不是作为可分离组件。Metro 使用的集成方 法不如 Axis2 模块灵活,但是在配置和使用 WS-* 扩展方面有一些优势。

在客户端代码如何使用 WSDL 服务定义方面,这两种栈之间也有不同。Axis2 主要将 WSDL 服务定义 用于客户端代码生成,从 WSDL 中提取服务定义信息,并生成代码,以在运行时构造匹配的 Axis2 客户 端配置(不过也可以在运行时解析 WSDL 定义)。JAX-WS 2.x,当然还有 Metro,在运行时都需要 WSDL 服务定义,以便构建服务定义。在运行时使用 WSDL 会增加启动开销 — 不过仅限于第一次服务调用 — 没有任何明显的优点。

在服务器端也有不同之处。对于常见的 HTTP 传输,Axis2 通常作为单独的 Web 应用程序(一个 WAR 程序),另外还有任意数量的服务被部署到该 Axis2 Web 应用程序(不过也可以将它打包到应用程序 WAR 中)。可以通过 Web 页面上传部署服务,也可以通过直接将 Axis2 服务 AAR 文件拖放到扩展的 Axis2 Web 应用程序的适当目录中来部署服务。通常,在构建时,Axis2 从 WSDL 服务定义生成各个服务 的配置信息,然后将其包括在服务 AAR 文件中。标准的 Axis2 Web 应用程序还通过 Web 页面提供多种 监视和控制工具。

相反,Metro 要求为每个 Web 服务应用程序构建单独的 WAR 文件,而 Metro 库 JAR 文件要么包括 在 WAR 中,要么包含在类中(作为 HTTP 服务器的一部分),WA

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号