您的位置:

Activiti Modeler 详解

一、概述

Activiti Modeler 是一款基于 web 的 BPMN 2.0 流程设计器,主要用于设计、编辑和测试工作流程。

Activiti Modeler 的主要特点如下:

  • 支持自定义元素和属性
  • 可视化设计器,简单易用
  • 可与 Activiti BPMN 引擎集成

二、使用方法

Activiti Modeler 的使用非常简单:

  1. 首先,在浏览器中打开 Activiti Modeler。
  2. 然后,创建或打开一个流程。
  3. 接着,从元素库中拖动相应元素到画布。
  4. 最后,按照需要编辑元素属性,保存流程。

三、元素库

Activiti Modeler 的元素库包括常见的 BPMN 2.0 元素,如任务、网关、事件等。

元素库还支持元素分类,如任务可分为用户任务、手动任务等。

同时,元素库也支持用户自定义元素和属性,可以方便扩展。

<customTask id="myTask" name="My Custom Task" activiti:class="org.activiti.examples.MyTaskExecutionListener" />

四、属性编辑器

Activiti Modeler 的属性编辑器可对元素进行属性编辑,属性包括基本属性和扩展属性。

基本属性包括元素 ID、名称、类型等;扩展属性可以是元素自定义属性或 Activiti 引擎提供的属性。

属性编辑器还支持文本、选项列表、日期等各种类型的属性值输入。

五、集成 Activiti 引擎

Activiti Modeler 与 Activiti BPMN 引擎集成可以实现流程的部署和执行。

首先,可以通过 Activiti Modeler 生成 BPMN 2.0 文件,然后使用 Activiti Engine API 将流程部署到 Activiti 引擎中。

// 使用 Activiti Engine API 部署流程
RepositoryService repositoryService = processEngine.getRepositoryService();

Deployment deployment = repositoryService.createDeployment()
    .addInputStream("myProcess.bpmn20.xml", new FileInputStream("path/to/myProcess.bpmn20.xml"))
    .deploy();

部署成功后,就可以启动流程实例并完成相应任务了。

// 使用 Activiti Engine API 启动并完成任务
RuntimeService runtimeService = processEngine.getRuntimeService();
TaskService taskService = processEngine.getTaskService();

ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("myProcess");

Task task = taskService.createTaskQuery().processInstanceId(processInstance.getId()).singleResult();

taskService.complete(task.getId());

六、结语

Activiti Modeler 是一款非常优秀的 BPMN 2.0 流程设计器,简单易用、支持自定义元素和属性、可与 Activiti 引擎集成等特点使其广泛应用于企业系统中。