工作流基本概念.pdf
flowable工作流的正确使用方式

flowable工作流的正确使用方式一、简介Flowable是一个开源的工作流引擎,它提供了一个轻量级、可扩展的工作流框架,能够帮助企业实现流程管理和自动化。
本文将介绍Flowable的正确使用方式,包括工作流的基本概念、流程定义、流程实例、任务管理等。
二、工作流的基本概念1. 流程定义:流程定义是工作流的核心,它描述了一个业务流程的所有步骤和规则。
在Flowable中,流程定义使用BPMN2.0标准进行建模,并且支持可视化编辑。
2. 流程实例:流程实例是流程定义的具体执行实例。
每个流程实例都有一个唯一的标识符,可以通过流程实例来追踪和管理流程的执行状态。
3. 任务管理:任务是流程中的一个步骤,需要参与者完成。
Flowable提供了任务的创建、分配、完成等功能,可以对任务进行管理和跟踪。
三、流程定义1. 创建流程定义:可以使用Flowable提供的API或者可视化工具创建流程定义。
首先,需要定义流程的各个步骤和规则,然后将其转化为BPMN2.0的XML格式。
2. 部署流程定义:将流程定义部署到Flowable引擎中,可以使用Flowable提供的API或者可视化工具进行部署。
部署后,流程定义就可以被实例化和执行。
四、流程实例1. 启动流程实例:在Flowable中,可以通过API或者可视化工具启动流程实例。
启动流程实例时,需要指定流程定义的标识符,以及相关的参数和变量。
2. 运行流程实例:一旦流程实例被启动,它就会按照流程定义的规则自动执行。
参与者可以通过任务列表查看和处理待办任务。
3. 结束流程实例:当流程实例执行完毕或者被终止时,流程实例就会结束。
可以通过API或者可视化工具来终止流程实例。
五、任务管理1. 创建任务:当一个流程实例启动后,会根据流程定义的规则创建相应的任务。
可以使用Flowable提供的API或者可视化工具来创建任务。
2. 分配任务:任务需要分配给具体的参与者来完成。
可以通过API 或者可视化工具来分配任务,分配的方式可以是固定的参与者、动态的参与者或者候选参与者。
BPMN工作流的基本概念!详解工作流框架Activiti

BPMN⼯作流的基本概念!详解⼯作流框架Activiti⼯作流⼯作流简介⼯作流(Workflow): ⼯作流就是通过计算机技术对业务流程进⾏⾃动化管理。
实现多个参与者按照预定的流程去⾃动执⾏业务流程。
定义: 通过计算机对业务流程⾃动化执⾏管理主要解决的是: 使在多个参与者之间按照某种预定义的规则⾃动进⾏传递⽂档,信息或任务的过程.从⽽实现某个预期的业务⽬标,或者促使此⽬标的实现⼯作流管理系统的⽬标:管理⼯作的流程以确保⼯作在正确的时间被期望的⼈员所执⾏在⾃动化进⾏的业务过程中插⼊⼈⼯的执⾏和⼲预⼯作流框架:Activiti,JBPM,OSWorkFlow,WorkFlow⼯作流框架底层需要有数据库提供⽀持⼯作流术语⼯作流引擎ProcessEngine对象: 这是Activiti⼯作的核⼼.负责⽣成流程运⾏时的各种实例及数据,监控和管理流程的运⾏BPM业务流程管理:是⼀种以规范化的构造端到端的卓越业务流程为中⼼,以持续的提⾼组织业务绩效为⽬的的系统化⽅法常见商业管理教育如EMBA,MBA等均将BPM包含在内BPMN业务流程建模与标注:这些图如何组合成⼀个业务流程图(Business Process Diagram)讨论BPMN的各种的⽤途:包括以何种精度来影响⼀个流程图中的模型BPMN作为⼀个标准的价值BPMN未来发展的远景流对象⼀个业务流程图有三个流对象的核⼼元素事件⼀个事件⽤圆圈来描述,表⽰⼀个业务流程期间发⽣的东西事件影响流程的流动.⼀般有⼀个原因(触发器)或⼀个影响(结果)基于它们对流程的影响,有三种事件:开始事件,中间事件,终⽌事件活动⽤圆⾓矩形表⽰,⼀个流程由⼀个活动或多个活动组成条件条件⽤菱形表⽰,⽤于控制序列流的分⽀与合并。
可以作为选择,包括路径的分⽀与合并内部的标记会给出控制流的类型Activiti开源⼯作流框架Activiti简介Activiti是⼀个开源的⼯作流引擎,它实现了BPMN 2.0规范,可以发布设计好的流程定义,并通过api进⾏流程调度Activiti 作为⼀个遵从 Apache 许可的⼯作流和业务流程管理开源平台,其核⼼是基于Java的超快速,超稳定的 BPMN2.0 流程引擎,强调流程服务的可嵌⼊性和可扩展性,同时更加强调⾯向业务⼈员Activiti 流程引擎重点关注在系统开发的易⽤性和轻量性上.每⼀项BPM业务功能Activiti流程引擎都以服务的形式提供给开发⼈员.通过使⽤这些服务,开发⼈员能够构建出功能丰富,轻便且⾼效的BPM应⽤程序Activiti服务结构Activiti系统服务结构图核⼼类:ProcessEngine: 流程引擎的抽象,可以通过此类获取需要的所有服务服务类:XxxService: 通过ProcessEngine获取,Activiti将不同⽣命周期的服务封装在不同Service中,包括定义,部署,运⾏.通过服务类可获取相关⽣命周期中的服务信息RepositoryServiceRepository Service提供了对repository的存取服务Activiti中每⼀个不同版本的业务流程的定义都需要使⽤⼀些定义⽂件,部署⽂件和⽀持数据(例如BPMN2.0XML⽂件,表单定义⽂件,流程定义图像⽂件等),这些⽂件都存储在Activiti内建的Repository中RuntimeServiceRuntime Service提供了启动流程,查询流程实例,设置获取流程实例变量等功能.此外它还提供了对流程部署,流程定义和流程实例的存取服务TaskServiceTask Service提供了对⽤户Task和Form相关的操作.它提供了运⾏时任务查询,领取,完成,删除以及变量设置等功能HistoryServiceHistory Service⽤于获取正在运⾏或已经完成的流程实例的信息,与Runtime Service中获取的流程信息不同,历史信息包含已经持久化存储的永久信息,并已经被针对查询优化FormService使⽤Form Service可以存取启动和完成任务所需的表单数据并且根据需要来渲染表单Activiti中的流程和状态Task均可以关联业务相关的数据IdentityServiceIdentity Service提供了对Activiti系统中的⽤户和组的管理功能Activiti中内置了⽤户以及组管理的功能,必须使⽤这些⽤户和组的信息才能获取到相应的TaskManagementServiceManagement Service提供了对Activiti流程引擎的管理和维护功能这些功能不在⼯作流驱动的应⽤程序中使⽤,主要⽤于 Activiti 系统的⽇常维护核⼼业务对象:org.activiti.engine.impl.persistence.entity包下的类,包括Task,ProcessInstance,Execution等根据不同职责实现相应接⼝的⽅法(如需要持久化则继承PersistentObject接⼝),与传统的实体类不同Activiti组件Activiti上下⽂组件Context: ⽤来保存⽣命周期⽐较长,全局性的信息,类似Application.主要包括如下三类:CommandContext: 命令上下⽂-保存每个命令必要的资源,如持久化需要的sessionProcessEngineConfigurationImpl: 流程引擎相关配置信息-整个引擎全局的配置信息.如数据源DataSource等.该对象为单例,在流程引擎创建的时候初始化ExecutionContext: 持有ExecutionEntity对象持久化组件:Activiti使⽤mybatis作OR映射,并在此基础上增加设计了⾃⼰的持久化框架在流程引擎创建时初始化,顶层接⼝Session,SessionFactorySession有两个实现类:DbSqlSession: 负责sql表达式的执⾏AbstractManager: 负责对象的持久化操作SessionFactory有两个实现类:DbSqlSessionFactory: 负责DbSqlSession相关操作GenericManagerFactory: 负责AbstractManager相关操作Event-Listener组件:Activiti允许客户代码介⼊流程执⾏,提供了事件监听组件监听的事件类型:TaskListenerJavaDelegateExpressionExecutionListenerProcessEngineConfigurationImpl持有DelegateInterceptor的某个实例,⽅便调⽤handleInvocation Cache组件DbSqlSession中有cache的实现Activiti基于List和Map来做缓存:如查询时先查缓存,没有则直接查询并放⼊缓存异步执⾏组件Activiti可以执⾏任务,JobExecutor为其核⼼类,JobExecutor包含三个主要属性:JobAcquisitionThreadBlockingQueueThreadPoolExecutor⽅法ProcessEngines在引擎启动时调⽤JobExecutor.start,JobAcquisitionThread 线程即开始⼯作,其run⽅法不断循环执⾏AcquiredJobs中的job,执⾏⼀次后线程等待⼀定时间直到超时或者JobExecutor.jobWasAdded⽅法,因为有新任务⽽被调⽤。
OracleWorkFlow(工作流)(二)(2024)

2024/1/29
1
目录
2024/1/29
• 工作流基本概念与原理 • Oracle WorkFlow核心功能解析 • Oracle WorkFlow在企业级应用中的实
践 • 常见问题诊断与解决方案探讨 • 总结回顾与展望未来发展趋势
2
CHAPTER 01
工作流基本概念与原理
2024/1/29
3
工作流定义及作用
定义
工作流是一类能够完全或者部分自动 执行的经营过程,它根据一系列过程 规则,文档、信息或任务能够在不同 的执行者之间传递与执行。
作用
工作流的主要作用是实现业务过程的 自动化,提高业务处理效率,降低出 错率,并为企业提供业务过程的可视 化监控和管理。
20
行业应用前景展望
01 02
数字化转型
随着企业数字化转型的加速推进,工作流技术将在更多领域得到应用, 如智能制造、智慧城市、金融科技等,助力企业实现业务流程自动化和 智能化。
云计算与微服务
云计算和微服务技术的发展将为工作流技术带来新的机遇,通过云原生 和微服务架构的支持,工作流系统将更加灵活、可扩展和易于集成。
事件驱动架构
采用事件驱动架构,实现对流程中各种事件 的实时响应和处理。
异步处理机制
支持异步处理任务,提高系统吞吐量和响应 速度。
2024/1/29
容错和恢复能力
具备强大的容错和恢复能力,确保流程在异 常情况下能够正确执行或恢复。
9
流程监控与优化手段
实时监控
提供实时监控功能,让用户随时了解流程执 行情况和性能指标。
13
集成第三方系统实现数据交互
集成需求
工作流,BPM与RPA

工作流,BPM与RPA什么是工作流?简单地说,工作流就是一系列相互衔接、自动进行的业务活动或任务。
一个工作流包括一组任务(或活动)及它们的相互顺序关系,还包括流程及任务(或活动)的启动和终止条件,以及对每个任务(或活动)的描述。
例如某家工厂,需要给几百位员工准备晚饭,首先需要明确晚餐的菜谱,购买所需的菜品,主食蒸米饭,洗菜,切菜,炒菜,装盘等一组任务。
不可能在洗菜前就来炒菜,体现了这一组任务的先后顺序。
同时蒸煮主食也可以和炒菜等任务同步进行。
什么是BPM?BPM全称Business Process Management(业务流程管理),是为了实现一定的经营目的而执行的一系列逻辑相关的活动的集合,业务流程的输出是满足市场需要的产品或服务。
根据功能、管理范围等的不同,企业的流程管理一般分为生产流程层、运作层、计划层和战略层四个层次。
从广义上讲,BPM包含了Workflow。
与工作流相比BPM更像一种数字化转型(Digital Transformation)的策略,它可以协调企业内外各类系统之间协同工作,它涉及设计流程,协同跨系统和人员执行它们、管理任务,并不断优化它们。
BPM专注于重塑企业现有的业务流程,以达到最佳的生产率和效率。
什么是机器人流程自动化(RPA)?RPA全称Robotic Process Automation,即机器人流程自动化。
分析下这三个关键的英文单词:首先是Robotic ,也就是机器人,这里的机器人是一个虚拟的概念,并不是需要一个实体的机器人,它只是我们流程的执行体。
Process ,也就是我们的流程,它对应的就是我们的业务逻辑,我们将业务需求梳理成一个可以被执行的流程,然后通过“机器人”来执行定制的流程,比如刚刚我们所说过的准备晚餐这件事情,就是RPA的一个很好的例子,我们通过准备好菜谱以及制作的方法,然后通过做饭师傅来完成制作,最终给工厂的工人提供美味的晚餐。
可以下面的图来解释三者的关系:最后的这个Automation,自动化,也就很好理解了,前面的“机器人”和“流程”就是为了实现自动化的目的,通过机器人来执行我们定制好的流程,这个流程也可以理解为一项任务,如果任务足够复杂,需要的人力成本很高,那通过机器人来代替人工自动化的完成我们的任务,就可以大大提高工作效率,解放劳动力,减少人力成本。
工作流基本概念介绍及普元工作流简介 共18页

