各种工作流模式的实现

各种工作流模式的实现
各种工作流模式的实现

各种工作流模式的实现

作者:非也QQ:20674450Email:nychen2000@https://www.360docs.net/doc/0815313043.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)

1.概述

本文最初始的标题是“21种工作流模式的实现”,但是我觉得21种工作流模式总结的并不科学,“21中工作流模式”只看到了业务现象,没有反应出业务的本质。

例如:“并行模式(Parallel Split)”、“单选(Exclusive Choice)”、“多选(Multi Choice)”没有实质区别,都是从流程的分支中选择若干个执行。具体选择哪几个是由“转移条件”决定的,如果转移条件计算结果为true则执行,否则不执行。因此并行模式只是分支选择模式的一个特例,即所有的转移条件计算结果都是true。

再例如:21中工作流模式中的“同步(Synchronization)”、“简单汇聚(Simple Merge)”也没有实质区别,在Fire Workflow中这都是“同步器”节点统一处理。

我甚至认为21中工作流模式存在一些谬误,我简单阐述我的看法,欢迎探讨。

例如:21种工作流模式对“简单汇聚(Simple Merge)”的解释是“流程中的某个节点,使得两个或者多个流程分支汇聚在一起”,之所以将这种汇聚称为“简单汇聚”,是“假设多个流程分支不并行执行,因此汇聚点不需要进行复杂的同步操作”。

这种强行的“假设”看似简化了问题,实际上非常不合理。这种假设要求汇聚点“预知”多个分支中只有一个分支被执行,这种预知是很难实现的;或者限制多个分支中只允许一个被执行,这种后继节点限制前驱节点的行为是很荒谬的。

因此,本文将工作流模式按照我自己的理解重新组织。本文档的所有示例流程都在example_workflow_process.rar中。

2.Fire Workflow流程元素介绍

在使用Fire Workflow设计业务流程之前,非常有必要介绍一下Fire Workflow的工作流元素。Fire workflow的元素分成三类:1)Activity和Task,2)Synchronizer、StartNode、EndNode,3)Transition

1)Activity和Task:

Acitivty在中文里一般称为“活动”,但是在我的文档里习惯称之为“环节”。Task是任务,代表具体的业务逻辑,如录入一张表单、调用一段java代码或者调用另外一个流程(子流程Task)。一个环节中可以有多个任务。例如某个入职流程中有一个体检环节,体检环节包含了“检查视力”、“检查肝功能”、“检查心血管功能”等等多个任务。在Fire workflow 中,体检环节建模如下:

2)Synchronizer、StartNode、EndNode

Synchronizer是同步器。此处的“同步”是一个更加广义的概念,他代表工作流子系统的计算逻辑。开始节点(StartNode)和结束节点(EndNode)是同步器的特例,开始节点是没有输入“边”的同步器,结束节点是没有输出“边”的同步器。

3)Transition

转移(Transition)在Fire workflow并不仅仅是一条连接线,他代表控制权在工作流子系统和业务子系统之间交换。

3.设计约束

在本人看来,可以将整个系统分成业务子系统和工作流子系统。Activity和Task代表业务子系统的计算逻辑;Synchronizer、StartNode、EndNode代表工作流子系统的计算逻辑;Transition代表控制权在业务子系统和工作流子系统之间转移。有如下流程设计约束。

1)约束1

每个Activity的前驱节点、后继节点必须是同步器。即控制权从工作流子系统获得,业务执行完毕后控制权必须交还给工作流子系统。

2)约束2

每个Activity只允许有一个输入Transition,一个输出Transition。

为什么呢?如果某个Activity有多个输入Transition,则说明此Acitivty需要执行“汇聚”逻辑,然而“汇聚”并不是Activity的职责,而是同步器的职责;同理,如果某个Activity 有多个输出Transition,则说明该Activity需要执行“分支”逻辑,这也不是Activity的职责。

3)约束3

每个同步器的前驱节点和后继节点都必须是Activity。即从业务子系统获得控制权后,进行汇聚和分支计算,然后把控制权再交给业务子系统。在Fire Workflow中,顺序流程中的同步器与复杂逻辑中的同步器的算法是一致的,如下图,S1是S2的特列。

4)约束4

一个流程有且只有一个开始节点,至少有一个结束节点。

5)关于设计约束的说明

