Activiti5工作流在协同OA办公系统中的应用
1 引言
随着现代信息技术的迅速发展,利用OA(Office Automation,办公自动化)系统来提高效率成为多数政府和企业的首选,即通过OA来实现各个成员和部门之间的协同办公、信息流转与资源共享等。由于政府公文审批和企业业务处理都是以流程的形式进行,所以工作流技术成为了OA系统中必不可少的部分。
2 广西广电网络OA系统工作流应用现状和问题分析
近年来,工作流技术在广西广电网络公司的OA系统中已广泛应用。工作流技术的应用改进了OA的业务流程、实现了业务过程的协调控制、提高了业务处理效率。同时,广西广电网络现有OA系统的工作流技术亦存在以下两大问题:(1)硬编码工作流无法适应流程的需求的灵活变更。部分业务流程和流程表单的定义是硬编码在程序中的规则,一旦业务流程需要调整,开发人员需要进行繁杂的修改工作,对灵活多变的流程显得无能为力。(2)设计模型和实施模型存在较大差异。曾经在OA系统中引入的开源工作流引擎(Enhydra Shark、OSWorkflow和早期的jBPM),发挥了一定作用,但其业务分析人员的设计模型和开发人员的实施模型之间存在较大差异,开发人员往往难以完全根据设计模型来实现工作流,增加了流程的实施难度。因此,如何提高OA系统中工作流对流程需求变化的快速响应能力,如何解决业务分析人员和IT开发人员之间模型的不一致性成为摆在OA和工作流系统设计和开发人员面前的新课题。
为解决流程硬编码和设计模型与实施模型之间存在较大差异这两大问题,新的工作流系统应能够实现以下两点:(1)针对流程硬编码问题,新的工作流应能够实现以图形化操作的形式对流程和表单进行定义并生成流程定义文件,将生成的定义文件部署到工作流系统即可完成流程的新建或修改。(2)针对设计模型与实施模型的差异问题,新的工作流系统应能够以业务分析人员使用的业务流程设计语言BPMN2.0来实现流程建模,达到设计模型和实施模型的统一,使IT开发人员不必再参与到流程建模当中。
本文将针对上述问题,介绍并引入一个基于Activiti5(Activiti BPM Platform)的工作流管理系统,全面解决现
存问题,并以广西广电网络OA系统中重大安全播出期保障检查流程为例,讲解流程的设计和部署等关键环节,为OA系统中工作流的设计提供了一种良好的解决方案。
3 工作流技术和Activiti5工作流管理平台
工作流(Workflow),是对工作流程及其各操作步骤之间业务规则的抽象、概括、描述。工作流建模,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。工作流要解决的主要问题是:为实现某个业务目标,在多个参与者之间,利用计算机,按某种预定规则自动传递文档、信息或者任务。工作流需要依靠工作流管理系统(Workflow Management System,WfMS)来实现,它的主要功能是通过计算机技术的支持去定义、执行和管理工作流,协调工作流执行过程中工作之间以及群体成员之间的信息交互。常见的工作流管理系统的结构如图1所示:
图1 工作流管理系统的结构
当新的流程需求出现时,流程的分析和设计的工作通常由业务分析人员来进行。BPMN2.0提供了一种面向业务分析人员的建模符号,特别是对于流程模型,它提供了具有执行语义的模型。BPMN给业务分析人员提供了类似流程图的设计体验,与流程图不同的是,BPMN2.0包含大量的约束和语义,使设计模型只要添加必要的实现细节就能够成为一个可以直接被工作流系统解释执行的实施模型。随着BPMN2.0近年来的飞速发展和普及,它已经成为流程设计领域的事实标准。本文使用Activiti5工作流管理平台作为OA中工作流系统的核心。Activiti5是一个由jBPM3、jBPM4发展而来的开源轻量级工作流管理平台,其强调流程服务的可嵌入性和可扩展性,目前由jBPM的创建者Tom Baeyens主导开发和维护。
Activiti的流程引擎是从jBPM4继承并强化而来的PVM(Process Virtual Machine,流程虚拟机)。Activiti的前
辈jBPM3虽然在Java社区取得了巨大成功,但其不支持流程语言规范的短板始终被人诟病,它采用了自创的jPDL而不是当今业务分析人员使用的BPMN2.0,节点的运行时行为与jPDL里定义的节点类型是一一绑定的,这造成了流程引擎与特定流程语言的绑定,要支持其他的流程设计语言变得非常困难。PVM 的提出使得流程引擎与流程定义语言解耦,通过一套通用的流程模型并配以可定制的节点运行期行为实现了对多种流程定义语言的支持。PVM 可以解释BPMN2.0、jPDL、xPDL和BPEL等各种流程定义语言定义的流程格式,使Activiti易于与其他异构工作流引擎对接,有优秀的集成能力。Activiti延续了jBPM3、jBPM4 的社区支持,更新周期 3个月,目前最新版本为Activiti5.14。Activiti提供了两个图形化流程和流程表单设计器,分别是基于Web并利用SVG实现的Activiti Modeler和Eclipse plugin形式的Activiti Designer。Activiti5的体系结构如图2所示。
图2 Activiti5体系结构
Activiti Engine是Activiti项目的核心。它是一个Java编写的流程引擎执行以流程建模语言定义的流程。上文提到的PVM是Activiti Engine的一部分,Activiti Engine通过PVM来解释包括BPMN2.0在内的各种建模语言定义的流程文件。同时,Activiti Engine还负责对工作流实例控制和统计数据收集,包括任务分发、事务管理、报表生成等等。
Activiti Explorer 是一个Web应用程序供用户访问Activiti Engine。它提供UI以进行流程流转、任务管理、流程实例检验、系统管理和数据统计报表展示,Activiti Modeler也可以经由Activiti Explorer来访问。
Activiti Modeler提供了从Web来管理Activiti流程的方案。通过Activiti Modeler流程建模人员可以用浏览器建立BPMN2.0标准的流程模型并部署执执行。同时,Activiti Modeler还包括一个Web表单编辑器。
Activiti Designer是一个Eclipse插件,它允许在IDE环境内用BPMN2.0建立流程模型。相对Web的Activiti Modeler,它支持更多Activiti的扩展功能,使流程建模人员能够进行更细粒度的配置以发挥的流程和引擎的全部能力。Activiti KickStart的是一个基于Web的入门级建模工具,用Activiti引擎可用构件的子集提供快速创建简单业务流程的能力。通过Kickstart用户可以使用更加通俗的概念建模,即使不了解BPMN或者其他建模语言也可以建立简单流程。通过KickStart创建的的流程是和BPMN 2.0兼容的,它可作为学习BPMN2.0建模的起点。
Activiti5的流程设计器Activiti Modeler和Activiti Designer,将是解决流程硬编码和设计模型与实施模型存在差异这两大问题的关键,针对流程硬编码问题,Activiti5的流程设计器能够在WEB端以图形化操作的方式对流程和表单进行定义并生成流程定义文件,并将生成的定义文件部署到工作流系统即可完成流程的新建或修改;对于设计模型与实施模型的差异问题,Activiti5的流程设计器使用业务分析人员的业务流程设计语言BPMN2.0来实现流程建模,达到设计模型和实施模型的统一,使IT开发人员不必再参与到流程建模当中。
- 1OA办公自动化
- 2好用的OA
- 3OA哪家好
- 4免费OA
- 5OA网站
- 6OA维护
- 7OA问题
- 8OA平台
- 9OA开源
- 10工业检测行业OA系统(ERP)
- 11旅行社行业OA系统(ERP)
- 12食品行业ERP系统(OA)
- 1协同OA办公系统选型大全:产品特性篇
- 2OA选型推新标 你get到几招?
- 3协同OA办公系统集成规划整体方案
- 4OA办公系统应用省钱攻略
- 5如何建设协同OA办公系统的安全防御?
- 62014年OA市场走热:甲乙双方热恋正酣
- 7睡狮觉醒 燃协同OA软件行业的烈火雄心
- 8企事业单位OA选型大事件之公文管理
- 9协同oa软件被认为是对办公模式的变革
- 10协同OA办公系统发展历程与趋势
- 11实施周期长短 OA易用是关键
- 12胡建:做企业是一种信仰
- 13浅谈基于协同商务系统的人力资源管理的应用及对策研究
- 14智能化扑面而来 智OA蓄势崛起
- 15OA办公系统强势参与政府“打虎行动”
- 16知识资产漂流 且看协同OA解决之道
- 17拿什么守护你,OA协同办公系统
- 18协同OA软件哪有免费试用版的?
- 19广日电气构建高效协同OA平台
- 20OA硝烟再起 JAVA一统天下
- 21OA厂商:谁也敌不过创新的利剑
- 22面向成套电气行业的企业价值网协同服务平台
- 23聚焦OA核心应用 挖掘OA传统价值
- 24移动信息化部署失败的三大原因
- 25端午OA选型不打烊三思而后行
- 26协同OA软件功能篇:无处不在的工作流
- 27谁说OA是ERP的孪生姊妹?
- 28像用智能手机一样去用OA
- 29协同OA软件实施成功的关键
- 30大力推进两化融合促进国泰公司转型升级