第1篇:Flowable简介

采用springboot+flowable快速实现工作流

文章目录

  • 一、什么是BPMN?
  • 二、什么是Flowable?
    • 2.1. 官方描述如下
    • 2.2. 大白话理解
    • 2.3. 官方在线文档
    • 2.4. Flowable官网
    • 2.5. Flowable开源代码仓库
    • 2.6. Flowable 最新版本(V6.4.2)截止目前下载地址
      • 2.6.1. Tomcat 版本安装包
      • 2.6.2. EAR版本版本安装包
      • 2.6.3. Flowable源代码(V6.4.2)下载地址
  • 三、 Flowable流程示例
    • 3.1. Flowable的BPMN流程图
    • 3.2. 流程图的BMPN文件如下

一、什么是BPMN?

  • 大白话理解:
    BPMN是一套符号的标准,这些符号描述了如果做一个业务,并且这个业务在做的过程中被人监控和控制。业务人员和开发人员通过这套图形可以很好的完成协作。

二、什么是Flowable?

2.1. 官方描述如下

  • Flowable提供了一个组高效的核心开源业务流程引擎,为开发人员,系统管理员和业务用户提供工作流和业务流程管理(BPM)平台。全部用Java编写,并且基于Apache 2.0许可的开源,代码在社区维护。其核心是一个快速,经过试验和测试的动态BPMN流程引擎,附带DMN决策表和CMMN Case管理引擎。

2.2. 大白话理解

  • Flowable是BPMN的一个基于java的软件实现,不过Flowable不仅仅包括BPMN,还有DMN决策表和CMMN Case管理引擎,并且有自己的用户管理、- 微服务API等一系列功能,是一个服务平台。

2.3. 官方在线文档

Flowable BPMN 用户手册 (v 6.5.0-SNAPSHOT)
http://www.shareniu.com/flowable6.5_zh_document/bpm/index.html#
Flowable DOCS (v 6.4.2):
https://www.flowable.org/docs/userguide/index.html

Flowable BPMN 用户手册 (v 6.3.0):
https://tkjohn.github.io/flowable-userguide/

2.4. Flowable官网

https://www.flowable.org/

2.5. Flowable开源代码仓库

https://github.com/flowable/flowable-engine

2.6. Flowable 最新版本(V6.4.2)截止目前下载地址

2.6.1. Tomcat 版本安装包

https://github.com/flowable/flowable-engine/releases/download/flowable-6.4.0/tomcat-flowable-6.4.0.zip

2.6.2. EAR版本版本安装包

https://github.com/flowable/flowable-engine/releases/download/flowable-6.4.2/flowable-6.4.2.zip

2.6.3. Flowable源代码(V6.4.2)下载地址

https://codeload.github.com/flowable/flowable-engine/zip/flowable-6.4.2

三、 Flowable流程示例

一个简单度假申请流程主要过程如下:

  • 1、员工提交请假信息,如工号,请假天数
  • 2、经理点击审批通过或者拒绝
  • 3、如果拒绝直接进入系统发邮件服务通知员工
  • 4、如果通过系统记录该员工的请假天数,减少可用天数
  • 5、员工看到自己请假审批通过,点击完成请假。

3.1. Flowable的BPMN流程图

在这里插入图片描述

3.2. 流程图的BMPN文件如下