Fire Workflow是以Petri Net作为理论基础的,因此上述设计约束首先是Petri Net的要求。

但是Fire Workflow也力求不生搬硬套Petri Net;我通过学习研究,发现用Petri Net可以非常恰当地描述“控制权”在“业务子系统”和“工作流子系统”之间相互转换这样一个业务模型。可以用Petri Net中的token来刻画“控制权”这个概念,用T来刻画“业务子系统”这个概念,用P来刻画“工作流子系统”这个概念。因此,上述设计约束可以精确、严密地描述业务流程。

4.顺序、分支、汇聚

1)顺序分支汇聚其实是统一的

首先,Fire Workflow认为,“分支”和“汇聚”都是一种计算逻辑,这种计算逻辑应该由“工作流子系统”负责完成。Fire Workflow用“同步器”节点在模型中表示这种计算逻辑。如下图,同步器“S”是一个一般意义上的同步器。

上图中“S”首先对t1、t2、t3执行汇聚操作。在Fire Workflow中,不管t1、t2、t3中哪个或者哪几个流程分支被执行,S都能正确地进行汇聚。

S汇聚完成后,根据转移条件的计算结果,启动t_a,t_b,t_c中的一个或者几个分支。

为什么说顺序、分支、汇聚是统一的呢?

A)在上图中,如果“S”的前驱和后继都是唯一的,则形成一个特例,即顺序流程。如下图。

B)如果上图中“S”的前驱是唯一的,后继有多个,则形成了“21中工作流模式”中

的“并行模式(Parallel Split)”、“单选(Exclusive Choice)”、“多选(Multi Choice)”。如下图

C)如果上图中“S”的前驱有多个,后继仅有一个分支,则形成“汇聚”,如下图。

不仅顺序、分支、汇聚是统一的,同步器、开始节点、结束节点也是统一的,即开始节点和结束节点是同步器的特例。如果同步器的前驱为0,则形成开始节点,如果同步器的后

继节点为0,则形成结束节点。在Fire Workflow中分别用和表示这两个节点。

2)顺序业务流程举例

顺序模式的实现以及模拟请参阅《2_通过设计器和模拟器快速了解Fire Workflow》

流程定义文件是MyFirstProcess.xml

3)并行业务流程举例

并行业务流程其实是分支选择的一个特例,即所有的转移条件计算结果为true。在Fire workflow中如果Transition的转移条件EL表达是为空,则默认其结果为true。

业务举例:某商场送货流程。仓库备货完成后流程分拆为两个并行的分支,一个分支通知送货员送货;另一个线程启动短信发送程序,预约客户在家等候收货。如下图:

相关的流程定义文件见:And Split.xml。

流程模拟

通过模拟器可以模拟该流程,如下图。可以看到,在“仓库备货”环节完成后,两个分支执行线程并行执行。

4)分支选择业务流程举例

以典型的请假流程为例,如果请假天数小于等于2天,项目经理审批即可,否则需要部

门经理审批。该流程图如下。在本流程中定义了一个名称为days的流程变量。

流程定义文件是:choice.xml

流程模拟:

启动流程,在工具栏上点击,设置流程变量days的值为3,如下图

签收并完成“填写请假条”任务后,系统启动了“部门经理审批”环节,而没有启动“项目经理审批”环节,如下图:

读者可以重新模拟该流程,将days的值设置为1看看结果如何。

5)汇聚业务流程举例

在上述“并行业务业务流程举例”中,结束节点实际上进行了汇聚。我们从模拟器可以看到,当“仓库备货”环节完成后,“手机短信发送程序”被自动执行,此时结束节点的颜色变成黄色,表示正在等待另一个分支完成。当送货分支完成后,结束节点变成蓝色,整个流程实例执行完毕。

5.子流程

1)流程设计

在Fire Workflow看来,子流程是父流程的一个任务。可以通过创建一个附

带子流程任务的环节,也可以在已经存在的环节中增加子流程任务。

在本文提供的子流程实例如下图,在父流程和子流程中都定义了一个流程变量xyz,在下一节流程模拟中可以看到,父流程的流程变量的值传递给了子流程。

父流程图

子流程图

流程定义文件是:parent.xml,child.xml

2)流程模拟

首先在父流程的模拟器界面启动父流程,并点击设置流程变量xyz的值为100,如下图

