论文部分内容阅读
随着个人计算机和计算机网络的普及,工作流技术逐渐在企业的生产和管理过程中得到应用,提高了企业的办事效率和业务处理规范。但是,由于企业业务复杂多变的特性,传统的工作流系统在支撑企业业务处理时仍存在一些缺陷,主要表现为架构复杂,可伸缩性、灵活性和可用性较低,且难于与业用系统进行集成。因此,业务系统基于工作流产品进行业务开发时难度很大,业务数据处理也及其复杂。针对上述问题和实际应用背景,本文提出了一种轻量级的分布式工作流引擎。本文首先介绍了选题的研究背景和意义,并分析了国内外工作流的研究现状,然后对涉及到的相关基础理论和关键技术进行介绍,进而分析了引擎的需求,为本课题的研究、设计和实现打下了坚实的基础。针对传统工作流产品的弊端,本文基于工作流技术和BPMN规范进行引擎运行原理设计,提出流程模型的形式化定义、解析设计、规范化设计以及流程对象的定义与状态变迁,并结合分布式微服务架构对引擎进行总体架构设计。最后,在上述研究和设计的基础上,根据需求分析对每个引擎核心微服务进行详细的设计和实现。本文采用轻量级引擎设计原则,即重点实现引擎的稳定性、高可用性、高扩展性、高灵活性以及轻量化等特性,不追求过于复杂的系统架构,只实现引擎必要的功能。本文通过流程设计规范化定义实现了流程模型解析和流程模型形式化验证;引擎针对使用频率较高的流程对象进行不同时态的数据存储设计,极大的提高了引擎的运转效率;同时引擎运转核心也保证着流程实例的快速启动、任务的高效办理、流程路由控制、流程监控以及数据的统一查询;为了提高流程的复用性,针对不同的需求简化流程部署,引擎设计了高复用性的流程模板,可快速基于模板进行流程部署和节点配置;并且引擎支持灵活的动态表单与文件管理。引擎采用分布式微服务架构进行系统架构设计,构建了一个灵活性高、可配置性高、可扩展性高的轻量级高效工作流引擎。