activiti-1
内容安排:
- 了解什么是工作流
- 常见的工作流框架
- 按照流程设计器插件(设计流程图)
- 初始化框架的表结构
- 使用activiti的API完成流程相关操作
- 网页版流程设计器使用
- 一、了解工作流
工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。
工作流管理系统(Workflow Management System, WfMS)是一个软件系统,它完成工作量的定义和管理,并按照在系统中预先定义好的工作流逻辑进行工作流实例的执行。工作流管理系统不是企业的业务系统,而是为企业的业务系统的运行提供了一个软件的支撑环境。
- 二、常见的工作流框架
Activity5.13、JBPM4.4、OSWorkFlow、WorkFlow
工作流框架底层需要有数据库提供支持,activiti5.13版本,有23张表。JBPM4.4框架底层有数据库支持,18张表。JBPM底层使用hibernate操作数据库。Activiti框架底层使用的mybatis操作数据库。
- 三、安装activiti流程设计器插件
第一步:获得插件的安装包
第二步:解压安装包,复制到eclipse中的dropins目录中
第三步:重启eclipse,勾选save选项
- 四、初始化表结构
- 4.1使用activiti框架提供的建表语句
第一步:获得建表语句
第二步:创建一个数据库
第三步:进入当前数据库中
第四步:执行建表语句的sql脚本(假设脚本在D:\)
- 4.2使用activiti框架的自动建表功能
框架提供了和hibernate类似的自动建表功能
搭建开发环境:
第一步:创建一个java项目activiti1110
第二步:导入jar包
- 4.2.1不使用配置文件(不建议)
- 4.2.2使用配置文件
- 4.2.3使用配置文件(使用默认配置)
要求配置文件名称必须为activiti-context.xml或者activiti.cfg.xml,配置的信息必须为
- 五、了解23张表
Activiti的后台是有数据库的支持,所有的表都以ACT_开头。 第二部分是表示表的用途的两个字母标识。 用途也和服务的API对应。
- ACT_RE_*: 'RE'表示repository。 这个前缀的表包含了流程定义和流程静态资源 (图片,规则,等等)。
- ACT_RU_*: 'RU'表示runtime。 这些运行时的表,包含流程实例,任务,变量,异步任务,等运行中的数据。 Activiti只在流程实例执行过程中保存这些数据, 在流程结束时就会删除这些记录。 这样运行时表可以一直很小速度很快。
- ACT_ID_*: 'ID'表示identity。 这些表包含身份信息,比如用户,组等等。
- ACT_HI_*: 'HI'表示history。 这些表包含历史数据,比如历史流程实例, 变量,任务等等。
- ACT_GE_*: 通用数据, 用于不同场景下。
- 六、使用框架提供的API完成流程操作
可以在项目中加入log4j,将框架执行的sql输出到控制台,log4j提供的日志级别:
Fatal error warn info debug trace
- 6.1部署流程定义
- 6.2查询流程定义列表
- 6.3启动流程实例
什么是流程实例?根据一个流程定义具体的一次执行过程就是一个流程实例,一个流程定义对应多个流程实例(一对多关系)
- 6.4查询个人任务列表
- 6.5办理任务
- 6.6Activiti框架提供的Service对象
RepositoryService----操作静态的资源(流程定义,bpmn、png)
RuntimeService-----操作流程实例(启动流程实例、查询流程实例、结束流程实例)
TaskService-----操作任务(查询任务、办理任务)
HistoryService----操作历史数据
- 6.7Activiti框架提供的对象(和表有对应关系)
Deployment-----act_re_deployment
ProcessDefinition----act_re_procdef
ProcessInstance-----act_ru_execution
Task-----act_ru_task
- 6.8使用网页版流程设计器
第一步:将activiti-explorer.war复制到tomcat中
第二步:启动tomcat,访问http://lcoalhost:8080/activiti-explorer
第三步:使用kermit/kermit登录
第四步:
第五步: