星标7.9k开源工作流引擎,为企业打造自动化“发动机”
在当今高速发展的社会中,市场环境可谓瞬息万变。对于企业和组织来说,抓住那些稍纵即逝的商机是成功的关键,业务运营的响应速度则直接决定了企业的竞争力。
可以说,谁做好了业务流程管理和自动化的工作,谁就掌握了关键的竞争优势。那么,企业要如何应用好流程技术呢?
业务流程管理(BPM)技术为企业提供了一套高效的 IT 管理工具,它可以根据企业中业务环境的变化,推进人与人之间、人与系统之间、系统与系统之间在经营方法与解决方案上做出整合与调整。
BPM 的核心在于以流程驱动为核心,实现端到端全流程信息化管理,可以应用于经常重复、正在进行或可预测的任务和流程。用好了 BPM 技术,企业就如同装上了一台高效的发动机,能够更加迅速和灵活地应对市场变化。
Flowable 这款开源工作流引擎,在GitHub上获得了7.9k的星标,是 BPM 领域的明星项目。它覆盖了业务流程管理、工作流、服务协作等方面,是一个灵活的、易扩展的 BPM 框架。
《深入Flowable流程引擎:核心原理与高阶实战》这本书就是关于 Flowable 技术的全面指南,涵盖从基础知识、核心概念到最佳实践,它可以帮助读者为企业构建出高效、灵活和可扩展的业务流程解决方案。
深入Flowable流程引擎 ¥89.7 购买
Flowable 是如此强大,我们先来仔细了解它的实力。
Flowable 脱胎于著名的 Java 工作流引擎 Activiti,因为商业战略调整,Activiti 项目的核心开发团队决心独立发展,就从 Activiti 分支创建了 Flowable。创始人之一的 Tijs Rademakers 现在是 Flowable 框架的领导者。
Flowable 遵循 Apache License 2.0 开源协议,它完全支持 BPMN 2.0 标准,可以使用标准的 BPMN 2.0 图形化建模工具来设计和建模业务流程。它的设计考虑了云原生架构,支持在容器化环境中部署和管理,提供了用户友好的工具,如图形化建模工具、流程监控和管理界面等。
BPMN 2.0核心结构
Flowable 的核心功能包括:
- 流程设计器:Flowable 提供了一个直观的 Web-based 模型设计器,使得非技术人员也可以方便地创建和修改流程定义。
- 表单设计:除了流程设计,Flowable 还支持动态表单设计,允许用户根据业务需求定制表单字段和布局。
- 任务管理:Flowable 的任务服务确保了任务的适当分配和跟踪,同时提供人工任务的管理能力。
- 运行时引擎:其核心是一个强大且可靠的流程虚拟机(PVM),能够处理复杂的业务流程和长运行的事务。
- REST API:Flowable 通过 RESTful API 提供服务,方便与其他系统集成,并且支持现代 Web 应用的开发。
Flowable工作流引擎核心架构
目前,Flowable 已在多个行业取得成功,为了帮助更多企业改善经营,做好业务流程管理,本书可以帮助读者快速掌握 Flowable 的基础知识,学会开发技能,充分利用 Flowable 的强大功能解决实际业务问题。
本书由三位作者合作完成,他们在工作流与 BPM 领域内都有着丰富的理论与研发经验。
贺波 国内资深的工作流及 BPM 领域专家,专注于流程领域十余年,长期致力于 BPM 技术及相关产品的研发、应用和推广,擅长为国内外大中型企业提供以流程为导向的数字化解决方案。作为第一发明人持有多项BPM领域发明专利。
刘晓鹏 拥有 10 年互联网系统研发、架构设计经验,在高并发、高性能、高可用等方面有丰富的设计经验。
胡海琴 从事 Java EE 企业应用开发十余年,曾经参与多个大型企业级项目的设计与开发工作,具有丰富的软件系统设计和开发经验。
做好四步就能为企业打造出工作流的“发动机”,现在就跟着作者们来学习吧。
在 BPM 的实际应用中,各个企业的实际情况都是复杂而多变的,《深入Flowable流程引擎:核心原理与高阶实战》从基础准备入手,再到高级实战,分为四步帮助企业顺利打造工作流“发动机”。
基础准备
在第一步,书中详细介绍了 Flowable 的基础用法,包括流程设计器的集成与使用、工作流引擎的配置、数据库设计以及核心概念和API 等内容。
读者通过实际案例,建立对 Flowable 的基本认识,掌握如何在 IDEA 和 Eclipse 中集成 Flowable 流程设计插件,并绘制流程图。这一部分为后续的深入学习打下了坚实的基础,使读者能够快速上手 Flowable 的基本操作。
常规应用
第二步深入探讨了 Flowable 的各种功能和特性,帮助读者掌握 Flowable 的基础用法。书中详细介绍了用户任务、服务任务、脚本任务等多种任务节点的配置与使用,以及如何利用 Flowable 的事件机制来处理复杂的业务逻辑。
通过丰富的示例,读者可以了解如何在实际项目中灵活运用 Flowable,提升工作流的效率和灵活性。
高级实战
第三步立足于实际案例,介绍基于 Flowable 的扩展特性支持多种复杂流程场景的方法。读者将学习到如何实现动态跳转、任务撤回、流程撤销等本土化业务流程场景的解决方案。
动态跳转与子流程结合场景
书中还探讨了通过自定义流程活动和多实例应用来满足特定业务需求的方法,帮助企业在复杂环境中实现高效的工作流管理。
架构扩展
第四步主要介绍提高 Flowable 性能和扩展其容量的措施。书中提出了一套多引擎架构方案,旨在支撑大容量、高并发和高稳定的流程场景。
通过对 Flowable 的底层逻辑进行调整和优化,读者将了解到如何实现流程引擎的集群模式、动态路由配置以及跨集群数据查询等技术,从而确保企业在快速变化的市场环境中保持竞争力。
多引擎架构示例
这四步学习下来,读者能够逐步掌握 Flowable 的强大功能,为企业构建起高效、灵活的 BPM 平台。
《深入Flowable流程引擎:核心原理与高阶实战》旨在帮助读者快速掌握 Flowable 流程引擎的基础知识、核心概念、架构和功能。本书以深入的剖析与详细的实践案例,成为 BPM 领域的一部重量级著作。
本书的一大特点是内容全面,系统地介绍了 Flowable 的各个方面,从基础的流程部署到复杂的流程设计模式,还深入探讨了 Flowable 的高级特性,如多实例处理、事件监听器、动态流程调整等。
另一大特点是注重实战,案例覆盖了多种业务场景,从简单的工作流审批到复杂的业务流程自动化,特别是本土化流程场景需求的扩展实现。
精彩书摘
每个案例都经过精心设计,以确保读者能够在实际工作中遇到类似挑战时,能够迅速找到解决方案。
书中还为大量的案例配备了详细的代码示例,使读者能够将理论知识迅速应用于实践。完整的代码作为配套资源,在书中附有下载地址,读者可以在实验环境中操作调试。
代码示例
本书也是作者的另一本书《深入Activiti流程引擎:核心原理与高阶实战》的姊妹篇,Flowable 与 Activiti 二者内核基本相同,用法相近,而 Flowable 做了大量的功能增强、架构升级和优化改造。读者可以延伸阅读,对 BPM 的研发与应用获得更全面的认识。
本书以其专业深度与实用性,受到业内诸多大佬的盛赞。
从事业务流程管理的开发人员、业务分析师、项目经理和企业管理者,都能从本书中获得宝贵的知识和实用的技能,以提升他们在工作流领域的专业能力。
市场竞争无比激烈,企业要想通过高效的流程管理抓住发展机遇,那就吃透《深入Flowable流程引擎:核心原理与高阶实战》,为业务装上腾飞的“发动机”吧!
JAVA工作流「java工作流引擎框架」
以请假为例,现在大多数公司的请假流程是这样的
员工打电话(或网聊)向上级提出请假申请——上级口头同意——上级将请假记录下来——月底将请假记录上交公司——公司将请假录入电脑
采用工作流技术的公司的请假流程是这样的
员工使用账户登录系统——点击请假——上级登录系统点击允许
就这样,一个请假流程就结束了
有人会问,那上级不用向公司提交请假记录?公司不用将记录录入电脑?答案是,用的。但是这一切的工作都会在上级点击允许后自动运行!
这就是工作流技术。
Georgakopoulos给出的工作流定义是:工作流是将一组任务组织起来以完成某个经营过程:定义了任务的触发顺序和触发条件,每个任务可以由一个或多个软件系统完成,也可以由一个或一组人完成,还可以由一个或多个人与软件系统协作完
从上面的例子,很容易看出
工作流系统,实现了工作流程的自动化,提高了企业运营效率、改善企业资源利用、提高企业运作的灵活性和适应性、提高量化考核业务处理的效率、减少浪费(时间就是金钱)。
而手工处理工作流程,一方面无法对整个流程状况进行有效跟踪、了解,另一方面难免会出现人为的失误和时间上的延时导致效率低下,特别是无法进行量化统计,不利于查询、报表及绩效评估。
在Java领域,JBPM和Activity是两个主流的工作流系统,而Activity的出现无疑将会取代JBPM(Activity的开发者就是从Jbpm开发者出来的)。
1. 1个插件
在Eclipse中安装Activity插件,让你可以在Eclipse中绘制Activity工作流图
2. 1个引擎
ProcessEngine对象,Activity工作流引擎。这是Activiti工作的核心。负责生成流程运行时的各种实例及数据、监控和管理流程的运行。
所有的操作都是从获取引擎开始的,所以一般会把引擎作为全局变量
ProcessEngine processEngine =ProcessEngines.getDefaultProcessEngine();
3. 1个配置文件
activiti.cfg.xml。Activiti核心配置文件,配置流程引擎创建工具的基本参数和数据库连接池参数
4. 5种数据库表
Activiti的后台是有数据库的支持,所有的表都以ACT_开头。 第二部分是表示表的用途的两个字母标识。用途也和服务的API对应。
ACT_RE_*: \’RE\’表示repository。 这个前缀的表包含了流程定义和流程静态资源(图片,规则,等等)。
ACT_RU_*: \’RU\’表示runtime。 这些运行时的表,包含流程实例,任务,变量,异步任务,等运行中的数据。 Activiti只在流程实例执行过程中保存这些数据,在流程结束时就会删除这些记录。 这样运行时表可以一直很小速度很快。
ACT_ID_*: \’ID\’表示identity。 这些表包含身份信息,比如用户,组等等。
ACT_HI_*: \’HI\’表示history。 这些表包含历史数据,比如历史流程实例,变量,任务等等。
ACT_GE_*: 通用数据,用于不同场景下,如存放资源文件。
5. 23张表
不同的表存放不同方面的数据,有流程定义表、任务结点表、流程变量表、任务历史表等等。
6. 5项Service
不同的Service类对应不同的功能。
比如TaskService,是activiti的任务服务类。可以从这个类中获取任务的信息。
而HistoryService,则是activiti的查询历史信息的类。在一个流程执行完成后,这个对象为我们提供查询历史信息。
7. 7项基本操作
设计流程图(各种组件,如连线、用户任务、网关)
流程定义增删改查
流程变量增删改查
启动流程定义
任务增删改查
完成任务
历史信息查询
学习7项基本操作时只需在JavaSE下执行即可,当然,做web项目的时候就要考虑和SSH等开发框架结合的问题。当然,只有基本操作学会了,综合开发并不难。
任流TaskFlow工作流引擎
任流TaskFlow是本公司的第四代工作流引擎,从2003年开始研发第一个版本到现在已经有20多年历史,在这20多年的发展过程中,该产品不断迭代完善,已经非常成熟和稳定,并经过了上万家客户的检验。
使用工作流可以改进和优化业务流程,提高业务工作效率,实现更好的业务过程控制,是工作有序开展,规范执行,持续跟进的前提。TaskFlow工作流引擎通过计算机技术的支持去定义、执行和管理工作流程,协调工作流执行过程中工作之间以及群体成员之间的信息交互。系统会自动记录工作办理过程中产生的各种数据,相关人员可以随时了解工作的办理进度,最后还能够对工作数据进行查询和统计。组织的所有流程性事务都可以通过TaskFlow工作流引擎进行申请、审批和查询统计,所有工作既可以在电脑上申请审批,在手机上通过移动客户端也可以申请审批。
TaskFlow工作流引擎由以下功能构成:
使用表单设计器可以实现各项工作单据的在线设计,既可以使用图形化工具进行所见即所得的设计,也可以直接编辑HTML代码,实现复杂的单据格式。
TaskFlow的表单设计器具有以下功能特点:
l 支持所见即所得的图形化编辑,支持文字、表格、图片、控件、链接、多媒体等丰富的内容格式;支持复制、粘贴、剪切、撤销、重做、缩进等常用编辑操作;支持调整字体、字号、字体颜色、背景色、对齐方式等。
l 支持从Word或Excel导入表单格式。
l 支持单行文本、多行文本、单选框、多选框、下拉列表、数值、日期、时间等常用控件,每个控件都可以设置字号、宽度、对齐方式、边距等详细参数。
l 支持工作编号、工作名称、用户姓名、部门名称、当前时间等宏变量。
l 支持多人会签,可以选择会签时需要显示哪些控件,包括用户名、时间、会签意见等。
l 支持电子签章,可以将手写签名扫描成图片后设置成电子签章,签章时输入密码即可显示。
l 支持动态表格,可以设置每一列要显示的内容,然后在填写时可以动态增加或删除。可以设置最小和最大行数。
l 支持为控件设置计算公式,当某个控件的值发生变化时,其他相关控件自动发生变化。
l 支持直接编辑表单的HTML代码。
l 支持表单脚本的编写,当表单发生某些事件时可以执行相关脚本实现某些复杂的功能。
l 支持表单CSS样式的统一编辑。
l 支持表单打印样式的设置,实现打印格式与填写、查看时的格式独立。
l 支持表单数据源设置,可以从其他流程的表单中选择数据,也可以通过接口从第三方系统中选择数据。
通过流程设计器可以实现各项工作的流程设置,包括流程基本信息设置、流程图设置、步骤设置、表单设置、附件模板设置、正文套头模板设置、监控权限设置、归档设置等。
TaskFlow的流程设计器具有以下功能特点:
l 支持固定流和自由流,固定流必须事先设置好步骤,自由流则没有固定的步骤,而是在工作办理的过程中可以随意转交给任何一个人,直到有人选择结束。
l 一个流程可以支持多个表单,在办理时可以切换,以便分别查看和录入。
l 支持图形化的流程图设置,提供了开始、办理、判断、分支、聚合和结束等节点,可以拖拽连接节点。可以随时添加或删除节点及连接线。
l 流程的每一步都提供了丰富的配置参数,完全可以满足各行各业客户的绝大多数的工作办理需求,包括主办人类型、经办人权限、办理人数限制、办理顺序、转交方式、转交后跳转方式、退回权限、退回方式、修改权限、回收权限、附件操作权限、正文编辑权限、是否必须签收、是否允许填写办理意见、是否允许评论、是否允许催办、是否允许修改工作名称、是否允许协办、是否允许传阅、是否允许告知、是否允许挂起、是否允许终止、是否允许归档、是否允许打印、是否允许导出等。
l 流程的每一步都可以精确地设置有权限办理的人员,可以任意选择、由指定的扩展页面选择、通过SQL语句选择或通过各种预置的条件组合确定人员范围。系统提供了上百种人员选择条件。另外,还可以设置必须经办人、固定主办人、排除在外的办理人、可以预先设置的人员等更丰富的选项。
l 每一步可以设置具体可以访问哪个表单里的哪些输入项,哪些输入项是必填项,哪些是对当前步骤不可见的。
l 可以为指定步骤设置转交条件,系统提供了一个智能表达式设计器,将常用的运算符、判断符、条件符、函数、宏变量和表单输入项全部列出,用户不需要专业的计算机知识,点点鼠标就能设计出复杂的条件判断表达式。
l 每一步都支持办理时限设置,提供了多种计时方式和时长供选择,超时后可以发送提醒信息。
l 转交工作时默认只会提醒下一步,如果还需提醒其他步骤的人或在进行其他操作时也需要提醒,那么就可以手动设置提醒,系统支持转交提醒、退回提醒、催办提醒、委托提醒、传阅提醒、告知提醒、移交提醒等多种提醒类型,每一步可以添加多个提醒,每个提醒都可以设置接收人和提醒内容格式。
l 支持步骤扩展设置,当某一步在进行转交、退回、接收和收回等操作时,可以设置需要执行的扩展程序。可以选择我们为第三方IT厂商提供的系统对接扩展,例如在本平台内填写的采购申请在审批通过后,可以通过相应的扩展接口连接金蝶或用友的ERP系统自动生成该系统内的采购单。
在表单和流程设置好后,用户就可以在流程中心选择相关的流程创建申请,填写申请内容,然后按照设置好的步骤一步一步转交和审批了。如果流程比较多,可以对流程进行分类,以便按类别查找。每个类别和每个流程都可以设置访问权限,用户只能看到有权使用的流程。创建某个流程的工作申请时,工作编号、工作名称等基本信息可以手动输入,也可以自动生成。
工作转交后,下一步的办理人会收到相关提醒信息,支持手机APP、网页弹窗、短信等多种形式的提醒,点击提醒可以直接打开工作审批页面。在系统首页的待办工作列表或者流程中心的待办工作里也会看到该工作。打开该工作后即可查看该工作的详细信息,如果不同意可以退回,如果没问题就填写审批意见,然后继续一步步往下转交,直到结束。另外,根据管理员设置的权限,办理人还可以进行填写附加意见、上传或查看附件、传阅、打印、导出等操作。流程提交后可以追回,审批可选择同意、不同意、退回上一级。
为了方便单位领导或各项业务的主管部门主管了解相关工作的办理进度,管理员可以为这些领导设置相关流程的监控权限,这些领导就可以随时监控这些流程的办理情况,在出现问题或卡壳时能及时处理。监控权限分为查看、移交和代办三个级别,查看权限仅能看不能操作;移交是可以将当前办理权限授权给其他人;代办是指可以代替当前步骤的办理人进行办理。
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。