流程中台

流程引擎服务

流程引擎服务主要是对主体的流程引擎框架(比如,Activiti、Flowable)进行包装,并对外提供有限的流程服务,防止不安全的操作发生。一个完整的流程引擎服务至少要包含基本的流程操作:

  1. 流程定义API,调用流程引擎部署、查询、挂起、激活流程定义

  2. 流程实例API,调用流程引擎拉起、挂起、激活、查询、删除运行中的流程实例

  3. 流程历史API,调用流程引擎查询已经结束的流程实例信息,包含一些其他查询条件,比如责任人等

  4. 流程任务API,调用流程引擎针对流程的任务进行查询、完成、交接等操作

  5. BPMN API,屏蔽BPMN图的细节,使用自设计的图行完成流程图的填充。(为了降低流程中台的使用难度,并且可以根据需要做更贴合的定制)

此外,流程引擎为了在流程处理时,通知客户端相应的事件,又定义了一些MQ通知,客户端服务只需要订阅指定的Topic,即可接收到流程处理的一些事件以及信息,消息的类型大致分为以下几种,可对其扩展:

  1. 全局消息

  2. 节点状态消息

  3. 流程状态消息

项目的结构设计

项目使用传统的Maven多模块的MVC结构,结构如下:

service-eirene
    service-eirene-api 所有接口的定义,会提供给其他项目依赖并通过rpc调用使用
    service-eirene-biz service层、dao层,主要是业务逻辑
    service-eirene-common 主要是当前服务的所有配置以及常量等信息
    service-eirene-server controller层,以及服务启动入口,依赖了其他所有模块

流程中台服务

业务端服务

最后更新于