签收并通过Activity1.Task1后,系统弹出选择文件的对话框,定位到child.xml流程定义文件,然后确定。系统启动Activity2.Task1,流程执行进程视图切换到child流程,同时父流程的流程变量的值赋给了子流程。如下图。你可以通过工具栏右边的下拉列表在执行进程视图中切换不同的流程。

签收并结束子流程,将视图切换当parent ,可以看到父流程的Activity2.Task1也结束了,并且启动了父流程的Activity3.Task1

。如下图

3)关于关于“

“Multi-Merge ”的探讨在“21种”工作流模式中有一个种模式叫做“Multi-Merge ”,其含义是在“汇聚点”后的环节可以被执行多次,如下图:

在上图中如果流程分支t1执行到汇聚点S 时,Activity3和Activity4会被执行一遍;同理当t2执行到汇聚点S 时,Activity3和Activity4也会被执行一遍。显然S 只是图形上的汇聚,在运行时并未起到同步的作用。

在这种情况下,用Fire workflow 的子流程来建模可能更加合理。将Activity3和Activity4置于子流程中(假设子流程名称为MyChildProcess)

,父流程如下图。

6.“自由流”(Jump)

1)流程设计

“自由流”是一种中国特色的业务流程模式,即在某些特殊情况下,流程不按照既定顺序执行,在环节间自由跳转。

在Fire Workflow中,跳转操作还不能在设计器中通过图形表达,只能调用接口IWorkItem.jumpTo(String nextActivityId,ListnextActorIds)完成。jumpTo方法首先结束当前WorkItem、TaskInstance和ActivityInstance,然后启动目标Activity,创建相应的TaskInstance和WorkItem。

自由跳转是有条件的,其首要条件是当前环节和目标环节在同一个“执行线”上,如果Fire Workflow检查到当前环节和目标环节不在同一个执行线上,则拒绝执行跳转操作。

“执行线”是我创造的一个工作流名词,在图论中的定义是Li(activity1)=Li(activity2)。即:如果activity1的所有前驱节点和后继节点构成的集合等于activity2的所有前驱节点和后继节点构成的集合,则称activity1和activity2在同一个执行线上。如下图,Activity1和Activity2在同一个执行线上,Activity1和Activity5也在同一个执行线上;但是,Activity1和Activity3不在同一个执行线上,Activity3和Activity4也不在同一个执行线上。

流程进行跳转的第二个条件是当前环WorkItem的结束操作可以触发对应的TaskInstance和ActivityInstance也正确结束,否则Fire workflow拒绝进行跳转操作。例如,在会签的情况下,如果还有操作员没有完成他的工单,则不能执行跳转操作,只有最后一个完成工单的操作员才具备执行跳转操作的条件。

自由流相关的流程定义文件见:Jump.xml

2)流程模拟

下面模拟从环节Activity1直接跳转到Activity5的情形。

A)首先创建流程实例,并签收Activity1.Task1。得到的流程执行进程视图如下

B)然后点击工具栏按钮,弹出对话框。在该对话框中输入目标环节的名称和操作员ID,多个ID通过逗号分隔。在有多个ID的情况下,一般都需要签收,因此需要选中“Need Sign”复选框。如下图,有两个操作员,分别是“Zhangsan”和“Lisi”。

确定对话框后,流程跳转到Activity5;同时从模拟数据视图中可以看到,系统生成了两个WorkItem,分别赋值给Zhangsan和Lisi如下图。

C)签收Activity5.Task1。

在本例中,如果点击来签收Activity5.Task1,系统会报告如下错误:Sign workitem

failed,NO todo work items for actor[actorId='Fireflow_Simulator']and task[taskId='JumpTo.Activity5.Task1']。即,操作员Fireflow_Simulator在Activity5.Task1上没有待办任务。

必须点击“Sign as...”菜单来执行签收操作。如下图

点击“Sign as...”后,系统弹出对话框,要求输入操作员ID,此时输入Zhangsan(或者Lisi)成功签收任务。如下图:

签收任务后,在模拟数据视图中可以看到“Zhangsan”的工单变成了Started状态,而Lisi 的工单被删除了。这是因为Acitivity5.Task1不是的任务分配策略是“ANY”,如下图;即任何一个操作员完成该任务即可,这种情况下,只要一个操作员签收了他的工单,其他的工单将被删除。

D)完成Activity5.Task1

点击“Complete As...”,完成Activity4.Task1,如下图:

3)相关API

7.循环(Loop)

1)流程设计、模拟

循环是“自由流”的特例,即跳转到已经被执行过的环节上。Fire Workflow自动把工单分派给上一次完成该环节任务的操作者。

在Fire workflow中,循环也不能在设计器中通过图形表达,只能是调用IWorkItem.loopTo(String nextActivityId)实现。

循环操作除了必须遵守“自由流”的条件外,还必须满足如下条件:目标环节已经被执行过。

读者可以通过模拟器工具栏上的按钮对任意流程模拟循环操作。

2)相关API

8.略过(Skip)

1)流程设计

如下业务场景非常常见。

某审批业务规定:当金额小于等于1万元的情况下需要科领导审批;当大于1万元小于等于10万元时,除了科领导审批外还要送处领导审批;如果金额大于10万元,则需要再往上送到局领导审批。

对于这种业务模式有三种流程设计方法。

第一种方法是设计一个顺序流程“申请-->科领导批-->处领导批-->局领导批”,然后由业务代码根据申请的金额调用IWorkItem.jumpTo(String nextActivityId,List nextActorIds)跳过不必要的审批级别。

第二种方法是使用“委派”机制,操作员根据业务管理规则人为地将任务呈送(委派)给上级领导。(该方案是否妥当还带斟酌...)

第三种方法是利用“空环节”()实现略过,业务流程如下图

在该流程中预先定义了一个“预算金额”流程变量,在“科长审批”后的相关流程分支中根据该变量进行判断。这个变量也可以不预先定义,因为Fire Workflow允许在任何时候设置任何名称的流程变量,如果有同名的流程变量,则后值覆盖前值。

流程定义文件是:Skip.xml

2)流程模拟

首先启动流程,然后点击,设置流程变量“预算金额”的值。假设我们设置的值为2500,

如下图。

在预算金额为25000的情况下,流程执行完毕后的视图如下,可以看到“处领导审批”环节被执行了,而“局领导”审批环节被跳过了。

9.会签

通常情况下,会签是通过设置Task的Assignment属性来决定的,如果Assignment属性为ALL,则该任务实例必须等到所有的WorkItem结束后才会结束。Assignment属性设置如下图:

另一种情况会导致会签。在跳转的时候,如果下一个环节的Actor Id有多个,且不需要签收,则工作流引擎会忽略Task的Assignment属性。读者可以在“自由流”章节按照如下

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

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

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

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任务

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.360docs.net/doc/0815313043.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的环境,然后通过环境获得流程引擎。

软件项目管理重点

