ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

工作流基础

2021-10-10 02:00:22  阅读:232  来源: 互联网

标签:activiti JPA 流程 基础 规范 工作 flowable


什么是BPM

BPM是Business Process Management的缩写,中文含义是业务流程管理,是一套达成企业各种业务环节整合的全面管理模式

可以简单的理解成是一种管理模式,气概念包括两种含义,一个是管理规范,一个是软件工程,由此引出工作流的概念

什么是BPMN

Business Process Modeling Notation,简称BPMN,中文译为业务流程建模标注,是由BPMN标准组织发布的,其第一版BPMN 1.0规范于2004年5月发布。经过多年的改进新的规范BPMN 2.0于2011年发布。之后各大厂商、开源社区均基于2.0规范设计自己的流程引擎,结束了各个厂商“各自为政”的局面,相应地统一了标准,从而利于以后的产品迁移。

什么是工作流

image

工作流(Workflow),是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。 工作流建模,即将工作流程中的工作如何前后组织在一起的逻辑和规则,在计算机中以恰当的模型表達并对其实施计算。 工作流要解决的主要问题是:为实现某个业务目标,利用计算机在多个参与者之间按某种预定规则自动传递文档、信息或者任务

工作流引擎

简单理解: 工作流是概念,工作流引擎是实现,可以理解是一个框架

应用

  • CRM系统
  • ERP系统
  • OA系统
  • 办公软件

工作流发展

  • 各个发展
    • JBPM

      • 官网

      • 目前最新版本

        • 7.38.0

        • 分水岭jbpm5

          • BPM5使用http://jBoss.org社区的大多数组件,以Drools Flow为核心组件作为流程引擎的核心构成,以hibernate作为数据持久化ORM实现,采用基于JPA/JTA的可插拔的持久化和事务控制规范,使用Guvnor作为流程管理仓库,能够与Seam、Spring、OSGi等集成
        • 特点

          • 从jbpm5以后全新设计,给之前的开发者带来很多不便,采用了Apache Mina异步通信技术,采用JPA/JTA持久化方面的标准,以功能齐全的Guvnor作为流程仓库,有RedHat(http://jBoss.org被红帽收购)的专业化支持;但其劣势也很明显,对自身技术依赖过紧且目前仅支持BPMN2
    • activiti

      • 官网地址

      • 历史渊源

        • activiti的创始人,Tom Baeyens,也是jbpm的创始人,由于jbpm的未来架构上产生意见,Tom Baeyens在2010年离开jboss,同年发布activiti5.0版本

        • 第一个版本5.0

          • Activiti5是在jBPM3、jBPM4的基础上发展而来的,是原jBPM的延续,而jBPM5则与之前的jBPM3、jBPM4没有太大关联,且舍弃了备受推崇的PVM(流程虚拟机)思想,转而选择jBoss自身产品Drools Flow作为流程引擎的核心实现,工作流最为重要的“人机交互”任务(类似于审批活动)则由单独的一块“Human Task Service”附加到Drools Flow上实现,任务的查询、处理等行为通过Apache Mina异步通信机制完成。
        • 优势

          • 采用了PVM(流程虚拟机),支持除了BPMN2.0规范之外的流程格式,与外部服务有良好的集成能力,延续了jBPM3、jBPM4良好的社区支持,服务接口清晰,链式API更为优雅;
        • 缺点

          • 二次开发难度也挺大,门槛高
          • 流程设计器官网好久不维护了,idea下不方便用,页面设计器需要汉化,而且有bug
          • 团队转向flowable
          • 新版本发展朦胧
      • 主要版本

        • 5.13

          • 历史项目
          • 23张表
        • 5.22

          • 当前主流
          • 25张表
        • 6.0

          • 主要版本
          • 28张表格
        • 7.X

          • 团队重心转移发展activiti-cloud
          • 主要还是基于6.0开发,新特性并不多
      • 现状

        • 很多商业公司多以5.22为主流,
      • 未来发展?

    • flowable

      • 官网

      • 优点

        • 支持jms、rabbitmq、mongodb方式处理历史数据
        • 支持事务子流程
        • 支持条件表达式中自定义juel函数
        • 修复了dmn规范设计器,activit用的dmn设计器还是旧的框架,bug太多
        • 对activiti的代码大量的进行了重构
        • .......
      • 缺点

        • 官网可见,在大力发展商业版产品,部分功能已经不再开源
    • camunda

      • 曾经是activiti5比较大的贡献者
    • 对比

    • Activiti7.1, jBPM7.25, Camunda, Flowable6.3技术组成对比:序号 帓技术组成 帓Activiti7.1 帓jBPM7.25 帓Camunda帓Flowable6.3.1帓1 帓数据库持久层ORM 帓MyBatis3.4.2 帓JPA2.2二次封装 帓Hibernate4.2.0 帓JPA 2.2帓帓持久化标准 帓 JPA规范 帓 JPA规范 帓 JPA规范 帓JPA规范帓3 帓事务管理 帓MyBatis机制/Spring事务控制帓 Bitronix,基于JTA事务管理 帓hibernate机制/Spring事务控制 帓hibernate机制,Spring事务控制帓4 帓数据库连接方式帓Jdbc/DataSource帓Jdbc/DataSource帓Jdbc/DataSource帓Jdbc/DataSource帓5 帓支持数据库 帓Oracle、SQL Server、MySQL、db2帓Oracle、SQL Server、MySQL、db2帓Oracle、SQL Server、MySQL、db2帓Oracle、SQL Server、MySQL、db2帓6 帓设计模式 帓Command模式、观察者模式等 帓帓帓帓7帓内部服务通讯 帓Service间通过API调用帓基于Apac...h

    • 主要人物和发展历史

      • Tom Bayen

        • jbpm创始人
        • activiti创始人
        • 2010年5月第一版
      • Tijs Rademakers

        • 算是activiti5以及6比较核心得leader。现在是flowable框架得leader

          • activiti5

            • 一开始参与者有作者,十几位核心开发人员,加上其他一些公司得员工参与
          • activiti6

          • flowable

      • Joram Barrez

        • 算是activiti5以及6比较核心的leader了。目前从事flowable框架开发
      • Salaboy

        • Activiti Cloud BPM leader(Activiti Cloud BPM 也就是目前的activiti7框架)

          • activiti7
          • 维护activiti5和6工作
        • 2019年6月中旬离职

标签:activiti,JPA,流程,基础,规范,工作,flowable
来源: https://www.cnblogs.com/wuzhixuan/p/15388381.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有