Sun Java System Application Server 9.1 管理指南

Web 服务概述

Web 服务是一种由客户机使用基于 XML 的协议(例如,简单对象访问协议 (Simple Object Access Protocol, SOAP))访问的应用程序,这些协议通过 Internet 协议(例如 HTTP)发送。客户机通过其接口和绑定访问 Web 服务应用程序,这些接口和绑定通过 XML 工件(例如,Web 服务定义语言 (web services Definition Language, WSDL) 文件)来定义。

可扩展标记语言 (eXtensible Markup Language, XML) 是由万维网联盟 (World Wide Web Consortium, W3C) 开发的标准,是构建 Web 服务的基础之一。XML 使 Web 服务和客户机可通过一种通用语言彼此进行通信。XML 是一种简单、灵活、基于文本的标记语言。XML 数据使用尖括号括起的标签进行标记。这些标签包含它们所标记的数据的含义。这种标记允许不同的系统彼此间轻松地交换数据。

文档类型定义 (Document Type Definition, DTD) 或 XML 模式定义 (XML Schema Definition, XSD) 描述了 XML 文档的结构。它包含有关相应的 XML 文档可能具有的标签、这些标签的顺序等信息。

XSLT 代表可扩展样式表语言变换 (eXtensible Stylesheet Language Transformation),用于将 XML 文档从一种格式变换为另一种格式。

Web 服务标准

简单对象访问协议 (Simple Object Access Protocol, SOAP) 为 Web 服务提供了一种通用的消息传送格式。SOAP 使互不了解的对象可以交换消息。SOAP 使用基于 XML 的数据编码格式和 HTTP 传输消息。SOAP 不依赖于编程语言和操作平台,并且其端点不要求使用任何特定的技术。

通用描述、搜索和集成 (Universal Description, Discovery, and Integration, UDDI) 提供了用于注册、取消注册和查找 Web 服务的标准方式。与电话系统的黄页类似,通过 UDDI 的注册表,提供者可以注册其服务,请求者可以找到服务。请求者找到服务后,注册表便不再在请求者与提供者之间扮演任何角色。

Web 服务描述语言 (Web Services Description Language, WSDL) 定义了指定 Web 服务的详细信息的标准方式。它是一种通用 XML 模式,可以指定 Web 服务接口和绑定的详细信息,以及其他部署详细信息。通过使用这种标准方式指定服务的详细信息,不具备 Web 服务先备知识的客户也可使用该服务。

ebXML(Electronic Business using eXtensible Markup Language,使用可扩展标记语言的电子商务)是一组规范,使企业可以通过 Internet 进行商务活动。ebXML 规范由 OASIS(Organization for the Advancement of Structured Information Standards,结构化信息标准促进组织)着手管理。

Java EE Web 服务标准

用于 XML 处理的 Java API (Java API for XML processing, JAXP) 是一组供应商中立的轻量级 API,用于解析或处理 XML 文档。JAXP 使 Web 服务可以“插入”任何相符的 XML 解析器。如果未“插入”外部解析器,则 JAXP 使用其自己的 XML 解析器实现。

用于基于 XML 的远程过程调用的 Java API (Java API for XML-based remote procedure calls, JAX-RPC) 使用基于 XML 的协议进行客户机-服务器远程过程调用。通过 JAX-RPC,可实现基于 SOAP 的可交互使用和可移植的 Web 服务。开发者可使用 JAX-RPC 编程模型开发基于 SOAP 的 Web 服务端点(以及相应的 WSDL 描述)和客户机。基于 JAX-RPC 的 Web 服务可与并非基于 Java 的客户机交互。类似地,基于 JAX-RPC 的客户机可与非基于 Java 的 Web 服务实现交互。

用于 XML 注册表的 Java API (Java API for XML registries, JAXR) 是用于访问业务注册表的 Java API,它具有支持 UDDI 和其他注册表规范(例如 ebXML)的灵活体系结构。JAXR 客户机可以是独立的 Java 应用程序也可以是 J2EE 组件,它使用 JAXR 提供者提供的 JAXR API 实现来访问业务注册表。JAXR 提供者由两部分组成:一个特定于注册表的 JAXR 提供者(提供特定于注册表的 API 实现)和一个 JAXR 可插拔提供者(实现那些与注册表类型无关的 API 功能)。可插拔的提供者会对客户机隐藏特定于注册表的提供者的详细信息。

用于 Java 的带有附件的 SOAP API (SOAP with Attachments API for Java, SAAJ) 使开发者可以生成并使用符合 SOAP 1.1 规范和带有附件的 SOAP 说明的消息。SAAJ 提供了用于处理带有附件的 SOAP 消息的摘要。高级开发者可以使用 SAAJ 使其应用程序直接对 SOAP 消息进行操作。附件可以是完整的 XML 文档、XML 片段或 MIME 类型的附件。此外,SAAJ 还允许开发者实现对其他 MIME 类型的支持。JAX 技术(例如 JAX-RPC)在内部使用 SAAJ 以便对开发者隐藏 SOAP 的复杂性。SAAJ 可以实现: