文章目录

  • 一、 什么是工作流
  • 二、 工作流技术的优点
  • 三、 Java开发者会为什么要学Activity工作流
  • 四、 Activity工作流学习要点
    • 1、1个插件
    • 2、1个引擎
    • 3、1个配置文件
    • 4、5种数据库表
    • 5、23张表
    • 6、5项Service
    • 7、7项基本操作

一、 什么是工作流

以请假为例,现在大多数公司的请假流程是这样的

员工打电话(或网聊)向上级提出请假申请——上级口头同意——上级将请假记录下来——月底将请假记录上交公司——公司将请假录入电脑

采用工作流技术的公司的请假流程是这样的

员工使用账户登录系统——点击请假——上级登录系统点击允许

就这样,一个请假流程就结束了

有人会问,那上级不用向公司提交请假记录?公司不用将记录录入电脑?答案是,用的。但是这一切的工作都会在上级点击允许后自动运行!

这就是工作流技术。

Georgakopoulos给出的工作流定义:工作流是将一组任务组织起来以完成某个经营过程:定义了任务的触发顺序和触发条件,每个任务可以由一个或多个软件系统完成,也可以由一个或一组人完成,还可以由一个或多个人与软件系统协作完
  

二、 工作流技术的优点

从上面的例子,很容易看出

工作流系统,实现了工作流程的自动化,提高了企业运营效率、改善企业资源利用、提高企业运作的灵活性和适应性、提高量化考核业务处理的效率、减少浪费(时间就是金钱)。

而手工处理工作流程,一方面无法对整个流程状况进行有效跟踪、了解,另一方面难免会出现人为的失误和时间上的延时导致效率低下,特别是无法进行量化统计,不利于查询、报表及绩效评估。

三、 Java开发者会为什么要学Activity工作流

在Java领域,JBPM和Activity是两个主流的工作流系统,而Activity的出现无疑将会取代JBPM(Activity的开发者就是从Jbpm开发者出来的)。

四、 Activity工作流学习要点

1、1个插件

在Eclipse中安装Activity插件,让你可以在Eclipse中绘制Activity工作流图

2、1个引擎

ProcessEngine对象,Activity工作流引擎。这是Activiti工作的核心。负责生成流程运行时的各种实例及数据、监控和管理流程的运行。

所有的操作都是从获取引擎开始的,所以一般会把引擎作为全局变量

ProcessEngine processEngine =ProcessEngines.getDefaultProcessEngine();
3、1个配置文件

activiti.cfg.xml。Activiti核心配置文件,配置流程引擎创建工具的基本参数和数据库连接池参数

4、5种数据库表

Activiti的后台是有数据库的支持,所有的表都以ACT_开头。 第二部分是表示表的用途的两个字母标识。用途也和服务的API对应。

ACT_RE_*: ‘RE’表示repository。 这个前缀的表包含了流程定义和流程静态资源(图片,规则,等等)。

ACT_RU_*: ‘RU’表示runtime。 这些运行时的表,包含流程实例,任务,变量,异步任务,等运行中的数据。 Activiti只在流程实例执行过程中保存这些数据,在流程结束时就会删除这些记录。 这样运行时表可以一直很小速度很快。

ACT_ID_*: ‘ID’表示identity。 这些表包含身份信息,比如用户,组等等。

ACT_HI_*: ‘HI’表示history。 这些表包含历史数据,比如历史流程实例,变量,任务等等。

ACT_GE_*: 通用数据,用于不同场景下,如存放资源文件。

5、23张表

不同的表存放不同方面的数据,有流程定义表、任务结点表、流程变量表、任务历史表等等。
  

6、5项Service

不同的Service类对应不同的功能。

比如TaskService,是activiti的任务服务类。可以从这个类中获取任务的信息。

而HistoryService,则是activiti的查询历史信息的类。在一个流程执行完成后,这个对象为我们提供查询历史信息。

7、7项基本操作

设计流程图(各种组件,如连线、用户任务、网关)

流程定义增删改查

流程变量增删改查

启动流程定义

任务增删改查

完成任务

历史信息查询

学习7项基本操作时只需在JavaSE下执行即可,当然,做web项目的时候就要考虑和SSH等开发框架结合的问题。当然,只有基本操作学会了,综合开发并不难。

转载说明:
作者:莱克寇丁
原文链接:https://blog.csdn.net/zbdxcyg/article/details/78519773

