使用 Oracle BPEL 流程管理器创建您的第一个 BPEL 项目

目的

本教程将向您介绍 Oracle BPEL Designer。本教程还通过使用 Oracle BPEL Designer,然后在 Oracle BPEL Process Manager 服务器上运行该产品,提供了创建您的第一个业务流程执行语言 (BPEL) 项目的指导。

大约 20 分钟

主题

本教程包括下列主题:

概述
前提条件
创建 BPEL 项目

在 Oracle BPEL Process Manager 服务器上构建和部署该流程

在 Oracle BPEL Process Manager 服务器上运行部署的流程

将光标置于此图标上可以加载和查看本教程的所有屏幕截图。(警告:因为此操作会同时加载所有屏幕截图,所以根据 Internet 连接的不同,响应时间可能会比较慢。)

注意:此外,还可以在下列步骤中将光标放在每个单独的图标上,从而仅加载和查看与该步骤相关的屏幕截图。

概述

Oracle BPEL Process Manager 通过将一系列同步和异步的服务组合到一个端到端 BPEL 流程流中,简化了基于面向服务的体系结构 (SOA) 开发应用程序的流程。Oracle BPEL Process Manager 为设计、部署和管理 BPEL 业务流程提供了一个开发人员易于使用的可靠的解决方案。

Oracle BPEL Process Manager 包括三个主要组件:

Oracle BPEL Designer:Oracle BPEL Designer 提供了一个构建 BPEL 流程的用户易于使用的图形化方法。Oracle BPEL Designer 使用 BPEL 做为其原生格式,使您能够查看和修改 BPEL 源代码。
Oracle BPEL Process Manager Server: Oracle BPEL Process Manager 提供了 BPEL 服务器的一个可伸缩的强健实现。Oracle BPEL Process Manager 执行标准的 BPEL 流程并提供“脱水”功能,因此长期运行流的状态在数据库中能够得以自动维护,从而实现了用于故障切换和可伸缩性的集群。BPEL Server 利用的是基础 J2EE 应用服务器。
Oracle BPEL Console:Oracle BPEL Console 为管理和调试部署到 BPEL 服务器上的流程提供了一个基于 Web 的成熟界面。审核跟踪和流程历史/报告信息可通过 BPEL Console 和 Java API 自动维护和提供。

 

前提条件

返回主题列表

为了使您能够执行本教程,我们已经:

1.

创建 BPEL 项目

返回主题列表

要创建 BPEL 项目,执行下列操作:

1.

从 Windows 的“开始”菜单,单击开始 > 程序 > Oracle > BPEL Process Manager 2.0 > Start BPEL PM Server,启动 Oracle BPEL Process Manager。

您还可以从命令提示符执行位于 /orabpel/bin 文件夹中的 startOraBPEL.bat 命令来启动 Oracle BPEL Process Manager 服务器。

2.

从 Windows 的“开始”菜单,单击开始 > 程序 > Oracle > BPEL Process Manager 2.0 >
BPEL PM Designer
,启动 Oracle BPEL Designer。

3.

Oracle BPEL Designer 启动之后,您可以看到桌面开发环境。该区域在 Oracle BPEL Designer 中称为 Workbench

启动 Workbench 之后,显示一个对话框,在该对话框中您可以指定工作区的位置。该工作区是要存储您的工作的目录。单击 OK 选择默认位置。您还可以选中阻止再次提问该问题的复选框。

4.

选择了工作区位置之后,会显示一个 Workbench 窗口。Workbench 窗口提供了一个或多个透视图。每个透视图内都包含了编辑器和视图,如导航器。

最初,显示的是带有 Resource 透视图的 Workbench 窗口,其中只能看到 Welcome 视图。

单击 Welcome 视图中带有箭头标记的 Workbench 可以看到 Resource 透视图中的其他视图。

5.

Oracle BPEL Designer Workbench 通过提供一个用于创建、管理和导航工作区资源的通用范例,提供了无缝的工具集成和可控的开放性。

Workbench 包括下列内容:

透视图:每个 Workbench 窗口都包含一个或多个透视图。透视图定义 Workbench 窗口中最初的视图集合和布局。为完成某个特定类型的任务或者选择特定类型的资源,每个透视图都提供了一系列的功能。Workbench 中的大多数透视图都由一个编辑器区和一个或多个视图组成。

视图: 视图支持编辑器,提供了其他表示方式以及在 Workbench 中导航信息的方法。例如,导航器视图显示了项目和其他资源。
编辑器:根据要编辑文件类型的不同,会在编辑器区中显示相应的编辑器。这些编辑器可以堆叠在编辑器区内,而通过单击编辑器的选项卡可以激活各个编辑器。

6.

在 Oracle BPEL Designer Workbench 中,单击 File 菜单,然后选择 New > Project。此时显示 New Project 对话框。从 Wizards 列表中选择 Oracle BPEL Project,然后单击 Next

7.

此时出现 Create a BPEL project 对话框。在该对话框中输入下列详细信息:

BPEL Process Name: HelloWorld

Namespace: http://www.oracle.com/technology/products/ias/bpel
Template: Sync BPEL Process