远程调用 本地调用
服务的部署 工作流服务和业务系统分布式部署 工作流服务和业务系统嵌入式部署 实际操作
Thank You
Thank you
应用:流程结束时,给另外 的系统发消息;流程结束时 更改业务状态
工作流的基本概念:
工作项状态
待领取:对于一个工作项,如果该工作项的参与者有n(n>1) 个人(不是n个参与者),那么该任务创建后,工作项状态为待领取, 这时这n个人都可以看到这个任务
已认领:对于有n个人可以执行的任务(待领取状态),通过执 行认领操作,使这个任务变成已认领状态,这时该任务只能被 认领人执行
一个工作项,最终只能由一个人来完成,这个人就是工作项的 认领人
工作流的基本概念:
工作流引擎
引擎内核,仅包含最基本的对象和服务,以及用于解决流程运 行问题的调度机制和执行机制,是“满足流程基本运行”的最 微小结构。包括:流程定义、流程调度、流程执行、流程实例 对象
整个引擎则要复杂很多,包括“状态存储”、“事件处理”、 “组织适配”、“时间调度”、“消息服务”等等外围的服务 性功能
要点:
任务
信息
过程
工作流
人
什么是工作流
AB现在的报销流程:
报销人提交报销单据,由总部审核员进行审批 1.0 如果审批通过,本次报销审批结束,由财务 进行支付支付 2.0 如果因为缺少数据或附件,单据由审批人退 回到提交人,然后由提交人补充相应数据及附件 重新提交进行审批 3.0 如果审批拒绝,说明不符合报销条件,本次 报销结束
WFMC工作流管理系统参考模型
工作流的基本概念:
流程定义
流程实例
又称流程模型,是用来描述 业务过程的规定性文档。由 一系列活动定义和转移组成。
工作流管理技术

工作流管理技术近年来,随着信息技术的快速发展,工作流管理技术逐渐成为企业管理的重要工具。
工作流管理技术以流程化的方式组织、管理和自动化企业的业务流程,帮助提高工作效率、降低成本,实现规范化和高效化的管理。
本文将探讨工作流管理技术的基本概念、工作原理和应用场景,并分析其未来的发展趋势。
一、工作流管理技术的基本概念工作流管理技术是一种将企业的业务流程和相关信息以可执行、可控制的方式进行组织和管理的技术。
它通过自动化集成和优化企业内部各种业务流程,实现任务的自动分配、自动处理和自动跟踪,提高了工作的效率和质量。
工作流管理技术基于四个基本概念:活动(Activity)、流程(Process)、角色(Role)和资源(Resource)。
活动是工作流中的基本单位,表示企业中的具体工作任务;流程是活动的集合,包括了活动之间的顺序和依赖关系;角色是参与活动执行的相关人员或者系统;资源是活动执行所需要的相关信息、文件或者其他设备。
二、工作流管理技术的工作原理工作流管理技术的工作原理主要包括流程建模、流程分析、流程执行和流程优化四个步骤。
1. 流程建模:首先,根据企业的实际需求和业务流程,将其进行抽象和描述,构建出企业的业务流程模型。
常用的建模方法包括事件驱动过程链(EPC)、Petri网等。
2. 流程分析:对建模后的业务流程进行分析,验证其正确性和合理性。
通过模拟实验和性能评估,发现潜在的问题和瓶颈,以便进行后续的改进和优化。
3. 流程执行:根据业务流程模型,通过工作流管理系统将活动分配给相应的角色或者系统,并自动进行任务的执行和跟踪。
在执行过程中,系统可以根据预设的规则和条件进行流程控制,实现任务的自动分派和自动审批。
4. 流程优化:根据流程执行的数据和统计信息,进行流程的优化和改进。
包括对流程中的瓶颈进行识别和分析,并进行相应的调整和改进,以提高整体的工作效率和效果。
三、工作流管理技术的应用场景工作流管理技术在各个行业和领域都有广泛的应用,如制造业、金融业、医疗健康等。
workflow

