快速业务通道

Java Web服务进阶 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19
中将被商业或开放源代码解决方案所替代的服务器端实现。

黄色用来表示那些由 Apache Software Foundation 维护的组件。在我看来,由于它们在开放源代码社区中被广泛使用,所以您可以在生产环境中安全地部署它们。请注意,在本图中没有显示 Xerces 和 Xalan,但它们是与 Java WSDP 一起被分发的。

白色用来表示所生成的代码、由开发人员在部署过程中提供的数据或瘦客户机应用程序(例如,Web 浏览器)。

图 1. 各组件间的关系

Java Web服务进阶 - 编程入门网

客户机端组件

这个包的客户机端组件通常被部署到客户机应用程序中或者安装在正在作为客户机层进行交互的远程服务器上。基于服务器的客户机层通常在 JavaServer Page 中被用来与远程 Web 服务交互。 图 1 中所示的 Web 浏览器客户机便说明了这样一个体系结构。在这个图中,基于 JSP 的 Web 应用程序可以使用 JAX-RPC 客户机存根来与运行在另一个平台(如 Microsoft .Net)上的远程 Web 服务会话。

从图中的说明可以清楚地看到,客户机上的大多数交互作用都将使用 SAAJ,这是由于所涉及到的协议使用了 SOAP 消息传递。此外,所有的接口都将使用 JAXP,这是由于它们将在应用程序内部直接解析 XML,或者通过为 JAX-RPC 调用而生成的客户机存根代码间接解析 XML。

Java WSDP 中包括的注册中心浏览器可以用来定位和创建测试 UDDI 注册中心中的条目。这个注册中心浏览器使用 JAXR API 并通过使用被作为参考实现的一部分提供的 UDDI 绑定获得一个到注册中心服务器的连接。由于 UDDI 是一个基于 XML 和 SOAP 的协议,所以,在本示例中,JAXR 使用 SAAJ 进行 SOAP 消息传递,并且使用 JAXP 进行 XML 解析。另一个 JAXR 提供程序可能不是基于 SOAP 的,或者它可能有其自己的 SOAP 协议实现并因而将不使用 SAAJ。

当一个 Java 应用程序要使用一个或多个 Web 服务时,在 图 1中并非显而易见的另一类型的关系就会发生。对于每一个被使用的 Web 服务来说,开发人员通常获得所部署的、描述这个 Web 服务的 WSDL 文档。这个文档可能已经注册到了 UDDI 注册中心;若是如此,理论上开发人员将在开发环境的协助下使用 JAXR 来浏览 UDDI 注册中心并获得这个 Web 服务的 WSDL。一旦获得了 WSDL,开发工具将生成客户机存根代码,这些代码会被编译到应用程序中。正在使用这个 Web 服务的客户机应用程序可能并不知道有个过程调用正在被 JAX-RPC 接口使用 XML 和 SOAP 数据编入到远程服务器上。

同样,客户机应用程序可能需要使用 ebXML 与远程伙伴应用程序交互。要为与伙伴交互作用作准备,这个应用程序将使用 JAXR 并获取一个 ebXML 绑定以便可以浏览 ebXML 注册中心(Java WSDP 中不提供这个 ebXML 注册中心)。一旦交换了贸易和伙伴协议(在实际生活中这需要做许多工作),这个应用程序将使用 JAXM 并获取一个支持 ebXML 的 JAXM 提供程序,然后开始交换消息。

服务器端组件

大多数在客户机上使用的接口也可以用在服务器上,或者在服务器上有一个使用这些相同接口的参考实现组件。这种情况的一个示例便是 JAX-RPC Servlet。JAX-RPC 调用中的大多数代码是双向的,因此,在服务器上使用的相同代码也可在客户机上使用。来自客户机的 JAX-RPC 调用被定向到 JAX-RPC Servlet。JAX-RPC Servlet 使用 SAAJ 的参考实现来处理这个 SOAP 消息,使用 JAX-RPC 的参考实现来对来自 SOAP 主体的方法名称和参数进行数据编出。一旦这个信息被获取,特定于服务器的实现代码必须获得到被请求方法的接口,并动态地调用这个方法,然后返回结果。从这个方法返回的结果使用相同的 JAX-RPC 和 SAAJ 接口被数据编入回到客户机。这是服务器端组件使用客户机端代码所用的相同的包的一种方法。

由 Java WSDP 提供的服务器端组件通常是不针对生产环境的参

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号