什么是工作流
说到工作流,一图胜万言。
工作流
Georgakopoulos给出的工作流定义是:工作流是将一组任务组织起来以完成某个经营过程:定义了任务的触发顺序和触发条件,每个任务可以由一个或多个软件系统完成,也可以由一个或一组人完成,还可以由一个或多个人与软件系统协作完。
工作流管理系统的目标:管理工作的流程以确保工作在正确的时间被期望的人员所执行——在自动化进行的业务过程中插入任何的执行和干预。
Activiti
那什么是Activiti呢,说到这里不得不说它的来源和发展。
activiti
Activiti5是有Alfresco软件在2010年5月17日发布的业务流程管理(BPM)框架,它是覆盖了业务流程管理、工作流、服务协等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。Activiti基于Apache许可的开源BPM平台,创始人TomBaeyens是JBoss JBPM的项目架构师,它特色是提供了Eclipse插件,开发人员可以通过插件直接绘画出业务流程图。
流程图
Activiti学习要点
工作流引擎
ProcessEngine对象,这是Activiti工作的核心。负责生成流程运行时的各种势力及数据、监控和管理流程的运行。所有的操作都是从获取引擎开始的,所以一般会把引擎作为全局变量。
ProcessEngine processEngine = ProcessEngine.getDefaultProcessEngine();
BPMN
业务流程建模与标注(Business Process Model and Nation,BPMN),描述流程的基本符号,包括这些图如何生成一个业务流程图(Business Process Diagram)。在Eclipse中安装Activiti插件,可以在Eclipse中绘制Activiti工作流图。
Activiti插件
activiti.cfg.xml(Activiti配置文件)
Activiti.cfg.xml,Activiti核心配置文件,配置流程引擎创建工具的基本参数和数据库连接池参数。
定义数据库配置参数:
jdbcUrl:数据库的JDBC URL。
jdbcDriver:对应不同数据库类型的驱动。
jdbcUsername:连接数据库的名称。
jdbcPassword:连接数据的密码。
5种数据库表
Activiti的表都是以ACT开头。第二部分是表示表的用途的两个字母标识。用途也和服务的API对应。
5中数据表
23张数据表
不同的表存放不同方面的数据,有流程定义表、任务节结点表、流程变量表、任务历史表等等。
23张表
7项service
Activiti Service
基本操作
设计流程图(各种组件,如连线、用户任务等)、流程定义增删改查、流程变量增删改查、启动流程定义、任务增删改查、完成任务、历史信息查询等。