36
Workflow Technologies
四、工作流技术的发展历史
• 原型系统在1970年首先产生 (SCOOP, OfficeTalk,) • 80年代中期出现了成功的商用系统 • 在90年代的BPR浪潮中得到进一步发展 • 学术界在90年代初期开始研究 • 现在:理论和技术得到进一步发展,但并 不成熟;学术界和业界正携手解决一些问 题。
三、工作流管理系统-接口4:引擎间互操作
引擎间互操作的方式是多 种多样的。
交叉 调用
子过程
顺序 同步点
28 Workflow Technologies
三、工作流管理系统-接口4:引擎间互操作
• 关键
- 过程定义的交互(相互理解) - 运行时的控制信息和数据信息的交互
• 主要功能
29
连接建立 对过程定义的操作 过程状态查询和控制 活动状态查询和控制 数据操作
二、工作流的相关概念
• 工作流的概念比物料流、资金流、信息流 更抽象。 • 从更高的层次上提供了实现物料流、资金 流、信息流及其涉及的相关过程与应用的 集成机制,从而使得企业能够实现业务过 程集成、业务过程自动化与业务过程的管 理。
7
Workflow Technologies
二、工作流的相关概念
37
Workflow Technologies
四、工作流技术的发展历史
• 80年代中期出现了最早的工作流产品
• FileNet于1984年推出的WorkFlo Business System • ViewStar 于1988年推出的ViewStar。
特点:把图像扫描、复合文档、实例跟踪、 关键字索引以及光盘存储等功能结合在一起, 形成了一种全过程支持某些业务流程的集成 化的软件,这可以看成是最早的工作流管理 系统。
工作流概念