三分钟了解Activity工作流相关推荐

  1. java jbpm工作流,三分钟明白 Activity工作流,工作流jbpm

    三分钟明白 Activity工作流,工作流jbpm 一. 什么是工作流 Georgakopoulos给出的工作流定义是:工作流是将一组任务组织起来以完成某个经营过程:定义了任务的触发顺序和触发条件,每 ...

  2. 三分钟了解Activity工作流引擎

    一. 什么是工作流 以请假为例,现在大多数公司的请假流程是这样的 员工打电话(或网聊)向上级提出请假申请--上级口头同意--上级将请假记录下来--月底将请假记录上交公司--公司将请假录入电脑 采用工作 ...

  3. workflow java_workflow java实现的activity工作流实例 Develop 238万源代码下载- www.pudn.com...

    文件名称: workflow下载 收藏√  [ 5  4  3  2  1 ] 开发工具: Java 文件大小: 134 KB 上传时间: 2014-09-18 下载次数: 3 提 供 者: 张华 详 ...

  4. 云小课 | 一个三分钟快速定制OCR应用的神器,要不?

    摘要:ModelArts Pro提供了文字识别套件,基于丰富的文字识别算法和行业知识积累,帮助客户快速构建满足不同业务场景需求的文字识别服务.三分钟即可快速定制OCR服务,实现多种版式图像的文字信息结 ...

  5. 三分钟,我让搞后端的学弟爱上了Eolink

    三分钟,我让搞后端的学弟爱上了Eolink 一.学弟突然向我请教-- 二.Eolink到底是何方神圣? 三.Eolink如何解决后端开发的痛点 3.1 后端开发岗位的普遍痛点 3.1.1 不愿意编写文 ...

  6. python 三分钟入门_Cython 三分钟入门教程

    作者:perrygeo 译者:赖勇浩(http://laiyonghao.com) 原文:http://www.perrygeo.net/wordpress/?p=116 我最喜欢的是Python,它 ...

  7. 三分钟教你快速选择机器视觉传感器

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|新机器视觉 六招教您合理选择机器视觉传感器 传感器是一种 ...

  8. mysql和oracle冲突吗_三分钟带你分清MySQL 和Oracle之间的误区

    原标题:三分钟带你分清MySQL 和Oracle之间的误区 来自:华为云开发者社区 摘要:MySQL和Oracle,别再傻傻分不清. MySQL 和Oracle 在开发中的使用是随处可见的,那就简单去 ...

  9. 精讲深度学习RNN三大核心点,三分钟掌握循环神经网络

    本文将剖析循环神经网络(RNN)的工作原理,精讲循环神经网络的特点和实现方式.野蛮智能,小白也能看懂的人工智能. 循环神经网络从何而来? 我在我的这篇文章介绍了卷积神经网络(CNN)卷积神经网络(CN ...

  10. 三分钟黑了阿里?马云下死命令留他?吴翰清辟谣:我没黑过阿里

    整理 | 伍杏玲 出品 | 程序人生(ID:coder_life) 不知道什么时候开始,阿里云大牛吴翰清在网上的标签近乎传奇:"三分钟黑掉阿里内网"."唯一让马云睡得安稳 ...

最新文章

  1. 配置Nginx实现负载均衡
  2. Python的XML解析!
  3. 关于数据预处理的一些想法
  4. MFC VC 双缓冲绘图基本原理与实现,详细解释
  5. Python库大全(涵盖了Python应用的方方面面),建议收藏留用!
  6. Mongodb最基础入门教程
  7. Android坡度计
  8. TitleWindow的CloseButtionSkin问题
  9. Linux 基础命令(九)—— 逻辑卷管理(LVM)
  10. [Hacking]国内首届黑客大会COG2011现场报道(补)
  11. codebook 背景减除
  12. python实现 温度转换(嵩天老师)
  13. iPhone/苹果手机不用数据线传输文件到电脑的方法/步骤
  14. 2021 腾讯校招 + 后台开发面经(已 offer)
  15. 152、全面图解交换机接口及连接
  16. vs2015遇见问题:后面有“::”的名称一定是类名或命名空间名
  17. Springboot物理地址映射和Nginx静态资源代理实现前端上传并访问服务器图片
  18. 今天鹏鹏会来,待会一起出去买东西。
  19. 大一下c语言笔记本电脑,大一新生上大学笔记本电脑推荐
  20. 拉黑的微信好友怎么恢复,拉黑的微信好友聊天记录还在吗

热门文章

  1. [Laravel] 如何使用PHP实现前端分页
  2. 半监督语义分割方法汇总(附代码分析)
  3. 基于 MPC 控制算法的自适应巡航系统的研究
  4. 车辆路径问题之jsprit(一):认识jsprit
  5. vue 饿了么ui如何修改内联样式:element.style
  6. 安卓手机Mqtt调试工具 ESP8266 mqtt服务器
  7. 亿图图示最新po解直装版(附教程)
  8. vs code 代码格式化整理
  9. word下禁止显示回车符号
  10. 【课程·研】高级人工智能 | MOOC习题及课后作业:期末考试