然后单击 Finish

8.

New Project Wizard 为这个新的同步 BPEL 流程 HelloWorld 创建一个骨架。该向导还会构建该流程,您可以在控制台窗口中查看构建是否成功。在此流程中,该向导还会创建下列文件:

文件

说明

.project Eclipse 格式 .project 文件
bpel.xml 该流程的部署描述文件。为该流调用的服务定义 WSDL 文件位置,以及其他项目特定的参数。
build.xml 用于编译和部署该流程的 Apache Ant 脚本
HelloWorld.bpel 该流程的 BPEL 源代码。New Project Wizard 创建一个空的流,其中只有用于所选流类型的最基本的活动和定义。对于同步的 BPEL 流程,仅有的活动包括从同步客户机请求启动流的 和返回的
HelloWorld.wsdl 该流程的 WSDL(客户端)界面。该流程定义该流的输入和输出消息、支持的客户端界面和操作,以及 BPEL partnerLinkTypes,以便可以将该流整合到其他流程中。New Project Wizard 生成 document-literal 样式的 WSDL,它接受字符串输入消息,返回字符串响应消息。

9.

要查看 New Project Wizard 生成的 WSDL 代码,请双击导航器视图中的 HelloWorld.wsdl 文件。

10.

该 WSDL 文件在一个新的编辑器选项卡中打开。向下滚动浏览,直到找到文本 。请注意,New Project Wizard 定义了 HelloWorldRequestHelloWorldResponse complextype 元素,HelloWorld 流程流会分别将上述两个元素接受为输入和返回为输出。

单击选项卡中的叉号 (x) 关闭该编辑器。

11.

现在显示 BPEL 文件的内容。您可以看到提供 HelloWorld 流程概要的可视化表现形式。左侧为客户端界面,其中显示了该流程提供的操作。请注意,BPEL Designer 会自动将任何名称为 client 的 partnerLink 放在窗口的左侧。所有其他 partnerLink 都显示在右侧的列表中。

12.

单击 Process Map 按钮查看 HelloWorld 流程的流程流逻辑的详细可视化表现形式。您可以使用该窗口以图形的形式编辑该流程的逻辑流。您还可以看到窗口右侧的 BPEL PalletBPEL Inspector,其中分别显示了该流程的活动和属性。

13.

要查看 BPEL 源代码,单击窗口底部的 BPEL Source 选项卡。

14.

要查看 New Project Wizard 生成的 BPEL 源代码,滚动 BPEL Source 窗口。BPEL 源代码骨架以一个 元素开始,该元素定义了该流程的名称和目标命名空间。

15.

接下来的源代码段为 partnerLink 的源代码。partnerLink 定义与流程交互的其他服务和流程。New Project Wizard 为 HelloWorld 自动创建的唯一一个 partnerLink 为客户端连接到该流程的链接。

16.

接下来的源代码段是全局变量部分,这些变量在整个流程中都可以访问。New Project Wizard 自动为 HelloWorld 流程的输入和输出消息创建全局变量。

17.

在全局变量代码段之后,您可以看到该流程(一个 BPEL 活动)的主体代码段。BPEL 流程通常包括一个包含很多子活动的复合活动。在这个 HelloWorld 同步 BPEL 流程中,New Project Wizard 创建了一个序列,即一组顺序执行的活动。创建的这个序列包括一个 活动,用于从客户端获取输入消息来启动该流程,接着是一个 活动,用于向客户端同步返回结果。

最后,该代码以 标记结束。

18.

单击位于当前窗口 BPEL Source 选项卡左侧的 BPEL Designer 选项卡,转到 Process Map 视图。

19.

通过使用 Process Map 视图可以向当前流程添加新的活动。要将 HelloWorld 流程的结果显示为字符串,即使用“Hello”一词串联的输入变量,例如,如果您将输入变量输入为“Oracle”,那么该流程会返回“Hello Oracle”作为输出。

您必须向该流程流添加一个 活动。BPEL 活动提供了一个使用 XPath 表达式执行简单数据操作的机制。 活动列示在 Process Map 视图右侧的 BPEL Palette 中。

20.

要向 HelloWorld 流程添加 BPEL 活动,单击 BPEL Palette 上的 assign。然后,将其拖至 流程之间。

将 assign 活动放在这两个流程之间后,该流程流将如下所示:
注意:当您沿着流程图中连接活动的线拖动活动时,会出现一个圆球指示目标拖放位置。得到的结果流程图包含 assign 活动:

21.

您可以从 BPEL Inspector 中更改 活动的属性值。单击 BPEL Inspector 上的名称属性,将其值更改为 createReturnStr。该名称的更改还会反映在流程流中。

22.

为了实现输入变量与 Hello 一词的连接,您必须为 活动关联一个复制规则。要添加复制规则,请在 BPEL Inspector 中单击 活动标题右侧的向下箭头 (v)。然后从下拉列表中选择 Add Copy Rule

23.

此时出现 Oracle BPEL Copy Customizer 对话框,其中包含 FromTo 两个部分,它们分别表示数据的来源以及活动的目标变量或元素。选择 Expression 选项按钮,单击 (...) 符号打开 Oracle BPEL Function Wizard。

