文档库 最新最全的文档下载
当前位置:文档库 › 工作流人工任务分配模式和完成策略

工作流人工任务分配模式和完成策略

Activiti工作流入门详解完整教学教程

Activiti入门教程详解完整教程 1.A ctiviti介绍 Activiti是由Alfresco软件在2010年5月17日发布的业务流程管理(BPM)框架,它是覆盖了业务流程管理,工作流,服务协作等领域的一个开源,灵活的,易扩展的可执行流程语言框架。 Activiti基于Apache许可的开源BPM平台,创始人Tom Baeyens是JBoss JBPM的项目架构师,它的特色是提供了eclipse插件,开发人员可以通过插件直接绘画出业务流程图。 1.1工作流引擎 ProcessEngine对象,这是Activiti工作的核心。负责生成流程运行时的各种实例及数据,监控和管理流程的运行。 1.2BPMN 业务流程建模与标注(Business Process Model and Notation,BPMN),描述流程的基本符号,包括这些图元如何组合成一个业务流程图(Business Process Diagram)

2.准备环境 2.1Activiti软件环境 1)JDK1.6或者更高版本 2)支持的数据库有:h2,mysql,oracle,mysql,db2等 3)支持Activiti运行的jar包,可以通过maven依赖引入 4)开发环境为Eclipse3.7或者以上版本,myeclipse为8.6版本2.2安装流程设计器(eclipse插件) 1)打开Help →Install New Software →Add 输入Name: Activiti Designer Location: https://www.wendangku.net/doc/364495542.html,/designer/update/ 输入完成后,单击OK按钮等待下载完成后安装。 安装完成后在菜单选项中会出现Activiti的目录选项

业务流(BPM)与工作流(workflow) 的区别

业务流(BPM)与工作流(workflow) 的区别 在SOA 实践中,对于 BPM面临着不少困惑与选择,主要是工作流与业务流的架构区别。有些项目把业务流产品用作工作流设计,而有些工作流为主的产品工具却作为业务流实现。这里简单地讨论一下 BPM 中业务流与工作流的作用区别。简要概述了工作流与业务流的主要区别。 工作流与业务流的主要区别

斯欧信息 简言之,业务流程管理主要包含业务建模,组装,部署及管理。使用业务流或工作流工具似乎都能设计开发业务流程管理。但从 SOA 的角度,服务的划分及交互通常是项目关注的重点。所以, SOA 强调的是如何灵活组合业务服务。而业务流的核心功能是编排流程服务,并且主要针对企业级应用整合。同时利用 BPM 工作流的主要功能,诸如 : 活动(任务)节点的人工任务配置,流程运转时的活动节点调控等。 在 SOA/BPM 初始阶段,如果一个企业没有较深的 IT 或 ERP 根基,实施业务流会有相当的阻力。因为业务流程管理并非主要是技术问题。对于有些中小型企业或应用 ( 特别是那些没有规范支撑的人工流程模式 ),一些随意包干,或带有自由流功能的工作流系统一般更易于接受。 对于同样的一个较为复杂的流程应用项目, 如果使用工作流, 会显得很复杂, 结果是很多流程产出件, 而如果使用业务流,一般架构设计较为规范, 流程量骤然减少, 重用性提高。 值得一提的是,工作流与业务流的定义范围有相当程度的交叠与互斥,这取 决于采用的流程管理产品(或几个不同产品)及架构设计及理念。工作流可以理解为技术层面的东西或办公自动化,而 SOA 关注业务流的实现,及与之相关的价值链,并且关注流程的生命周期管理。其实,工作流或业务流本身并无绝对优势,在SOA/BPM 都要用到,如何用好用对才是关键。

工作流使用管理办法

湖北XXXXXXXXX)产业集团 关于修订印发《工作流使用管理办法》的通知 各单位/部门: 为减少工作流使用不当的情况发生,从而提高工作流审批效率及企业信息化实施水平,我部门制定了《工作流使用管理办法》。根据该办法前期执行的实际情况,经征求各方面意见后,我部门对部分条款进行了修改和完善。现将修订后的《工作流使用管理办法》(见附件)印发,请各单位认真组织学习。 修订后的《工作流使用管理办法》自2012年8月20日实施,望各单位/部门遵照执行。 特此通知! 信息中心 二O—二年八月十九日

