此建模工具是基于GEF框架开发的一个轻量级的图形化流程编辑器,是在Eclipse平台PDE环境下开发的Eclipse应用型插件。它主要实现动态地建立流程、并根据建立的流程自动的生成相应的BPEL代码文档。其大致功能如下,
1) 能够建立完整的流程,用户可以以手动拖拽的方式,从我们的节点面板上拖动节点到流程编辑区,以这种方式建立起完整的流程。
2) 在建立流程的过程中,会给用户一些必要的提示信息,以帮助用户正确高效地建立自己所要流程。
3) 由流程生成代码。即在建立完一个完整的、合理的流程之后,再在任务属性视图中输入各个节点对应的参数,就能够生成与流程相对应的BPEL形式的代码文档。
在流程建模过程中,进行必要的服务输入输出参数的匹配,流程的部署,以及流程的执行。
装载了我们项目建模插件的Eclipse,会在菜单栏处出现Cactus菜单选项,而且在视角区,会出现我们的视角点,如图5-1所示。
图5-1 插件加载后的界面
打开我们的视角,新建Cactus工程,利用面板拖拽节点进行建模,建模工具提供了,工程文件区、缩略图、建模编辑区、控制台、节点列表、属性编辑区。如图5-2和5-3所示。
图5-2 Cactus视角下的工作台
图5-3 建立流程视图
生成BPEL结果展示图如图5-4所示。
图5-4 生成BPEL代码
为了测试我们的功能,我们提供了两种加法器的服务,一个可以输入两个参数,求得其结果,另一个可以输入三个参数,求得其结果。服务的指派以及节点属性的配置,首先选择一个要指派服务的任务节点,如图5-5所示。
图5-5 选择Task1结点
对服务按服务名称进行搜索。如图5-6所示。
图 5-6 搜索加法服务
从收索的服务中选择需要的操作,如图5-7所示。
图 5-7 选定需要调用服务的操作。
指定服务后,在属性列表会显示对应服务的信息。如图5-8所示。
图 5-8操作信息被设置到结点中
1) 为服务指定输入输出变量
在这部分功能中,我们主要提供三种配置输入参数的方式:自定义输入方式、使用其他节点的输出的输入方式、复用自定义输入方式。图5-9为使用自定义的输入方式,图5-10为使用其他节点的输出的输入方式,图5-11 为复用自定义输入方式。
图5-9 使用自定义的输入值
将in0,in1,in2设定为自定义输入值,这些自定义的变量会自动添加到流程的received的输入变量中。用同样的方式,配置Task0的服务操作。对其进行输入配置。
图5-10使用其他结点输出
图5-11使用复用自定义输入
各个节点都指定服务后,就可以生成与该流程对应的WSDL形式的代码文档以及BPEL形式的代码文档。如图5-12、5-13所示。
图5-12 生成的WSDL文档
图5-13生成的BPEL代码文档
2)解析BPEL代码文档并创建流程
通过导入一个由流程生成的BPEL代码文件,并经过BPEL文档的反解析创建一个流程。图5-14为导入BPEL代码文档的功能选项菜单,图5-15为导入BPEL代码文档的对话框,图5-16 为反解析BPEL代码文档创建的流程。
图5-14导入BPEL的菜单显示图
图5-15 导入流程的BPEL文件
图5-16 反向建立的流程
反解析获得各个节点的服务信息,并配置输入输出参数。图5-17为开始节点的参数配置信息,图5-18为task0节点的参数配置信息,图5-19为结束节点的参数配置信息。
图5-19 结束节点的配置信息展示