코드를 작성하지 않은 경우 Flowable이 제공하는 기능을 볼까요?

@[toc] 사실 Song Ge는 이전에 글을 작성하여 flowable-ui의 게임 플레이를 모두에게 소개했습니다.이 도구는 공식적으로 제공되는 도구입니다.이 도구는 순서도를 그리는 데 사용할 수 있을 뿐만 아니라 프로세스 응용 프로그램을 배포하는 데에도 사용할 수 있습니다. 이 프로세스 응용 프로그램을 통해 우리는 flowable 프로세스 엔진이 어떤 문제를 해결하는지 경험할 수 있으며 이러한 경험은 코드 작성이 필요하지 않습니다.

그래서 오늘은 Flowable의 기능을 다시 한번 경험해 보도록 할게요. 지난번에 경험한 적이 없느냐고 하는 친구들이 있을지도 모릅니다. 지난번 체험은 비교적 간단하고 form 기능이 없었습니다. 오늘은 form 기능을 결합하고자 합니다. flowable-ui의 기능을 살펴보는 것은 특히 재미있습니다.

1. Flowable-UI

Flowable-UI는 다음 네 가지 기능을 제공하는 웹 애플리케이션 모음입니다.

  • Flowable IDM: ID 관리 애플리케이션. 모든 Flowable UI 애플리케이션에 대한 싱글 사인온 인증을 제공하고 IDM 관리자 권한이 있는 사용자에 대한 사용자, 그룹 및 권한을 관리하는 기능을 제공합니다.
  • Flowable Modeler: 모델링 권한이 있는 사용자가 프로세스 모델, 양식, 선택 테이블 및 애플리케이션 정의를 생성할 수 있습니다.
  • Flowable 작업: 프로세스 인스턴스를 시작하고, 작업 양식을 편집하고, 작업을 완료하고, 프로세스 인스턴스 및 작업을 쿼리하는 기능을 제공하는 런타임 작업 응용 프로그램입니다.
  • Flowable Admin: 애플리케이션을 관리합니다. 관리자 권한이 있는 사용자가 BPMN, DMN, 양식 및 콘텐츠 엔진을 쿼리할 수 있도록 하고 프로세스 인스턴스, 작업, 작업 등을 수정하기 위한 다양한 옵션을 제공합니다. 관리 애플리케이션은 REST API를 통해 엔진에 연결되며 Flowable Task 애플리케이션 및 Flowable REST 애플리케이션과 함께 배포됩니다.

간단히 말해서:

  • Flowable IDM으로 사용자를 생성하고 역할을 할당하십시오.
  • 순서도 사용자 Flowable Modeler.
  • Flowable Task는 테스트 및 경험 프로세스에 사용됩니다.
  • Flowable Admin과 관련된 백그라운드 관리.

2. 설치 방법

이전 버전에서는 위에서 언급한 응용 프로그램이 모두 다른 전쟁 패키지여서 배포 및 액세스가 매우 번거로웠지만 지금은 관리가 이전 5개의 전쟁을 하나로 통합하여 지금은 매우 쉽게 액세스할 수 있습니다.

2.1 전쟁 패키지 실행

이러한 애플리케이션은 Spring Boot 2.0 기반 java -jar xxx.war으로 .

이를 위해서는 모든 사람이 먼저 GitHub로 이동하여 최신 Flowable을 다운로드해야 합니다.

다운로드가 성공하면 압축을 풀고 안에 wars 폴더가 있습니다. 여기에는 다음과 같이 필요한 war 패키지가 들어 있습니다.

그런 다음 디렉토리를 입력하고 다음 명령을 실행하여 war 파일을 시작합니다.

java -jar flowable-ui.war
复制代码

시작부터 로그까지 이것이 Spring Boot임을 알 수 있습니다.

Spring Boot이기 때문에 일부 매개변수를 변경하고 싶다면 시작 명령어에서 직접 수정하면 됩니다. 시작 --server.port=8088명령 에 .

