一种基于Activiti的业务流程管理方法与流程

文档序号:12596325阅读:1692来源:国知局
一种基于Activiti的业务流程管理方法与流程

本发明涉及通信技术领域,尤其涉及一种基于Activiti的业务流程管理方法。



背景技术:

互联网领域因其快速迭代的特性,在技术层面上最直接的痛点表现在:因频繁的业务变更,导致相关开发人员不断的调整代码内的业务逻辑。若将流程控制逻辑交由业务代码管理,无论是前期开发还是后期迭代,开发效率太慢。

Activiti系由Tom Bayen于2010年5月发布首版的Java工作流开源工具,其主要致力于对流程的管理,工作流是由若干活动任务组成的具有一定功能的任务扭转流,故其命名为Activity的复数Activities化简而得。适用业务主要包括:OA、CRM、ERP等系统。

将业务流程交由自身代码管理,开发成本高,后期的维护和迭代工作量大。甚至可能出现因耦合度太高,导致后期一个细小的调整,需要重新编写流程控制代码。要做到适应于频繁的业务变更,代价非常高。

现有的Activiti能够通过拖拽控件,绘制流程图,完成对流程的管理,但是不能够很好的解决因实际场景导致的业务变更的效率问题,但其只管理相关的流程,并不能对各种业务数据进行分类管理,不利于对业务数据进行分类管理,将业务数据和Activiti结合起来使用,已经有大量的案例,但其基本都是单一业务和Activiti结合使用,业务数量过多的情况下1:1的配置会大量的浪费资源。

因此,本领域技术人员亟需开发出一种能适应多条业务线、能够合理分类业务数据、有效管理、能将流程管理平台与业务服务以1:N模型配置、完成业务数据的分类管理的基于Activiti的业务流程管理方法。



技术实现要素:

本发明要解决的技术问题是提供一种基于Activiti的业务流程管理方法,该基于Activiti的业务流程管理方法能适应多条业务线、能够合理分类业务数据、有效管理、能将流程管理平台与业务服务以1:N模型配置、完成业务数据的分类管理。

为解决上述技术问题,本发明提供了一种基于Activiti的业务流程管理方法,提供业务数据模块、流程图处理模块、流程节点模块及流程管理模块,所述流程图处理模块包括流程图挂载单元,所述流层节点模块包括业务聚合单元及接口路由单元,所述流程管理模块包括业务分发单元及activiti挂载单元;该基于Activiti的业务流程管理方法包括以下步骤:

S1:用户根据实际业务,设计整体流程,绘制对应的业务流程图,所述业务数据模块判断用户是否提出新的业务需求,如果是,则执行步骤S2,如果否,则结束流程;

S2:所述流程图处理模块将对应的业务流程图上传到流程图存储模块,形成多种业务操作流程;

S3:所述业务数据模块根据对应的业务流程图指定任务节点的业务数据操作接口;

S4:通过直连和流程节点两种模式,将业务数据操作接口注册至对应的所述业务流程图中,实现流程和业务的关联,当为流程节点模式时,所述接口路由单元服务于定位到下游的服务,所述业务聚合单元将下游服务的业务数据操作接口输出成标准的格式与流程通信;

S5:所述流程图挂载单元将所述业务流程图挂载至activiti引擎单元,所述业务分发单元将流程存储模块里不同业务流程分发至对应的流程接口,通过一套管理平台管理多个业务下的对应的若干流程;

S6:流程运行模块根据业务数据操作接口的数据及流程图运行整个流程。

优选地,所述业务数据模块包括业务需求判断单元,所述步骤S1的实现步骤包括:用户根据实际业务,设计整体流程,绘制对应的业务流程图,所述业务需求判断单元判断用户是否提出新的业务需求,如果是,执行步骤S2,如果否,则结束流程。

优选地,所述流程图处理模块包括流程图上传单元,所述步骤S2的实现步骤包括:所述流程图上传单元将对应的业务流程图上传到流程图存储模块,形成多种业务操作流程。

优选地,所述业务数据模块包括业务需求发送单元,所述步骤S3的实现步骤包括:所述业务需求发送单元根据对应的业务流程图指定任务节点的业务数据操作接口,将对应的业务数据发送至对应的业务数据操作接口。

优选地,提供流程运行监控模块,所述基于Activiti的业务流程管理方法还包括步骤:

步骤S7:流程运行监控模块监控所述流程运行模块运行的业务流程是否需要调整,如果需要,则返回步骤S1,否则,结束流程。

优选地,所述流程图处理模块包括两种流程设计工具:

Activiti Modeler,面向用户人员,使用BPMN描述业务流程图;

Ecilipse Designer,设定ecilipse的插件,定制每个业务节点的属性。

优选地,所述流程图处理模块还包括流程图转换输出单元,所述业务数据模块还包括IdentityService接口,流程图转换输出单元将流程图上传单元上传的业务流程图转换成ACT_ID表格,所述IdentityService接口操控所述ACT_ID表格,在原有业务逻辑后面添加同步到Activiti的代码。