工作流使用管理办法 第一章总则 第一条为推进企业信息化建设的顺利实施,规范0A系统工作流的管理,明确公司工作流使用的要求,达到提高工作及管理效率的目的,特制定本办法。 第二条本办法适用于湖北XX建筑装饰工程有限公司(以下简称集团公司)及子公司所有员工。 第二章工作流的定义 第三条工作流:0A内置的流程子系统,可实现各类工作的申请、审批、会签、登记、查询等环节的管理,可将协同工作的过程进行记录,便于日后审核与查询;并实现业务数据的规范化录入、查询、统计和存档;0A的工作流系 统由表单和流程两个重要元素构成。 第四条表单:是与工作相关的数据的载体,相当于现实工作中的纸质工作单,工作单上的手写数据通过表单上的各类控件得以体现;除表单以外,我们还可以通过公共附件或会签区传递一些数据和信息,以便更好的完成工作流程。 第五条流程:是工作过程和环节的描述,流程由工作的多个步骤组成,每一步由指定的经办人填写指定的表单控件。 第三章工作流的发起 第六条为节约办公耗材,提高工作效率,实现信息化的有效推广,经集团公司审核通过的工作流禁止采用纸质操作。 第七条各员工需认真学习各工作流的作用及适用范围,在发起流程时,需选择与该工作相对应的工作流。 第八条对于明确指定了对应发起人的流程(IT类、盖章类、物业服务类等),当其他人员需要申请该工作流时,需和具有相应申请权限的人员进行对接, 委托该人员进行流程的申请。

Activiti 库表结构 张表

Activiti-5.21数据字典 简介 #前缀描述 1ACT_RE_RE表示Repository资源库,保存流程定义,模型等设计阶段的数据。 2ACT_RU_RU表示Runtime运行时,保存流程实例,任务,变量等运行阶段的数据。 3ACT_HI_HI表示History历史,保存历史实例,历史任务等流程历史数据。 4ACT_ID_ID表示Identity身份,保存用户,群组,关系等组织机构相关数据。(Activiti中的组织机构过于简单,仅用于演示。) 5ACT_GE_GE表示General通用,属于一些通用配置。 6其他ACT_EVT_LOG和ACT_PROCDEF_INFO没有按照规则来,两者分别属于HI和RE。 ACT_RE_ ACT_RU_

ACT_HI_

数据库 #表名描述 1ACT_EVT_LOG事件日志 2ACT_GE_BYTEARRY xml, png等二进制内容3ACT_GE_PROPERTY引擎版本信息 4ACT_HI_ACTINST历史节点

5ACT_HI_ATTACHMENT附件 6ACT_HI_COMMENT评论 7ACT_HI_DETAIL变更历史 8ACT_HI_IDENTITYLINK历史参与者 9ACT_HI_PROCINST历史流程实例 10ACT_HI_TASKINST历史任务 11ACT_HI_VARINST历史变量 12ACT_ID_GROUP群组 13ACT_ID_INFO用户的人员详细信息 14ACT_ID_MEMBERSHIP用户与群组关系 15ACT_ID_USER用户的基本信息 16ACT_PROCDEF_INFO流程定义的动态变更信息17ACT_RE_DEPLOYMENT部署包 18ACT_RE_MODEL模型(用于Web Designer)19ACT_RE_PROCDEF流程定义 20ACT_RE_EVENT_SUBSCR事件监听 21ACT_RU_EXECUTION流程实例与分支 22ACT_RU_IDENTITYLINK参与者 23ACT_RU_JOB异步作业 24ACT_RU_TASK任务 25ACT_RU_VARIABLE变量 ACT_EVT_LOG 事件日志,默认不开启。 #字段名字段类型长度空默认描述主 键 外 键 1LOG_NR_BIGINT19主键自 增2TYPE_VARCHAR64类型 3PROC_DEF_ID_VARCHAR64流程定义 4PROC_INST_ID_VARCHAR64流程实例 5EXECUTION_ID_VARCHAR64执行 6TASK_ID_VARCHAR64任务

Activiti6.0工作流使用说明文档V1.0

Activiti工作流使用说明文档 V1.0 2019年8月9日

