基于微服务的流程管理系统设计
微服务网关设计摘要:项目基于分布式服务系统架构,结合工作流引擎和表单设计器等中间件技术,设计通用的流程框架,实现业务建模、流程设计、界面设计、部署执行、流程监控的全闭环式流程生命周期管理。
关键词:流程引擎;自定义表单;分布式服务
1 引言
目前工作流引擎广泛应用于人事管理、行政管理、财务管理、营销管理、质量管理等领域,企业在业务开展过程中,涉及大量的流程管理,且随着业务的变化而变化。为提高企业对业务流程的高效管理,本文设计了一套基于微服务的流程管理系统,提高流程管理的灵活性,实现全闭环式的流程生命周期管理。
2 系统总体设计
项目基于分布式服务框架,实现系统认证授权、流程管理等基本功能;实现服务的注册和发现
、动态配置、服务监听、流量控制、服务熔断降级等服务治理功能。基于流程引擎Flowable实现流程的设计和部署,基于表单设计器Form Generator实现业务的自定义建模,最终实现基于微服务的流程管理系统设计。
2.1 分布式服务框架
图1 系统架构图
∙网关(Gateway):分布式服务网关是一个服务器,是系统的唯一入,负责请求路由、流量控制、负载均衡、静态响应处理等功能。本文中使用网关主要实现聚合接口使得服务对调用者透明,客户端与后端的耦合度降低;聚合后台服务,节省流量,提高性能,提升用户体验;提供安全、流控、过滤、缓存、监控等API管理功能
∙注册中心(Nacos):分布式服务的动态管理中心。主要实现动态服务发现、统一的配置管理和服务管理平台。
∙流量控制(Sentinel):监控应用流量的QPS或并发线程数等指标,当达到指定的阈值时对流量进行控制,以避免被瞬时的流量高峰冲垮,从而保障应用的高可用性。
∙认证中心:用户认证授权中心,基于RBAC实现用户角权限管理。
∙分布式服务:搭建分布式服务集,实现系统管理服务、业务建模服务、流程管理服务等。
2.2 工作流引擎
项目系统性梳理、设计、编制和管理企业流程架构,为实现分层分级结构化、可视化的呈现
流程全景,采用Flowable流程组件(Java编写的轻量级业务流程引擎),提供一组紧凑且高效的开源业务流程引擎核心,包括流程引擎ProcessEngine、内容引擎ContentEngine、身份识别引擎IdmEngine、表单引擎FormEngine、决策引擎DmnEngine五大引擎。其中流程引擎是支持配置业务流转过程的核心模块。支持 BPMN 2.0 行业标准,同时提供了自定义的 BPMN 扩展可选用,允许通过通过前端可视化界面或导入 XML 文件建立流程。业务流程引擎支持的流程元素:
∙事件:事件通常用于为流程生命周期中发生的事情建模。在BPMN 2.0 中,有两种主要的事件分类:捕获与抛出事件。具体事件包括定时器事件、启动事件、结束事件、消息事件、信号事件、边界事件等丰富类型。
∙顺序流:顺序流是流程中两个元素间的连接器。在流程执行过程中,一个元素被访问后,会沿着其所有出口顺序流继续执行。
∙网关:网关用于控制执行的流向。包括排他网关、并行网关、包容网关、基于事件的网关。
∙任务:支持多种任务类型。主要包括用户任务、自动任务、脚本任务、Web 服务任务、Shell 任务、Java 服务任务、执行、任务等。
∙子流程与调用活动:子流程是包含其他的活动、网关、事件等的活动。其本身构成一个流程,并作为更大流程的一部分。子流程完全在父流程中定义(所以也称作嵌入式子流程)。在复杂流程流转的场景下中子流程较为多见,使用这一特性可以比较灵活地维护包含子流程的审批路径。
2.3 自定义表单设计器
为快速实现功能业务的配置,本文采用Form Generator作为可视化表单设计器,赋能企业实现低代码开发模式。主要实现通过可视化的操作,快速完成表单页面的创建;提供自定义区域和自定义样式扩展,简单方便的自定义自己的表单;通过栅格进行表单布局,可以嵌套使用,基本可覆盖复杂的表单布局场景。同时组件提供了数量丰富的API接口,可在原有功能上任意扩展,并可嵌入主流浏览器和各类终端设备,实现版本管理、企业级数据大屏、自定义可视化组件等多场景需要。
3 系统应用
通用流程管理系统主要实现流程的可视化管理,包括业务模型设计、流程设计、流程实例监控、任务管理等流程管理功能。
3.1 业务建模
系统基于自定义表单设计器,支持组件和模板的定制化设计,便于用户通过“拖拉拽”的方式快速构建业务模型,提高流程内容的灵活性和通用性。
3.2 流程设计
系统使用流程引擎将工作流各个阶段需要的功能实现模块化和流程化,不仅能快速构建审批流程、任务申请、报销审核等应用,还拥有强大的自定义功能,可根据业务需求自定义流程节点和流向模块,实现快速灵活的工作流应用。
系统提供强大的流程控制能力,如流程分支、并发、循环、子流程、同步、异步、多工作流、静态活动等,可以任意定义条件、定义流程节点功能。提供完整多样的活动环节,满足不同场景的流程需求。支持审批流程的移动审批、提醒督办、流程监控等功能,并实现流程归档。
3.3 流程监控
基于流程引擎强大服务接口能力,实现流程的全闭环式生命周期管理。系统提供流程图可以直观的查看流程的进展,针对流程的每一个节点,可以查看节点的详细信息,并支持节点的预警功能。
4 结语
针对企业在不同业务场景中对流程管理的定制化需求、统一管理需求等业务痛点,本文基于主流的分布式服务框架,结合工作流引擎和表单设计器等中间件技术,设计了通用流程管理系统,实现了高效快速的构建业务模型、简单灵活的设计业务流程、实时准确的监控流程进度;同时,支持流程组件功能的自定义扩展,满足企业对流程管理的需求。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论