软件是程序/数据/相关文档的完整集合软件发展阶段:程序设计阶段/程序系统阶段/软件工程阶段项目是在一定的资源约束下,完成既定目标的一次性的系列任务项目受4因素制约:工作范围/成本/进度计划/客户满意度项目目标的三重约束:功效/时间/费用项目的生命周期:启动/计划/实施/结束项目管理:以项目为对象的系统管理方法,通过一个临时的专门的柔性组织,对项目进行高效率的计划、组织、指导和控制,以实现项目目标软件项目管理:为了使软件项目能按照预定的成本、进度、质量顺利完成,而对经费、人员、进度、性能、风险等进行分析和管理的活动软件工程:应用计算机科学、数学、及管理科学等原理开发软件的工程软件工程3要素:方法/工具/过程软件工程的过程:软件规格说明/软件开发/软件确认/软件演进软件开发阶段:需求分析/概要设计/详细设计/编码/测试/安装及维护瀑布模型特点:阶段间具有顺序性和依赖性/推迟实现的观点/每个阶段必须完成规定的文档和成果/每个阶段结束前完成文档审查,尽早改正错误快速应用开发RAD模型:强调极短的开发周期,使用基于构件的方法RAD阶段:需求计划/用户描述/构建/结束螺旋模型活动:制定方案/风险分析/实施工程/评估敏捷软件开发模型Scrum:能够尽快的响应变化软件能力成熟度模型CMM:初始级/可重复级/已定义级/已管理级/优化级PSP:个体软件过程TSP:群组软件过程RUP是建立在uml基础上的RUP二维坐标:横轴表示时间组织/纵轴以内容来组织RUP的阶段:初始/细化/构造/交付RUP核心工作流:商业建模/需求/分析和设计/实现/测试/部署/配置和变更管理/项目管理/环境极限编程XP微软解决方案框架MSF软件项目管理过程:启动软件项目/制定项目计划/实施和监控阶段/项目收尾和结束软件工程开发过程与软件项目管理过程的关系:两个过程目标是一致的/两个过程管理的对象是一致的/两个过程的开始和结束时间是一样的/它们分析问题的角度和管理的侧重点不同,前者是从工程的角度出发,后者是从计划和执行的角度;前者侧重开发过程的工作内容,后者侧重管理的内容项目范围是指为交付具有规定特征和功能的产品或服务所必须完成的工作识别项目是确定项目范围的首要工作用户和技术是识别项目的关键预算方法:工作分解结构WBS/自底向上的成本估算/自顶向下的成本估算(模拟估算法/参数模型法) 可行性分析:经济可行性/技术可行性/社会可行性(外部环境可行性/管理和操作的可行性) 项目范围管理:是指对项目包括什么与不包括什么的定义与控制过程范围包含两方面:产品范围/项目范围项目范围管理的过程:范围计划编制/范围定义/范围核实/范围的变更控制项目结构分析包括:项目的结构分解/项目的单元定义/项目单元之间逻辑关系的分析项目结构分解的工具是工作分解结构WBS,它是一个分级的树形结构,是将项目按照其内在结构或实施过程的顺序进行逐层分解而形成的结构示意图任务责任矩阵是在任务分解的基础上,把工作分配给相关人员,用一个矩阵表格表示任务的分工和责任WBS设计的方法:类比法(以一个类似项目的WBS模板为基础,来制定本项目的工作分解结构)/自上而下法(从整个项目开始,逐步分解为下一级的多个子项)/自下而上法(先确定项目有关的各项具体任务,然后将任务合并到整体或上一级中) WBS项目结构分解的原则:在各层次上保持项目内容的完整性,不能遗漏工作单元/一个项目单元只能从属与某一个上层单元,不能交叉/项目单元应能区分不同的责任人和不同的工作内容/项目结构分解应能方便工期、成本、质量等的控制/详细程度适中范围变更控制:将范围变更控制在一定的限度内,控制需求变更和减小变更对项目的影响项目时间管理:主要任务就是项目进度计划的制定、执行和变更控制定义活动是一过程,它涉及确认和描述一些特定的活动,完成了这些活动意味着完成了WBS结构中的项目细目和子细目活动排序过程包括确认且编制活动间的相关性活动排序过程包括编制活动间的三种相关性:内在的相关性(强制依赖关系)/指定性的相关性(自由依赖关系)/外部相关性(外部依赖关系) 活动间有4种相关依赖的关系:结束-开始(某活动必须结束,另一活动才能开始)/结束-结束(某活动结束前,另一活动必须结束)/开始-开始(某活动必须在另一活动开始时开始)/开始-结束(某活动结束前另一活动必须开始) 活动排序的结果是项目网络图,是项目所有活动以及活动之间逻辑

各种工作流模式的实现

各种工作流模式的实现 作者:非也QQ:20674450Email:nychen2000@https://www.360docs.net/doc/0815313043.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)

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.360docs.net/doc/0815313043.html,/designer/update/ 输入完成后,单击OK按钮等待下载完成后安装。 安装完成后在菜单选项中会出现Activiti的目录选项

软件工程复习提纲[2017年0615]