目录 一、模型设计器 (4) 1.1任务 (5) 1.1.1 用户任务 (5) 1.1.2 服务任务 (5) 1.1.3 脚本任务 (6) 1.1.4 业务规则任务 (7) 1.1.5 接收任务 (7) 1.1.6 手动任务 (7) 1.1.7 邮件任务 (8) 1.1.8 Camel任务 (8) 1.1.9 Mule任务 (8) 1.1.10 决策任务 (9) 1.2构造 (10) 1.2.1 子流程 (10) 1.2.2 事件子流程 (11) 1.3泳道列表 (11) 1.4分支 (12) 1.4.1 排他分支 (12) 1.4.2 并行分支 (12) 1.4.3 包容分支 (13) 1.4.4 事件分支 (13) 1.5事件 (14) 1.5.1 定时器事件 (14) 1.5.2 信号事件 (14) 1.5.3 消息事件 (16) 1.5.4 错误事件 (16) 1.5.5 边界事件 (17) 1.5.6 中间事件 (18)

1.5.7 开始事件 (18) 1.5.8 结束事件 (18) 1.6属性元素 (18) 1.6.1 异步 (18) 1.6.2 排他 (19) 1.6.3 补偿 (19) 1.6.4 中断任务 (20) 1.6.5 分配 (21) 1.6.6 到期时间 (22) 1.6.7 表单 (22) 1.6.8 表达式 (24) 1.6.9 多实例 (25) 1.7监听器配置 (28) 1.7.1 执行监听器 (29) 1.7.2 任务监听器 (30) 1.7.3 事件监听器 (32) 1.7.4 全局事件监听器 (33) 二、workflow-service (34) 2.1数据更新逻辑 (34) 2.2方法表达式配置 (35) 2.3自定义外置表单 (36) 2.4事件监听器配置 (37) 2.5方法调用说明 (37) 三、常见问题 (37)

activiti流程开发基本步骤详解

activiti流程开发指南 ?一、BPMN ?二、activiti主要接口 ?三、如何实现一个业务流程 ?四、如何管理所有流程与实例 ?五、开发流程 ?六、api 一、BPMN 1. 什么是BPMN 首先BPMN规范是由标准组织BPMI发布的.BPMN 1.0规范发布于2004年5月。此规范展示了BPMI组织两年多的努力成果。BPMN的主要目标就是要提供被所有业务用户理解的一套标记语言,包括业务分析者、软件开发者以及业务管理者与监察者。BPMN还将支持生成可执行的 BPEL4WS语言。所以,BPMN在业务流程设计与流程实现之间搭建了一条标准化的桥梁。 BPMN定义了业务流程图,其基于流程图技术,同时为创建业务流程操作的图形化模型进行了裁减。业务流程的模型就是图形化对象的网图,包括活动(也可以说工作)和定义操作顺序的流控制。 2. BPMN基础 业务流程图由一系列的图形化元素组成。这些元素简化了模型的开发,且业务分析者看上去非常熟悉。这些元素每个都有各自的特性,且与大多数的建模器类似。比如,活动是矩形,条件是菱形。应该强调的是:开发BPMN的动力就是为了在创建业务流程模型时提供一个简单的机制,同时又能够处理来自业务流程的复杂性。要处理这两个矛盾的需求的方法就是将标记的图形化方面组织分类为特定的类别。这里提供标记类别中的一小部分,以便业务流程图的读者可以简单地识别出元素的基本类型从而理解图形。以下是四种基本的类型: 1)流对象 2)连接对象 3)泳道

4)人工信息 BPMN2.0概要:https://www.wendangku.net/doc/364495542.html,/workclass/201206272.asp 二、activiti主要接口 ProcessEngine processEngine =ProcessEngines.getDefaultProcessEngine(); RuntimeService runtimeService = processEngine.getRuntimeService(); RepositoryService repositoryService = processEngine.getRepositoryService(); TaskService taskService = processEngine.getTaskService(); ManagementService managementService = processEngine.getManagementService(); IdentityService identityService = processEngine.getIdentityService(); HistoryService historyService = processEngine.getHistoryService(); FormService formService = processEngine.getFormService(); ProcessEngines.getDefaultProcessEngine()会在第一次调用时初始化并创建一个流程引擎,以后再调用就会返回相同的流程引擎。使用对应的方法可以创建和关闭所有流程引擎:ProcessEngines.init()和ProcessEngines.destroy()。 ProcessEngines会扫描所有activiti.cfg.xml和activiti-context.xml文件。对于activiti.cfg.xml文件,流程引擎会使用Activiti的经典方式构建: ProcessEngineConfiguration.createProcessEngineConfigurationFromInputStream (inputStream).buildProcessEngine(). 对于activiti-context.xml文件,流程引擎会使用Spring方法构建:先创建一个Spring的环境,然后通过环境获得流程引擎。

