前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。

一、 什么是工作流

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

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

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

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

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

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

这就是工作流技术。

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

二、 工作流技术的优点

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

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

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

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

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

四、 Activiti 工作流学习要点

1. 1个插件

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

2. 1个引擎

ProcessEngine对象,Activiti 工作流引擎。这是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项基本操作

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

流程定义增删改查

流程变量增删改查

启动流程定义

任务增删改查

完成任务

历史信息查询

转自:http://www.it165.net/pro/html/201504/37443.html

三分钟明白 Activiti工作流 -- java运用相关推荐

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

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

  2. 三分钟极速体验:Java版人脸检测

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 检测照片中的人脸,用Java可以实现吗? 当 ...

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

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

  4. extend implements多个对象_「每天三分钟跟我学Java」之Java面向对象的封装、继承、多态...

    Java是面向对象的语言,深入理解面向对象的概念,对Java的开发至关重要.本节我们着重看下面向对象的三大特性,封装.继承.多态. 一.封装 封装是将类的某些信息隐藏在类内部,不允许外部程序直接访问, ...

  5. java for 循环中if判断只进入第一个_「每天三分钟跟我学Java」之条件语句和循环结构...

    在实际项目中,条件判断和循环结构都是使用频率非常高的知识点,本节我们来看下这两部分. 一.条件语句 条件语句是对一个布尔型表达式进行判断,true时执行一个分支的操作,false时执行另一个分支的操作 ...

  6. java和python的比较-如何对比Python和Java,只需三分钟告诉你!

    原标题:如何对比Python和Java,只需三分钟告诉你! Java和Python两门语言都是目前非常热门的语言,可谓北乔峰南慕容,二者不分上下,棋逢对手.但是对于初学者来说,非常困惑,因为时间和精力 ...

  7. java和python的web自动化有什么区别-三分钟看懂Python和Java的区别

    随着人工智能的火爆,Python和Java一直在各种流行编程语言中名列前茅.其实Java和Python有些相似,因为很多编程语言之间是互通的.Java现在还是第一,不知道Python未来会不会超越Ja ...

  8. python和java一样吗-三分钟看懂Python和Java的区别

    随着人工智能的火爆,Python和Java一直在各种流行编程语言中名列前茅.其实Java和Python有些相似,因为很多编程语言之间是互通的.Java现在还是第一,不知道Python未来会不会超越Ja ...

  9. python和java的区别-三分钟看懂Python和Java的区别

    随着人工智能的火爆,Python和Java一直在各种流行编程语言中名列前茅.其实Java和Python有些相似,因为很多编程语言之间是互通的.Java现在还是第一,不知道Python未来会不会超越Ja ...

  10. IDEA创建Activiti工作流(三、Activiti工作流项目的开发)

    一.引入相关依赖 二. 创建Activiti工作流并导出流程图图片 2.1.重启idea插件生效后,在resource下创建存放actiBPM文件夹,右击New选择的BpmnFile 2.2.填写好名 ...

最新文章

  1. c语言不可见字符的ascii,转CHAR不可见字符
  2. JavaSE之Java基础(1)
  3. 彻底解决.net中编码问题的心得
  4. IntelliJ IDEA for Mac 如何配置项目模块的源代码根目录_源码文件的根目录
  5. 2003文件共享服务器搭建,用Windows Server 2003搭建安全文件服务器(2)
  6. 14 MM配置-BP业务伙伴-定义供应商科目组和字段选择
  7. github note
  8. 《流程的永恒之道:工作流及BPM技术的理论、规范、模式及最佳实践》书籍导读
  9. IM即时通讯源码系统安卓苹果IOS双端源码介绍
  10. OpenCV读写视频(编解码器)
  11. 4课:第一个单片机小程序 2020-11-15
  12. JavaScript如何计算两个日期之间的时间差?
  13. HiKey试用体验 烧写系统至Flash之诡异事件
  14. 社会性动物(艾略特•阿伦森)
  15. 【IoT】产品设计:结构设计之什么是堆叠设计(一)
  16. Spring Boot电商项目46:购物车模块四:【添加商品到购物车】接口;(如果:接口要求返回JSON格式,而接口没有做相应的设置,是会报404错误的)
  17. 异步编程之 Isolate
  18. UVA10306 - e-Coins(二维完全背包)
  19. Codeforces 1255B Fridge Lockers
  20. 亲,你心念念的Axure9.0来了,请查收~ 内附Axure安装包+汉化包+授权码获取方式

热门文章

  1. 梦幻西游端游脚本制作教程
  2. VRay Next(4.0) for SketchUp之BIG分析图制作教程
  3. MYSQL卸载教程(5.7)
  4. 视频教程-备战2020毕业季—毕业设计论文实战课程讲解-.NET
  5. python按综合、销量排序抓取100页的淘宝商品列表信息
  6. opencv 模板匹配形状匹配
  7. eclipse画UML图
  8. [阅读笔记]专访刘毅:阿里巴巴云计算平台运维故障分析与排查
  9. Shell脚本超全详解
  10. PTAM特征点法跟踪和建图 SLAM FAST Patch