软件工程复习提纲 Chapter1 1.开发文档都有哪些?用图来表示它们之间的关系。 2.说明软件工程研究的内容。 3.软件工程的7条基本原理有何现实意义。 4.怎样理解ISO9000的文档体系?质量手册、程序文件、质量记录三者有何联系和区别? 5.怎样理解CMMI,如何用CMMI去管理软件企业? 6.是否存在这一种现象:搞系统软件的公司不需要采用CMMI和ISO9000模式?CMMI和ISO9000模 式只适用于搞应用软件的企业?如果是,为什么,如果不是,又为什么? 7.软件工程与信息系统工程有何异同? 8.怎样理解元数据? Chapter2 1.为什么要选择软件开发模型?软件开发模型与软件生存周期有什么关系? 2.简述瀑布模型、增量模型、迭代模型、原型模型的优缺点。 3.软件公司的ISO9000或CMM管理体系与软件开发模型有关吗,为什么? 4.你对“生存周期模型裁剪指南”有什么看法? 5.“图书馆信息系统”的开发选用什么开发模型合适? Chapter3 1.立项的具体表现形式是什么? 2.立项建议书的编制者为什么主要是软件公司的市场销售人员,而不是开发人员? 3.什么叫风险分析,技能风险与技术风险有何区别? 3.合同、任务书、立项建议书三者有何异同?有何关系? 4.对软件项目和产品的“功能、性能、接口”三项指标如何理解? Chapter4 1.需求分析的目的是什么,需求分析的难点在哪里? 2.需求分析的理论基础有哪几条? 3.为什么说需求分析是面向流程的? 4.解释术语:元数据、实体、中间数据。 5.用户需求报告与需求规格书有何差异? 6.需求描述有哪几种工具?你喜欢哪一种,为什么?

工作流模式与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流程进入阻塞状态,定时任务根据数据库状态推动流程到下个节点

文件代码:

1工作流管理系统--需求规格说明书

西北工业大学软件与微电子学院 <工作流管理系统> 需求规格说明 版本:1.0 编写:年月日校对:年月日审核:年月日批准:年月日

目录 1引言 (1) 1.1编写目的 (1) 1.2背景 (1) 1.3定义 (1) 1.4参考资料 (2) 2任务概述 (2) 2.1目标 (2) 2.2用户特点 (2) 3需求详述 (3) 3.1关键信息 (3) 3.1.1名词解释 (3) 3.2过程描述 (5) 3.2.1系统管理 (5) 3.2.2流程设计 (8) 3.2.3业务管理 (14) 3.2.4用户操作 (23) 4说明 (26)

1引言 1.1编写目的 1.2本需求规格说明书对系统所要实现的功能分模块进行了详细说明,它是一份描述系统整体结构及工作流程的文档。本需求规格说明书主要向客户方及与本项目相关的人员发放,使他们了解该软件的功能结构详细情况。 1.3背景 待开发系统是由631所提出的,针对该所的业务要求及外协任务说明。该系统包括四个子系统: 系统管理; 流程设计; 业务管理; 用户系统。 本系统由西北工业大学软件与微电子学院负责开发,系统的开发环境为:Windows+J2EE。 1.4定义 WfMC(WorkflowManagementCoalition):工作流管理联盟。 流程设计:创建工作流模型,根据实际的业务流程创建可视的流程模型。 业务管理:是对工作流模型和实例进行监控和管理。 活动:是一项工作的原子单元。有时会使用节点代替活动。 流程:是活动的集合,有时会使用工程代替流程。 角色:指工作流模型的参与者和任务承担者,和权限相关联。 用户:指工作流系统的使用者。 连接:是两个活动之间顺序依赖的根据,有时会使用边代替连接。

Activiti连接达梦数据库

目录 1 环境准备 (1) 2 创建SQL脚本 (1) 3 下载所需依赖包 (2) 3.1IDEA配置使用阿里云MAVEN仓库 (2) 3.2下载所有依赖包 (5) 4 修改配置文件 (5) 4.1修改APPLICATION.PROPERTIES文件 (5) 4.2修改POM.XML文件 (6) 5 加载DM驱动程序 (6) 5.1拷贝DM驱动程序 (6) 5.2将驱动程序打入M AVEN仓库 (7) 6 修改ACTIVITY-ENGINE-5.22.0 (8) 6.1修改P ROCESS E NGINE C ONFIGURATION I MPL文件 (9) 6.2修改D B S QL S ESSION F ACTORY文件 (9) 6.3修改A BSTRACT Q UERY文件 (10) 7 ACTIVITY-ENGINE-5.22.0打包 (11) 8 验证结果 (12) 9 附录 (12)

1环境准备 项目名称:Spring boot整合activiti工作流引擎实例 Spring-Boot-Activiti5.22.0项目文件:Spring-Boot-Activiti5.22.0.zip 开发工具:IntelliJ IDEA 2020.2 (Ultimate Edition) IDEA安装路径:D:\IDEA 项目路径:D:\IDEA\work 将项目文件解压至D:\IDEA\work目录下,并导入IDEA: 2创建SQL脚本 将项目中activiti.sql脚本在数据库中创建。

说明:项目中activiti.sql脚本是Mysql的语法,可先在Mysql中创建,再通过DTS工具迁移至DM中。也可使用以下activiti.sql直接在DM中创建(以下activiti.sql语法已修改为DM语法)。 DM语法activiti.sql脚本:activiti.sql 3下载所需依赖包 3.1IDEA配置使用阿里云maven仓库 IDEA工具左上角:文件→设置→构建、执行、部署→构建工具→Maven 指定以下三个目录:

工作流引擎(Workflow Engine )

工作流引擎(Workflow Engine ) 所谓工作流引擎是指workflow作为应用系统的一部分,并为之提供对各应用系统有决定作用的根据角色、分工和条件的不同决定信息传递路由、内容等级等核心解决方案。 工作流引擎(Workflow Engine ) 什么是工作流引擎(Workflow Engine ) 例如开发一个系统最关键的部分不是系统的界面,也不是和数据库之间的信息交换,而是如何根据业务逻辑开发出符合实际需要的程序逻辑并确保其稳定性、易维护性(模块化和结构化)和弹性(容易根据实际业务逻辑的变化作出程序上的变动,例如决策权的改变、组织结构的变动和由于业务方向的变化产生的全新业务逻辑等等)。 Workflow 引擎解决的就是这个问题:如果应用程序缺乏强大的逻辑层,势必变得容易出错(信息的路由错误、死循环等等)。 就好比一辆汽车,外表做得再漂亮,如果发动机有问题就只是一个摆设。应用系统的弹性就好比引擎转速方面的性能,加速到100 公里需要1 个小时(业务流程发生变动需要进行半年的程序修改)还能叫好车吗?引擎动不动就熄火(程序因为逻辑的问题陷入死循环)的车还敢开吗? 工作流解决方案与传统管理软件的关系 传统的管理软件注重解决企业应用层现存的问题(例如提高企业的资源配置率或提高单一员工的生产效率)。例如:EXCEL 可以提高员工画表格的效率、财务软件可以规范财务人员的工作并提高账目查询的效率、CRM 可以规范客户管理从而使客户资源掌握在公司手中而不是被一部分业务人员把持并提高客户响应时间、ERP 解决的是如何配置企业资源:使企业的人力资源、财力资源和物资资源能够根据业务的需求实现最大化配置。workflow 关注的是如何缩短流程闲置时间,从而提高企业的业务处理能力并使企业能够关注于真正对企业有意义的增值业务上。从建立企业神经系统的角度也许更能理解两者的区别。传统软件不能解决工作流的问题,例如ERP 关注的是企业的资源配置,但不可能解决资源传输过程中的损耗和降低传输(流程)的成本;同样workflow也不能完全解决传统管理软件所能解决的问题,例如对生产管理的MRP 系统所能解决的生产过程控制通过workflow很难实现。但一个好的传统软件如果希望能自动化地在整个企业

工作流的基本模式

工作流的基本模式 1 、顺序(Sequence )模式 描述:只有当前一个活动结束后,后一个活动才会被触发,即按照预定的任务列表,有序的执行。(提交一亍日UG、______________________ 弍FEX该日UG 、 _______________________________ Close^BUG 2、并行(Parallel Split)模式 描述:- 一个活动的结束能够触发若干个活动的开始,这些被触发的活动能以并行的方式同时或按任意顺序举例:当提交一个BUG时会分别向BUG信息表和BUG日志表中添加相应记录 进行

3、同步(Synchronization )模式

描述:如果不考虑超时(一般流程会设定任务执行期限)和异常等情况,流程必须在聚合点等待所有的分支都执行完(到达And汇聚点)才能激活后继任务,才能正确的往下运行。 举例:支持人员分派的问题由开发人员修改,然后不仅要经过测试人员验证通过还要再次经支持人员验证通过才能Close该BUG。 4独占式选择(Exclusive Choice )模式 该模式分为显式独占模型(explic Exclusive Choice )和隐式独占选择模式(implicit Exclusive Choice) 1)显式独占选模型(explic Exclusive Choice ) 描述:当一个活动处理完后,其后有若干个分支流程可供选择,但根据工作流控制数据 (workflow control data )只允许选择其中某一个分支运行。 XOR1 1 t

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

相关文档
最新文档