Java Web 服务: Metro 简介
2010-01-08 00:00:00 来源:WEB开发网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 或其他特性)。
更多精彩
赞助商链接