概念:Web Services for J2EE
该指南提供了 J2EE Web Service 的概述。
关系
相关元素
主要描述

什么是 J2EE Web Service?

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

Web Service 体系结构
图 1:- Web Service 体系结构

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

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

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

Web Service 客户端视图

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

Web Service 客户端视图
图 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 中所指定

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

引用

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