本发明专利技术涉及流程引擎平台化触发方法,应用于流程引擎平台与业务系统之间,包括:业务系统接收数据请求,对符合预设条件的数据请求生成相应的唯一编码,并将该数据请求发送至流程引擎平台中的数据库保存;流程引擎平台根据数据请求中的执行特性将该数据请求分配至相应的流程节点并创建环节事件;流程引擎平台直接执行或通过API接口执行与该环节事件对应的触发器,以使该触发器发送通知至流程节点所对应的用户;流程引擎平台具有API接口,业务系统中设有与流程引擎平台的API接口通信的基于SOA的API接口。本发明专利技术不依赖消息平台,增强了系统的稳定性。业务逻辑和消息格式可根据自己的实际业务进行定义,不用和流程引擎平台事先协商。
【技术实现步骤摘要】
本专利技术涉及流程引擎平台化触发方法。
技术介绍
业务建模是以软件模型方式描述企业管理和业务所涉及的对象和要素、以及它们的属性、行为和彼此关系,其目的是为了更好的展现、分析、规划、涉及企业的业务流程,以及涉及和构架企业请求系统。流程引擎是系统中业务实现的强大逻辑层,不仅本身运行机制逻辑复杂,还有保障业务逻辑和自身逻辑系统工作,数据一致。因此必须寻求一致方式,来保证数据的完整性和一致性。在分布式的架构中,流程引擎和业务系统是分离构建。但流程的处理往往又是和业务逻辑紧密结合的,例如订单审核通过后,需要短信通知下单人等业务需求。这类需求的共同特点就是业务方需要流程引擎在特定事件发生时,触发特定的业务操作。如果引擎和业务系统耦合则不存在实现问题,但如果引擎是平台化的,与业务系统分离构建,在现有技术中是采用发生消息通知业务系统的方式作为联系业务系统和流程引擎的桥梁。但是这种做法需要依赖消息平台,当事件发生时发送消息到业务系统,业务系统根据分析消息内容,判断要执行相应业务操作,所带来的缺陷是其稳定性取决于消息平台的稳定性,消息格式需要与流程
引擎平台协商事先约定,扩展性不强;如果愿意系统出气并未平台化,后期业务扩展,需要改造成平台化会很复杂;业务系统需要增加消息响应机制。
技术实现思路
针对上述技术问题,本专利技术的目的在于提供一种流程引擎平台化触发方法,其不依赖消息平台,扩展性强。为实现上述目的,本专利技术采用如下技术方案:流程引擎平台化触发方法,应用于流程引擎平台与业务系统之间,包括如下步骤:步骤一:业务系统接收数据请求,对符合预设条件的数据请求生成相应的唯一编码,并将该数据请求发送至流程引擎平台中的数据库保存;步骤二:流程引擎平台根据数据请求中的执行特性将该数据请求分配至相应的流程节点并创建环节事件;步骤三:流程引擎平台直接执行或通过API接口执行与该环节事件对应的触发器,以使该触发器发送通知至流程节点所对应的用户;其中,流程引擎平台具有API接口,业务系统中设有与流程引擎平台的API接口通信的基于SOA的API接口。优选的,所述步骤一具体包括如下子步骤:步骤11:业务系统接收数据请求,判断该数据请求是否符合预设条件,若是,执行步骤12,否则,将该数据请求退回至提出数据
请求的发起方;步骤12:将该数据请求生成相应的唯一编码,并将该数据请求发送至流程引擎平台中的数据库保存。优选的,步骤三中,当与环节事件对应的触发器设于流程引擎平台中,流程引擎平台直接执行该触发器;当与环节事件对应的触发器设于业务系统中,流程引擎平台通过API接口执行该触发器。优选的,所述步骤三中“通过API接口执行与该环节事件对应的触发器”具体包括如下子步骤:步骤a:流程引擎平台获取与该环节事件对应的触发器的名称,对该名称进行封装得到基于SOA的函数返回值;步骤b:将封装好的基于SOA的函数返回值通过API接口返回至业务系统中;步骤c:业务系统根据该基于SOA的函数返回值直接执行与环节事件对应的触发器,以使该触发器发送通知至流程节点所对应的用户。优选的,所述触发器的名称为class全路径名称。优选的,所述触发器的名称为spring的beanID。相比现有技术,本专利技术的有益效果在于:本专利技术不依赖消息平台,增强了系统的稳定性。业务逻辑和消息格式可根据自己的实际业务进行定义,不用和流程引擎平台事先协商。附图说明图1为本专利技术的流程引擎平台化触发方法的流程图。具体实施方式下面,结合附图以及具体实施方式,对本专利技术做进一步描述:流程引擎作为应用系统的一部分,并为之提供对各应用系统有决定作用的、并根据角色、分工和条件的不同信息传递路由、内容等级等核心解决方案。工作流引擎包括了流程的节点里、流向管理、时限管理等重要功能,是系统中业务实现的强大逻辑层。API是应用程序编程接口,是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。SOA为面向服务的体系结构,是一个组件模型,它将应用程序的不同功能单一(称为服务)通过这些服务之间定义良好的接口和契约关系联系起来,接口是采用中立的方式定义的,它应该独立于实现服务的硬件平台、操作系统和编程语音,使得构建在各种各样的系统中服务可以使用一种统一和通用的方式进行交互。参见图1,本专利技术提供一种流程引擎平台化触发方法,通过设置编码器解决以往需要依赖消息平台将流程引擎平台与业务系统联系起来的缺陷,编码器实际是编程好的处理程序语言,可以分为本地触发器和远程触发器,其包括如下步骤:步骤S1:业务系统接收数据请求,对符合预设条件的数据请求
生成相应的唯一编码,并将该数据请求发送至流程引擎平台中的数据库保存;本步骤属于业务处理,将本次数据请求进行保存,该保存包括缓存,用于后续阶段失败时该数据请求还原操作使用。在数据库都持久化了每个数据请求的唯一编码,使得数据不会因并发导致还原错误。对于步骤S1,可具体分为如下步骤:步骤11:接收数据请求,判断该数据请求是否符合预设条件,若是,执行步骤12,否则,将该数据请求退回至提出数据请求的发起方;发起方提出数据请求,系统接到数据请求之后进行判断是否符合预设条件;步骤12:将该数据请求生成相应的唯一编码,并将该数据请求保存至数据库中。通过生成唯一编码,让系统可以快速判断并避免同时操作同一流程。步骤S2:流程引擎平台根据数据请求中的执行特性将该数据请求分配至相应的流程节点并创建环节事件;流程引擎平台内有业务相关代码和页面,例如,发起的数据请求为请假,发起方通过业务系统创建数据请求,业务系统会发送给流程引擎平台处理。而发起方申请请假,包括了执行特性,如请假一天,该天数即是执行特性。发起方发起请假一天的请求,首先判断该发起方还是否有年假,如果有才执行下一步流程,如果没有,就直接退回至发起方,这里的是否还有年假就是判断是否符合预设条件,假如年假足够时(足够年
假即为预设条件),在流程引擎平台内预设的请假业务代码为请假大于一天时分配至经理审核的流程节点,当请假天数等于一天或一天之内的分配至主管审核的流程节点,因而在本举例中,将数据请求分配至主管审核的流程节点,并创建环节事件。步骤S3:流程引擎平台直接执行或通过API接口执行与该环节事件对应的触发器,以使该触发器发送通知至流程节点所对应的用户;其中,流程引擎平台具有API接口,业务系统中设有与流程引擎平台的API接口通信的基于SOA的API接口。在步骤S3中,分两种情况。第一种情况,当与环节事件对应的触发器设于流程引擎平台中,流程引擎平台直接执行该触发器;这种情况属于集成部署方式,也就是业务系统中的业务代码和流程引擎平台的核心代码放在一个WEB服务器中,此时该触发器即是本地触发器,此时,当发起方的数据请求进入至主管审核的流程节点,由于该触发器的代码和流程引擎平台的核心代码都在WEB服务器中,可直接运行,因此流程引擎平台只需获取触发器的名称就可直接执行该触发器。第二种情况,当与环节事件对应的触发器设于业务系统中,流程引擎平台通过API接口执行该触发器。这种情况下属于分布式方式部署,也就是说,业务系统的业务代码和流程引擎平台的核心代码分别处于不同的本文档来自技高网...
【技术保护点】
流程引擎平台化触发方法,应用于流程引擎平台与业务系统之间,其特征在于,包括如下步骤:步骤一:业务系统接收数据请求,对符合预设条件的数据请求生成相应的唯一编码,并将该数据请求发送至流程引擎平台中的数据库保存;步骤二:流程引擎平台根据数据请求中的执行特性将该数据请求分配至相应的流程节点并创建环节事件;步骤三:流程引擎平台直接执行或通过API接口执行与该环节事件对应的触发器,以使该触发器发送通知至流程节点所对应的用户;其中,流程引擎平台具有API接口,业务系统中设有与流程引擎平台的API接口通信的基于SOA的API接口。
【技术特征摘要】
1.流程引擎平台化触发方法,应用于流程引擎平台与业务系统之间,其特征在于,包括如下步骤:步骤一:业务系统接收数据请求,对符合预设条件的数据请求生成相应的唯一编码,并将该数据请求发送至流程引擎平台中的数据库保存;步骤二:流程引擎平台根据数据请求中的执行特性将该数据请求分配至相应的流程节点并创建环节事件;步骤三:流程引擎平台直接执行或通过API接口执行与该环节事件对应的触发器,以使该触发器发送通知至流程节点所对应的用户;其中,流程引擎平台具有API接口,业务系统中设有与流程引擎平台的API接口通信的基于SOA的API接口。2.如权利要求1所述的流程引擎平台化触发方法,其特征在于,所述步骤一具体包括如下子步骤:步骤11:业务系统接收数据请求,判断该数据请求是否符合预设条件,若是,执行步骤12,否则,将该数据请求退回至提出数据请求的发起方;步骤12:将该数据请求生成相应的唯一编码,并将该数据请求发送至流程引擎平台中的数据库保存。3.如权利...
【专利技术属性】
技术研发人员:杨学刚,杨志成,曹雄,朱江,凌宏喜,樊冠群,任占山,
申请(专利权)人:广东凯通软件开发有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。