3.WFMS——定义及结构
工作流管理系统(WFMS):是一个完全定义、管理和执行 工作流的系统, 它通过计算机表示的工作流逻辑来驱动软件 有序地运行。
3.WFMS——WFMS的功能
工作流管理系统的工作一般分为三个阶段:
模型建立阶段:通过利用工作流建模工具,完成 企业经营过程模型的建立,将企业的实际经营过 程转化为计算机可处理的工作流模型。 模型实例化阶段:给每个过程设定运行所需的 参数,并为每个活动分配所需要的资源。 模型执行阶段:完成经营过程的执行,主要是完 成人机交互和应用的执行。
2. 基本理论——应用程序元模型
应用程序元模 型描述了工作流 中被调用程序 (Invoked Application)的 相关概念及其关 系。一个被调用 程序可以是一个 常用的表单处理 程序、传统的应 用程序,也可以 是一个Web Service的调用 连接URL。
2. 基本理论——过程定义元模型
1.工作流概述——应用的动因
新的管理哲学激发了组织机构对业务流程的兴趣, 如业务流程再造(BPR ) 和持续过程改进(CP I); 组织机构内部的业务过程数量比以前大大增加, 如 今的组织机构比以前提供更多的产品和服务, 并且 产品和服务的生命周期也比以前大大缩短了, 从而 业务过程的数量也急剧增加; 为了适应激烈的竞争, 组织机构需要经常改变业务 流程; 业务历程变得更加复杂。
O rg an izatio n
1 0 ..*
0 ..*
1
U n it
B elo n g 1 1
RR
R o le
1
1
U n itR o le
1 ..*
1 ..
*
1 ..*
Entrust
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
工作流概念 ——活动(Activity)
概念
又叫节点、环节或者任务,工作流是由一个个活动按 照一定顺序组成的
分类
开始活动、结束活动
人工活动
人工活动、自动活动
路由活动
子流程活动
前驱活动与后继活动
工作流概念 ——活动的属性
名称 参与者 时间限制 触发事件 激活策略 聚合模式 分支模式
工作流概念 ——参与者(Participant)
工作流相关数据 ——举例
配设备:
工作流相关数据: 有无设备、是否需要 检验
主要内容
为什么需要工作流中间件? 工作流历史 基本概念 工作流模型 工作流现状与趋势
工作流模型
路由模型 激活模型
工作流模型 ——起点模型
单起点
流程只有一个开始活动
多起点
流程有多个开始活动
工作流模型 ——路由模型
基本路由 分支路由 聚合路由 循环路由 嵌套路由 任意路由
服务开通是由流程驱动的,上万个产品,产品开发到运 营、服务都需要流程支持。并且需要通过配置流程来 开发新产品
两种可选方案
方案一:传统方式(不采用工作流中间件)
方案1.1:集成商自带“引擎” 方案1.2:无引擎:
状态流转与每个活动的处理逻辑完全交织在一起
方案二:基于商业工作流中间件
我们推荐第二种方案!
子流程
嵌套路由 ——嵌套策略
异步执行
当前活动在启动完子流程后就结束,而无需等 待子流程运行完成
启动子流程后,主流程会不需等待子流程执 行结束,而是立即继续执行下一活动
主流程
相关数据
子流程
工作流模型 ——激活模型
流程激活 活动激活
流程激活
人工激活 定时激活 消息激活
流程激活
人工激活
大多数的流程激活,都是因为人为的信息数据 输入或产生。比如一个订单处理流程,客户提 交了订单信息(订单信息数据产生),则激活 了订单处理流程的开始
EOS特有模型 ——版本控制
概念
每个流程都允许同时存在多个版本,用户可以根据需 要(如业务发生变化或者政策发生变化时)对版本进 行升级。
版本控制策略
特事特办型——个别流程实例的流程调整 一刀切型——所有新、旧流程实例都按新的流程运行 分水岭型——未结束的流程实例,仍按旧的流程运行
EOS特有模型 ——回退
多路分支
所有满足条件的后继活动都被执行 如果没有满足条件的活动,则执行缺省活动
路由模型 ——聚合路由
聚合路由概念(Join)
当一个活动存在多个前驱活动会聚时的路由策 略
聚合路由分类
全部聚合(AND) “总裁审批” 的前驱活动
单一聚合(XOR) 多路聚合(OR)
聚合路由 ——全部聚合
该活动必须等到它的所有前驱活动全部完 成才可以被执行
工作流标准
BPMI( Business Process Management Initiative)
2000 创建,15个创始成员。 2002.9 BPML Published 2004.5 BPMN Published 2004.6 认可BPEL4WS 2005.6 合并到OMG
主要内容
为什么需要工作流中间件? 工作流历史 基本概念 工作流模型 工作流现状与趋势
流程激活
定时激活
在一个特定的时间,因为特定的情况,符合特定的条 件,激活某个特定的流程(或任务)。 这种激活方式,在现实中很少单独出现,大多数情 况,都因为在某一个流程中,因为在限定的时间内, 因某项任务未达到预期的状态,而激活另外的任务或 新的处理流程。也就说,这种方式,是受外来因素影 响的,而且大多与一些流程任务(或流程模式)一起 出现。 举例:
分支路由 ——并行
并行路由
表示当前活动结束后它的所有后继活动将同时 被执行
分支路由 ——独占式选择
独占式分支
根据迁移条件自动选择一个后继活动执行:
1) 只有一个满足条件的活动被执行; 2) 如果有多个条件满足,则优先级高活动将被执行; 3) 如果条件都不满足,则执行“默认”路由。
分支路由 ——多路分支
工作流的概念
业务流程:
“业务流程是有组织的活动, 相互联系,为客户 创造价值”
——Hammer教授
工作流概念
工作流中间件
Applications
也是一种工作流管理系统 介于应用和普通中间件之间 良好的开放性
可以根据客户需要建立不同的业务系统
Workflow Middleware
Traditional Middleware
如何保障 “服务开通系统”成功实 施?
需要专业的应用架构平台
灵活性强 性能高
需要专业的工作流中间件
高性能 高可扩展性 支持复杂流程,特别是异常处理机制 业务化定制:小的调整业务人员就可以完成
主要内容
为什么需要工作流中间件? 工作流历史 基本概念 工作流模型 工作流现状与趋势
工作流的历史
工作流技术起源
不采用工作流中间件 ——存在的问题
集成商自带“引擎”
功能太弱
抽象于OA或某些业务系统,往往只考虑某个问题域的方案,无法满 足市场需求变化的要求
适应能力弱
无法满足业务开通系统对一些复杂功能的要求,比如异常处理、业务 化定制等
开放性不够
因定制开发,在产生新的需求时,需要进行大化
概念
回退指的是当流程运行到某个活动时,由于一 些原因要将流程退回到已经执行过的某个前驱 活动上 回退是一种动态循环
只有在运行过程中才会明确的知道将要回退到哪个 活动
回退往往需要执行业务补偿
工作流相关数据(Workflow Relevant Data) 主要指与业务流程相关的数据。 WfMC的定义:
工作流管理系统通过工作流相关数据来确定流 程实例状态转移条件,并选择下一个将执行的 活动。这些数据可以被工作流应用程序访问并 修改。因此,工作流管理软件需要在活动实例 之间传递工作流相关数据。
工作流概念与模型
游青华 youqh@
主要内容
为什么需要工作流中间件? 工作流历史 基本概念 工作流模型 工作流现状与趋势
为什么需要工作流中间件?
场景:
1. 某电信公司需要上马“服务开通系统”项目 2. 系统性能要求:每天处理40万笔业务 3. 上线时间要求:4~6个月开通上线 4. 未来可能会根据市场需要陆续开通更多新的业务
概念
表示执行某个活动的资源
分类
人 组织 角色 系统(或应用) 动态计算
参与者:部 门经理
工作流概念 ——转移线(Transition)
概念
两个活动之间的连接线,表面活动之间的状态
迁移 转移线上可以定义转移条件(Transition Condition)
分类
无条件转移
转移线
有条件转移
缺省转移线
工作流概念 ——工作流相关数据
概念
表示某个活动在一定条件下会被多次重复执行
路由模型 ——嵌套路由
嵌套路由指在一个工作流中嵌套执行另一 个工作流。又叫“子流程路由”
相关数据
主流程 子流程
嵌套路由 ——嵌套策略
同步执行
等待子流程运行完成后,该子流程活动才结束
启动子流程后,主流程会等待子流程 执行结束后才继续执行下一活动
主流程
相关数据
任意路由 ——策略
在流程内任意自由
运行时该活动的后继活动可以是除开始活动和 本身以外的流程内的所有活动。
任意路由 ——策略
在指定范围内自由
定义时开发人员根据业务需求从流程中圈定若 干活动作为运行时可选择的后继活动的范围。
任意路由 ——策略
在后继活动范围内自由:
运行时该活动可选的后继活动范围为它的直接 后继活动。
上个世纪70年代中期办公自动化领域的研究工作。SCOOP, Officetalk系 统
75-85期间
OA的研究,迅速发展
80s初期
工作流技术走向商用(Image,Doc,Email),但是很少
80s后期
OA的研究基本逐渐消失,代替的是群件( Goupware )和Workflow Management。
常用于并联审批
聚合路由 ——单一聚合
某活动的若干前驱活动中,只要有一个正 在执行的活动完成,下一活动即可被执行
聚合路由 ——多路聚合
某活动必须等到它的所有满足条件的正在 执行的前驱活动全部完成才可以执行
1) 与该活动的连线是“默认值“; 2 ) 与该活动连线上条件为“true”;
路由模型 ——循环路由
高性能
工作流中间件的目的:
在正确的时间将正确的任务按照正确的顺序分 配给正确的人员
工作流的概念
工作流中间件的内涵:
流程定义(Process Definition) 流程执行环境(Process Engine) 流程监控与管理(Administration& Monitor)
工作流的概念
活动(Activity) 参与者(Participant) 转移线(Transition) 转移条件( Transition Condition) 时间限制(Time Limit) 相关数据(Relevant Data)
九十年代以后
相关的技术条件逐渐成熟,工作流系统的开发与研究进入了一个新的热 潮。工作流技术被应用于电讯业、软件工程、制造业、金融业、银行业、 科学试验、卫生保健领域、航运业、办公自动化领域。
工作流的历史(续)
WfMC(Workflow Management Coalition)
1993.8 Founded 1995.1 Workflow Reference Model (1003) 1998.11 Workflow Process Definition Interchange .WPDL(1016) 2002.10 XPDL1.0 2005.10 XPDL2.0 .Support BPMN.