Activiti工作流数据库表结构

Activiti数据表结构 目录 1ACTIVITI数据库表结构 ----------------------------------------------------------------------------------------------- 2 1.1数据库表名说明 ------------------------------------------------------------------------------------------------ 2 1.2数据库表结构---------------------------------------------------------------------------------------------------- 3 1.2.1Activiti数据表清单: ---------------------------------------------------------------------------------------- 3 1.2.2表名:ACT_GE_BYTEARRAY (通用的流程定义和流程资源)-------------------------------- 3 1.2.3表名:ACT_GE_PROPERTY (系统相关属性) ----------------------------------------------------- 4 1.2.4表名:ACT_HI_ACTINST (历史节点表) ------------------------------------------------------------ 5 1.2.5表名:ACT_HI_ATTACHMENT (附件信息)-------------------------------------------------------- 6 1.2.6表名:ACT_HI_COMMENT (历史审批意见表)-------------------------------------------------- 6 1.2.7表名:ACT_HI_DETAIL (历史详细信息)----------------------------------------------------------- 7 1.2.8表名:ACT_HI_IDENTITYLINK (历史流程人员表) ---------------------------------------------- 8 1.2.9表名:ACT_HI_PROCINST(历史流程实例信息)核心表---------------------------------------- 8 1.2.10表名:ACT_HI_TASKINST(历史任务流程实例信息)核心表------------------------------ 9 1.2.11表名:ACT_HI_VARINST(历史变量信息) ------------------------------------------------------ 9 1.2.12表名:ACT_ID_GROUP(用户组表) ------------------------------------------------------------ 10 1.2.13表名:ACT_ID_INFO (用户扩展信息表) ---------------------------------------------------- 10 1.2.14表名:ACT_ID_MEMBERSHIP(用户用户组关联表) -------------------------------------- 11 1.2.15表名:ACT_ID_USER(用户信息表) ------------------------------------------------------------ 11 1.2.16表名:ACT_RE_DEPLOYMENT(部署信息表)------------------------------------------------ 12 1.2.17表名:ACT_RE_MODEL (流程设计模型部署表) ----------------------------------------------- 12 1.2.18表名:ACT_RE_PROCDEF (流程定义表) ---------------------------------------------------- 13 1.2.19表名:ACT_RU_EVENT_SUBSCR (运行时事件) ------------------------------------------------- 14 1.2.20表名:ACT_RU_EXECUTION (运行时流程执行实例) ----------------------------------- 15 1.2.21表名:ACT_RU_IDENTITYLINK(身份联系) --------------------------------------------------- 15 1.2.22表名:ACT_RU_JOB(运行中的任务)---------------------------------------------------------- 16 1.2.23表名:ACT_RU_TASK(运行时任务数据表) ------------------------------------------------------ 16 1.2.24表名:ACT_RU_VARIABLE(运行时流程变量数据表) ----------------------------------------- 17 2ACTIVITI中主要对象的关系 -------------------------------------------------------------------------------------- 18

各种工作流模式的实现

各种工作流模式的实现 作者:非也QQ:20674450Email:nychen2000@https://www.wendangku.net/doc/364495542.html, 目录 1.概述 (3) 2.Fire Workflow流程元素介绍 (3) 1)Activity和Task: (3) 2)Synchronizer、StartNode、EndNode (4) 3)Transition (4) 3.设计约束 (4) 1)约束1 (4) 2)约束2 (4) 3)约束3 (5) 4)约束4 (5) 5)关于设计约束的说明 (5) 4.顺序、分支、汇聚 (6) 1)顺序分支汇聚其实是统一的 (6) 2)顺序业务流程举例 (8) 3)并行业务流程举例 (8) 4)分支选择业务流程举例 (9) 5)汇聚业务流程举例 (10) 5.子流程 (11) 1)流程设计 (11) 2)流程模拟 (12) 3)关于“Multi-Merge”的探讨 (13) 6.“自由流”(Jump) (14) 1)流程设计 (14) 2)流程模拟 (14) 3)相关API (17) 7.循环(Loop) (18) 1)流程设计、模拟 (18) 2)相关API (18) 8.略过(Skip) (18) 1)流程设计 (18) 2)流程模拟 (19) 9.会签 (20) 10.委派 (21) 11.任务完成期限 (21) 1)流程设计、模拟 (21) 2)相关API (22) 12.监听工作流事件 (22)