따라서 이러한 응용 프로그램을 직접 시작하는 것은 번거롭지 않지만 비교적 간단합니다.

2.2 도커 설치

도커 설치도 지원해주는거 봐서 아직도 도커를 사용하는데 더 편하고 앞으로 원하지않으면 삭제하는게 편함(도커에 익숙하지 않은 친구는 WeChat 공개 계정의 배경, Song Ge 튜토리얼이 작성한 소개가 있습니다.

docker가 설치되어 있으면 다음 명령을 직접 사용할 수 있습니다.

docker run -d --name flowableui -p 8086:8080 flowable/flowable-ui
复制代码

특별히 구성할 것은 없으며 컨테이너 이름과 포트 매핑을 지정하기만 하면 됩니다.

2.3 액세스

직접 실행 중이든 Docker로 실행 중이든 상관없이 성공적인 작업 후 액세스할 브라우저 http://localhost:端口/flowable-ui를 다음 페이지가 팝업됩니다.

기본적으로 로그인 사용자 이름은 admin, 비밀번호는 test로 설정되어 있으므로 잘못된 비밀번호를 쓰지 않도록 주의하시기 바랍니다.

로그인에 성공한 후 다음 페이지가 표시되면 설치가 성공한 것입니다(일반적으로 설치 문제가 없어야 함).

설치가 완료되면 이곳의 기능들을 차근차근 경험해 보도록 하겠습니다. 이전에 친구들과 여기서 대부분의 기능에 대해 이야기한 적이 있기 때문에 오늘은 여기서 주로 ID 관리와 프로세스 체험 기능에 대해 말씀드리겠습니다(프로세스 경험 ID 때문에 관리)를 사용합니다.

3. 身份管理(IDM)

身份管理就是用户、用户组的管理,我们点进到身份管理页面之后,可以看到如下内容:

可以看到,默认只有一个 admin 用户,也就是我们刚刚登录时候的用户。

3.1 用户管理

接下来点击左边的创建用户按钮,我们可以创建新的用户出来:

填入用户的基本信息和密码即可。

我一共创建了四个用户,最终结果如下:

3.2 组管理

接下来点击上面的,我们可以创建用户组,这个用户组相当于我们在 vhr 中所说的角色,给用户分组,相当于给用户分配一个角色。

默认情况下,没有任何组,组是空的:

我们点击创建组按钮,先来创建一个经理组:

组添加成功之后,点击添加用户按钮,为用户组中添加用户:

假设 zhangsan 是经理,最终添加结果如下:

利用相同的方式,我再创建一个主管的组,并为之添加两个用户 lisi 和 wangwu。

3.3 权限控制

我们前面创建的用户现在是没有任何权限的,例如现在如果使用 zhangsan/123 进行登录,登录成功后页面是空的,没有任何东西:

所以我们要为用户添加相应的权限。点击顶部的权限控制一栏,如下:

我们可以为这五种访问分别设置对应的用户/用户组:

  • 访问 idm 应用:这个就是访问身份管理应用,如果用户没有访问这个的权限,那么用户在登录成功的后的首页上就看不到身份管理应用程序这个菜单项。
  • 访问 admin 应用:这个是访问管理员应用程式,如果没有没有这个的访问权限,那么用户在登录成功之后的首页上就看不到管理员应用程式这个菜单项。
  • 访问 modeler 应用:这个是访问建模器应用程序,如果没有没有这个的访问权限,那么用户在登录成功之后的首页上就看不到建模器应用程序这个菜单项。
  • 访问 workflow 应用:这个是访问任务应用程序,如果没有没有这个的访问权限,那么用户在登录成功之后的首页上就看不到任务应用程序这个菜单项。
  • 访问 REST API:这个是指用户通过 REST API 访问工作流的权限。

以访问 idm 应用为例,在设置的时候,我们可以直接设置用户,也可以设置用户组,设置用户组的话,则这个组中的所有用户都能访问这个菜单项。

我这里设置的是经理和 javaboy 可以访问所有应用,而主管只可以访问 workflow 应用。

好啦,准备工作完成后,接下来我们就来绘制一个报销的流程图,这个流程图稍微复杂一些,并且带有表单,这是松哥之前从未写过的内容。

4. 流程图绘制

我先大致上用文字描述下我们的报销流程:

  1. 启动一个流程。
  2. 员工填写报销单,然后进行提交。
  3. 如果报销金额小于等于 1000 元,则主管审批,主管审批通过后,流程结束;主管审批拒绝,则回到步骤 2 中员工重新填写报销单。
  4. 如果报销金额大于 1000 元,则先由经理进行审批,经理审批通过后,再由 CEO 审批,两者都审批通过,则流程结束;经理和 CEO 任意一个审批不通过,则流程重新回到步骤 2 中。

好啦,这就是我们一个大致的流程描述,接下来我们就在 Flowable-UI 中来绘制这样一个流程图我们来看下。

首先点击建模器应用程序,我们开始绘制:

点击右上角创建流程,创建一个流程:

然后就开始绘制。

首先第一步是用户提交报销材料,报销材料需要填写一个表单,所以我们在下面的属性中,找到表单引用,为这个用户任务设置一个外部表单:

如果有提前绘制好的表单,这里就会显示出来,那么直接引用即可,如果没有提前绘制好的表单,那么大家看到的就如同上图那样。

现在我们点击新表单,创建一个新表单:

为新表单设置名称、key 等内容:

创建成功之后,我们就可以看到表单设计页面了:

左边是表单组件区域,右边是表单绘制区域。思考用户需要提交哪些信息来报销,直接将相应的表单拖过来即可。

其实大家看最上面一栏的顶部菜单,也自动切换到表单菜单了,这也就意味着,当我们想要创建一个表单的时候,也可以不用从流程绘制那个入口进来,可以直接提前绘制好表单,然后在画流程的时候直接引用即可。

例如我首先拖一个文本框过来,作为用户名,然后点击右边的编辑按钮进行编辑,如下:

有如下属性:

  • 标签:这个文本框将来展示的信息。
  • 覆盖 id:勾上这个,就可以自定义 id 了,否则 id 和标签是一样的。
  • id:这个是这个组件的唯一名称,将来在代码中,如果我们想要获取这个表单的值,就需要通过这个 id 去访问。
  • 设置表单是否只读或者必填。
  • 默认值:这个相当于是这个表单的 placeholder。

好了,理解了这个,我们再来随便加两个组件,按照相同的思路进行配置:

报销金额,这是一个小数组件:

报销用途是一个多行文本组件:

最终设计结果如下:

标签后面有一个 * 表示这是一个必填项。

绘制完成后,点击左上角的保存按钮,保存成功后,会自动回到流程绘制页面。

接下来,我们还需要设置这个用户任务由谁来处理,如下:

很明显,这个流程是谁发起的,谁就来填写这个表单,所以,配置如下:

好了,这个用户任务就配置完成了,接下来要根据报销金额进行划分了,我一口气画完吧,再来和大家逐步分析:

先来看报销金额小于等于 1000 的那条线。

首先,我们要为这条线设置条件,也就是流程从互斥网关中出来之后,什么情况下会进入到主管审批这个节点中,选中这条出线,配置流条件,配置如下:

这里的 money 就是我们刚刚在表单中填写的 money,表单中各个字段的值,都会被映射成为一个流程变量,我们可以直接访问。

接下来配置主管审批,首先我们设置分配用户,即由谁来执行这个用户任务:

我们设置候选组为主管,也就是所有的主管都可以审批这个节点:

主管审批的时候,无非就是同意或者拒绝,通过表单我们可以定义出同意或者拒绝这两个按钮。配置方式如下,首先为主管审批设置表单引用:

给这个新建的表单取一个名字和 id,这个 id 大家要记牢了,将来我们会用到:

在表单设计的页面,有一个结果选项卡,这个表示表单的输出内容,这个结果选项卡决定了这个表单上的最终按钮,默认情况下,只有一个完成按钮,我们可以自定义配置:

我们为这个表单设置同意和拒绝两个按钮,方式如下:

这块也有其他设置方式,我就先以这种方式来和大家演示,将来在视频中再来和大家聊一聊其他方式。

表单配置完成后,保存即可,保存之后,就会回到流程绘制页面。

接下来为同意这条出线设置条件:

大家注意这个表单的命名规则,是 form_表单名称_outcome 这个就表示表单的输出结果,也就是我们刚刚在表单中配置的结果选项卡中的内容:

配置完成后,相同的方式,将同意改为拒绝,再来配置一下拒绝那条线。

好啦,上面这条线配置好之后,接下来相同的方式配置下面大于 1000 的情况,其中经理这个用户任务就由经理这个组来处理,CEO 审批这个用户任务就由指定用户 javaboy 来审批即可,具体细节我就不多说了,都跟上面一样。

绘制完成后,记得点一下左上角的勾,看下流程有没有漏洞,如下图:

至此,我们的流程图就画好了。

一个流程图只能有一个开始,但是可以有多个结束。

5. 创建应用

流程图画好之后,接下来我们可以下载这个流程图对应的 XML 文件,然后去开发自己的 Java 代码。但是,这不是我们本文的工作,本文的工作是直接在 Flowable-UI 这个工具中,创建一个应用,然后发布这个流程。

点击上面的应用程序菜单,然后点击右上角的创建应用程序按钮,如下:

接下来可以为你的应用设置图标、主题啥的:

然后点击编辑包含的模型按钮,为这个应用选择一个流程:

然后点击左上角的保存按钮,保存并发布这个应用,如下:

发布成功之后,回到首页,就可以看到这个应用了,如下:

6. 体验报账

接下来我们就来体验一把这个报账流程,我们目前的身份是 admin,也就是说 admin 这个用户现在要报账了。

首先点击应用图标,进入到应用中,任务是空的,也就是目前没有 admin 需要审批的任务:

然后我们点击上方的流程菜单,如下:

首先点击左边的启动流程,然后点击右边的启动流程,流程启动之后,我们可以点击右上角的显示图按钮,查看流程目前走到哪一步了:

可以看到,流程目前走到用户提交报销材料这一步了:

用户提交报销材料这一步是由流程的发起人完成的,也就是 admin 自己完成,此时我们回到任务菜单,就可以看到 admin 有需要完成的任务了:

填入报销资料,然后点击完成按钮。

接下来再点击流程菜单,查看流程图,可以看到,此时进入到主管审批这一步了:

按照我们第 3 小节的配置,lisi 和 wangwu 是主管,所以,我们先注销登录,然后重新以 lisi 或者 wangwu 的身份登录,假设我这里以 lisi 的身份登录,登录成功之后,进入到这个应用中,进来之后,首先将筛选规则改为我是其中一个候选人的任务:

然后在任务中就可以看到自己需要处理的任务了:

对于这种候选人或者候选组的任务,需要先点击右上角的认领,然后再处理(如果是直接分配给某一个用户的,就不需要认领了,可以直接处理了),认领之后,就可以选择同意或者拒绝了,如下图:

假设我们点击拒绝按钮,拒绝之后,我们点击流程菜单,查看流程图,如下:

可以看到,流程在进入到主管审批这个节点之后,被拒绝了,然后回到了用户提交报销材料这个节点上,现在 admin 要重新登录,登录之后,在自己的任务中又可以看到提交报销材料了,如下:

随便改一下,然后继续提交。

切换到 wangwu 登录,同意报销,流程结束。

好啦,下面那条超过 1000 块钱的线,小伙伴们可以自行测试,我就不演示啦~

今天这个文章的目的是让大家体验一把流程引擎,看看流程引擎是干嘛的,都有啥功能,松哥在未来的文章中,会逐步教大家如何用 Spring Boot+Vue 实现这一套功能。

完结撒花~

Supongo que te gusta

Origin juejin.im/post/7143086941704028168
Recomendado
Clasificación