主题

什么是 J2EE Web Service?回到页首

Web Service 是围绕着包含以下三个主要元素的体系结构进行组织的:服务注册表、服务提供程序和服务请求程序。 图 1 概述了这些不同元素之间的关系。


图 1:- Web Service 体系结构

服务提供程序的启动方式是:使用 Web 服务描述语言(WSDL),通过抽象服务描述文档定义服务接口。 此抽象描述与传送和编码绑定相关联,并与具体服务描述中的地址相关联,以定义具体服务实例(也称为服务端点端口)。此具体描述然后可以在服务注册表(例如通用描述、发现和集成,UDDI)中发布,以供任何服务请求者访问。 服务请求者将使用它来为 Web Service 选择和使用具体服务实施。

J2EE Web Service 存在于在容器内操作的这样一组端口中。 该容器作为对服务访问的媒介,并提供运行时环境。

Web Service 的客户端可以是另一个 Web 服务、任一 J2EE 组件或任一 Java 应用程序。即使非 java 或非 Web 应用程序也可以使用 Web 服务。

Web Service 客户端视图 回到页首

Web Service 客户端视图由端口提供程序(服务提供程序)提供,以及由容器提供。 如下面的图 2 中所示(灰色),客户端视图由服务接口和服务端点接口组成。


图 2:-Web Service 客户端视

为访问 Web Service 的端口,客户端首先使用 JNDI API 找到服务接口。 通过服务接口,客户端将发现使用服务端点接口访问端口和访问 Web Service 实施的方法。 在客户端视图中,端口被视为无状态对象。

服务接口和服务端点接口是根据 JAX-RPC 规范定义的,而服务接口行为却是根据 Web Service 提供程序提供的 WSDL 服务描述文档定义的。

Web Service 服务器视图 回到页首

Web Service 的服务器视图涉及服务的业务逻辑的实施。如 J2EE 1.4 中的定义,可使用以下方法之一实施 Web Service 端点:

  • 使用无状态会话 bean,如在 JSR 109EJB 2.1 规范中所指定
  • 使用 servlet,如在 JAX-RPC 1.1 中所指定

关于这两种方法的更多信息,请参阅指南:确定会话 bean(对于基于会话 bean 的端点)和指南:确定 Servlet(对于基于 servlet 的端点)。

参考 回到页首

本页的主要参考是 Web Services for J2EE(JSR 109)规范

Rational Unified Process   2003.06.15