认识工作流程引擎
相关概念
- BPM:Business Process Modeling,业务管理流程,是对实现生活工作中的流程问题进行抽象建模来推导解决方案。
- BPMN:Business Process Model and Notation,一种流程建模描述语言,是业务流程建模的一种标准注解
- BPMN2.0:专业组织和团体发布的一套标准或规范,定义业务流程的符号以及模型,确保流程的定义实现可移植性
- WfMC:Workflow Management Coalition,工作流管理组织
主流的框架
主流的都是用java开发的JBPM,Activiti等,其他流程引擎中有大部分都是基于这两者开发的。
工作流定义
- 使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现。
- 简单地说是多个人在一起完成某件事的步骤,把步骤变成计算机的能理解的形式就是工作流。
- 工作流总是以任务(Task)的形式驱动人处理业务或者驱动业务系统自动完成作业。有了工作流引擎之后,我们不必一直等待其他人的工作进度,直白地说,我们只需要关心系统首页的待办任务数即可,由系统提醒当前有多少待办任务需要处理。
工作流系统构成
- 流程引擎:工作流处理核心,负责处理信息或任务传递路由,保证流程按照既定的规则顺序执行
- 规则引擎:管理流程业务规则
- 组织模型:为流程的运转提供操作者
- 表单组件:为流程中的任务提供自动化的编辑界面
- 流程设计组件:提供可视化定义流程的操作界面
- 任务组件:为流程参与者提供任务列表数据
流程引擎运行机制
- 设计阶段:建模者按照业务需求在流程设计器中设计出流程定义数据,并将流程订单数据保存到数据库
- 实例化阶段:通过已经定义的流程数据和所需订单业务数据,组织架构数据,任务表单数据,系统字典数据,流程引擎做好状态初始化。
- 执行阶段:执行者执行流程时,将传入控制数据,流程引擎按照已设定好的规则进行执行。
- 应用阶段:流程引擎可以为任务处理者提供待办任务数据,为监控中提供流程监控数据,还提供扩展应用,如信息推送,特殊流程处理等。
术语约定
- 设计流程元素:一个完整的流程是由节点加线组成的;流程 (flow),节点(node),线(line)。
- 流程实例:一个流程实例化后会产生一个对应的进程数据,每执行一个节点就会产生一个线程数据;进程(process),线程(thread)。
- 流程实例进程状态:进行中(in),完成(end),终止(close),冻结(suspend)。
- 流程实例线程状态:处理中(wait),通过(pass),自动执行(auto),拒绝(refuse),终止(close)。
- 节点类型
- 任务(task)节点:用户任务(user task),系统任务(system task)。
- 网关(gateway)节点:
- 条件网关:排他网关,异或网关(XOR geteway),只能选择其中一个分支执行。
- 并行网关:(parallel gateway),选择大于等于一个分支执行
- 分支:所有的出口顺序都并行执行。子类型有并行分支网关(parallel split gateway )。
- 合并:所有到达并行网关的并行执行都会在网关处等待,直到每一条入口顺序流都到达了合并网关,然后流程经过该合并网关继续。还有一种特殊合并,是只需其中一条支线到达合并网关,流程=就会接着往后执行。子类型有并行且合并网关(parallel and join gateway ),并行或合并网关(parallel orjoin gateway )。
- 事件(event)节点:开始节点(start event),结束节点(end event)。
赞 (0)