优选地,在所述ACT_ID表格中,对应的每一个业务对象添加PROCESS_INSTANCE_ID字段,通过PROCESS_INSTANCE_ID字段,查询流程实例ID,根据流程实例ID查询实体然后把流程对象设置到实体的一个属性中,所述流程数据处理模块将所述实体发送到流程运行前端。

优选地,所述业务数据模块还包括审批扩展单元,所述审批扩展单元指定实际用户,验证用户权限,在集成业务系统中对用户的流程权限进行监听,在所述ACT_ID表格中定义userTask_id,通过该userTask_id将通过的用户发送至流程节点模块,在对应的流程节点指定通过的用户及用户组,当流程执行到一个用户任务节点时,通过用户或者用户组在任务中指定的角色来创建一个新的用户任务。

采用了上述方法之后,用户根据实际业务,设计整体流程,绘制对应的业务流程图,所述业务数据模块判断用户是否提出新的业务需求,如果是,所述流程图处理模块将对应的业务流程图上传到流程图存储模块,形成多种业务操作流程;所述业务数据模块根据对应的业务流程图指定任务节点的业务数据操作接口;通过直连和流程节点两种模式,将业务数据操作接口注册至对应的所述业务流程图中,实现流程和业务的关联,当为流程节点模式时,所述接口路由单元服务于定位到下游的服务,所述业务聚合单元将下游服务的业务数据操作接口输出成标准的格式与流程通信;所述流程图挂载单元将所述业务流程图挂载至activiti引擎单元,所述业务分发单元将流程存储模块里不同业务流程分发至对应的流程接口,通过一套管理平台管理多个业务下的对应的若干流程,流程运行模块根据业务数据操作接口的数据及流程图运行整个流程,如果否,则结束流程,该基于Activiti的业务流程管理方法能适应多条业务线、能够合理分类业务数据、有效管理、能将流程管理平台与业务服务以1:N模型配置、完成业务数据的分类管理。

附图说明

图1是本发明的一种基于Activiti的业务流程管理方法的实现流程图;

图2是与图1的步骤流程图对应的整体模型示意图;

图3是与图1的步骤流程图对应的业务线、业务流程及接口服务的实施例示意图

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用于解释本发明,并不用于限定本发明。

实施例1

请参阅图1至图2,图1是本发明的一种基于Activiti的业务流程管理方法的实现流程图;图2是与图1的步骤流程图对应的整体模型示意图。

本发明公开了一种基于Activiti的业务流程管理方法,包括以下步骤:

提供业务数据模块、流程图处理模块、流程节点模块及流程管理模块,所述流程图处理模块包括流程图挂载单元,所述流层节点模块包括业务聚合单元及接口路由单元,所述流程管理模块包括业务分发单元及activiti挂载单元;

S1:用户根据实际业务,设计整体流程,绘制对应的业务流程图,所述业务数据模块判断用户是否提出新的业务需求,如果是,则执行步骤S2,如果否,则结束流程;

S2:所述流程图处理模块将对应的业务流程图上传到流程图存储模块,形成多种业务操作流程;

S3:所述业务数据模块根据对应的业务流程图指定任务节点的业务数据操作接口;

S4:通过直连和流程节点两种模式,将业务数据操作接口注册至对应的所述业务流程图中,实现流程和业务的关联,当为流程节点模式时,所述接口路由单元服务于定位到下游的服务,所述业务聚合单元将下游服务的业务数据操作接口输出成标准的格式与流程通信;

S5:所述流程图挂载单元将所述业务流程图挂载至activiti引擎单元,所述业务分发单元将流程存储模块里不同业务流程分发至对应的流程接口,通过一套管理平台管理多个业务下的对应的若干流程

S6:流程运行模块根据业务数据操作接口的数据及流程图运行整个流程。

在本实施例中,优选的所述业务数据模块还包括业务需求判断单元,所述步骤S1的实现步骤包括:用户根据实际业务,设计整体流程,绘制对应的业务流程图,所述业务需求判断单元判断用户是否提出新的业务需求,如果是,执行步骤S2,如果否,则结束流程。

在本实施例中,优选的所述流程图处理模块还包括流程图上传单元,所述步骤S2的实现步骤包括:所述流程图上传单元将对应的业务流程图上传到流程图存储模块,形成多种业务操作流程。

在本实施例中,优选的所述业务数据模块包括业务需求发送单元,所述步骤S3的实现步骤包括:所述业务需求发送单元根据对应的业务流程图指定任务节点的业务数据操作接口,将对应的业务数据发送至对应的业务数据操作接口。

在本实施例,提供流程运行监控模块,优选的所述基于Activiti的业务流程管理方法还包括步骤:

步骤S7:流程运行监控模块监控所述流程运行模块运行的业务流程是否需要调整,如果需要,则返回步骤S1,否则,结束流程。

所述流程图处理模块包括两种流程设计工具:

