Activiti7集成SpringBoot2官方实例系列文章地址:
Activiti7集成SpringBoot2官方实例(二):Activiti7 Deep Dive系列 - 使用核心库
Activiti7集成SpringBoot2官方实例(三):添加ReST调用列出流程定义
Activiti7集成SpringBoot2官方实例(四):添加ReST调用列出流程实例
Activiti7集成SpringBoot2官方实例(五):添加ReST调用以列出可用的用户任务
Activiti7集成SpringBoot2官方实例(六):添加ReST调用完成用户任务
Activiti7集成SpringBoot2官方实例(七):实现服务任务和监听器
介绍
Activiti 7是Alfresco经过实战考验的Activiti工作流引擎的演变,完全被采用在云环境中运行。它是根据 Cloud Native 应用程序概念构建的,与之前的Activiti版本在架构方面有所不同。我们在之前的文章中还有一个新的Activiti Modeler。
在本文中,我们将使用新的Activiti 7 Process Runtime和Task Runtime Java API来试用Activiti 7流程引擎。我们将从 Spring Boot 2应用程序执行此操作。我们需要的所有Activiti 7 Java工件都可以在Alfresco的Maven Repository(Nexus)中找到。
Spring Boot应用程序还将包含Web组件(即Spring MVC),因此我们可以创建一个小的ReST API来用于启动进程以及与进程和任务交互。Activiti 7提供了一个ReST API,但是当我们只使用核心库时,我们不打算在本节中使用它。在这里,我们只创建自己的简单ReST API,它将使用Activiti 7 Java库(即Process Runtime和Task Runtime)。
新的API旨在提供Cloud Native方法的明确途径。它们还包括作为一等公民的安全和身份管理。新API还简化了一些常见用例。
在本文中,我们将使用Activiti 7 Core库实际构建一个简单的业务流程管理(BPM)应用程序/解决方案。这通常不是你要做的事情,但能够理解Activiti 7提供的API是一个很好的练习。
先决条件
- JDK已安装
- Maven已安装
源代码
您可以在此处找到与本文相关的源代码:https://github.com/gravitonian/activiti7-api-basic-process
生成Spring Boot 2应用程序
使用Spring Boot应用程序非常容易。只需访问 https://start.spring.io/ 并填写应用程序的数据,如下所示:确保将 Spring Boot版本2.0.x 与Activiti 7 Beta 1 - 3一起使用,Beta 4应与版本2.1.x一致。
您不必像我一样使用相同的 Group (org.activiti.training )和 Artifact (activiti7-api-basic-process-usertask-servicetask-events )名称,只需使用您喜欢的任何名称即可。但是,如果您从本文中复制代码,则使用相同的包名称(即同一组)可能会更容易。搜索 H2 和 Web 依赖关系,以便它们包含在Maven POM中。然后单击“ 生成项目” 按钮。完成的Spring Boot 2 Maven项目将自动下载为ZIP。在某处打开包装。
测试标准的Spring Boot App
在继续使用Activiti之前,让我们确保Spring Boot应用程序正常工作。这涉及两个步骤。首先构建应用程序JAR,然后运行应用程序JAR。
构建应用程序JAR:
$ cd activiti7-api-basic-process-usertask-servicetask-events /activiti7-api-basic-process-usertask-servicetask-events mbergljung
$ mvn clean package