1:工作流的概念

工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。

工作流--请假审批

说明:

1) 假设:这两张图就是华谊兄弟的请假流程图

2) 图的组成部分:

A. 人物:范冰冰 冯小刚 王中军

B. 事件(动作):请假、批准、不批准

工作流管理系统(Workflow Management System, WfMS)是一个软件系统,它完成工作量的定义和管理,并按照在系统中预先定义好的工作流规则进行工作流实例的执行。工作流管理系统不是企业的业务系统,而是为企业的业务系统的运行提供了一个软件的支撑环境。

工作流管理系统的目标:管理工作的流程以确保工作在正确的时间被期望的人员所执行——在自动化进行的业务过程中插入人工的执行和干预。

Activiti介绍

Activiti5是由Alfresco软件在2010年5月17日发布的业务流程管理(BPM)框架,它是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。Activiti基于Apache许可的开源BPM平台,创始人Tom Baeyens是JBoss jBPM的项目架构师,它特色是提供了eclipse插件,开发人员可以通过插件直接绘画出业务流程图。工作流引擎是Activiti工作的核心。负责生成流程运行时的各种实例及数据、监控和管理流程的运行。

一起来看看Activiti工作流的应用示例

1、新建流程模型

模型管理->模型工作区

点击“创建”后会立即跳转到“流程在线设计器”页面。

2、在线流程设计器

模型管理->模型工作区->编辑

3、设置流程属性

l 名称:流程定义名称

l 描述信息:流程定义描述

l 流程标识:流程定义KEY,对应procDefKey,用来标识一个流程

4、拖拽元素介绍

 Start event:开始事件

 End entit:结束事件

 User task:用户任务活动

 Service task:服务任务活动

 Exclusive gateway:独家网关,排它网关通道,只能有一条分支执行,如if else

 Parallel gateway:并行网关,并行网关通道,所有分支一块执行

5、流程发起人的流程变量

在开始节点的属性中设置“启动器”(流程发起人)的变量,例如:applyUserId

设置以后,在某个任务的属性中,可以设置参与者为${applyUserId},这样可以实现【谁发起谁执行】,请参考下图:

当发起人发起某个流程,在某个环节被驳回的时候,如果希望流程驳回到发起人,可使用方法。

6、设置流程参与者

在流程节点中,设置【任务分配】

l assignee:任务执行人,设置系统中的“登录名”(loginName)。

l candidateUsers:任务执行人,可以填写多个。

l candidateGroups:任务执行组,可以填写多个,设置系统中的“角色英文名(enname)”。

assignee和candidateUsers的区别是:assignee不需要签收任务,直接可执行任务;candidateUsers为竞争方式分配任务,被指定人待办中都有一条任务,谁先签收谁就获得任务的执行权。

参与者可指定流程变量(EL表达式),动态指定参与者,如:${processer}

7、设置流程流转的条件

选定流转线,在【流条件】中填写EL表达式,返回true或false。例如:

8、保存流程设计图

9、部署流程设计图

模型管理->模型工作区,点击【部署】

10、导出流程设计图

模型管理->模型工作区,可以导出BPMN、JSON、SVG格式的流程设计图

文章来源于网络,侵删!

扩展阅读

Activti的学习价值比较高,是工作流入门的好教材,可以学习里面好的代码风格和思路。但是要拿Activiti做到中国式的企业级应用门槛和难度很高。想用Activiti来做企业应用,其实还需要做大量的开发封装。

XJR快速开发平台的工作流是整合activiti工作流引擎的图形化流程设计器,通过可视化配置界面。基于B/S结构,纯浏览器应用,只需要拖拽组件,拼接流程,就能实现各层的审批。

XJR 快速开发平台工作流所有的属性配置都经过开发人员对日常工作流使用的研究做了精简与优化,在不失去高自由度的情况下,保证操作的简单、清晰、友好。点击了解更多体验。