<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:flowable="http://flowable.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.flowable.org/processdef"><process id="holidayRequest" name="Holiday Request" isExecutable="true"><startEvent id="startEvent"></startEvent><sequenceFlow id="sequenceFlow-3fa7af74-df9a-4d3a-b0eb-10b20e7dc202" sourceRef="startEvent" targetRef="approveTask"></sequenceFlow><userTask id="approveTask" name="经理通过或驳回申请"></userTask><sequenceFlow id="sequenceFlow-d9127dc0-158f-4169-b61b-99226ffe8494" sourceRef="approveTask" targetRef="decision"></sequenceFlow><exclusiveGateway id="decision"></exclusiveGateway><serviceTask id="externalSystemCall" name="系统记录申请天数" flowable:class="org.flowable.CallExternalSystemDelegate"></serviceTask><sequenceFlow id="sequenceFlow-6232f578-3975-4d7e-81f2-43b242d33ebd" sourceRef="externalSystemCall" targetRef="holidayApprovedTask"></sequenceFlow><userTask id="holidayApprovedTask" name="员工查看申请通过"></userTask><sequenceFlow id="sequenceFlow-29fd3375-9bcb-42f2-bb6f-63ae1f98813a" sourceRef="holidayApprovedTask" targetRef="approveEnd"></sequenceFlow><serviceTask id="sendRejectionMail" name="发送驳回邮件" flowable:class="org.flowable.SendRejectionMail"></serviceTask><sequenceFlow id="sequenceFlow-b390b442-2411-44a9-96eb-3c129d4c8408" sourceRef="sendRejectionMail" targetRef="rejectEnd"></sequenceFlow><endEvent id="approveEnd"></endEvent><endEvent id="rejectEnd"></endEvent><sequenceFlow id="sequenceFlow-6f21d3e2-2e49-4b00-9aae-0b71d861a177" name="驳回" sourceRef="decision" targetRef="sendRejectionMail"><conditionExpression xsi:type="tFormalExpression"><![CDATA[${!approved}]]></conditionExpression></sequenceFlow><sequenceFlow id="sequenceFlow-2470619b-fa36-440b-a231-b7bd226c23bb" name="通过" sourceRef="decision" targetRef="externalSystemCall"><conditionExpression xsi:type="tFormalExpression"><![CDATA[${approved}]]></conditionExpression></sequenceFlow></process><bpmndi:BPMNDiagram id="BPMNDiagram_holidayRequest"><bpmndi:BPMNPlane bpmnElement="holidayRequest" id="BPMNPlane_holidayRequest"><bpmndi:BPMNShape bpmnElement="startEvent" id="BPMNShape_startEvent"><omgdc:Bounds height="30.0" width="30.0" x="0.0" y="95.0"></omgdc:Bounds></bpmndi:BPMNShape><bpmndi:BPMNShape bpmnElement="approveTask" id="BPMNShape_approveTask"><omgdc:Bounds height="60.0" width="100.0" x="80.0" y="80.0"></omgdc:Bounds></bpmndi:BPMNShape><bpmndi:BPMNShape bpmnElement="decision" id="BPMNShape_decision"><omgdc:Bounds height="40.0" width="40.0" x="230.0" y="90.0"></omgdc:Bounds></bpmndi:BPMNShape><bpmndi:BPMNShape bpmnElement="externalSystemCall" id="BPMNShape_externalSystemCall"><omgdc:Bounds height="60.0" width="100.0" x="320.0" y="1.0"></omgdc:Bounds></bpmndi:BPMNShape><bpmndi:BPMNShape bpmnElement="holidayApprovedTask" id="BPMNShape_holidayApprovedTask"><omgdc:Bounds height="60.0" width="100.0" x="470.0" y="1.0"></omgdc:Bounds></bpmndi:BPMNShape><bpmndi:BPMNShape bpmnElement="sendRejectionMail" id="BPMNShape_sendRejectionMail"><omgdc:Bounds height="60.0" width="100.0" x="320.0" y="160.0"></omgdc:Bounds></bpmndi:BPMNShape><bpmndi:BPMNShape bpmnElement="approveEnd" id="BPMNShape_approveEnd"><omgdc:Bounds height="28.0" width="28.0" x="620.0" y="16.0"></omgdc:Bounds></bpmndi:BPMNShape><bpmndi:BPMNShape bpmnElement="rejectEnd" id="BPMNShape_rejectEnd"><omgdc:Bounds height="28.0" width="28.0" x="505.0" y="175.0"></omgdc:Bounds></bpmndi:BPMNShape><bpmndi:BPMNEdge bpmnElement="sequenceFlow-2470619b-fa36-440b-a231-b7bd226c23bb" id="BPMNEdge_sequenceFlow-2470619b-fa36-440b-a231-b7bd226c23bb"><omgdi:waypoint x="250.0" y="90.0"></omgdi:waypoint><omgdi:waypoint x="250.0" y="31.0"></omgdi:waypoint><omgdi:waypoint x="319.99999999999284" y="31.0"></omgdi:waypoint></bpmndi:BPMNEdge><bpmndi:BPMNEdge bpmnElement="sequenceFlow-3fa7af74-df9a-4d3a-b0eb-10b20e7dc202" id="BPMNEdge_sequenceFlow-3fa7af74-df9a-4d3a-b0eb-10b20e7dc202"><omgdi:waypoint x="29.949998618355412" y="110.0"></omgdi:waypoint><omgdi:waypoint x="80.0" y="110.0"></omgdi:waypoint></bpmndi:BPMNEdge><bpmndi:BPMNEdge bpmnElement="sequenceFlow-6232f578-3975-4d7e-81f2-43b242d33ebd" id="BPMNEdge_sequenceFlow-6232f578-3975-4d7e-81f2-43b242d33ebd"><omgdi:waypoint x="419.95000000000005" y="31.0"></omgdi:waypoint><omgdi:waypoint x="470.0" y="31.0"></omgdi:waypoint></bpmndi:BPMNEdge><bpmndi:BPMNEdge bpmnElement="sequenceFlow-b390b442-2411-44a9-96eb-3c129d4c8408" id="BPMNEdge_sequenceFlow-b390b442-2411-44a9-96eb-3c129d4c8408"><omgdi:waypoint x="419.949999999997" y="189.66442953020135"></omgdi:waypoint><omgdi:waypoint x="505.00030595247523" y="189.0936221647077"></omgdi:waypoint></bpmndi:BPMNEdge><bpmndi:BPMNEdge bpmnElement="sequenceFlow-d9127dc0-158f-4169-b61b-99226ffe8494" id="BPMNEdge_sequenceFlow-d9127dc0-158f-4169-b61b-99226ffe8494"><omgdi:waypoint x="179.9499999999898" y="110.0"></omgdi:waypoint><omgdi:waypoint x="230.0" y="110.0"></omgdi:waypoint></bpmndi:BPMNEdge><bpmndi:BPMNEdge bpmnElement="sequenceFlow-29fd3375-9bcb-42f2-bb6f-63ae1f98813a" id="BPMNEdge_sequenceFlow-29fd3375-9bcb-42f2-bb6f-63ae1f98813a"><omgdi:waypoint x="569.9499999999988" y="31.0"></omgdi:waypoint><omgdi:waypoint x="582.0" y="31.0"></omgdi:waypoint><omgdi:waypoint x="582.0" y="31.0"></omgdi:waypoint><omgdi:waypoint x="620.0025321198765" y="30.268220825690175"></omgdi:waypoint></bpmndi:BPMNEdge><bpmndi:BPMNEdge bpmnElement="sequenceFlow-6f21d3e2-2e49-4b00-9aae-0b71d861a177" id="BPMNEdge_sequenceFlow-6f21d3e2-2e49-4b00-9aae-0b71d861a177"><omgdi:waypoint x="250.0" y="129.9375468164794"></omgdi:waypoint><omgdi:waypoint x="250.0" y="190.0"></omgdi:waypoint><omgdi:waypoint x="319.99999999997794" y="190.0"></omgdi:waypoint></bpmndi:BPMNEdge></bpmndi:BPMNPlane></bpmndi:BPMNDiagram>
</definitions>

