三分钟了解Activity工作流引擎「建议收藏」

三分钟了解Activity工作流引擎「建议收藏」一、什么是工作流以请假为例,现在大多数公司的请假流程是这样的员工打电话(或网聊)向上级提出请假申请——上级口头同意——上级将请假记录下来——月底将请假记录上交公司——公司将请假录入电脑采用工作流技术的公司的请假流程是这样的员工使用账户登录系统——点击请假——上级登录系统点击允许就这样,一个请假流程就结束了有人会问,那上级不用向公司提交请假记录?公司不用将记录录入电脑?答案是,用的。但是这一切的工…

大家好,又见面了,我是你们的朋友全栈君。

一、 什么是工作流

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

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

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

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

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

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

这就是工作流技术。

 

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

三分钟了解Activity工作流

 

二、 工作流技术的优点

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

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

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

 

三、 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张表

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

三分钟了解Activity工作流

 

6. 5项Service

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

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

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

 

7. 7项基本操作

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

流程定义增删改查

流程变量增删改查

启动流程定义

任务增删改查

完成任务

历史信息查询

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/134126.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月2日 下午1:00
下一篇 2022年5月2日 下午1:20


相关推荐

  • Ubuntu下的解压缩

    一.命令:.tar 解包:tarxvfFileName.tar打包:tarcvfFileName.tarDirName(注:tar是打包,不是压缩!)—————————————

    2021年12月28日
    42
  • html css ps切图教程,Photoshop(PS)CSS切图必用工具

    html css ps切图教程,Photoshop(PS)CSS切图必用工具AdobePHOTOSH 日常咱们又被称为 PS divCSS 必备切图工具 PS 截图多数人对于 PHOTOSHOP 的了解仅限于 一个很好的图象编辑软件 并不晓得它的诸多使用方面 理论上 PHOTOSHOP 的运用规模很广泛的 在图像 图形 笔墨 视频 出版各方面都有涉及 请看下面先容 立体办理平面贪图是 PHOTOSHOP 运用最为广泛的局限 不论是我们正在阅读的图书封面 照样大巷上看到的招帖 海报

    2026年3月16日
    3
  • ping traceroute原理

    ping traceroute原理ping命令工作原理ping命令主要是用于检测网络的连通性。Ping命令发送一个ICMP请求报文给目的IP,然后目的IP回复一个ICMP报文。原理:网络上的机器都有唯一确定的IP地址,我们给目标IP地址发送一个数据包,对方就要返回一个同样大小的数据包,根据返回的数据包我们可以确定目标主机的存在,可以初步判断目标主机的操作系统等。因为ping命令是使用ICMP协议,…

    2022年7月21日
    13
  • OpenClaw Linux Mint 安装教程:新手30分钟搭建私人AI助手

    OpenClaw Linux Mint 安装教程:新手30分钟搭建私人AI助手

    2026年3月13日
    5
  • scl语言用plc脉冲做定时器_scl语言用plc脉冲做定时器_西门子PLC SCL语言开发学习笔记(二)…

    scl语言用plc脉冲做定时器_scl语言用plc脉冲做定时器_西门子PLC SCL语言开发学习笔记(二)…今天来讲下scl两个关键的点一、按键事件比如地址I0.0是某个按钮的状态,他只有True和False两个状态,所以我们要获得按下事件需要我们自己模拟。#KeyPress:=”Btn1″ANDNOT#LastKey;#LastKey:=”Btn1″;这样通过对#KeyPress判断是否为True即可获得一次点击事件,相当于|P|把上一次的存起来,然后判断按下,如果你想把按键放在松开时…

    2022年10月6日
    7
  • DNS负载均衡与负载均衡器两种方案的选择[通俗易懂]

    DNS负载均衡与负载均衡器两种方案的选择[通俗易懂]DNS负载均衡与负载均衡器两种方案的选择  web应用服务器集群系统,是由一群同时运行同一个web应用的服务器组成的集群系统,在外界看来,就像是一个服务器一样。为了均衡集群服务器的负载,达到优化系统性能的目的,集群服务器将众多的访问请求,分散到系统中的不同节点进行处理。从而实现了更高的有效性和稳定性,而这也正是基于Web的企业应用所必须具备的特性。    高可靠

    2022年7月14日
    20

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号