千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > flowable中文文档详解

flowable中文文档详解

来源:千锋教育
发布人:xqq
时间: 2023-11-23 14:30:51 1700721051

一、简介

Flowable是一个开源的业务流程管理工具,它集成了多个业务流程相关的组件,如工作流引擎、表单处理等。Flowable提供了一套流程定义、部署和执行的能力,可以强大地支持复杂的流程及其模型的管理和运行。Flowable提供了简单、轻量级的API通过Java代码管理流程,还提供了REST API以及Web服务。 Flowable 的文档分为多个部分:

用户指南,对如何使用Flowable进行介绍。 开发人员指南,对如何为Flowable贡献代码进行介绍。 流程引擎 API,介绍流程引擎 API的概念与使用。 DMN引擎 API,介绍 DMN 引擎 API 的概念与使用。 表单引擎 API,介绍表单引擎 API 的概念与使用。 已知问题,会列出已知的一些问题和解决方案。

对于第一次使用Flowable的开发人员,可以从用户指南中了解 Flowable 的基础概念和使用方法,随后在查阅引擎 API 等文档来深入处理。

二、工作流引擎

Flowable 的工作流引擎是Flowable的核心部分,提供了以下一些核心功能:

流程定义:描述业务流程以及流程中的活动(用户任务、服务任务、网关、边界事件等)。 流程部署:将流程定义模板部署到引擎中以便后续的流程实例化。 流程实例:一次业务流程的运行,包含执行过的任务实例信息和执行顺序等相关信息。 任务:引擎中的一个任务实例,一个任务实例包含相关的信息诸如名称、描述、截止时间等信息。 执行:引擎中执行流程的最小单元,一个执行实例包含相关的信息诸如父子级别、是否被中断等信息,并可以包含一个或多个任务或子执行实例。

以下是一个基本的工作流定义的代码示例:

public static BpmnModel createProcessModel() {
    BpmnModel model = new BpmnModel();
    Process process = new Process();
    model.addProcess(process);
    process.setId("vacationRequest");

    process.addFlowElement(createStartEvent());
    process.addFlowElement(createUserTask("userTask1", "Approve or reject request", "assignee == null"));
    process.addFlowElement(createExclusiveGateway("ExclusiveGateway1"));
    process.addFlowElement(createUserTask("userTask2", "Provide additional details", "assignee == null"));
    process.addFlowElement(createEndEvent());

    process.addFlowElement(createSequenceFlow("start", "userTask1"));
    process.addFlowElement(createSequenceFlow("userTask1", "ExclusiveGateway1"));
    process.addFlowElement(createSequenceFlow("ExclusiveGateway1", "userTask2", "${approved == 'false'}"));
    process.addFlowElement(createSequenceFlow("ExclusiveGateway1", "end", "${approved == 'true'}"));
    process.addFlowElement(createSequenceFlow("userTask2", "ExclusiveGateway1"));
    return model;

三、表单引擎

Flowable的表单引擎提供了创建表单和调用表单服务的能力,支持多种表单类型(例如JavaScriptAPI和Freemarker模板)。表单可以嵌入到流程中,以便流程中的用户可以通过填写表单等方式来参与流程。

以下是一个基本的表单创建定义的代码示例:

















四、Java API

Flowable Java API提供了开箱即用的工作流实现,包括业务流程以及每个正在运行的业务案例中的其他信息。在引擎实例上使用 Java API 可以查询流程定义,创建和启动新的流程实例等。

以下是一个使用Java API查询并启动流程的代码示例:

// 创建引擎实例
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();

// 获取流程存储服务实例
RepositoryService repositoryService = processEngine.getRepositoryService();

// 获取运行时服务实例
RuntimeService runtimeService = processEngine.getRuntimeService();

// 部署流程定义
Deployment deployment = repositoryService.createDeployment().addClasspathResource("diagrams/test.bpmn20.xml").deploy();

// 查询流程定义
ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery()
                .deploymentId(deployment.getId()).singleResult();

// 开始流程实例
ProcessInstance pi = runtimeService.startProcessInstanceById(processDefinition.getId());

五、结语

Flowable的中文文档提供了一个全面的工作流引擎解决方案的实现,其中包括核心功能模块、表单处理、Java API等。Flowable还提供了一个轻量的API,以及java和REST服务的访问,方便用户集成到现存的应用程序中。本文所涵盖的主题不超过了Flowable文档的主题范围,但我们相信,文档已经向您提供了一个良好的起点,以便解决您遇到的任何问题并开始使用Flowable。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT