Activity工作流入门篇(上)

简介: 前段时间,公司说要做技术分享,于是每周都会安排同事进行技术方面的分享,虽然有时候大部分的人在玩手机,有些同事也在专心致志的在学习,毕竟程序员永远都是保持在学习写代码的路上,JDK都出到16了,尽管你可能现在还是在使用 JDK8 但是还是要继续学习呀。于是阿粉就准备研究一些公司目前没有用到的关系,就学习了一下 Activity 工作流的相关知识,在这里阿粉也分享给大家。

什么是 Activity 工作流引擎 ?

什么是工作流,比如说,我们在公司请假,可能要走审批的流程,从你自己到 Leader,然后从 Leader 到部门经理,然后部门经理再到人事部门,这一系列的流程实际上就相当于是一个工作流程,而这个就是一个工作流的最容易理解的模型。

这肯定官方解读肯定不是这样,不然也太接地气了点,那么什么是 Activity 工作流呢?

工作流(Workflow),指“业务过程的部分或整体在计算机应用环境下的自动化”。是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。在计算机中,工作流属于计算机支持的协同工作(CSCW)的一部分。后者是普遍地研究一个群体如何在计算机的帮助下实现协同工作的。

工作流主要解决的主要问题是:为了实现某个业务目标,利用计算机在多个参与者之间按某种预定规则自动传递文档、信息或者任务。

其实看到百度百科给我们的提示,我们就知道了,实际上工作流就是为了让多个业务目标之间,按照某种规则传递信息。

25.jpg

上面的图是一个请假的流程图,网上的图,不是手动画的,但是表示的意思还是很清晰的。

接下来我们就整一个关于 Activity 的项目来搞一搞吧。

准备工作

  1. 我们先再 IDEA 中装个插件 actiBPM ,直接装就好。

26.jpg

  1. 从 GitHub 上下载源代码 https://github.com/Activiti/Activiti 或者我们直接从官网上下载,https://www.activiti.org/get-started,下载版本的话,新版本也可以,老版本也凑活,我们下载了个比较古老的版本,5.22.

因为网速原因,数据包阿粉已经给大家准备好了,大家回复 Activity 就可以获取下载连接,

27.jpg

数据库在文件中,大家要注意,文件中的数据库是有对应的,mysql,oracle,这些都是不一样的,别直接打开就导入,结果导入半天,报了一大堆错误,还不知道为啥出错。

28.jpg

使用这几个 SQL 的脚本建立完数据库之后,就是上图的这些了,我们来看看都是有哪些表。

  • ACT_HI_*: 这些表包含历史数据,比如历史流程实例, 变量,任务等等
  • ACT_ID_*: 这些表包含身份信息,比如用户,组等等。
  • ACT_RE_*: 表包含了流程定义和流程静态资源 (图片,规则,等等)
  • ACT_RU_*: 包含流程实例,任务,变量,异步任务等运行中的数据

下面的这些表示通过下载的源码包然后进行导入进来的,我们下面在使用 Activity 的时候,我们会直接使用 Activity 设计好流程图,然后我们直接让它帮我们去生成表。


说明
act_ge_bytearray
通用数据
act_ge_property
流程引擎数据
act_hi_actinst
历史节点表
act_hi_attachment
历史附件表
act_hi_comment
历史意见表
act_hi_detail
历史详情
act_hi_identitylink
历史流程人员
act_hi_procinst
历史流程实例
act_hi_taskinst
历史任务
act_hi_varinst
历史变量
act_id_group
用户信息组
act_id_info
用户信息详情
act_id_membership
组和对应信息关联表
act_id_user
用户信息表
act_procdef_info
流程定义信息
act_re_deployment
部署信息
act_re_model
流程设计模型
act_re_procdef
流程定义数据
act_ru_event_subscr
信息监听
act_ru_execution
运行时流程执行数据
act_ru_identitylink
运行时节点人员数据信息
act_ru_job
定时任务数据
act_ru_task
运行时任务节点
act_ru_variable
流程变量数据

我们了解了这些表数据都是干啥用的之后,接下来就直接从使用开始吧,毕竟要先看看这用起来是啥样子,才能知道他到底为什么这么香。

这些表如果你自己不拿出来用的话,使用 IDEA 创建关于 Activity 的项目的时候,会给你自动创建表,就类似 Hibernate 一样。

相关文章
|
3天前
|
XML Java 关系型数据库
程序与技术分享:activity(工作流)初步学习记录
程序与技术分享:activity(工作流)初步学习记录
|
数据库
Activiti进阶篇-流程实例
Activiti进阶篇-流程实例
Activiti进阶篇-流程实例
|
SQL Java 程序员
Activity工作流入门篇(下)
前段时间,公司说要做技术分享,于是每周都会安排同事进行技术方面的分享,虽然有时候大部分的人在玩手机,有些同事也在专心致志的在学习,毕竟程序员永远都是保持在学习写代码的路上,JDK都出到16了,尽管你可能现在还是在使用 JDK8 但是还是要继续学习呀。于是阿粉就准备研究一些公司目前没有用到的关系,就学习了一下 Activity 工作流的相关知识,在这里阿粉也分享给大家。
Activity工作流入门篇(下)
|
存储 SQL XML
工作流引擎Activiti使用进阶!详细解析工作流框架中高级功能的使用示例
本篇文章介绍了Activiti的几个高级用例。主要包括监听流程解析,使用UUID生成器,多租户,执行自定义的SQL,实现流程引擎配置,安全的BPMN 2.0结构以及事件日志的使用。使用这些高级功能,可以使得集成工作流Activiti的项目具有更多的可操作性。
1028 0
工作流引擎Activiti使用进阶!详细解析工作流框架中高级功能的使用示例
|
存储 测试技术 持续交付
SAP 电商云 UI 持续集成里 workflow 触发条件一览
SAP 电商云 UI 持续集成里 workflow 触发条件一览
113 0
|
Android开发 存储
Android项目实战(三十七):Activity管理及BaseActivity的实现
原文:Android项目实战(三十七):Activity管理及BaseActivity的实现 Ps:7-10月 完成公司两个app项目上架。漏掉的总结 开始慢慢补上。   一、写一个Activity的管理类 1、单例模式,以栈(先进后出)的形式存储Activity对象 public cl...
1165 0