Activiti Modeler,面向用户人员,使用BPMN描述业务流程图;

Ecilipse Designer,设定ecilipse的插件,定制每个业务节点的属性。

在本实施例中,优选的所述流程图处理模块还包括流程图转换输出单元,所述业务数据模块还包括IdentityService接口,流程图转换输出单元将流程图上传单元上传的业务流程图转换成ACT_ID表格,所述IdentityService接口操控所述ACT_ID表格,在原有业务逻辑后面添加同步到Activiti的代码。

在本实施例中,在所述ACT_ID表格中,对应的每一个业务对象添加PROCESS_INSTANCE_ID字段,通过PROCESS_INSTANCE_ID字段,查询流程实例ID,根据流程实例ID查询实体然后把流程对象设置到实体的一个属性中,所述流程数据处理模块将所述实体发送到流程运行前端。

所述业务数据模块还包括审批扩展单元,所述审批扩展单元指定实际用户,验证用户权限,在集成业务系统中对用户的流程权限进行监听,在所述ACT_ID表格中定义userTask_id,通过该userTask_id将通过的用户发送至流程节点模块,在对应的流程节点指定通过的用户及用户组,当流程执行到一个用户任务节点时,通过用户或者用户组在任务中指定的角色来创建一个新的用户任务。

请参阅图3,图3是与图1的步骤流程图对应的业务线、业务流程及接口服务的实施例示意图,

在本实施例中,优选的有A、B两条业务线。因业务A和业务B有一定的耦合,根据实际场景,业务A需要拆分成两个流程A1、A2,由于A、B业务中存在一定关联,在业务A中需要更新部分业务B的业务数据。流程A2即对A、B之间的业务数据做一次聚合操作。

实现过程中,先独立完成流程图A1、A2、B和业务数据操作接口A、B、C,此时,流程图之间相互独立,接口之间也相互独立,各模块之间实现解耦,流程管理平台为所述流程管理模块,所述流程管理模块包括业务分发单元及activiti挂载单元,通过activiti实现对业务流程的管控,通过业务分发单元实现1:N模型,业务分发单元的下游分为两种:第一,直接对接接口;第二对接不同业务的流程节点。所述业务分发单元将流程存储模块里不同业务流程分发至对应的流程接口,通过一套管理平台管理多个业务下的对应的若干流程,在注册的业务接口中,快速定位到需要调用的业务。

所述流层节点模块包括业务聚合单元及接口路由单元,所述流程节点模块是对业务接口层的一次聚合,因业务流程图中某个节点的业务数据比较复杂,需要涉及到多个业务的数据管理,若交由流程与多个业务接口对接不利于对接口的管理,流程节点属于流程和业务的中间层,只需要按标准的输入输出与上游的流程交互,下游可以无限的挂载新接口到流程节点上,加强了整个系统的扩展性,流程节点分为路由和聚合两部分,路由服务于定位到下游的服务,聚合即将下游服务的调用接口输出成标准的格式与流程通信。

图3中:流程A2需要调用两个业务接口调整业务数据,故引入流程节点,分别调用业务数据操作接口B、业务数据操作接口C,若业务有变更,需要第三个接口接入,则只需向流程节点上再挂载另一个业务数据操作接口即可,无需对流程图进行修改,扩张非常灵活。

版本迭代分三种情况:改流程、改业务、流程业务都需要改,因流程和业务分离,所以在只需要改流程的情况下,对流程图进行升级即可,无需关心业务接口是否要升级,同理,业务接口的更新也不影响流程,若在业务设计之初就存在比较大的漏洞,业务和流程都需重新升级,则按照新流程的设计模式,对接口和流程分别进行升级即可,因为实现了解耦,故无需担心版本迭代所造成的关联性异常,可以快速的完成版本迭代。

采用了上述方法之后,用户根据实际业务,设计整体流程,绘制对应的业务流程图,所述业务数据模块判断用户是否提出新的业务需求,如果是,所述流程图处理模块将对应的业务流程图上传到流程图存储模块,形成多种业务操作流程;所述业务数据模块根据对应的业务流程图指定任务节点的业务数据操作接口;通过直连和流程节点两种模式,将业务数据操作接口注册至对应的所述业务流程图中,实现流程和业务的关联,当为流程节点模式时,所述接口路由单元服务于定位到下游的服务,所述业务聚合单元将下游服务的业务数据操作接口输出成标准的格式与流程通信;所述流程图挂载单元将所述业务流程图挂载至activiti引擎单元,所述业务分发单元将流程存储模块里不同业务流程分发至对应的流程接口,通过一套管理平台管理多个业务下的对应的若干流程,流程运行模块根据业务数据操作接口的数据及流程图运行整个流程,如果否,则结束流程,该基于Activiti的业务流程管理方法能适应多条业务线、能够合理分类业务数据、有效管理、能将流程管理平台与业务服务以1:N模型配置、完成业务数据的分类管理。

同时,应当理解的是,以上仅为本发明的优选实施例,不能因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效实现方法,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1