Sun Java System Application Server 9.1 管理指南

第 14 章 管理 Web 服务

本章介绍使用 Application Server 进行 Web 服务管理。通过管理控制台和 asadmin 工具,您可以部署、测试和管理 Web 服务。您可以快速地可视化、了解、监视和管理复杂的 Web 服务。您可以查看部署在域中的所有 Web 服务,就像查看 Java EE 应用程序和应用程序组件(例如,EJB)那样。

您还可以:

本章包含以下主题:

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 可以实现:

部署和测试 Web 服务

Application Server 允许您轻松地部署和测试 Web 服务。

部署 Web 服务

在企业归档 (enterprise archive, EAR) 中部署 Web 服务(就像在企业应用程序中部署 Web 服务那样)。

还可通过 POJO(plain old Java Object,简单传统 Java 对象)实现 Web 服务。通过将 POJO Web 服务拖放到自动部署目录,使用自动部署功能对 POJO Web 服务进行部署。Application Server 将自动生成相应的 Web XML 文件并部署该 Web 服务。

在管理控制台中,可在 "Application Server" >“ Web 服务”|“常规”下查看已部署的 Web 服务的列表。

查看已部署的 Web 服务

要使用管理控制台测试 Web 服务,请选择“应用程序”>“Web 服务”> "web-service-name" |“常规”。管理控制台会显示该 Web 服务的属性:

测试 Web 服务

管理控制台允许您测试 Web 服务并对问题进行诊断。可使用通用测试 Servlet 强制回应 (ping) 已部署的 Web 服务。将会显示每种方法调用的 SOAP 消息。

要使用管理控制台测试 Web 服务,请选择“应用程序”>“Web 服务”> "web-service-name" |“常规”,然后单击“测试”按钮。

Web 服务安全性

对 SOAP 消息层安全性的支持以 WS-Security 的 SAML 令牌配置文件为基础。同时,还为 Web 服务提供了防篡改审计。

使用 Web 服务注册表


注 –

Application Server 没有内部注册表。要将 Web 服务发布到内部注册表,必须在应用服务器上下载并安装注册表。要将 Web 服务发布到外部注册表,请指定外部注册表的地址。


添加注册表

可在管理控制台中的 "Application Server " >“Web 服务”|“注册表”下添加或删除 Web 服务注册表。使用此页面来创建注册表访问点 (Registry Access Point, RAP)。添加注册表时,请指定以下参数:

执行以下步骤可以创建注册表 JNDI 名称:

将 Web 服务发布到注册表

要使用管理控制台发布 Web 服务,请选择“应用程序”>“Web 服务”> "web-service-name" |“发布”。

在“发布 Web 服务”屏幕中,选择要将 Web 服务发布到的一个或多个注册表,然后单击“发布”。要发布到所有可用的注册表,单击“添加全部”按钮。

输入将在注册表中显示此 Web 服务的类别。使用逗号分隔各个类别。类别定义在要使用的注册表中。输入此 Web 服务的描述。如果要发布到 UDDI 注册表,请输入组织名称。

如果要使用负载平衡器,请输入负载平衡器主机名、端口号和 SSL 端口号。如果要将 Web 服务发布到外部注册表(在此可通过 Internet 找到 WSDL),这些选项会将 WSDL 中指定的主机名和端口名替换为负载平衡器的主机名和端口名。

要取消发布 Web 服务,请在“发布 Web 服务”屏幕中,选择要从中取消发布 Web 服务的注册表,然后单击“取消发布”。

使用 XSLT 过滤器变换消息

可以将 XSLT 变换规则应用于 Web 服务端点。这可以对 Web 服务请求和响应进行精确控制。可以将多个 XSLT 规则应用于 Web 服务端点,并且可以配置应用变换的顺序。所有 XSLT 文件都存储在中心系统信息库的 generated/xml/appOrModule 目录中。这些变换规则会被同步到远程服务器实例。

可以将变换规则应用于 SOAP 请求或响应。

要使用管理控制台添加变换规则以应用于 Web 服务操作,请选择“应用程序”>“Web 服务”> "web-service-name" |“变换”。单击“添加”。

此时将显示该 Web 服务端点可用的变换规则列表。

浏览至包含该变换规则的 XSLT 文件的位置。所有生成的 XSLT 文件都存储在 generated/xml/ 应用程序或模块名称/ 目录中。

如果要为 Web 服务端点添加多个变换规则,则将按添加变换规则的顺序来应用变换规则。

要启用变换规则,请在“变换规则”页面中,选中与该规则对应的复选框,然后单击“启用”。要禁用规则,单击“禁用”。

要删除变换规则,请在“变换规则”页面中,选中与该规则对应的复选框,然后单击“删除”。这将从列表中删除变换规则。如果已将此变换规则应用于 Web 服务端点,则将自动禁用此变换规则。但是,XSLT 文件仍将保留在其文件路径位置中。其他 Web 服务端点可使用此 XSLT 文件。

监视 Web 服务

管理控制台可以跟踪并以图形方式显示 Web 服务的运行统计信息,并可以显示由 Web 服务发送和接收的消息。

要使用管理控制台启用对 Web 服务的监视,请选择“应用程序”>“Web 服务”> "web-service-name" |“监视”|“配置”。

在“监视配置”页面中,设置监视级别:

输入“消息历史记录”的值。默认值为 25。单击“重置”按钮可以清除所有统计信息并重新开始计算运转平均值。

查看 Web 服务统计信息

通过 Application Server9.1 可以跟踪和以图形方式显示 Web 服务的运行统计信息。

可在“应用程序”>“Web 服务”> "web-service-name" |“监视”|“统计信息”下查看监视统计信息。可用的统计信息有:

监视 Web 服务消息

您还可以配置 Web 服务来查看 Web 服务端点的消息(默认值为 25 条)。这些消息存储在远程服务器实例的内存中。将显示 SOAP 请求、响应和 HTTP 标头信息的详细资料。

可在“应用程序”>“Web 服务”> "web-service-name" |“监视”|“消息”下监视 Web 服务消息。

如果启用,则可以查看 Web 服务端点的最后几条消息(默认值为 25 条)。这些消息保存在远程服务器实例的内存中,包括 SOAP 请求和响应及 HTTP 标头信息的详细资料。

将显示由于监视 Web 服务而收到的消息列表。显示的消息数取决于监视配置。

您还可以选择过滤器,以仅查看成功消息或失败消息。