Activiti实战. 1.2工作流基础
BPM是Business Process Management的缩写,中文含义是业务流程管理,是一套达成企业各种业务环节整合的全面管理模式。
BPM是为了实现一定的经营目的而执行的一系列逻辑相关的活动的集合。业务流程的输出是满足市场需要的产品或服务。根据功能、管理范围等的不同,企业流程管理一般分为生产流程层、运作层、计划层和战略层四个层次。BMP是根据业务环境的变化,推进人与人之间、人与系统之间,以及系统与系统之间的整合及调整的经营方法与解决方案的IT工具。
BPM最早是由工作流和企业应用集成(Enterprise Application Intergration)逐步融合而发展起来的,当时是为了满足无纸化办公需求(这也是最早的需求之一)。笔者早期参与OA系统开发时曾经见到过“原始的”工作流—没有工作流引擎,整个流程均使用一系列单独为不同任务节点设计的页面串联起来,完成一个节点后在数据库标记当前任务的名称,以此做到“流程驱动”。
随着时间的推移,BPM的定义范围逐步扩展,不仅用来满足无纸化办公需求,现在BPM是一种企业集成技术,作为对面向服务系统架构SOA(Service-Oriented Architecture)、企业应用集成EAI (Enterprise Application Integration)、企业服务总线ESB(Enterprise Service Bus)的补充。
从概念上来说,BPM包含两个不同方面的意思:管理规范和软件工程。各大BPM供应商长期以来试图抽象这两个不同的方面,但是依然混乱。
作为管理规范,BPM是每一个战略管理者的责任。BPM是组织必须执行的核心业务流程,包含了企业价值和如何提供其实现。作为日常工作的一部分,业务系统可以借助模型和流程规范地定义业务流程。BPM流程图表达的是执行流程的步骤,已完成特定目标。特别说明的是这些模型用于人与人的沟通。这些都是诠释未决的,这意味着它们可以包含更高级别有价值的信息而不包括不必要的细节。这种诠释未决的过程模型也被称为抽象业务流程(Abstract Business Processes.)。
BPM作为软件工程时可以由BPM系统(BPMS)执行可执行的业务流程。可执行的业务流程是在一个流程基础上表示不同的流程顺序。流程图完全可以看做一个抽象的业务流程。可执行流程不同于抽象业务流程,因为它总是以最简单的方式运行。这部分内容也是被大多数厂商认同并接受的。
1.2.2工作流生命周期
一个完整的工作流生命周期会经过5步,并且迭代循环,如图1-1所示。
定义:工作流生命周期总是从流程定义开始。此阶段的任务主要是收集业务需求并转化为流程定义。一般由业务需求人员进行,然后交由开发人员加工转化为计算机可以识别的流程定义。
发布:由开发人员打包各种资源,然后在系统管理(平台)中发布流程定义。在具体的流程引擎中包括流程定义文件(bpmn20.xml结尾)、自定义表单、任务监听类。
执行:具体的流程引擎(例如,Activiti)按照事先定义的流程处理路线以任务驱动的方式执行业务流程。
监控:此阶段是依赖执行阶段。业务人员在办理任务的同时收集每个任务(Task)的结果,然后根据结果做出相应处理,例如,在采购办公用品流程中,在通过领导审批之后,采购人员就要根据申请单外出采购。
优化:在此阶段,一个完整的流程已经结束,或许能满足业务需求,或许需要优化,而糟糕的情况是需要重新设计(流程没结束就异常终止),优化与设计正是此阶段需要处理的。根据整个流程的运行过程结果分析问题的根源,然后在此基础上进一步改进,并再次开始一个新的周期。
1.2.3什么是BPMN
Business Process Modeling Notation,简称BPMN,中文译为业务流程建模标注,是由BPMN标准组织发布的,其第一版BPMN 1.0规范于2004年5月发布。经过多年的改进新的规范BPMN 2.0于2011年发布。之后各大厂商、开源社区均基于2.0规范设计自己的流程引擎,结束了各个厂商“各自为政”的局面,相应地统一了标准,从而利于以后的产品迁移。
BPMN定义了业务流程图,其基于流程图技术,同时对创建业务流程操作的图形化模型进行了裁减。业务流程的模型就是图形化对象的网图,包括活动(也可以说工作)和定义操作顺序的流控制。
在BPMN 1.x版本中的一些概念,如人工任务、可以执行脚本、自动决策等,都是独立于供应商的可视化标准化的方式。在BPMN 2.0规范中重点聚焦在如何执行语义和一个被业界认可的通用交换格式。这意味着基于BPMN 2.0的流程建模不仅在流程设计器上可以通用,还可以在任何符合BPMN 2.0规范的流程引擎上执行。
关于BPMN的细节内容有很多,官方文档足足有500多页,本书会在第4章介绍Activiti支持的BPMN 2.0规范以及Activiti在BPMN 2.0规范基础上的扩展。关于BPMN的其他内容本书就不一一列举了,有兴趣的读者可以仔细阅读官方文档。
工作流引擎Activiti使用进阶!详细解析工作流框架中高级功能的使用示例 本篇文章介绍了Activiti的几个高级用例。主要包括监听流程解析,使用UUID生成器,多租户,执行自定义的SQL,实现流程引擎配置,安全的BPMN 2.0结构以及事件日志的使用。使用这些高级功能,可以使得集成工作流Activiti的项目具有更多的可操作性。
工作流引擎使用详解!工作流框架Activiti的详细配置以及安装和使用 本文极尽详细地阐述了工作流框架Activiti的详细配置以及安装和使用的相关注意点。从工作流Activiti框架的创建Activiti流程引擎ProcessEngine开始讲起,一直到数据库配置,部署以及工作流中的事件处理。通过这篇文章,基本上可以完全掌握工作流的基本搭建和基本使用原理,为后面项目中集成使用工作流框架Activiti进一步深化学习。
BPMN工作流的基本概念!详解工作流框架Activiti 本文介绍了工作流的基本概念,对工作流中的相关术语,例如工作流引擎,BPM,BPMN以及流对象进行说明。着重介绍了当下非常流行的工作流框架Activiti,重点介绍了工作流框架Activiti的服务结构,工作流组件,流程虚拟机PVM以及工作流框架的架构和使用特点。通过这篇文章,可以对工作流有一个基本的认识,为后续工作流框架Activiti的学习打下坚实的基础。
工作流中的数据持久化详解!Activiti框架中JPA的使用分析 本文介绍了工作流Activiti框架中流程数据的持久化,在工作流Acitiviti框架中JPA的使用方式。介绍了使用JPA实体的基本要求,JPA的使用配置以及JPA的具体用法。最后通过一个示例展示了工作流中的流程数据的持久化以及如何查询JPA变量和在Spring Bean中集成JPA使用。
工作流框架Activiti中的仿真引擎CrystalBall使用分析 本篇文章介绍了Activiti业务流程管理平台上的仿真引擎Activiti-Crystalball,可以使用这个仿真引擎对用户的工作流的场景进行模拟,生成不同的流程使用报告。根据流程的仿真模拟,进行历史分析,流程回放以及对工作流流程的调试。
详细解析Activiti Modeler!工作流建模组件的使用说明 本篇文章对工作流Activiti中的建模组件Activiti Modeler的使用进行的详细的说明。Activiti Modeler主要负责对工作流的流程模型进行操作,包括编辑流程模型,导入流程模型,转换流程定义到流程模型,流程模型部署到Activiti的流程引擎。通过这篇文章的学习,可以帮助我们熟练的学会使用工作流建模组件Activiti Modeler。
相关文章
- 自动化测试实战:0基础→自动化测试框架→企业级自动化持续集成
- 测试必会 Docker 实战(一):掌握高频命令,夯实内功基础
- python基础——字符串和编码
- Flutter移动电商实战 --(8)dio基础_伪造请求头获取数据
- 根证书的应用和信任基础
- 《OpenGL ES 2.0游戏开发(上卷):基础技术和典型案例》一6.6 本章小结
- 《软件测试技术大全:测试基础 流行工具 项目实战(第3版)》—第2章2.2节融入测试组织
- 《软件测试技术大全:测试基础 流行工具 项目实战(第3版)》—第2章2.4节小结
- C++Primer 学习(类 一)类的基础
- SwiftUI基础 Text 如何显示多行文本,解决lineLimit不生效问题
- vue实战入门后台篇三:springboot+mybatis实现网站后台-实体及基础框架搭建
- vue实战入门基础篇二:从零开始仿门户网站实例-开发框架搭建
- 黑马程序员:java基础之装饰设计模式
- 【SystemVerilog基础】$sformatf()/$sformat() 快速上手指南
- 【UVM实战】第三章:UVM基础(2)UVM的树形结构
- 零基础学前端之网络工作原理--计算机网络原理【学习笔记】
- 蓝桥杯VIP试题 之 基础练习 回形取数 - JAVA
- 微信小程序项目入门实战(App)基础篇-Array老师-专题视频课程
- python下selenium模拟浏览器基础操作
- Python 基础(四):基础语法