美文网首页
Activiti6 - 第一篇:工作流概述

Activiti6 - 第一篇:工作流概述

作者: Tian_Peng | 来源:发表于2020-05-25 09:35 被阅读0次

前言

在计算机尚未普及时,许多工作流程采用手工传递纸张表单的方式,一级一级审批签字,工作效率非常低下,对于数据统计和生成报表的功能,需要经过大量的手工操作才能实现。
随着计算机的普及,这些工作的参与者只需要在计算机的系统中填入工作内容,系统就会按照预先定义好的流程自动执行,各级审批者可以得到工作的信息并作出相应的审批和管理操作,数据统计和报表的生成均由系统代为完成,这样大大提高了工作效率。
在这种背景下,各种的工作流应用以及中间件应运而生。

基本概念

  • 工作流(workflow):
    是对工作流程及其各种操作步骤之间业务规则的抽象、概括、描述。
  • 工作流建模:
    将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型 进行表示并对其实施计算

BPMN2.0规范简述

早在20世纪70年代,办公自动化概念出现的时候,工作流思想就已经出现,人们希望新的技术可以改善,但是由于当时计算机没有普及,网络技术还不普遍等原因工作流技术仅仅提留在研究领域,到了20世纪90年代以后,各种技术条件逐渐成熟,工作流技术被应用于电信、软件、制造、金融和办公自动化领域。
随着工作流技术的兴起,为了给全部业务的参与者提供易于理解的标准标记法,由业务流程管理倡议组织(BPMI)开发出了“业务流程建模标记法”(Business Process Modeling Notation),简称BPMN。
BPMN规范1.0版本由BPMI组织于2004年发布,BPMN规范的发布是为了让业务流程的全部参与人员可以对流程进行可视化管理,BPMI组织于2005年合并到OMG(Object Management Group)组织中,2008年1月发布BPMN1.1规范。
BPMN2.0规范于2011年1月正式发布,并且全称改为Business Process Model And Notation(业务流程和建模符号),它继承了1.0版本的内容,并且注重流程执行语法和标准格式转换

BPMN2.0元素

BPMN中定义了5个基础的元素类别:

  • 流对象(Flow Objects)
    在一个业务流程中,流对象是用于定义行为的图形元素
    主要有事件(Events)、活动(Activities)和网关(Gateway)三种流对象
  • 数据(Data)
    主要有数据对象(Data Objects)、数据输入(Data Inputs)、数据输出(Data Outputs)和数据存储(Data Store)4种元素
  • 连接对象(Connecting Objects)
    用于连接流对象,主要有4中连接流对象的方式,包括顺序流(Sequence Flows)、消息流(Message Flows)、关联(Associations)和数据关联(Data Assocations)
  • 泳道(Swim Lanes)
    泳道提供了两种途径用于组织基础的模型元素,分别是池(Pools)和道(Lanes)
  • 制品(Artifacts)
    制品主要用于为流程提供附加信息,当前制品包括组(Group)和注释(Text Annotation)

Activiti介绍

当BPMN2.0规范在2011年被发布时,各个工作流引擎的供应商均向其靠拢,包括jBPM5和Activiti。
Activiti的第一个版本为5.0alphal,一直到2010年12月发布了Activiti5.0的正式版中间经历了4个alphal版本、2个beta版本、1个rc版本,直到5.0正式版才出现对BPMN2.0规范的支持,Activiti6.0于2017年5月发布。
Activiti的创始人Tom Baeyens原是jBPM的创始人,由于在jBPM的未来架构上产生意见分歧,Tom Baeyens于2010年离开了jBoss并加入Alfresco公司,Tom Baeyens的离开使得jBPM5完全放弃了jBPM4的架构,基于Drools Flow重新开发。
而在2010年的5月Tom Baeyens发布了第一个Activiti版本(5.0alphal),由此看来它更像是jBPM4的延续,也许为了让其看起来更像jBPM4的延续,Activiti团队直接将Activiti的第一个版本定义为5.0.

Avtiviti和jBPM对比

技术组成 Activiti5 jBPM5
数据库持久层ORM MyBatis3 Hibernate3
持久化标准 JPA规范
事务管理 MyBatis机制/Spring事务控制 Bitronix,基于JTA事务管理
数据库连接方式 Jdbc/DataSource Jdbc/DataSource
支持数据库 Oracle、SQL Server、Mysql等多种数据库 Oracle、SQL Server、Mysql等多种数据库
设计模式 Command模式、观察者模式
内部服务通讯 Service间通过API调用 基于Apache Mina异步通讯
集成接口 SOAP、Mule、RESTful 消息通讯
支持的流程格式 BPMN2、xPDL、jPDL等 目前仅支持BPMN2 xml
引擎核心 PVM(流程虚拟机) Drools
技术前身 jBPM3、jBPM4 Drools Flow
所属公司 Alfresco jBoss.org

相关文章

  • Activiti6 - 第一篇:工作流概述

    前言 在计算机尚未普及时,许多工作流程采用手工传递纸张表单的方式,一级一级审批签字,工作效率非常低下,对于数据统计...

  • springboot2.x+activiti6.0整合activ

    写在前面:研究了工作流有三个礼拜了,领导说要用activiti6,没想到activiti6到处是坑,因为之前我也不...

  • 记ActivitiCloud的一次体验

    前言 最近学习了一段时间工作流Activiti开源框架,在Activiti6和Activiti7都体验了一下,因为...

  • Git 工作流简介

    学习完整课程请移步 互联网 Java 全栈工程师 本节视频 【视频】Git工作流指南-工作流简介 概述 工作流有各...

  • Spring和Activiti工作流整合详解

    Spring和Activiti工作流整合详解 一、概述 Activiti作为一个流行的开源工作流引擎,正在不断发展...

  • SKIL/工作流程/概述

    概述 SKIL减少了实验数据科学建模、关键测试和产品决策以及可扩展部署工程之间的冲突。它弥合了Python生态系统...

  • java Activiti6 工作流引擎 websocket 即

    即时通讯:支持好友,群组,发图片、文件,消息声音提醒,离线消息,保留聊天记录 (即时聊天功能支持手机端,详情下面有...

  • GitFlow 工作流

    学习完整课程请移步 互联网 Java 全栈工程师 本节视频 【视频】Git工作流指南-GitFlow工作流 概述 ...

  • 工作流程引擎的退回规则

    设计配置大全-专题说明 [if !supportLists]1.1.1.1:[endif]概述 关键字:工作流引擎...

  • Git工作流(Gitflow)管理

    一、Gitflow工作流概述 工作流(Workflow),指“业务过程的部分或整体在计算机应用环境下的自动化”。是...

网友评论

      本文标题:Activiti6 - 第一篇:工作流概述

      本文链接:https://www.haomeiwen.com/subject/pwseahtx.html