Activiti5是由Alfresco软件在2010年5月17日发布的业务流程管理(BPM)框架。
BPMN(Business Process Model and Notation:业务流程建模与标注),描述流程的基本符号,包括这些图元如何组合成一个业务流程图(Business Process Diagram)。
ProcessEngine对象是Activiti工作的核心。负责生成流程运行时的各种实例及数据、监控和管理流程的运行。
1. 调用ProcessEngines的getDefaultProceeEngine方法时会自动加载classpath下名为activiti.cfg.xml文件。
流程引擎对象创建成功运行后数据库会自动建表。
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
2.可以产生RepositoryService
RepositoryService repositoryService = processEngine.getRepositoryService();3.可以产生RuntimeService
RuntimeService runtimeService = processEngine.getRuntimeService();
4. 可以产生TaskService
TaskService taskService = processEngine.getTaskService();
RepositoryService是Activiti的仓库服务类。仓库指流程定义文档的两个文件:bpmn文件和流程图片。
// 创建RepositoryService对象 RepositoryService repositoryService = processEngine.getRepositoryService(); // 可以产生DeploymentBuilder,用来定义流程部署的相关参数 DeploymentBuilder deploymentBuilder = repositoryService.createDeployment(); // 删除流程定义 repositoryService.deleteDeployment(deploymentId);
RuntimeService是activiti的流程执行服务类。可以从这个服务类中获取很多关于流程执行相关的信息。
TaskService是activiti的任务服务类。可以从这个类中获取任务的信息。
HistoryService是activiti的查询历史信息的类。在一个流程执行完成后,这个对象为我们提供查询历史信息。
ProcessDefinition是流程定义类。可以从这里获得资源文件等。
ProcessInstance是流程定义的执行实例。一个流程实例包括了所有的运行节点。我们可以利用这个对象来了解当前流程实例的进度等信息。流程实例就表示一个流程从开始到结束的最大的流程分支,即一个流程中流程实例只有一个。
Execution是Activiti用这个对象去描述流程执行的每一个节点。在没有并发的情况下,Execution就是同ProcessInstance。流程按照流程定义的规则执行一次的过程,就可以表示执行对象Execution。