注:文件名为Holiday_Request.bpmn20.xml,flowable支持以BPMN和bpm

  1. n20.xml结尾的流程文件。
  2. 上面的xml看起来非常恐怖,不用担心,后面我会介绍Flowable的专门的流程绘制软件。
  3. 以上主要让大家对Flowable有个简单的了解,下一节介绍如何启动Flowable,并且介绍Flowable的启动包的相关内容。

下一篇:
第2篇:Flowable启动
https://blog.csdn.net/weixin_40816738/article/details/102875324

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/522996.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里云启动API创新大赛 设视频技术为场景赛题

摘要&#xff1a; 阿里云API大赛一直以践行API经济为主旨&#xff0c;涌现出了很多基于API服务的优秀解决方案方案作品。本届API大赛主题为“智慧开放&#xff0c;互链解决”&#xff0c;基于广义的API经济理念&#xff0c;将不局限于API服务、工具、数据&#xff0c; 而是将AP…

BAT 力捧的 AI 项目再次爆发,这些程序员都受影响!

从2017年起&#xff0c;人工智能大火&#xff0c;几家国际大厂无论是微软 Build、Facebook F8 还是稍后的 Google I/O&#xff0c;莫不把“AI优先”的大旗扯上云霄。百度 AI 开发者大会&#xff0c;想必大家都被这次“宏颜祸水”惊呆了&#xff0c;但是在大会上我更关心的是李彦…

【2018新年巨献】像阿里巴巴一样高效工作!(含视频、文章、PDF文件)

摘要&#xff1a; Work Like Alibaba 通过线下沙龙、线上直播、内容输出三个维度&#xff0c;携手阿里云的典型企业用户&#xff0c;联合云栖社区、阿里云、钉钉阿里产品&#xff0c;将阿里的前沿产品技术理念、敏捷研发模式、智能运维方法、智能办公、移动办公等渐渐渗透到外部…

AliOS Things自组织网络安全认证架构概述

摘要&#xff1a; AliOS Things自组织网络&#xff08;uMesh&#xff09;结合阿里云Link ID设备身份认证平台为物联网嵌入式设备提供了自主安全认证授权接入无线mesh网络的解决方案&#xff0c;并且兼容IEEE802.1X端口控制访问协议和EAP&#xff08;RFC3748&#xff09;扩展认证…

屡试不爽的互联网架构三大马车!

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者&#xff1a;朱晔来源&#xff1a;https://www.cnblogs.com/lovecindywang/p/9617542.html这里所说的三架马车是指微服务、消息队列和定时任务。如下图所示&#xff0c;这里是一个三驾马车共同驱动的一个立体的互联网项目的架构…

如何像阿里巴巴一样高效跨企业项目协作

摘要&#xff1a; 在云效Work Like Alibaba第五期直播中&#xff0c;阿里巴巴研发协同平台高级技术专家&#xff0c;云效项目协作域的技术负责人余鹏&#xff08;花名秉承&#xff09;带来了《如何像阿里巴巴一样高效跨企业项目协作》的精彩分享。本次分享主要介绍阿里巴巴是如…

Flowable 6.4.1数据库自动建表错误 SQLSyntaxErrorException: Table 'flowable.act_id_property' doesn't exist

跟着官方Demo学flowable6.4.1&#xff0c;在内存里建表没问题&#xff0c;移到数据库建表就报错 请教了大神才知道&#xff0c;是因为之前本机上建过相同的表&#xff08;Mysql8.0以上版本改成了false&#xff09;&#xff0c;解决办法就是设置默认在本数据库建表&#xff0c…

MaxCompute - ODPS重装上阵 第一弹 - 善用MaxCompute编译器的错误和警告

摘要&#xff1a; MaxCompute (ODPS) ( 注1 )是阿里云自主研发的具有业界领先水平的分布式大数据处理平台, 尤其在集团内部得到广泛应用&#xff0c;支撑了多个BU的核心业务。 ODPS2.0除了持续优化性能外&#xff0c;也致力于提升SQL语言的用户体验和表达能力&#xff0c;提高广…

双十一丝般顺滑体验背后:阿里云洛神网络虚拟化系统揭秘

摘要&#xff1a; 摘要&#xff1a;2017年12月20日在北京云栖大会上&#xff0c;阿里云高级技术专家梵叶在计算与网络分论坛上做了主题分享《双十一丝般顺滑体验背后&#xff1a;阿里云洛神网络虚拟化系统揭秘》。为大家介绍了洛神系统的发展过程&#xff0c;系统架构&#xff…

Springboot-Flowable 快速开发工作流

文章目录一、什么是flowable&#xff1f;官方文档&#xff1a;二、技术选型三、Flowable与springBoot项目整合3.1. 添加依赖3.2. yml 文件配置3.3. 创建数据库3.4. 定义流程文件3.5. 测试controller3.6. 图片乱码处理四、启动项目&#xff0c;初始化表结构五、测试验证5.1. 创建…

华为发布智简全光网战略,携手上下游重新定义光产业

[中国&#xff0c;北京&#xff0c;2019年7月15日] 今日&#xff0c;华为正式发布智简全光网战略&#xff0c;通过打造智能、极简、超宽、无处不在的下一代全光网络&#xff0c;为每个人、每个家庭、每个组织带来极致的业务体验。基于该战略&#xff0c;未来5年华为将携手上下游…

测试之道--阿里巴巴八年测试专家倾情奉献

摘要&#xff1a; 我从事测试工作将近八年了&#xff0c;从起初的不懂测试&#xff0c;怀疑测试&#xff0c;到相信测试&#xff0c;再到坚定测试&#xff0c;其中经历的辛酸、煎熬无法言表。在从事测试工作的这八年里&#xff0c;有人质疑&#xff0c;也有人追捧&#xff0c;唇…

AliOS Things蓝牙协议栈及应用开发框架介绍

摘要&#xff1a; AliOS Things从1.2.0版本开始支持蓝牙协议栈(BLE)&#xff0c;及基于蓝牙协议栈的应用层开发框架。本文分为三部分对蓝牙组件进行介绍&#xff1a;蓝牙组件&#xff0c;蓝牙协议栈介绍及接口说明&#xff0c;和应用开发框架介绍及示例说明。AliOS Things v1.2…

快速开发工作流_01_简单流程案例

文章目录一、介绍二、技术选型三、登录/绘制流程图3.1. 需要先登录3.2. 绘制流程图四、 使用说明4.1. 选择数据库4.2. 增加 mybatis, modeler,idm 等配置4.3. yml 文件配置五、定义流程文件这样当此框架启动的时候它会默认加载resource目录下的processes时就可以将此流程配置加…

Spark精华问答 | Spark和Hadoop的架构区别解读

总的来说&#xff0c;Spark采用更先进的架构&#xff0c;使得灵活性、易用性、性能等方面都比Hadoop更有优势&#xff0c;有取代Hadoop的趋势&#xff0c;但其稳定性有待进一步提高。我总结&#xff0c;具体表现在如下几个方面。1Q&#xff1a;Spark和Hadoop的架构区别A&#x…

7类合作伙伴,190条沟通路径,高德汽车如何实现组织高效沟通?

摘要&#xff1a; 通常协同开发组织或团队大于等于7&#xff0c;关键干系人大于等于10&#xff0c;组织级沟通路径大于等于21条&#xff0c;关键干系人沟通路径大于等于45条&#xff0c;并以较大角系数递增。这种沟通路径曲线下&#xff0c;如何让组织信息快速传递&#xff1f;…

MaxCompute - ODPS重装上阵 第二弹 - 新的基本数据类型与内建函数

摘要&#xff1a; MaxCompute&#xff08;原ODPS&#xff09;是阿里云自主研发的具有业界领先水平的分布式大数据处理平台, 尤其在集团内部得到广泛应用&#xff0c;支撑了多个BU的核心业务。 MaxCompute除了持续优化性能外&#xff0c;也致力于提升SQL语言的用户体验和表达能力…

@程序员:可以被认出是写代码的,但是不能因为格子衬衫!

戳蓝字“CSDN云计算”关注我们哦&#xff01;亲爱的&#xff0c;我今天穿什么衣服比较好呢&#xff1f;你女朋友早上是否也会站在试衣镜前这样询问你&#xff1f;醒醒&#xff0c;你哪里有女朋友&#xff01;你分得清人家衣服的&#xff1f;比如&#xff1a;裤子&#xff1a;背…

助力全站WebP ,阿里云云上FPGA 团队发布 WebP图片解决方案

摘要&#xff1a; 阿里云 WebP 图片解决方案的软件部分由联捷计算科技&#xff08;CTAccel&#xff09;提供&#xff0c;再整合上阿里云自身的FaaS (FPGA as a Service) 弹性计算平台&#xff0c;形成了完整的阿里云 WebP 图片解决方案。 点此查看原文 目前来说&#xff0c;图片…

linux ssh连接交换机_访问SMB交换机CLI使用SSH或远程登录

访问SMB交换机CLI使用SSH或远程登录客观Cisco小型企业被管理的交换机可以通过命令行界面(CLI)远程访问和被配置。访问CLI在一个基于终端的窗口允许命令被输入。如果喜欢配置使用在您的交换机的终端命令通过CLI而不是基于Web的工具&#xff0c;这是一个更加容易的选择。某些任务…