Activiti 工作流引擎系列--01 初探

这段时间简单摸了一下Activiti 工作流引擎,把整理出来的slides在这里稍作记录。欢迎讨论!


什么是工作流?

我们生活中工作流很常见了,比如银行取款,比如工作报销。背后都有一套既定的流程在那里。举个例子:

Activiti 工作流引擎系列--01 初探_第1张图片

BPMN 2.0

需要去设计一套基于工作流的系统,就离不开工作流引擎。在进入工作流引擎之前,我们首先来谈谈BPMN 2.0.
这是一套定义工作流的语言。业界并没有官方的release给出工作流的定义,只有这套被广为接受的约定俗成的标准。
其中定义了如task、流向(sequence flow)、起止事件(start event、 end event)等节点模型和其含义。
而工作流引擎,说白了,就是去解析这套语言画出来的流程实例。




工作流引擎之常见架构设计

其实基于工作流引擎的架构设计也比较通用了。下图是我自己的一些设想:

Activiti 工作流引擎系列--01 初探_第2张图片

什么是Activiti?


OK,我们进入正题。首先是对Activiti的介绍。



这款引擎适用于 产品经理、特定业务方和开发人员。为什么说特定业务方呢,因为会去使用Activiti自带的WEB UI界面的业务方毕竟是不多的。。。
Activiti会去解析流程中定义的节点,同时触发对应的操作,如读写数据库,如对外部服务的调用。
其特别适用于BPM的场景,仅仅一个war包就可以跑起来,同时跟spring天生结合在一起,可以非常方便地整合到系统中来。

Activiti Community

那Activiti本身的社区也是相当活跃的。Alfresco是拥有Activiti的公司,将其开源并维护着。
像Grails等常见框架也提供对Activiti的支持。




Getting Started

接下来谈谈如何去启动Activiti,来一次初体验。

其启动的成本是非常低的,在任意机器上安装一个tomcat,然后去官网下载war包,放到tomcat目录下,启动tomcat,Activiti就启动起来了。
在项目中,也只需要添加一个简单的dependency即可。自带restful的API,同时有非常好的指导文档。直接在官网上就查得到。




OK,初探到此为止。

在第二篇中,会对Activiti的架构做一些简介。


你可能感兴趣的:(JAVA)