在学习Activiti之前,建议各位看官先了解一下工作流,工作引擎以及BPMN2.0规范。
1. Activiti简介
Activiti的创始人也就是JBPM(也是一个优秀的BPM引擎)的创始人,从Jboss离职后开发了一个新的BPM引擎:Activiti。所以,Activiti有很多地方都有JBPM的影子。
Activiti是一个开源的工作流引擎,它实现了BPMN 2.0规范,可以发布设计好的流程定义,并通过api进行流程调度。
Activiti 作为一个遵从 Apache 许可的工作流和业务流程管理开源平台,其核心是基于 Java 的超快速、超稳定的 BPMN2.0 流程引擎,强调流程服务的可嵌入性和可扩展性,同时更加强调面向业务人员。
Activiti 流程引擎重点关注在系统开发的易用性和轻量性上。每一项 BPM 业务功能 Activiti 流程引擎都以服务的形式提供给开发人员。通过使用这些服务,开发人员能够构建出功能丰富、轻便且高效的 BPM 应用程序。
2.开始学习
2.1下载Activiti
从Activiti的官网下载Activiti,这里我下载的是5.18.0版本的。下载解压后,目录结构简单的介绍下:
wars:Activiti自带的示例
libs:Activiti需要的第三方Jar包
docs:Activiti的API
database:示例使用的数据库文件,包括create、upgrade和drop SQL文件
2.2示例入手
在准备入手示例前,需要配置好系统的JDK和Tomcat,示例自带的是一个H2内存数据库,如果想用自己的数据库的话,请安装好对应的数据库,我这里使用的是MySQL数据库。
准备好以上环境后,下面我们开始配置示例
1.拷贝文件:
将wars目录下的activiti-explorer.war文件到tomcat的webapps下面,启动tomcat后,待释放出activiti-explorer目录后,停止tomcat(这里可以不用理会工程启动是否报错)
2.创建数据库和表结构:
连接mysql,创建activiti数据库,然后在database目录下,找到mysql对应的create sql文件,如下图所示:
依次复制3个文件中的sql,在mysql连接工具中执行,生成表结构
3.修改activiti-explorer的配置文件:
1.db.properties文件:这个是数据库的配置文件,修改为mysql的配置,如下图:
(PS注意:需要在数据库的连接url中加上characterEncoding=utf-8,不然的话,发布流程的时候,流程名称中文会是乱码)
2.复制mysql的驱动 mysql-connector-java-5.1.21.jar到activiti-explorer工程的lib目录下
到这里,就可以启动tomcat了,启动成功后,在浏览器上面输入:http://localhost:8080/activiti-explorer/,出现了登录界面:如下图
输入管理员的用户名:kermit 密码:kermit就可以进入系统。
到这里,activiti-explorer就跑起来了,可以通过这个来了解Activiti能实现哪些功能。