服务编辑模块事实上已经基本上实现,前面已经说过了我们小组已经开发的“组合Web服务业务流程建模与管理工具”,这个工具就基本上实现了服务编辑模块的基本功能;该模块为定义新的服务和编辑现有服务提供了支持。服务通过一个可视化接口编辑,并且转化为XML文档供服务发布者后续的分析和处理。该模块总体架构如图5所示,分为界面交互层、核心逻辑层以及逻辑控制层三个部分。
l 界面交互层
展示给用户、与用户交互的界面,界面共划分分为六个部分
控制层主要是对表现层的各种操作和事件进行监听,并调用逻辑层的业务逻辑做出相应的处理。对于表现层出现的各种异常和错误,也会及时通知用户。
Ø 业务流程及流程节点的生成,删除,复制,粘贴等操作
Ø 节点属性的输入和保存以及WSDL文档的解析
Ø BPEL代码的生成
Ø 相关文件(.BPEL,.BMP,.GRH)的保存和生成已经查看
Ø 文件的读取和流程图的重新生成
这些业务逻辑包含了工具软件的所有实现的主要功能,它独立于表现层和控制层而存在,相互间的通信是通过一些重要的接口而实现的,所以框架的设计具有较大的灵活性,彼此小范围的改动不会影响的其他层。
图5 服务编辑模块总体架构
2.1 示例展示
图6a和b分别展示了一个示例的运行,它构架了一个具有开始、赋值、顺序、任务、结束5个部分的状态图,并给每个状态给予了相应的输入。
a 建模工具主界面
b BPEL代码生成
图6 服务编辑器运行界面
编辑器模块的功能如表1所示。
表1 编辑器模块功能
结点区 | 提供bpel中所需要的部分结点供用户进行建模。 |
结点列表区 | 显示编辑区中的所有结点,以及结点之间的嵌套关系并且可以对编辑区对应结点进行删除复制等操作。 |
工程文件区 | 显示工程路径中的所有工程文件,并且可以对这些文件进行删除和双击打开操作。 |
属性列表区 | 显示并编辑对应结点的所有属性。 |
控制台 | 显示软件使用过程中由于建模或者执行过程中出现的错误,提示,执行相关信息,错误节点信息等,单击这些信息就能找到对应出错的节点(对错误节点进行变色及定位) |
提示信息栏 | 对用户提示当前所完成的操作。 |
代码显示区 | 显示生成的BPEL文档,对重要部分进行着色强调,有行标签作为提示 |
在项目中,我们还加入一些创新的想法,和方便用户的功能。
图7 保存流程节点缩略图(采用双缓冲技术)