网站首页 > java教程 正文
相关概念
- 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)。
猜你喜欢
- 2024-10-25 Spring Boot 整合流程引擎 Flowable,so easy
- 2024-10-25 规则引擎重塑业务灵活性,但是你真的会用吗?
- 2024-10-25 Java表达式求值引擎Aviator(二)(java数学表达式解析)
- 2024-10-25 高德打车通用可编排订单状态机引擎设计
- 2024-10-25 NET RulesEngine(规则引擎)(规则引擎easy rule)
- 2024-10-25 25-规则引擎概述(使用规则引擎的优势)
- 2024-10-25 开启灵活开发编码模式:规则引擎drools——LHS部分
- 2024-10-25 21-规则引擎内容介绍(规则引擎使用案例场景)
- 2024-10-25 Aviator规则引擎最佳实践(规则引擎教程)
- 2024-10-25 开源规则引擎LiteFlow:为低代码开发带来革命性的变革
你 发表评论:
欢迎- 最近发表
-
- Java常量定义防暴指南:从"杀马特"到"高富帅"的华丽转身
- Java接口设计原则与实践:优雅编程的艺术
- java 包管理、访问修饰符、static/final关键字
- Java工程师的代码规范与最佳实践:优雅代码的艺术
- 编写一个java程序(编写一个Java程序计算并输出1到n的阶乘)
- Mycat的搭建以及配置与启动(mycat部署)
- Weblogic 安装 -“不是有效的 JDK Java 主目录”解决办法
- SpringBoot打包部署解析:jar包的生成和结构
- 《Servlet》第05节:创建第一个Servlet程序(HelloSevlet)
- 你认为最简单的单例模式,东西还挺多
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)