认识Activiti

简介: 工作流指如请假、出差、报销等需审批的业务流程,通过可视化流程引擎实现自动化管理。它支持单/多节点审批,广泛应用于CRM、TMS、WMS等系统。主流技术包括BPMN、Activiti、Flowable等,推动了泛微、用友、金蝶等企业的发展。

什么是工作流

类似如请假、离职、出差、报销这种有审批流程的业务,我们都可以称之为工作流(也叫流程引擎),它可以帮助用户实现一个审批流程的可视化,借助于工作流引擎可以搭建客户关系管理系统(CRM)、运输管理系统(TMS)、仓储管理系统(WMS)、财务费用系统等多种复杂业务系统。其实现基本形如下图:

请假流程示例:

出差流程示例:

为了满足这种复杂的单节点审批、多节点审批[一个人审批通过即可、多人必须同时审批通过]业务场景,我们不能借助于传统关系型数据库实现,更无法简单的借助于状态机就实现,此时工作流引擎应运而生。

工作流引擎从笔者最早的BPMN发展到Activity,再到国内自主研发的FlowAble、NatureFlow等,随着技术的更新换代,也衍生出:泛微金蝶用友等一大批优秀企业。

2 主流技术选型

bpmn:(Business Process Model And Notation),最为传统的工作流典范

activiti:以java为中心的开源BPMN引擎,支持现实世界的流程自动化需求

flowable使用 Java 编写的轻量级业务流程引擎,是activiti核心开发人员离职后二次开发出的框架。

3 Activiti流程概述

相关文章
|
2月前
|
消息中间件 Java Nacos
SpringCloud概述
Spring Cloud是微服务的统一解决方案,具备注解驱动、开箱即用、组件丰富等特点,通过版本命名规范整合多子项目。Spring Cloud Alibaba融合Nacos、Sentinel、Seata等阿里开源组件,成为主流技术栈选择。
|
2月前
|
存储 Java 关系型数据库
微服务概述
本文介绍单体架构与微服务架构的区别,阐述微服务的定义、核心特征及优缺点,涵盖技术选型、部署方案与常见问题,帮助读者理解微服务演进逻辑,为后续实践打下理论基础。(238字)
|
2月前
|
XML JSON Java
什么是RESTful
RESTful是一种基于资源的API设计规范,强调URI代表资源、使用HTTP动词进行操作,实现统一标准、结构清晰、易于维护的接口风格,解决传统接口行为不规范问题。
|
2月前
|
消息中间件 Java 数据安全/隐私保护
异步消息组件MQ基础
本文介绍了MQ(消息队列)的基本概念,重点对比了同步调用与异步调用的区别,通过生活实例帮助理解。异步调用通过消息中间件实现解耦、异步处理和流量削峰,提升系统性能。常见的MQ如RabbitMQ、Kafka等适用于高并发场景。RabbitMQ基于AMQP协议,支持多语言,结合SpringAMQP可轻松实现消息收发。文章还演示了RabbitMQ的安装、配置、数据隔离及工作队列模型,强调“能者多劳”机制以优化消费效率。
异步消息组件MQ基础
|
2月前
|
负载均衡 Java 应用服务中间件
微服务网关与配置中心
本文介绍了微服务架构下的网关路由与鉴权机制,重点讲解使用Spring Cloud Gateway实现请求路由、负载均衡及JWT身份校验。通过Nacos实现服务发现,网关统一处理前端请求,解决多入口问题,并在全局过滤器中实现用户鉴权,保障系统安全。
|
2月前
|
Java 数据库 微服务
微服务服务注册与发现
本文介绍了微服务架构的演进与实践。针对单体架构在团队协作、发布效率、扩展性等方面的局限,微服务通过将系统拆分为多个独立部署、单一职责的小型服务,实现高内聚、低耦合,提升系统的可维护性与伸缩能力。结合Spring Cloud与Spring Cloud Alibaba技术栈,文章以黑马商城项目为例,演示了如何创建微服务工程、进行服务拆分,并使用RestTemplate实现服务间远程调用,帮助开发者掌握微服务核心开发技能。
微服务服务注册与发现
|
2月前
|
负载均衡 Java 数据安全/隐私保护
Gateway服务网关
网关是微服务架构的统一入口,核心功能包括请求路由、权限控制、限流及负载均衡。通过Spring Cloud Gateway可实现高效路由转发与过滤器处理,支持跨域配置,提升系统安全与性能。
Gateway服务网关
|
2月前
|
JSON Java API
Feign远程调用
本文介绍了如何使用Feign替代RestTemplate实现微服务间的HTTP调用,涵盖依赖引入、注解配置、自定义日志、连接池优化及代码抽取等实践。通过Feign可简化远程调用,提升开发效率,并结合最佳实践实现代码复用与解耦。
|
2月前
|
负载均衡 算法 架构师
Ribbon负载均衡
负载均衡是高并发系统中的关键技术,通过将流量分摊至多台服务器,提升系统性能与可用性。本文详解负载均衡概念、分类(硬件/软件)、常用算法及Ribbon的实现原理,涵盖自定义策略与饥饿加载优化,帮助读者深入理解客户端负载均衡机制。
|
2月前
|
Java Maven Nacos
Eureka服务注册与发现
本文详细介绍Eureka工程的搭建与部署,包括服务注册中心的创建、user-service和order-service接入流程,并实现多实例部署。通过配置说明与常见问题解决方案,帮助开发者快速掌握SpringCloud服务注册与发现机制,为后续微服务架构演进奠定基础。(239字)