24.

此时出现 Oracle BPEL Function 向导,其中有一个函数列表。在 Pick a function 列表中,选择 concat 函数。然后单击 Next

25.

此时出现 Oracle BPEL Function Wizard Step 2 of 2。对于 firstString (string),输入 Hello

26.

对于 nextString (string),单击 v 符号。此时出现 XPath Picker。单击 Variable 下面的下拉列表,然后选择 input。然后单击 Part 下面的下拉列表,选择 payload。单击 XPath Query 下面的下拉列表,然后选择 input。上述下拉列表中的选择将使用一个表达式填充 nextString ( string ) 文本框。单击 Finish

27.

该向导填充 Oracle BPEL Copy Customizer 中的 Expression 文本框。

28.

Oracle BPEL Copy Customizer 对话框的 To 部分中,单击 Variable 下面的下拉列表,选择 output。然后单击 Part 下面的下拉列表,选择 payload。然后单击 XPath Query 下面的下拉列表,选择 result。单击 Done

29.

现在该流程就完成并可以部署了。进行部署之前,单击标准工具栏中的 Save 按钮图标,或者按 [Ctrl] + [S],保存该流程。

在 Oracle BPEL Process Manager 服务器上构建和部署该流程

返回主题列表

构建流程将编译该流程流并将其所有组件打包在一个“BPEL 包”JAR 文件中。然后您可以将该 JAR 文件部署到任何 Oracle BPEL Process Manager 中,只需将其复制到相应的部署目录中即可。该向导生成的 build.xml 文件会将该包自动部署到本地服务器的默认域中,例如 \orabpel\domains\default\deploy。要构建和部署 HelloWorld 流程,请执行下列步骤:

1.

从 Window 菜单中选择 Preferences 菜单选项。然后从右侧窗格中选择 BPEL Designer,相应的对话框出现在右侧窗格中。在 BPEL Process Manager Home Directory 中,输入安装 Oracle BPEL Process Manager 的目录路径。单击 OK

设置该首选项会在构建 HelloWorld 流程后自动将该 BPEL 流程部署到 Oracle BPEL Process Manager 服务器的右侧。

2.

要构建 HelloWorld 流程,单击标准工具栏中的 Build BPEL Project 图标,或者从 BPEL 菜单中选择 Build and Deploy BPEL Project。该流程编译并打包该 BPEL 流程的所有文件,并将其部署在 Oracle BPEL Process Manager 服务器上。该过程会在 Console 视图中生成状态消息。

3.

您还可以通过在命令提示符下从 \workspace\HelloWorld 目录中执行 obant 命令,将 HelloWorld 流程部署到 Oracle BPEL Process Manager 服务器中。

在 Oracle BPEL Process Manager 上运行部署的流程

返回主题列表

将 HelloWorld 流程部署到 Oracle BPEL Process Manager 服务器之后,执行以下步骤来在服务器上运行该流程:

1.

在 Web 浏览器中打开 URL http://localhost:9700/BPELConsole 启动 BPEL Console。您还可以通过选择 开始 > 程序 > Oracle > BPEL Process Manager 2.0 > BPEL Console 启动该控制台。这会打开 BPEL Console 的登录页面。选择 default 作为 Domain,输入 bpel 作为 password

您还可以通过单击标准工具栏中的 Open BPEL Console 图标从 Oracle BPEL Designer 启动 BPEL Console。这样将打开一个浏览器窗口,显示 BPEL Console 登录页面。

2.

在 BPEL Console 中高亮显示了 Dashboard 选项卡。该选项卡显示了部署在 Oracle BPEL Process Manager 服务器上的所有流程以及它们的实例号。您可以看到在 HelloWorld 流程列示在 Deployed BPEL Processes 列下。

3.

单击列示在 Deployed BPEL Processes 列下面的 HelloWorld 流程链接。这将自动生成一个 HTML 测试表单。在 input 文本框中,输入 Glenn,然后单击 Post XML Message 按钮。

4.

显示 HelloWorld 流程的结果。Oracle BPEL Process Manager 在 For more information 部分为您提供了一些可以获取有关 HelloWorld 流程详细信息的链接。

5.

要查看这个已完成实例的可视审计跟踪,请单击 Visual Flow 链接。可视审计跟踪显示在 Instances 选项卡的子选项卡 Flow 中。可视审计跟踪时该实例的当前状态和执行历史的表示,具有与 Oracle BPEL Designer 相同的外观。

您还可以单击窗口左侧的 Audit 选项卡查看文本审计跟踪,还可以单击 Debug 选项卡查看该实例的调试器。

6.

单击审计跟踪流中的 活动,在 Activity Audit Trail 页中查看其详细信息。

返回主题列表

在本课程中,您学习了如何执行下列任务:

通过使用 Oracle BPEL Designer 创建您的第一个 BPEL 项目

通过使用 Oracle BPEL Process Manager 部署和运行您的项目

相关信息

有关本 OBE 教程的问题,请在 OBE 论坛上提问。

将鼠标置于该图标上可以隐藏所有的屏幕截图