首页 / 软件开发 / JAVA / 用JAX-RPC构建RPC服务和客户机:使用Java API构建基于RPC的Web服务(一)
用JAX-RPC构建RPC服务和客户机:使用Java API构建基于RPC的Web服务(一)2011-08-02 IBM Brett McLaughlin简介:远程过程调用(RPC)是基于 Simple Object Access Protocol(SOAP)或 Representational State Transfer(REST)的现代 Web 服务的前身。因为所有 Java™ 平台的 Web 服务 API 都构建 在从 RPC 引入的概念之上,所以要想用 Java 语言编写有效且高效的 Web 服务,理解 Java API for XML-Based RPC(JAX-RPC)几乎是必需的。本教程讲解如何获取、安装和配置 JAX-RPC 并构建一个服务 器端 RPC 接收器和一个简单的客户端应用程序。开始之前关于本教程本教程完整地介绍如何安装、配置、构建和运行基于远程过程调用(RPC)的 Web 服务。我们将下载 和安装一个 Java API for XML-Based RPC(JAX-RPC)实现,学习如何在 Java 类和包中使用 JAX-RPC, 并构建客户机和服务器来支持基于 RPC 的交互。此外,还讨论配置选项,并帮助您熟悉如何部署基于 RPC 的应用程序。目标本教程全面介绍 JAX-RPC Web 服务的构建。更重要的是,学习所有 Web 服务的构建方式。本教程讨 论在基于服务的体系结构中客户机-服务器交互的基本知识,并把 RPC 作为这些原理的一种实现来研究。还将在实践背景下全面了解 JAX-RPC API。尽管我们并不使用每个类的每个方法,但是将讨论在真实 环境中哪些类和方法是最基本的,以及哪些方法是不太 有用的。我们将在构建一个基于 RPC 的客户机和 服务器的过程中讲解这些概念。因为基于服务的体系结构与传统的客户机-服务器 Web 交互(比如通过 HTML 前端向 Java servlet 发出 POST 请求)相比不太直接,而且比较难以管理,所以也 比较难实现。本教程讨论构建 Web 服务的 一些最佳实践和常见错误。还将:了解 JAX-RPC 的基础知识,因为它们与广泛的 Web 服务相关了解基于 RPC 的服务与基于 SOAP 和 REST 的服务之间的差异了解在什么情况下 RPC 服务是合适的选择先决条件本教程是为 Java 程序员编写的。您应该熟悉 Java 应用程序开发,熟悉如何使用标准的和第三方的 Java API 和工具集。还需要一个能够驻留服务器端 Java 应用程序(servlet)的 Web 服务器。可以使用任何支持 Java 的 Web servlet 容器、应用服务器或驻留服务提供商。最流行的解决方案之一是 Apache Tomcat,这种 产品是免费的,而且有良好的文档。由您自己决定是在(您公司或 ISP 的)远程服务器上测试程序,还 是在本地机器上测试。只需在一台可访问的机器上安装和运行服务器即可。本教程会详细介绍如何在这些 服务器上配置 JAX-RPC,所以目前您还不需要理解 JAX-RPC 的 servlet 和 Web 服务器之间的关系。了解 Java servlet 和 Apache Tomcat(尤其是 servlet 驻留功能和 web.xml 部署描述符文件)会 有帮助,但不是必需的。本教程主要关注 JAX-RPC 和 JAX-RPC 的 Apache Axis 开放源码实现,但是不要求读者具备 RPC、 JAX-RPC 或 Apache Axis 知识。本教程会详细讨论它们的下载、安装和配置过程。下载和安装 Apache Axis因为 JAX-RPC 并不是标准 Java 发行版的组成部分,所以需要单独安装和配置。(正如稍后所解释的 ,实际上并不安装 JAX-RPC 本身,而是安装某种 JAX-RPC 实现)。目前不必考虑 RPC 是什么;我们将 会进一步讨论 RPC。目前,只需按照以下步骤让 JAX-RPC 运行起来,这样就可以通过实践这个 API 和使 用这个 API 的程序来学习相关知识。