不知道小伙伴们有没有发现,IDEA里面好像没有特别好用的流程图绘制工具。请注意,我说的是方便的,而不是能用的。下图这个插件我以前用过:评价就是两个字:可以用!官方提供了一个flowable-ui,相当强大。你可以尝试一下。今天给小伙伴们简单介绍一下这个flowable-ui的使用方法。如果你熟悉了,我们以后可以用它来画流程图。1.Flowable-UIFlowable-UI简单来说就是一堆web应用,提供四种功能:FlowableIDM:身份管理应用。为所有FlowableUI应用程序提供单点登录认证,并为具有IDM管理员权限的用户提供管理用户、组和权限的能力。FlowableModeler:允许具有建模权限的用户创建流程模型、表单、选择器和应用程序定义。FlowableTask:运行时任务应用,提供启动流程实例、编辑任务表单、完成任务、查询流程实例和任务等功能。FlowableAdmin:管理应用程序。允许具有管理员权限的用户查询BPMN、DMN、表单和内容引擎,并提供许多用于修改流程实例、任务、作业等的选项。管理应用程序通过RESTAPI连接到引擎,并与FlowableTask应用程序一起部署和FlowableREST应用程序。简单地说:创建用户,使用FlowableIDM分配角色。使用FlowableModeler绘制流程图。使用FlowableTask进行测试和体验流程。使用FlowableAdmin进行后台管理。2.安装方法以上提到的应用,其他应用都需要FlowableIDM认证。每个应用程序的WAR文件可以部署在同一个servlet容器(如ApacheTomcat)中,也可以部署在不同的容器中。由于每个应用程序使用相同的cookie进行身份验证,因此应用程序需要在相同的域名下运行。由于这些应用是基于SpringBoot2.0开发的,所以也可以通过执行java-jarxxx.war启动这些应用,直接作为单机应用运行。所以直接启动这些应用程序并不麻烦,而且很简单。但是我看到它也支持Docker安装,所以我就用Docker,比较方便,以后不要了也可以删掉(不熟悉Docker的朋友可以在docker回复微信背景♂,由松哥编写的入门教程)。docker安装只需使用以下命令:dockerrun-d--nameflowableui-p8086:8080flowable/flowable-ui没有什么特别要配置的,只需要指定容器名称和端口映射即可。安装完成后,在浏览器中输入http://localhost:8086/flowable-ui访问,会弹出如下页面:默认登录用户名为admin,密码为test。注意不要把密码写错了。登录成功后,如果看到如下页面,则表示安装成功(一般来说应该不会出现安装问题):安装完成后,我们来一步步体验这里的功能。我将从简单的开始。3.身份管理(IDM)身份管理是对用户和用户组的管理。我们点击身份管理页面后,可以看到如下内容:可以看到,默认只有一个admin用户,也就是我们刚才登录的用户。3.1用户管理接下来点击左侧的创建用户按钮,我们可以创建一个新用户:填写用户的基本信息和密码。我一共创建了四个用户,最后的效果如下:3.2群组管理接下来点击上面的群组,我们可以创建一个用户群组,这个用户群组就相当于我们在vhr中说的角色,对用户进行分组就是相当于给用户分配了一个角色。默认没有组,组为空:我们点击CreateGroup按钮,先创建一个manager组:组添加成功后,点击AddUser按钮,将用户添加到用户组中:假设zhangsan和zhangsi是Manager,最终添加结果如下:用同样的方法,我再创建一个组长,添加两个用户lisi和liwu。3.3权限控制我们前面创建的用户没有任何权限。比如现在用zhangsan/123登录,登录成功后页面是空的,什么也没有:所以我们需要给用户添加相应的权限。点击顶部的权限控制栏,如下:我们可以为这五种访问权限设置对应的用户/用户组:访问idm应用:这是访问身份管理应用。如果用户无权访问此权限,则用户已成功登录。IdentityManagementApps菜单项在的主页上不可见。访问管理员应用程序:这是访问管理员应用程序。如果没有这个访问权限,用户登录成功后,在首页是看不到管理员应用的菜单项的。访问建模器应用程序:这是访问建模器应用程序。如果您没有此访??问权限,则用户在成功登录后将不会在主页上看到建模器应用程序菜单项。访问工作流应用程序:这是访问任务应用程序。如果您没有此访??问权限,则用户在登录成功后将不会在首页看到任务申请菜单项。访问RESTAPI:这是指用户通过RESTAPI访问工作流的权限。以访问idm应用为例。在设置的时候,我们可以直接设置用户或者设置用户组。如果设置了用户组,则该组中的所有用户都可以访问该菜单项。我这里设置的是经理可以访问所有应用,组长只能访问工作流应用。4.管理员(Admin)接下来是管理员应用程序。这里面的功能比较简单,主要是数据查看。需要自己配置的配置比较少:这是一个概览页面,有流程引擎,CMMN引擎,App引擎等各种菜单。因为我用的不多,就不在赘述了,大家可以自己去体验。5.建模器(Modeler)下面的建模器是我们在使用Flowable-UI时最常用的功能,因为它就是用来画流程图的。5.1绘制流程图点击CreateProcess开始绘制流程图:先看初始页面:左边是菜单栏,里面有绘制流程图的各种组件,最下面是流程的各种属性流程图。其他的你看完就明白了,我就不细说了。下面没有什么可配置的,所以我设置了版本号。接下来我画一个简单的流程,如下图所示(一个流程启动后,经过两个UserTask,然后结束):绘图时,光标放在前面的组件上,然后后面的组件会自动有提示的,直接点击即可可以:如果没有提示需要的组件,只能在左侧菜单中寻找,找到后拖过去。这两个进程中的UserTask节点我没有做任何额外的设置,只是设置了每个UserTask应该由谁来处理。假设第一个节点由组长处理,第二个节点由经理处理,我们来看看如何配置。选择第一个UserTask后,在最下面找到assigneduser,设置taskassignor:另外这里再说一句,每个组件都需要设置组件的主键ID(下面第一个属性),当然,也可以不设置。如果这里没有设置,会自动生成一个随机字符串。当然,随机生成的可读性肯定不如自己设置的可读性。您可以看到有四种不同的用户选项。这里我选择的是候选组,即以后指定用户组中的用户来处理这个任务:选择完成后,点击保存按钮:用同样的方法给第二个UserTask也设置为由经理处理。好吧,就画这么一个简单的流程吧。绘制完成后,点击左上角的勾,检查流程图是否绘制正确。有时工艺节点之间连接的起点和终点可能没有放在正确的位置,肉眼不容易看到。点击左上角的勾,可以帮助我们查看。验证完成后没有问题,点击左上角的保存按钮保存当前流程图。保存后在流程首页可以看到我们刚刚绘制的流程图:点击流程图可以查看流程图的详细信息,点击右上角的下载按钮可以下载流程图对应的XML文件。将XML文件复制到我们的项目中并开始开发。5.2发布应用当然,我们也可以在现场直接测试刚才绘制的流程图。点击上方的应用,点击右上角创建应用:配置应用的基本信息:点击编辑包含的模型,为当前应用添加流程图:完成后点击左上角的保存按钮.保存后我们可以看到刚才定义的应用:点击进入这个应用,点击右上角的发布按钮发布应用。发布之后,我们就可以在任务申请中播放这个节目了。6.任务(Task)经过前面的步骤,现在我们回到主页面,可以发现除了一开始的四个默认菜单之外,现在多了一个,就是我们刚刚创建的应用程序:我们可以直接点击my_first_app进入任务申请,也可以先进入任务申请,然后选择my_first_app,都没有关系。下面以后者为例给大家演示一下:首先,进入后,默认是没有任务要执行的:点击进入流程,如下:默认是没有流程正在执行的,我们现在可以点击启动流程按钮,启动新流程:点击启动流程按钮后,左侧会显示所有流程实例。我们现在只有一个发布的流程,所以选择这个流程,点击右边的启动流程按钮:启动流程后,点击显示,可以查看流程进行到哪一步了:点击活动任务,查看任务你需要完成。点击后发现没有任务完成:这是因为当前用户是admin,而我们流程中的第一个UserTask应该由组长处理,所以我们现在退出,先以zhangsan身份登录,因为zhangsan的角色是经理,所以他登录的时候应该没有任务:注意在过滤条件中,选择我是候选人之一的任务(或者不是):然后以lisi身份登录,lisi是那个组长,如下(还记得修改过滤条件):先点击领取按钮领取任务,然后点击完成按钮完成自己的审批:完成后,再点击进入流程,再点击显示图片在左上角,如下:此时可以看到,进程倒退了一步。然后经理批准了。我们注销,以zhangsan的身份重新登录,重复lisi的步骤,完成流程。最终的执行结果如下图所示:流程执行完成。如果过程中涉及到独享网关,这里似乎无法测试。如果有谁知道这里怎么用独享网关测试一个进程,请留言告诉我们。7.小结今天有很多图。希望大家对flowable-ui工具有一个基本的了解。好了,有什么问题欢迎留言讨论。
