BPEL 设计器开发人员指南:BPEL“设计”和“源”视图
由 Bob May 创建,由 Irina Filippova
维护,2007 年 12月
目录

BPEL 设计器开发人员指南
了解“设计”和“源”视图
本指南提供了有关 BPEL 设计器功能的信息,该设计器允许您以可视方式编写流程图,同时设计器将自动为流程图生成符合 WS-BPEL 2.0 规范的 BPEL 源代码。为了完全支持正向设计、逆向设计和同步可视图及代码,BPEL设计器提供了“设计”和“源”视图。
“设计”视图
“设计”视图是业务流程的可视设计器。在“设计”视图中,您可以添加、编译和删除图元素。“设计”视图中构造的图将自动生成到与 WS-BPEL 2.0 规范兼容的 BPEL 源代码中,例外情况请参阅 BBPEL 服务引擎用户指南 的“BPEL 2.0 语言构造”部分。
在“项目”窗口中双击 BPEL 模块项目中的 BPEL 源文件将默认打开“设计”视图。要切换到“源”视图中的相应位置,右键单击“设计”视图中的元素并选择“转到源”(Alt-O)。
“源”视图
“源”视图将显示业务流程图的底层代码。“源”视图基于 IDE 的 XML 源视图并为访问提供了便利,如代码展开、语法高亮和代码完成功能。
您可以执行源代码级别编辑以及可视化设计。BPEL 项目将执行双向工程以确保“设计”视图和“源”视图彼此保持同步。每次对源文件执行手动编辑时,IDE 都会自动重新解析 BPEL 源文件并重新生成图。
要切换到“设计”视图中的相应位置,将光标移动到“源”视图中的代码行并选择“转到设计”(Alt-I)。
回到顶部
导航
“导航”窗口伴随 BPEL 编辑器出现。如果未显示“导航”窗口,可通过从主菜单中选择“窗口”>“导航”或使用 Ctrl+7 组合键来手动调用此窗口。
“导航”窗口提供了两个不同的 BPEL 流程视图:BPEL 逻辑视图和 XML 视图。您可以使用位于“导航”窗口上面部分中的下拉菜单在“XML 视图”和“BPEL 逻辑视图”之间进行切换。
XML 视图
“XML 视图”与为 NetBeans 中打开的所有 XML 文档提供的“导航”视图相同。“XML 视图”伴随 BPEL“源”视图出现。双击任何导航节点时,源代码编辑器将调整当前的代码行以显示选定的元素。
逻辑视图
“导航”窗口还提供了 BPEL 流程的 BPEL 逻辑视图。在“设计”视图中选择可视元素时,“导航”的“BPEL 逻辑视图”将显示选定的相同元素。或者,在“BPEL 逻辑视图”的树中选择某个节点时,也将在图中选定对应的元素。
右键单击“BPEL 逻辑视图”中的节点可调用弹出菜单,其中包含与特定节点有关的操作。例如,对于分配元素,这些操作是“转到源”、“切换断点”、“删除”和“属性”。“转到源”和“转到设计”操作(可用于大多数节点)具有关联的快捷键:Alt-O 用于“转到源”,Alt-D 用于“转到设计”。
通常,“导航”窗口中的节点对应于图中的元素。此外,该窗口还包含一些节点(如“变量”和“关联集”)它们与不能从图中直接访问的功能有关。要查看业务流程中使用的变量,展开“导航”窗口“BPEL逻辑视图”中的“变量”节点。对于变量,您可以在弹出菜单中对会话执行以下操作:
- 转到源。打开 BPEL 文件的源代码并将光标置于首次提到变量的位置。
- 转到类型源。打开包含变量类型定义的源代码文件。比如说 WSDL 文件。
- 查找用法。显示 BPEL 文件中的变量用法。关联集和“合作伙伴”元素的弹出菜单中也提供了该命令。
“导入”节点是一个特别实用的节点,它列出了借助于 BPEL 文件中的导入元素引用的 XSD 和 WSDL 文件。使用“导入”节点的弹出菜单可以引用 XSD 或 WSDL 文件。只能引用位于项目文件夹中的文件。
将资源文件(.wsdl 或 .xsd)作为引用添加:
- 在“导航”窗口的“BPEL逻辑视图”中,右键单击“导入”节点并根据要导入文件的格式选择以下选项之一:“添加 WSDL” 导入或“添加模式导入”。
- 在“创建新导入”对话框中,选择项目结构中要作为导入添加的文件。
注意: 首先需要将存储在项目文件夹中的文件添加到项目结构中。然后,可以将它们作为导入添加。已经引用的文件将显示为删除线格式。
- 查看只读的“名称空间”和“类型”字段中的值,然后单击“确定”。
刚才添加的源文件将出现在“导航”窗口的“导入”节点下面。
可以将属性和属性别名添加到 BPEL 文档引用的 WSDL 文件中。
在 WSDL 文件中添加属性:
- 在“导航”窗口的“BPEL 逻辑视图”中,右键单击“导入”节点下面的 WSDL 文件,然后从弹出菜单中选择“添加属性”。
- 在“创建新的关联属性”对话框中,指定属性名称。
- 选择属性类型,然后单击“确定”。
在 WSDL 文件中添加属性别名:
- 在“导航”窗口的“BPEL 逻辑视图”中,右键单击“导入”节点下面的 WSDL 文件,然后从弹出菜单中选择“添加属性别名”。
- 在“创建新属性别名”对话框中,单击“属性”字段旁边的“浏览”以指定属性。
- 在“属性选择器”对话框中,选择要创建别名的属性,然后单击“确定”。将使用该属性的类型来填充“创建新属性别名”对话框中的“属性类型”字段。
- 在“将属性映射到”树中,展开 WSDL 文件节点,然后选择消息或消息部件。
- 要添加查询,请在“查询”文本字段中输入查询字符串。
如果选中了“与树同步”复选框,则每次修改“映射属性到树”中的选项时都会更新“查询”字段。
- 单击“确定”。
有关使用 WSDL 编辑器定义属性和属性别名的详细信息,请参见 WSDL 编辑器开发人员指南。
回到顶部
使用“设计”视图
当“设计”视图处于活动状态时,还可以看到可视设计器组件面板。如果“组件面板”窗口不可见,则从主菜单中选择“窗口”>“服务”。
组件面板提供了一组可视元素,开发人员可使用这些元素对业务流程进行建模。组件面板中的元素集对应于业务流程编写人员可能希望以拖放方式添加到图中的那些 BPEL 元素。
组件面板包含大多数 BPEL 元素(但不是全部)的图标。组件面板不包含仅在父元素上下文中有意义的 BPEL 元素的图标。可视设计器支持通过不同的设计方式(不基于组件面板拖放式功能)来构造这些额外的 BPEL 元素。
“设计”视图中的导航特性
操作大规模图时,可以使用“设计”视图所提供的导航特性。
- 使用导航模式浏览图。还可以使用导航模式以任何方向浏览图。该特性支持在大型图之间导航。单击“编辑器”工具栏中的“导航模式”图标
启用导航模式。要返回对图进行编辑,单击“编辑模式”图标
。
在编辑模式中,可以按住键盘上的空格键不动启用导航模式。
- 放大和缩小图。 缩入特性允许您减小或放大图的尺寸,以获得合适的视角。可以使用“编辑器”工具栏上的“缩放值”下拉列表修改缩放值。要查看适合窗口大小的图,请单击“适当地调整图大小”按钮。要查看适合窗口宽度的图,请单击“适当地调整宽度大小”按钮。
注意,最小缩放比率为 33%,并且一些较大的图可能无法完全适合窗口。
- 使用缩略图视图。“缩略图”视图允许您通过单击操作导航到业务图的另一部分。该视图提供整个图的缩略表示。要激活“缩略图”视图,单击“设计”视图正下方的“缩略图”视图图标
。当前显示区域将显示一个渐变矩形。将渐变矩形拖动到图的相应部分。
- 在编辑时浏览图。您可以通过执行以下步骤浏览图或元素:
- 调整鼠标滑轮。
- 使用垂直和水平滑动栏。
- 按 Tab 键或 Shift-方向键 在元素之间移动。
- 使用错误条。还可以单击右侧滑动栏旁边的错误条快速跳转到图的具体位置。这些错误条代表警告、验证错误、断点、有效状态和当前选择。
在“设计”视图操作元素
在 BPEL 设计器中,可以对元素执行以下操作:
- 将元素从组件面板拖到图中以创建元素。 可视设计器支持“放置点”概念,这意味着,在拖放元素时,您必须将它们与这些放置点对齐。并非所有元素都是通过从组件面板执行拖式操作来创建的。这些额外的元素是通过在右键单击现有图元素时调用的上下文菜单操作来创建的。
- 选择图中的元素。单击元素时可将其选定。选择元素是执行一些其他操作的必需步骤,如删除、移动或编辑元素。
- 对图元素执行弹出菜单操作。每个 BPEL 元素都具有一个弹出菜单。通过右键单击该元素可以调用此弹出菜单。此弹出菜单将提供一组与选定元素有关的操作。
- 移动图元素。您可以通过选择图元素并将其拖到新位置来移动这些元素。如果移动容器元素,容器的有子元素将会与其一起移动。
- 在可视设计器图中直接编辑元素名称。双击图中的元素名称可对其进行编辑。
- 调用 XML 验证。您可以通过单击“设计”视图编辑器工具栏上的“验证 XML”按钮来调用 XML 验证。有关详细信息,请参见 验证 BPEL 部分。
- 将过滤器应用于图元素。“设计”视图编辑器工具栏包含“显示合作伙伴链接”和“显示序列”切换按钮。默认情况下,将显示合作伙伴链接元素和 Sequence 元素。单击“显示合作伙伴链接”按钮可隐藏图中的合作伙伴链接元素。单击“显示序列”按钮可隐藏图中的 Sequence 容器。第二次单击这两个按钮时,将分别再次显示图中的合作伙伴链接元素或 Sequence 元素。
注意:如果选择不显示合作伙伴链接元素或 Sequence 元素,则无在图中添加新的合作伙伴链接元素或 Sequence 元素。
- 查找图中的元素。可以在“设计”视图中通过名称或类型来查找 BPEL 元素。可以使用“查找”栏(“编辑”>“查找”或Ctrl-F)或“高级搜索”功能(“编辑”>“高级搜索”或Alt-Shift-F) 在“查找”栏中,选择搜索类型,键入搜索查询并单击“查找”。在“高级搜索”对话框中,可以定义通过名称和/或类型搜索查询和搜索 BPEL 元素。
- 折叠或展开图元素。“设计”视图打开较的图时,可以使用所选元素附近的快速操作按钮折叠或展开容器元素,比如说 Sequence 或 Scope。默认情况下,在“设计”视图中打开图时,所有容器元素都是展开的。要展开图中的所有元素,单击“编辑”工具栏中的“展开所有”图标
。可以使用以下组件键:回车键可展开所选元素,Shift-回车键可折叠所选元素,Alt-回车键可展开图中的所有元素。
- 使用容器元素封装活动。您可以通过单击操作使用容器活动来封装元素。封装功能相当有用,比如说希望快速将活动放置在另一个活动中。在“设计”视图中,右键单击要封装的活动,选择“封装”选项并选择封装包 BPEL 活动。
在“设计”视图中配置元素属性
将 BPEL 活动添加到图中之后,您需要配置它们。为此,可以使用属性编辑器或 IDE 的“属性”窗口。注意,属性编辑器只适用于一些元素。
要打开某个元素的属性编辑器,请执行以下某项操作:
要打开元素的“属性”窗口,请右键单击该元素,然后选择“属性”。该元素的“属性”窗口将显示在标准 IDE 的“属性”窗口中。如果 IDE 的“属性”窗口不可见,则从主菜单中选择“窗口”>“属性”(Ctrl-Shift-7)。
保存更改
BPEL 设计器按如下方式保持“设计”视图与“源”视图同步:
- 在图中所做的更改将在对应的源代码中立即反映出来。
- 切换至“设计”视图时,在源代码中所做的更改将在图中反映出来。
要在“设计”或“源”视图中保存修改,从主菜单中选择“文件”>“保存”或使用 Ctrl-S 组件键。
打印源文件或图。
您可以打印 BPEL 源文件和 BPEL 图,并自定义打印设置以适应需要,包括边框、页眉、脚注、颜色、行号和缩放比例。
预览和打印 BPEL 图:
- 在“设计”视图中打开 BPEL 文件。
- 从主菜单中选择“文件”,然后执行以下操作之一:
- 打印。打印 BPEL 图。
- 打印预览。预览打印布局或自定义打印选项。
打印 BPEL 源文件:
- 在“设计”视图中打开 BPEL 文件。
- 从主菜单中选择“文件”,然后执行以下操作之一:
- 打印。打印文件。
- 打印预览。预览打印布局或配置打印选项。
- 打印为 HTML。将 .bpel 文件作为 HTML 文件打印。
自定义打印选项:
- 在 IDE 中,选择要打印的对象:
- 选择“文件”>“打印预览”。
- 在“打印预览”窗口中,单击“选项”
此时将打开“打印选项”对话框。
- 将打印设置更改以适应需要:
- 打印边框。在打印页面中添加一个边框。单击“颜色”图标可以更改边框颜色。
- 页面设置。 指定纸方向、页边大小和打印机。还可以选择“文件”>“页面设置”调出“页面设置”对话框。
- 打印页眉 和 打印脚注。指定页眉和脚注的文本、缩进、颜色和字体。要隐藏页眉或脚注,可以分别清除“打印页眉”或“打印脚注”复选框。要指定页眉或脚注模式文本,单击相应的缩进字段(左、中和右)并选择下面的按钮。
例如,要在左下角添加页号,选中“打印脚注”复选框,单击“左”字段并选择“页号”图标。单击“选择脚注颜色”和“选择脚注字体”图标可以修改页眉和脚注的颜色和字体。
- 行号。指定是否打印源文件的行号。
- 封装行。 封装行以适应页面。
- 文本颜色 和 文本背景。指定打印文本的颜色和背景,比如说源文件。
- 缩放。 指定在页面中打印的文本或图的缩放比例。可以选择适合宽度或高度,也可以选择具体的缩放比例。
- 单击“确定”。
逆向工程
您可以使用 BPEL 设计器直接编辑源文件,并在可视设计器中反映这些更改。
在以下情况中,您可能需要编辑源文件:
- 如果要使用特定于供应商的 BPEL 扩展(不是标准 BPEL 元素集的一部分),则必须使用源代码编辑器。
- 如果需要加“设计”视图没有为其提供代码生成功能的 BPEL 结构。当前属性编辑器不适用于某些边缘情况下的 BPEL 结构(如为变量分配的静态 XML)。
- 使用源代码编辑器时,如果修改并保存了格式不正确的 BPEL 源代码,“设计”视图将无法为此“破坏的”BPEL 呈现图。“设计”视图将显示一个页面,指出“无法显示图”。请返回至源代码编辑器以纠正错误,然后在源代码编辑器中运行 XML 验证器以验证所做的更改。在将 BPEL 源代码恢复为有效状态后,“设计”视图将重新能够呈现图。
配置消息流
活动是用于表示消息流中涉及的 BPEL 活动的图元素。
消息流是用于连接 Web 服务活动(调用、接收和回复)与其在合作伙伴链接中的对应活动的虚线。这种关系称为消息流,因为它指明了信息在流程中的流动情况。
如果通过“属性”窗口对 Web 服务活动进行全面配置,IDE 将在活动和合作伙伴活动之间呈现消息流连接器。
但是,也可以直接绘制消息流。做法是:
- 选择一个 Web 服务活动。活动图标左侧将显示一个小信封。
- 开始拖动该信封。IDE 将显示一条虚线,用于链接源活动与拖动的信封。
- 将鼠标移至目标活动。如果目标活动与源活动相匹配,鼠标光标将指示这一情况,此时,您可以松开鼠标按钮。两个活动之间将建立连接。
请注意,不能直接删除消息流。您可以通过在 Web 服务活动中取消设置某些属性来间接地删除消息流。但通常情况下,您将更改消息流以创建不同的关系。
另外,该事件处理器不会抛出异常。另请注意:只能在一个方向上使用制工具,即从 BPEL 流程内的 Web 服务活动到其在合作伙伴链接中的对应活动。
更改消息流
如果要更改现有消息流连接并与不同的目标活动建立新连接,所使用的方法与第一次为首选配对建立连接完全相同。创建新的配对后,IDE 将自动删除旧连接。
组件面板元素
下表列出了组件面板上显示的基本元素。并非所有 BPEL 元素都位于组件面板上;某些元素是通过右键单击图并从弹出菜单中选择相应的操作来创建的。
您可以使用组件面板管理器来启用、禁用和重新排列组件面板元素。要调用组件面板管理器,请右键单击组件面板,然后选择“组件面板管理器”。
元素具有以下类型:
- Web 服务。此类元素用于以对话方式与合作伙伴 Web 服务交换消息。
- 基本活动。执行某项任务的活动。
- 结构化活动。此类元素用于精确地对一组活动进行排序。结构化活动可以包含其他活动。
| 图标 |
元素 |
定义 |
| Web 服务 |
 |
