可以使用 WebLogic Workshop 生成企业级 Web Service。使用 WebLogic Workshop 生成的 Web Service 将使用标准 Web Service 技术:XML、SOAP 和 WSDL。使用 WebLogic Workshop,您可以将精力集中在应用程序逻辑上,而不是这些技术用传统开发方法所需的复杂实现细节上,从而简化了 Web Service 开发。
下列部分说明了使用 WebLogic Workshop 着手生成 Web Service 所需要了解的基本概念,并为您了解有关每个概念的更深入的信息提供指导。
应用程序和项目
在 Web Service 项目内生成 Web Service。Web Service 项目与 J2EE Web 应用程序相对应。您可以在单个项目内生成多个 Web Service。
您的 Web Service 项目以及您正在处理的其他项目都包含在应用程序中。应用程序是以某种方式相关的一组项目、库和资源。在部署时,WebLogic Workshop 应用程序将被编译成 J2EE 企业应用程序(一个 EAR 文件)。
有关应用程序和项目的详细信息,请参阅应用程序和项目。
JWS 文件
Java Web Service (JWS) 文件是 Web Service 的核心。它包含将确定 Web Service 行为的 Java 代码,通常使用一个或多个包含 Web Service 业务逻辑的 Java 控件来确定 Web Service 的行为。JWS 文件实际上是一个由 WebLogic Workshop 运行时进行特殊处理的普通 Java 类文件。可以将使用 WebLogic Workshop 生成的 Web Service 当作一个通过 XML 消息与外界进行通信的 Java 类。如果对 Java 程序设计不熟悉,请参阅 Java 简介。
可以在 WebLogic Workshop 集成开发环境中设计 JWS 文件。可以使用“设计视图”直观地设计 Web Service,使用“源代码视图”直接修改 Java 代码。在“设计视图”中所做的更改将反映到代码中,反之亦然。
方法和回调
Web Service 具有客户端可以调用的公共接口。此接口由方法(也称为“操作”)和回调组成。Web Service 公开的这些方法将由客户端调用;回调是客户端上的方法,Web Service 调用它以将信息发回客户端。
在 Web Service 代码内,可能还有未向客户端公开的非公共方法。这些方法将执行 Web Service 的内部功能。
Web Service 使用的控件也公开方法和回调。Web Service 将作为控件的客户端运行,调用其方法并实现其回调处理程序。
Java 控件
可以在 Web Service 中使用自定义 Java 控件,以实现 Web Service 的业务逻辑。而自定义 Java 控件将使用内置 Java 控件来访问企业资源,如数据库、旧版应用程序和其他 Web Service。换句话说,Web Service 与自定义 Java 控件进行交互:它调用其控件方法,并实现控件回调的回调处理程序;而自定义 Java 控件对它使用的任何内置控件调用其控件方法,并实现回调处理程序。
WebLogic Workshop 提供了用于连接到公用资源的内置 Java 控件。与 WebLogic Workshop 一起提供的内置控件包括:
有关内置控件的详细信息,请参阅使用 WebLogic 内置控件。有关生成自定义 Java 控件的详细信息,请参阅生成您自己的 Java 控件。
属性
构成 Web Service 的大部分元素(方法、回调、控件以及 Web Service 本身)都有属性,可以对这些属性进行设置来指定其特征。可以在 WebLogic Workshop IDE 的“属性编辑器”中设置属性。Web Service 的每个元素都有一个或多个批注,每个批注有一组特性。批注与此元素在“属性编辑器”中的属性相对应。属性作为特殊的 Javadoc 标记(以 @ 开头的批注)存储在代码中。熟悉这些批注后,就可以在“源代码视图”中直接进行编辑(如果您希望如此)。
对话和异步通信
许多业务流程需要花费时间来完成。客户端对 Web Service 发出请求时,如果 Web Service 没有立即返回响应,客户端可能不得不等待下去,而无法继续其他操作。使用 WebLogic Workshop 生成的 Web Service,就可以通过异步通信来解决此问题。在 WebLogic Workshop 中,通过指定 Web Service 公开的方法和回调参与某个会话,可针对 Web Service 实现异步通信。
客户端和 Web Service 进行异步通信时,Web Service 将立即确认客户端的请求,然后再继续处理此请求。客户端就可以继续执行其他工作。而 Web Service 完成操作后,可以通过回调或轮询接口将结果返回到客户端。此工作的全部过程发生在一个对话的上下文内。
此对话通过对话 ID(在客户端与 Web Service 开始对话时生成的唯一标识符)将客户端的请求和 Web Service 的响应相互关联。此对话还将为客户端和 Web Service 之间的这种交换跟踪相关的状态数据。
有关对话的详细信息,请参阅设计对话 Web Service。有关生成异步 Web Service 的详细信息,请参阅设计异步接口。
XML 映射
Web Service 通过 XML 消息与客户端和许多资源进行通信。在许多情况下,必须在 XML 和 Web Service 内的 Java 方法和回调参数之间来回进行转换。传出的方法调用需要其 Java 参数转换成适当的 XML 数据类型;同样的,传入的 XML 消息需要其数据转换成适当的 Java 方法参数类型。WebLogic Workshop 提供了一系列功能来帮助您完成这些转换。简单的映射会自动发生。对于复杂的转换,可以修改 XML 映射 - 即 WebLogic Workshop 用来转换方法参数并返回值的 XML Schema。XML 映射支持 XQuery 语言,以对 XML 数据执行类似 SQL 的遍历。如果在转换过程中需要过程控制,可以编写 XScript 来操作 XML 消息。最后,XMLBean(在整个 WebLogic Workshop 中使用的技术)提供了 XML 数据和 Java 类型之间的高效、自然、方便的转换。