1)TaskInstance事件监听器 (22) 2)ProcessInstance事件监听器 (23) 13.表单绑定 (24) 14.流程元素属性详细说明 (25) 1)所有流程元素通用属性 (25) 2)WorkflowProcess的属性 (25) 3)StartNode、Synchronizer、EndNode属性 (25) 4)Activity属性 (25) 5)Transition的属性 (26) 6)Subflow Task的属性 (26) 7)Tool Task的属性 (26) 8)Form Task的属性 (26)

工作流回退机制

版本一: 回退(Rollback WorkItem) 回退是工作流参与者对自己“待办任务”(实际是对工作项)的一种操作,即参与者主动回退待办任务列表中的任务到已经执行过的人工节点。 为什么要回退? 参与者接受任务后,发现不应由自己办理此任务或以前的执行者办理有错误等情况后,需要将此接受的任务回退给以前某个节点的执行者重新办理。 回退模式 回退的情况实际上是非常复杂的,其中包括了参与者的重新选择以及回退的条件判断等等。这里先列出常见的回退模式(其实也是我们支持的模式)。 串行

这种情况最为简单,后续节点可以回退到前续任意人工节点。回退后,节点重走。 分支 这种情况也相对简单,实际执行的分支上的节点可以回退到前续任意人工节点(不区分主支和分支)。同样,主支上的节点也可以回退到任意实际执行的分支上的节点。 可能的问题:多次回退后的回退节点选择。例如:第一次流程经过节点2、节点3到达节点5,节点5可以回退到节点1、节点2和节点3的任意一个,此时节点5回退到节点1,节点1重走,这一次流程改为经过节点4到达节点5,节点5回退时如何选择回退节

点?此时的策略是以最近实际执行的分支为准,即节点5只允许回退到节点4和节点1,不允许回退到节点2和节点3。(抹去记忆) 并发 对于并发的情况,分支节点只允许在分支的节点间回退。

同理,主支节点也只允许在主支的节点间回退。多实例汇聚

在这种情况下,节点5会产生2个实例,实际相当于继续并发。节点5根据具体哪个节点触发的它而产生回退节点。同时不允许回退到节点1以及前续的节点去。 子流程 支持子流程到父流程的回退,也支持父流程到子流程节点的回退。 需要注意的是子流程节点有可能产生多个子流程实例,在这种情况下不支持父子流程之间的相互回退。 回退节点的参与者选择 默认策略是由原先节点的实际参与者重新处理,比如节点2回退到节点1,则节点1的实际参与者重新处理该节点任务。这也符合大多数实际的业务场景。

工作流Activiti的学习总结(十二) activiti官方十分钟快速学习

