WEB开发网
开发学院软件开发Java 用 JAX-RPC 构建 RPC 服务和客户机(下) 阅读

用 JAX-RPC 构建 RPC 服务和客户机(下)

 2010-04-06 00:00:00 来源:WEB开发网   
核心提示: 与设置端点和操作的代码一样,这里的代码也很简单,用 JAX-RPC 构建 RPC 服务和客户机(下)(10),但是它会完成许多操作:Call 实例查找请求要发送到的 URL 端点,Call 实例查找要调用的操作,多掌握一种工具,就多一种选择,使用目标端点和操作名以及您提供的参数,构造一个新的 S

与设置端点和操作的代码一样,这里的代码也很简单,但是它会完成许多操作:

Call 实例查找请求要发送到的 URL 端点。

Call 实例查找要调用的操作。

使用目标端点和操作名以及您提供的参数,构造一个新的 SOAP 请求。这个请求采用 XML 格式。

把 XML 格式的 SOAP 请求发送给 Web 服务。

Web 服务用一个 XML 格式的响应来回复这个请求。

把生成的 XML 转换为 Java 对象(在这里是一个对象数组)并返回给程序。

当然,程序员只需调用 invoke() 方法即可。

现在,程序完成了,重新编译它并确保 Web 服务和 servlet 引擎正在运行。然后,运行客户机程序;应该会得到与清单 25 相似的结果:

清单 25. 运行 BookSearcher Web 服务客户机程序

[bdm0509:~/Documents/developerworks/jax-rpc] java BookSearcherClient design 
Returned books for keyword 'design': 
 Emotional Design 
 Indexed 

这个结果没有多少新奇的地方;实际上,它与 清单 7 中测试程序的结果(清单 8)非常接近。主要的区别并不 明显:所有请求和响应都使用 SOAP、XML 格式和 RPC 模型。您只需编写非常简单明了的 Java 代码。

结束语

利用本教程的最佳方法是把学到的知识应用于自己要解决的问题。教程中的示例都是虚构的,只用来解释关键的概念。您应该选择一个问题并应用 JAX-RPC 来解决它。您可以构建一个基于 RPC 的服务,用它响应来自 Web 页面的 Ajax 请求。Java 程序中可以通过从服务器获取信息受益,并且 RPC 是响应 Java 程序请求的好方法。还可以把使用 SOAP 的现有代码改为使用 JAX-RPC。在一两个真实的应用程序中应用 JAX-RPC,无论什么应用程序。您肯定会遇到本教程没有详细讨论的问题,在解决这些问题的过程中,您会巩固在这里学到的知识。

JAX- RPC(以及一些最出色的 Web 服务工具集和 API)的优点之一是,API 非常宽松。换句话说,JAX-RPC 并没有对发送或接收的数据施加太多限制。只要使用与语言相关的格式并正确地设置客户机和服务器,JAX-RPC 就能够发挥作用。这大大减少了对编程的干扰;您只需设置好 JAX-RPC 组件,然后就可以编写自己的业务逻辑、应用程序逻辑等等。不必担心 JAX-RPC 会影响您的代码。

由于这些原因,JAX-RPC 是很不错的 Web 服务技术。它使我们能够对特定类型的服务器端程序进行特定类型的调用。如果需要特定的客户机-服务器关系,就使用 JAX-RPC。如果不需要,就不使用。换句话说,您可以自由地决定是否使用 JAX-RPC;与此相反,选择 Java 作为编程语言或选择 Eclipse 作为开发环境,就会丧失一定的自由度。您不必局限于 JAX-RPC,也不会被迫改变编程标准或实践。实际上,JAX-RPC 是实现 Web 服务和客户机-服务器交互的几种最佳技术之一。

因此,您应该用 JAX-RPC 构建几个程序,尽可能掌握 JAX-RPC 技术。当需要向部门、组织或公司外的消费者提供简单的 Web 服务时,JAX-RPC 是不错的选择。它符合 SOAP 和 WSDL 规范,大多数 Web 服务消费者都能够处理它。如果您要应付的局面没这么简单,可以选用其他技术,包括新的 JAX-WS。总之,多掌握一种工具,就多一种选择,更容易找到最适合您的 应用程序的解决方案。

本文示例源代码或素材下载

上一页  5 6 7 8 9 10 

Tags:JAX RPC 构建

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接