flowable工作流 流程变量_Activiti工作流的应用示例相关推荐

  1. flowable工作流 流程变量_信也科技工作流平台的技术实践

    1 背景 随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下: 目前OA流程引擎无法满足企业特定业务流程需求,且移动端体验差,定制化困难,使用门槛高,影响简单流程 ...

  2. flowable工作流 流程变量_业务流程 BPM、工作流引擎、Flowable、Activiti

    特点 基于 Flowable(Activiti)生来具有的稳定工作流引擎 支持在线流程设计器,流程导入导出,符合 BPMN 规范,中国式工作流 支持流程办理.退回.自由流.会签.并行.串行.服务任务等 ...

  3. flowable工作流 流程变量_互联网架构设计漫谈 (6)-90%的架构师都知道的工作流原理...

    工作流是互联网中常见的应用场景,目前国内有很多厂商提供各种各样的工作流引擎.在国际也有一些知名的工作流引擎,比如:jBPM 和 Activiti. 他们都老牌的工作流引擎.同时都遵循BPMN 2.0的 ...

  4. Activiti第二篇【管理流程定义、执行任务和流程实例、流程变量】

    tags: Activiti 上篇Activiti只是一个快速入门案例,这篇就讲定义.部署.查看任务等等的一些细节[涉及到的数据库表.对象等等]... 管理流程定义 管理流程定义主要涉及到以下的4张表 ...

  5. 【activiti】流程变量

    activiti流程变量 1. 什么是流程变量 流程变量在activiti中是一个非常重要的角色,流程运转有时就需要流程变量,流程变量就是activiti在管理工作流时根据管理需要而设置的变量. 前面 ...

  6. 《Activiti/Flowable  深入BPM工作流》-什么是流程变量?

               <Activiti/Flowable  深入BPM工作流>-什么是流程变量? 一. 问题:         1. 什么是流程变量?        2. 什么是glob ...

  7. 《Activiti/Flowable  深入BPM工作流》-如何设置local流程变量?

    <Activiti/Flowable  深入BPM工作流>-如何设置local流程变量? 一. 问题:  1. 什么是local流程变量?     2. 如何设置local流程变量?   ...

  8. Activiti工作流之流程变量

    1.什么是流程变量 流程变量在 activiti 中是一个非常重要的角色,流程运转有时需要靠流程变量,业务系统和 activiti 结合时少不了流程变量,流程变量就是 activiti 在管理工作流时 ...

  9. 学习笔记之-Activiti7工作流引擎,概述,环境搭建,类关系图,使用Activiti BPMN visualizer,流程变量,组任务 网关,Activiti整合Spring SpringBoot

    本篇学习笔记是观看黑马程序员Activiti7视频而得 Activiti7 一.工作流介绍 1.1 概念 工作流(Workflow),就是通过计算机对业务流程自动化执行管理.它主要解决的是" ...

最新文章

  1. Ubuntu 安装 ffmpeg
  2. Java基础—ClassLoader的理解
  3. Quartz2D的内存管理
  4. P2017 [USACO09DEC]晕牛Dizzy Cows
  5. Python实现生成一个单词的圆形词云
  6. 360公布权威机构对扣扣保镖的测试报告
  7. 江西住建云实名认证怎么弄_王者荣耀无限时间怎么弄 2020年无限时间账号
  8. 抓取各个浏览器引擎关键字,,百度学术关键字
  9. centos7 安装mysql8_CentOS 下 MySQL 8.0 安装部署,超详细!
  10. 保存jpg太大怎么办_[日本清酒小知识] 清酒可以放多久?应该怎样保存呢?——清酒保存指南(收藏版)...
  11. java游戏将相_(Java)算法——位运算基础及基本应用
  12. jquery 动画总结(主要指效果函数)
  13. caffe 中solver.prototxt
  14. Dij_heap__前向星。
  15. this绑定丢失的问题
  16. android加密打包,(爱加密系列教程二十)Xamarin开发Android应用、如何打包apk(转载)...
  17. Redis下载安装 windows版本
  18. php 月份英文缩写,php如何实现月份转换
  19. 数学之美 第六章——信息的度量和作用
  20. 全国计算机科学与技术讲师电话,计算机科学与技术学院

热门文章

  1. AngularJS recursive(递归)
  2. UltraEdit常用配置搭建Java/C开发环境
  3. OpenResty+lua+GraphicsMagick生成缩略图
  4. Python基础(5) - 文件
  5. 《C程序设计语言》(第二版)要点总结
  6. 云服务如何搭建数据库_【MySQL8.0.18】阿里云服务器上搭建MySQL数据库
  7. MPEG原理分析及MPEG音频编码器的调试
  8. [Python从零到壹] 十一.数据分析之Numpy、Pandas、Matplotlib和Sklearn入门知识万字详解(1)
  9. 【数据结构与算法】之深入解析“矩形区域不超过K的最大数值和”的求解思路与算法示例
  10. Swift之深入解析“类”的底层原理