根据activiti官方提供的编写 1.财务部门填写月财务报告 2.股东审核月财务审计报告 流程图: 流程配置: <;?xml version=";1.0"; encoding=";UTF-8";?>; <;definitions xmlns=";https://www.wendangku.net/doc/364495542.html,/spec/BPMN/20100524/MODEL"; xmlns:xsi=";https://www.wendangku.net/doc/364495542.html,/2001/XMLSchema-instance"; xmlns:activiti=";https://www.wendangku.net/doc/364495542.html,/bpmn"; xmlns:bpmndi=";https://www.wendangku.net/doc/364495542.html,/spec/BPMN/20100524/DI"; xmlns:omgdc=";https://www.wendangku.net/doc/364495542.html,/spec/DD/20100524/DC"; xmlns:omgdi=";https://www.wendangku.net/doc/364495542.html,/spec/DD/20100524/DI"; typeLanguage=";https://www.wendangku.net/doc/364495542.html,/2001/XMLSchema"; expressionLanguage=";https://www.wendangku.net/doc/364495542.html,/1999/XPath"; targetNamespace=";https://www.wendangku.net/doc/364495542.html,/bpmn20";>; <;process id=";financialReport"; name=";Monthly financial report reminder process";>; <;startEvent id=";startevent1"; name=";月财务报告审核开始";>;<;/startEvent>; <;!-- 采用用户组为accountancy编写财务报告 -->; <;userTask id=";usertask1"; name=";财务编写月财务报告"; activiti:candidateGroups=";accountancy";>;<;/userTask>; <;userTask id=";usertask2"; name=";股东审核月财务审计报告"; activiti:candidateGroups=";management";>;<;/userTask>; <;endEvent id=";endevent1"; name=";月财务报告审核结束";>;<;/endEvent>; <;sequenceFlow id=";flow1"; name=";"; sourceRef=";startevent1"; targetRef=";usertask1";>;<;/sequenceFlow>; <;sequenceFlow id=";flow2"; name=";"; sourceRef=";usertask1"; targetRef=";usertask2";>;<;/sequenceFlow>; <;sequenceFlow id=";flow3"; name=";"; sourceRef=";usertask2"; targetRef=";endevent1";>;<;/sequenceFlow>; <;/process>; <;bpmndi:BPMNDiagram id=";BPMNDiagram_financialReport";>; <;bpmndi:BPMNPlane bpmnElement=";financialReport"; id=";BPMNPlane_financialReport";>; <;bpmndi:BPMNShape bpmnElement=";startevent1"; id=";BPMNShape_startevent1";>; <;omgdc:Bounds height=";35"; width=";35"; x=";30"; y=";200";>;<;/omgdc:Bounds>; <;/bpmndi:BPMNShape>; <;bpmndi:BPMNShape bpmnElement=";usertask1"; id=";BPMNShape_usertask1";>;

工作流模式与K2实现

工作流模式与K2实现 1.背景 工作流产品众多,而它们之间又缺乏统一的标准,使得不同的产品之间很难实现协同工作。为了解决这一问题,工作流管理联盟(WFMC) 于1993 年成立,并提出了工作流参考模型,制定了五个标准接口。 其中有一个接口是过程定义接口。几乎每个工作流产品都有自己的过程定义语言(也称为工作流语言),可以从四个方面(控制流、数据流、资 源、操作)来研究流程,工作流模式(Work Flow Pattern)只是涉及到其中的控制流部分。控制流(control flow)描述了活动在不同结构中的执行顺 序。控制流对我们有效认识、理解工作流规范具有很大帮助。工作流规范需要不断地扩展,以便满足新的需求,因此有必要对控制流进行基础的认识和分析。 2.模式总述 工作流模式系统化地表述了基本的和复杂的结构。模式(pattern)是从具体形式中抽象出来的。面向对象的设计模式,规定了不依赖于具体的实现技术,同时也不依赖于所在领域的基本需求。 Carl Adam Petri基于Petri网原理提出的21个工作流模式,用于工作流过程建模和分析。这些模式,仅限于静态控制流,而不考虑资源分配、实例控制、异常处理和事务管理。

3.K2 Blackpearl K2 Blackpearl 是SourceCode公司基于.NET WF构建的流程开发平台的核心产品。代码可支持生成WF代码,流程设计环境使用WPF构建,并完全嵌入到VS 2005中,与微软产品紧密结合。 K2 blackpearl 包括业务流程管理与工作流性能。可以通过建立应用来管理业务流程并使其自动化,或者集业务流程、人员、服务、信息和系统于单一的应用,从而帮助推动业务发展。 4.基础控制过程 这五个模式的共同点在于:模式所涉及流程的执行路径是在设计时即可确定的,不需运行时的信息。包括:Sequence(顺序模式)、Parallel split(并行分支模式)、Synchronization(同步模式)、Exclusive choice(排他选择)、Simple merge(简单合并模式)。 ?1 顺序(Sequence) ●描述: 工作流中的各个活动在同一个进程中按顺序依次执行。 ●案例: “用户付款”后才能进行“发送货物”。 ●K2实现:

特别响、非常近——BPMN2新规范与Activiti5

