● 摘要
随着Web服务的发展与SOA的出现,以工作流为组合平台的服务组合方式开始在一定的领域内显现出不足。因为在现实的业务流程中,参与者不仅仅是自动执行的Web服务,人员在流程中的参与也是流程的一个重要组成。然而在传统的BPEL工作流引擎中,并没有一种好的方式将流程中的人引入到流程执行过程中。在传统的交互方式中,业务数据与技术数据是紧耦合在一起的,无法实现技术与业务的无缝结合。本文从工作流人机交互的应用需求和技术特点入手,分析了当前主流的Web 服务工作流引擎人机交互机制的特性以及存在的共性问题,明确BPEL工作流人机交互机制的设计目标;接着讨论了BPEL工作流中人机交互的关键技术和支持协议,从而进一步加深对工作流人机交互机制的理解。基于对关键协议BPEL4People与Human Task的分析,在已有的BPEL流程定义方式中引入了对人员活动的定义;然后在现有BPEL工作流引擎中引入了人机交互管理机制,人工任务管理器。根据关键协议与需求分析,提出了人工任务管理器模块化的体系结构,讨论分析了其系统结构与工作原理;设计了人工任务运行及管理的关键算法;进而详细介绍了其核心模块和运行机制的实现;最后对工作流人机交互机制的功能实现情况进行了对比和分析。在流程定义中,为提高人员参与的灵活性,人员活动与人工任务或通知的映射采用了多种的实现方式。流程中对参与人员的定义采用了基于角色的逻辑定义方式,为任务的参与人员设定了多种参与角色,且逻辑定义与执行的物理人员间的映射采用了多种实现方式。在对原有的BPEL工作流引擎进行适当修改的基础上,引入对人机交互的专门管理机制,人工任务管理器。研究与设计了其完整的系统结构与运行机制,将流程中的人员活动通过多种方式映射到具体执行的人工任务或通知。在任务实例的运行过程中定义了任务的多种生命状态,对不同状态间的迁移进行设计与实现。研究设计了良好的人员解析方式,在运行时通过多种渠道将逻辑定义转化为具体的物理人员。最后,本文在此系统上开发了一个应用实例,给出了基于实现了人机交互的BPEL工作流引擎在分布式企业应用、政府电子政务中的应用前景并对系统进行了功能比较与分析。
相关内容
相关标签