论文部分内容阅读
工作流的概念早在70年代就已经出现,主要发源于办公自动化领域的研究工作。工作流技术可以对企业的各种业务活动提供支持,从而提高了企业的整体协作效率,现在广泛地应用于电讯业、制造业、金融业、银行业、科学试验、卫生保健、航运业等领域。工作流管理系统运行在工作流引擎之上,是提供工作流管理功能的系统软件,通过设计友好的功能界面,让工作流参与者与工作流系统进行交互。随着智能客户端设备的惊人发展,基于Android、iOS、Windows Phone等平台的智能手机、平板电脑爆发式地增长,智能客户端领域已经悄然成为企业应用中新的发展方向,无论OA系统、ERP系统都已开始延伸到了智能设备上。由于各种客户端设备的操作系统大相径庭,更新换代也极快,并且传统的工作流管理系统当中,工作流引擎与客户端之间的耦合程度非常高,导致工作流管理系统向各种智能客户端延伸存在很多困难,开发和维护成本过高。为此,论文在传统工作流管理系统的基础上,通过解除客户端的实现逻辑与流程引擎之间的耦合关系,结合表单定义技术、代码生成技术、网页图形化显示技术以及远程通讯技术,研究并设计了一个适用多种异构客户端的工作流管理系统。该系统可以实现:在流程定义工具中以图形化的形式配置业务流程,并使用表单定义工具设计流程中每个节点的输入表单格式,系统即可自动生成各种版本的客户端程序。该系统初步达到了只需进行业务配置,无需代码开发即可自动生成系统的目标。对于这样一个“全自动”的工作流管理系统,在目前的工作流技术研究成果和软件开发技术水平背景下,通过合理地架构设计和技术运用是可以实现的:(1)将工作流引擎与客户端解耦,把工作流引擎在整个系统中设计为一个单独的中间件。而实现该中间件首先需要将流程引擎中的控制数据、业务数据、流程处理逻辑、用户交互逻辑明确定义并完全分离,通过以服务为导向的流程引擎设计可以明确客户端及流程引擎服务的各自职责。其次要将通讯层进行解藕,在流程引擎和客户端之间建立一个独立的通讯层接口,分别面向各种智能客户端和流程引擎平台。作为一个独立的通讯层,可以开发和扩展出支持任何已知的智能客户端设备的通讯协议,同时完全不影响流程引擎的内部实现逻辑。(2)通过表单设计技术可以收集到业务中的每个环节的详细的输入和输出格式。(3)通过可视化流程配置工具,可以定义详细的业务流程。(4)通过代码生成技术,可以将表单计工具收集到的界面需求转换为各种客户端的实际代码,并自动编译为各自的发布包。本文在最后以企业中最常见的报销流程为业务实例,通过系统配置实现了通过iPhone进行日常报销及审批的功能,论证了本文所研究的面向异构客户端工作流引擎的可行性。