特别响、非常近——BPMN2新规范与Activiti5 上世纪九十年代以后,随着WfMC联盟的成立,BPM市场群雄逐鹿如火如荼,工作流技术得到了突飞猛进的发展,其中IBM、Oracle等大型软件厂商在工作流领域各扯大旗割据一方。2011年BPMN2.0新规范的发布为各工作流产品互容互通提供了统一的标准,结束了各工作流厂商各自为政相互抵斥的局面。 什么是BPMN、Workflow? ?BPM(Business Process Management)——“通过建模、自动化、管理和优化流程,打破跨部门跨系统业务过程依赖,提高业务效率和效果”。 ?Workflow——“全部或者部分由计算机支持或自动处理的业务过程”(工作流管理联盟WfMC组织对工作流概念的经典定义) BPM基本内容是管理既定工作的流程,通过服务编排,统一调控各个业务流程,以确保工作在正确的时间被正确的人执行,达到优化整体业务过程的目的。BPM概念的贯彻执行,需要有标准化的流程定义语言来支撑,使用统一的语言遵循一致的标准描述具体业务过程,这些流程定义描述由专有引擎去驱动执行。这个引擎就是工作流引擎,它作为BPM的核心发动机,为各个业务流程定义提供解释、执行和编排,驱动流程“动“起来,让大家的工作“流”起来,为BPM的应用提供基本、核心的动力来源。 现实工作中,不可避免的存在跨系统跨业务的情况,而大部分企业在信息化建设过程中是分阶段或分部门(子系统)按步实施的,后期实施的基础可能是前期实施成果的输出,在耦合业务实施阶段,相同的业务过程可能会在不同的实施阶段重用,在进行流程梳理过程中,不同的实施阶段所使用的流程描述语言或遵循的标准会有所不同(服务厂商不同),有的使用WfMC 的XPDL,还有些使用BPML、BPEL、WSCI等,这就造成流程管理、业务集成上存在很大的一致性、局限性,提高了企业应用集成的成本。 BPMN2.0规范的引入 遵循BPMN2.0新规范的工作流产品能很大程度上解决此类问题。BPMN2.0相对于旧的1.0规范以及XPDL、BPML及BPEL等最大的区别是定义了规范的执行语义和格式,利用标准的图元去描述真实的业务发生过程,保证相同的流程在不同的流程引擎得到的执行结果一致。BPMN2.0对流程执行语义定义了三类基本要素,它们是日常业务流程的“三板斧”: ?Activities(活动)——在工作流中所有具备生命周期状态的都可以称之为“活动”,如原子级的任务(Task)、流向(Sequence Flow),以及子流程(Sub-Process)等?Gateways(网关)——顾名思义,所谓“网关”就是用来决定流程流转指向的,可能会被用作条件分支或聚合,也可以被用作并行执行或基于事件的排它性条件判断 ?Events(事件)——在BPMN2.0执行语义中也是一个非常重要的概念,像启动、结束、边界条

工作流引擎技术

1.1工作流引擎技术 工作流概念的提出是人们注意到了隐藏在业务处理的过程控制的共性,并从业务处理操作中分离出过程逻辑单独加以研究,从而可以实现过程优化配置和重组。但是,多年来,不同的研究者和产品供应商从不同的角度给出了工作流的定义。下面分别从工作流定义及工作流相关术语进行解释,并分析工作流应用中所遇到的多种模式,提出了工作流参考引擎、处理模型、体系结构等。 1.1.1工作流定义 WfMC给出的工作流的定义[21]:工作流(Workflow)是一类能够完全或者部分自动执行的经营过程,根据一系列过程规则,文档、信息或任务能够在不同的执行者之间传递、执行。 工作流是指业务领域的流程,它描述了业务过程中的各个要素以及要素之间的关系。 业务过程则是对工作流的抽象,通过对业务过程中各要素的描述形成过程定义。过程定义是过程自动化的基础数据,它通过工作流引擎进行管理。 下面将对工作流引擎技术中涉及到的一些基本概念给出其定义。这些概念包括:工作流引擎、业务过程、过程定义、活动、自动活动、人工活动、实例、过程实例、活动实例、工作流参与者、工作项、工作项列表等。 1.工作流引擎 工作流引擎是一个软件系统,它定义、创建和管理工作流的执行,并且运行在一个或多个工作流引擎之上。工作流引擎能够解释过程定义、实现与工作流参与者的交互并且调用各种外部IT工具和应用。 2.业务过程 一个包含一个或多个相关程序或活动的集合,这些程序或活动共同实现一个业务或决策目标。通常地,业务过程存在于一个定义了职能角色和业务关系的组织结构中。 3.过程定义 过程定义是对业务过程的描述,这种描述形式支持诸如建模、通过工作六管理系统执行等操作的自动化处理。过程定义有活动和它们之间的关系组成,这些活动和关系形成了一个网状结构,并且还包含过程开始和结束条件和各活动的详细信息,如活动参与者、相关应用和数据等。 4.活动 活动是对一份工作的描述,它是过程中的一个逻辑步聚。一个活动可以是

