先说工作流的概念:
工作流:业务过程的部分或整体在计算机引用环境下的自动化。也就是解决多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行。
工作流管理系统:是一个软件系统,它完成工作量的定义和管理,并按照在系统中预先定义好的工作流规则进行工作流实例的执行。
工作流管理系统是被用来定义、管理和执行的工作流程。
工作流管理系统的目标:管理工作的流程以确保工作在正确的时间被期望的人员所执行。
工作流我知道的有两种:一个是jbpm的,一个就是activiti。这几天在学习activiti的工作流框架。由于activiti工作流得有后台数据库的支持,所以咱们从创建工作流库开始学习。
有两种方式来创建,一种是用activiti包中的单元测试进行创建,一种是利用配置文件进行创建:
第一种:
代码如下:
ProcessEngineConfiguration 是工作流引擎对象,它是activiti工作流的核心内容,工作流的创建处理等操作都是由它来完成。
/**
* 使用代码创建工作流需要的23张表
*
*/
@Test
public void createTable(){
ProcessEngineConfiguration processEngineConfiguration= ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration();
processEngineConfiguration.setJdbcDriver("com.mysql.jdbc.Driver");
processEngineConfiguration.setJdbcUrl("jdbc:mysql://192.168.81.129:3306/itcast0711activiti?useUnicode=true&characterEncoding=utf8");
processEngineConfiguration.setJdbcUsername("root");
processEngineConfiguration.setJdbcPassword("root");
/* public static final java.lang.String DB_SCHEMA_UPDATE_FALSE = "false";不能自动创建表,需要表存在
public static final java.lang.String DB_SCHEMA_UPDATE_CREATE_DROP = "create-drop"; 先删除表再创建表
public static final java.lang.String DB_SCHEMA_UPDATE_TRUE = "true";如果表不存在,就自动创建表
*/
processEngineConfiguration.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
//工作流的核心对象:ProcessEnginee对象
ProcessEngine processEngine =processEngineConfiguration.buildProcessEngine();
System.out.println("创建成功");
}
第二种:
创建配置文件:activiti.xml
<bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
<!-- 连接数据的配置 -->
<property name="jdbcDriver" value="com.mysql.jdbc.Driver"></property>
<property name="jdbcUrl" value="jdbc:mysql://192.168.81.129:3360/itcast0711activiti?useUnicode=true&characterEncoding=utf8"></property>
<property name="jdbcUsername" value="root"></property>
<property name="jdbcPassword" value="root"></property>
<!-- 没有表创建表 -->
<property name="databaseSchemaUpdate" value="true"></property>
</bean>
然后写一个单元测试方法读取这些配置文件:
/**
* 使用配置文件创建库
*/
@Test
public void createTable_2(){
ProcessEngineConfiguration processEngineConfiguration= ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml");
System.out.println("创建成功");
}
activiti框架就先了解到这里,接下来会一步一步介绍使用。