调用 |
使得业务流程能够在合作伙伴提供的 portType 上调用单向操作或请求-响应操作;允许此流程向合作伙伴发送消息。该操作是在合作伙伴的 WSDL 中定义的。 |
 |
接收 |
使得业务流程处于等待状态,直至接收到特定的消息。 |
 |
Partner Link |
标识将与业务流程交换消息的那些 Web 服务。每个合作伙伴链接包含一些子元素,这些元素对应于该合作伙伴链接的接口所支持的可用 Web 服务活动。
注意:请不要直接在合作伙伴链接容器中添加元素。“设计”视图将自省(检查)合作伙伴的 WSDL,并使用相应的子元素自动填充合作伙伴链接容器。如果需要修改合作伙伴链接,请编辑合作伙伴 WSDL 文件,以便在“设计”视图中重新呈现合作伙伴链接,从而反映修改的接口。 |
 |
回复 |
使得业务流程能够发送消息以回复通过接收元素接收到的消息。 |
| 基本活动 |
 |
空 |
此活动不执行任何操作,当您需要捕获和禁止错误时,此活动非常有用。 |
 |
等待 |
在某一时刻来临之前或者在指定的时间期限内,一直处于等待状态。 |
 |
抛出 |
从业务流程内生成错误。 |
 |
分配 |
使用新数据更新变量值。 |
 |
退出 |
立即终止执行业务流程实例。 |
| 结构化活动 |
 |
Flow |
指定一个活动或多个并发执行的活动。 |
 |
Sequence |
定义一组按词法顺序执行的活动。 |
 |
If |
从一组选项中选择一个活动分支。 |
 |
Pick |
阻止执行并等待合适的消息到达,或者等到指定的时间超时。当 Pick 主体中指定的事件发生时,Pick 才会结束。实际上,仅发生 Pick 主体中的一个活动。 |
 |
Scope |
使用自身的关联局部变量、事件和错误处理程序以及消息交换来定义嵌套活动。 |
 |
While |
当条件为 true 时,重复执行某个活动。在执行活动之前,将检查该条件。 |
 |
Repeat Until |
重复执行某个活动,直至条件为 true 时结。它不同于 While,原因是它在执行后检查条件。 |
 |
For Each |
重复执行某个活动 N+1 次,其中 N 等于最终计数器值减去起始计数器值。 |
回到顶部