activiti5.17流程进入阻塞状态,定时任务根据数据库状态推动流程到下个节点

文件代码:

Activiti工作流对象关系及表结构

Activiti数据表结构和核心对象关系 西安创富电子科技有限公司 二〇一三年九月

版本历史

目录 1ACTIVITI数据库表结构--------------------------------------------------------------------------------------- 4 1.1 数据库表名说明 ---------------------------------------------------------------------------------------- 4 1.2 数据库表结构 ------------------------------------------------------------------------------------------- 4 2ACTIVITI中主要对象的关系 -------------------------------------------------------------------------------- 5

1Activiti数据库表结构 1.1数据库表名说明 Activiti工作流总共包含23张数据表,所有的表名默认以“ACT_”开头。并且表名的第二部分用两个字母表明表的用例,而这个用例也基本上跟Service API匹配。 ◆ACT_GE_* : “GE”代表“General”(通用),用在各种情况下; ◆ACT_HI_*: “HI”代表“History”(历史),这些表中保存的都是历史数 据,比如执行过的流程实例、变量、任务,等等。当系统中配置history的信息记录级别为“none”时,这一类表也可以不用; ◆ACT_ID_* : “ID”代表“Identity”(身份),这些表中保存的都身份信 息,如用户和组以及两者之间的关系。如果Activiti被集成在某一系统当中的话,这些表可以不用,可以直接使用现有系统中的用户或组信息; ◆ACT_RE_* : “RE”代表“Repository”(仓库),这些表中保存一些‘静 态’信息,如流程定义和流程资源(如图片、规则等); ◆ACT_RU_*: “RU”代表“Runtime”(运行时),这些表中保存一些流程实 例、用户任务、变量等的运行时数据。Activiti只保存流程实例在执行过程中的运行时数据,并且当流程结束后会立即移除这些数据,这是为了保证运行时表尽量的小并运行的足够快; 1.2数据库表结构 Activiti数据表清单:

工作流使用管理办法

湖北XXXXXXXXXX产业集团 关于修订印发《工作流使用管理办法》的通知 各单位/部门: 为减少工作流使用不当的情况发生,从而提高工作流审批效率及企业信息化实施水平,我部门制定了《工作流使用管理办法》。根据该办法前期执行的实际情况,经征求各方面意见后,我部门对部分条款进行了修改和完善。现将修订后的《工作流使用管理办法》(见附件)印发,请各单位认真组织学习。 修订后的《工作流使用管理办法》自2012年8月20日实施,望各单位/部门遵照执行。 特此通知! 信息中心 二〇一二年八月十九日

工作流使用管理办法 第一章总则 第一条为推进企业信息化建设的顺利实施,规范OA系统工作流的管理,明确公司工作流使用的要求,达到提高工作及管理效率的目的,特制定本办法。 第二条本办法适用于湖北XX建筑装饰工程有限公司(以下简称集团公司)及子公司所有员工。 第二章工作流的定义 第三条工作流: OA内置的流程子系统,可实现各类工作的申请、审批、会签、登记、查询等环节的管理,可将协同工作的过程进行记录,便于日后审核与查询;并实现业务数据的规范化录入、查询、统计和存档;OA的工作流系统由表单和流程两个重要元素构成。 第四条表单:是与工作相关的数据的载体,相当于现实工作中的纸质工作单,工作单上的手写数据通过表单上的各类控件得以体现;除表单以外,我们还可以通过公共附件或会签区传递一些数据和信息,以便更好的完成工作流程。 第五条流程:是工作过程和环节的描述,流程由工作的多个步骤组成,每一步由指定的经办人填写指定的表单控件。 第三章工作流的发起 第六条为节约办公耗材,提高工作效率,实现信息化的有效推广,经集团公司审核通过的工作流禁止采用纸质操作。 第七条各员工需认真学习各工作流的作用及适用范围,在发起流程时,需选择与该工作相对应的工作流。 第八条对于明确指定了对应发起人的流程(IT类、盖章类、物业服务类等),当其他人员需要申请该工作流时,需和具有相应申请权限的人员进行对接,

相关文档