CN105893055A - 流程引擎平台化触发方法 - Google Patents

流程引擎平台化触发方法 Download PDF

Info

Publication number
CN105893055A
CN105893055A CN201610261402.6A CN201610261402A CN105893055A CN 105893055 A CN105893055 A CN 105893055A CN 201610261402 A CN201610261402 A CN 201610261402A CN 105893055 A CN105893055 A CN 105893055A
Authority
CN
China
Prior art keywords
platform
data
trigger
flow engine
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610261402.6A
Other languages
English (en)
Other versions
CN105893055B (zh
Inventor
杨学刚
杨志成
曹雄
朱江
凌宏喜
樊冠群
任占山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GUANGDONG KAITONG SOFTWARE DEVELOPMENT Co Ltd
Original Assignee
GUANGDONG KAITONG SOFTWARE DEVELOPMENT Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by GUANGDONG KAITONG SOFTWARE DEVELOPMENT Co Ltd filed Critical GUANGDONG KAITONG SOFTWARE DEVELOPMENT Co Ltd
Priority to CN201610261402.6A priority Critical patent/CN105893055B/zh
Publication of CN105893055A publication Critical patent/CN105893055A/zh
Application granted granted Critical
Publication of CN105893055B publication Critical patent/CN105893055B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/22Procedural
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code

Abstract

本发明涉及流程引擎平台化触发方法,应用于流程引擎平台与业务系统之间,包括:业务系统接收数据请求,对符合预设条件的数据请求生成相应的唯一编码,并将该数据请求发送至流程引擎平台中的数据库保存;流程引擎平台根据数据请求中的执行特性将该数据请求分配至相应的流程节点并创建环节事件;流程引擎平台直接执行或通过API接口执行与该环节事件对应的触发器,以使该触发器发送通知至流程节点所对应的用户;流程引擎平台具有API接口,业务系统中设有与流程引擎平台的API接口通信的基于SOA的API接口。本发明不依赖消息平台,增强了系统的稳定性。业务逻辑和消息格式可根据自己的实际业务进行定义,不用和流程引擎平台事先协商。

Description

流程引擎平台化触发方法
技术领域
本发明涉及流程引擎平台化触发方法。
背景技术
业务建模是以软件模型方式描述企业管理和业务所涉及的对象和要素、以及它们的属性、行为和彼此关系,其目的是为了更好的展现、分析、规划、涉及企业的业务流程,以及涉及和构架企业请求系统。
流程引擎是系统中业务实现的强大逻辑层,不仅本身运行机制逻辑复杂,还有保障业务逻辑和自身逻辑系统工作,数据一致。因此必须寻求一致方式,来保证数据的完整性和一致性。在分布式的架构中,流程引擎和业务系统是分离构建。但流程的处理往往又是和业务逻辑紧密结合的,例如订单审核通过后,需要短信通知下单人等业务需求。这类需求的共同特点就是业务方需要流程引擎在特定事件发生时,触发特定的业务操作。如果引擎和业务系统耦合则不存在实现问题,但如果引擎是平台化的,与业务系统分离构建,在现有技术中是采用发生消息通知业务系统的方式作为联系业务系统和流程引擎的桥梁。
但是这种做法需要依赖消息平台,当事件发生时发送消息到业务系统,业务系统根据分析消息内容,判断要执行相应业务操作,所带来的缺陷是其稳定性取决于消息平台的稳定性,消息格式需要与流程引擎平台协商事先约定,扩展性不强;如果愿意系统出气并未平台化,后期业务扩展,需要改造成平台化会很复杂;业务系统需要增加消息响应机制。
发明内容
针对上述技术问题,本发明的目的在于提供一种流程引擎平台化触发方法,其不依赖消息平台,扩展性强。
为实现上述目的,本发明采用如下技术方案:
流程引擎平台化触发方法,应用于流程引擎平台与业务系统之间,包括如下步骤:
步骤一:业务系统接收数据请求,对符合预设条件的数据请求生成相应的唯一编码,并将该数据请求发送至流程引擎平台中的数据库保存;
步骤二:流程引擎平台根据数据请求中的执行特性将该数据请求分配至相应的流程节点并创建环节事件;
步骤三:流程引擎平台直接执行或通过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接口执行该触发器。这种情况下属于分布式方式部署,也就是说,业务系统的业务代码和流程引擎平台的核心代码分别处于不同的WEB处理器。由于触发器的代码和流程引擎平台的核心代码是分开部署,流程引擎平台只有定义信息,不可以直接运行,因此流程引擎平台获取与该环节事件对应的触发器的名称,对该名称进行封装得到基于SOA的函数返回值,通过API接口将该封装好的基于SOA的函数返回值返回至业务系统中,在业务系统中的SOA架构为流程引擎SOA,因而该流程引擎SOA拿到返回值时可直接执行该触发器,达到了流程在流程引擎平台流转,而触发器在业务系统执行的目的,这种触发器也就是远程触发器。
执行触发器后,可发送通知至对应流程节点的用户,提醒该用户对数据请求进行处理。
流程引擎平台的API接口和业务系统中基于SOA的API接口为统一接口,通过Spring的接口注入机制,统一核心接口实现两套,分别是上述的两个接口。方便系统实施部署时可做到嵌入式(集成式)部署和分布式平台部署灵活切换,只需要放入对应实现的封装好的jar机壳,同时,也可以简化开发环境的搭建,使得开发环境简洁,无需因为现场是分布式平台部署,开发人员就必须搭建分布式平台部署的开发环境才能开发。由于两种部署方式都是API兼容的,因此可以在嵌入式部署的简单开发环境下开发流程,直接可将开发好的流程代码升级到现场分布式平台部署正式运营环境中运行。
触发器的名称为class全路径名称或spring的beanID,这种名称简单,同时可支持spring框架和非spring框架开发,无线另外一套唯一标示规则,就能达到编码唯一。
对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。

Claims (6)

1.流程引擎平台化触发方法,应用于流程引擎平台与业务系统之间,其特征在于,包括如下步骤:
步骤一:业务系统接收数据请求,对符合预设条件的数据请求生成相应的唯一编码,并将该数据请求发送至流程引擎平台中的数据库保存;
步骤二:流程引擎平台根据数据请求中的执行特性将该数据请求分配至相应的流程节点并创建环节事件;
步骤三:流程引擎平台直接执行或通过API接口执行与该环节事件对应的触发器,以使该触发器发送通知至流程节点所对应的用户;
其中,流程引擎平台具有API接口,业务系统中设有与流程引擎平台的API接口通信的基于SOA的API接口。
2.如权利要求1所述的流程引擎平台化触发方法,其特征在于,所述步骤一具体包括如下子步骤:
步骤11:业务系统接收数据请求,判断该数据请求是否符合预设条件,若是,执行步骤12,否则,将该数据请求退回至提出数据请求的发起方;
步骤12:将该数据请求生成相应的唯一编码,并将该数据请求发送至流程引擎平台中的数据库保存。
3.如权利要求1所述的流程引擎平台化触发方法,其特征在于,步骤三中,当与环节事件对应的触发器设于流程引擎平台中,流程引擎平台直接执行该触发器;当与环节事件对应的触发器设于业务系统中,流程引擎平台通过API接口执行该触发器。
4.如权利要求1所述的流程引擎平台化触发方法,其特征在于,所述步骤三中“通过API接口执行与该环节事件对应的触发器”具体包括如下子步骤:
步骤a:流程引擎平台获取与该环节事件对应的触发器的名称,对该名称进行封装得到基于SOA的函数返回值;
步骤b:将封装好的基于SOA的函数返回值通过API接口返回至业务系统中;
步骤c:业务系统根据该基于SOA的函数返回值直接执行与环节事件对应的触发器,以使该触发器发送通知至流程节点所对应的用户。
5.如权利要求4所述的流程引擎平台化触发方法,其特征在于,所述触发器的名称为class全路径名称。
6.如权利要求4所述的流程引擎平台化触发方法,其特征在于,所述触发器的名称为spring的beanID。
CN201610261402.6A 2016-04-22 2016-04-22 流程引擎平台化触发方法 Active CN105893055B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610261402.6A CN105893055B (zh) 2016-04-22 2016-04-22 流程引擎平台化触发方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610261402.6A CN105893055B (zh) 2016-04-22 2016-04-22 流程引擎平台化触发方法

Publications (2)

Publication Number Publication Date
CN105893055A true CN105893055A (zh) 2016-08-24
CN105893055B CN105893055B (zh) 2019-07-19

Family

ID=56705445

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610261402.6A Active CN105893055B (zh) 2016-04-22 2016-04-22 流程引擎平台化触发方法

Country Status (1)

Country Link
CN (1) CN105893055B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110084565A (zh) * 2019-04-24 2019-08-02 上海易点时空网络有限公司 用于预借年假的数据配置方法及装置
CN110221819A (zh) * 2019-04-22 2019-09-10 凯通科技股份有限公司 一种流程引擎的模块化扩展方法、电子设备及存储介质
CN110245178A (zh) * 2019-07-15 2019-09-17 上海矩云信息技术有限公司 营销自动化管理平台系统及其管理方法
CN110490558A (zh) * 2019-08-26 2019-11-22 珠海格力电器股份有限公司 流程签审平台、方法及存储介质
CN110753316A (zh) * 2019-09-26 2020-02-04 贝壳技术有限公司 信息发送方法和装置、计算机可读存储介质、电子设备
CN112562217A (zh) * 2020-12-16 2021-03-26 恒银金融科技股份有限公司 自助终端控制系统的流程引擎设计、通讯方式、工作方法
CN114327414A (zh) * 2022-01-25 2022-04-12 重庆允丰科技有限公司 节点可插拨的触发器实现方法及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102156642A (zh) * 2011-04-21 2011-08-17 北京南天软件有限公司 一种通用业务流程管理接口的实现方法和系统
CN102289340A (zh) * 2010-06-21 2011-12-21 中国电信股份有限公司 数据稽核平台及方法
CN104281906A (zh) * 2013-07-11 2015-01-14 江苏达科信息科技有限公司 一种业务流程中的流程引擎实现方法及其流程引擎系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102289340A (zh) * 2010-06-21 2011-12-21 中国电信股份有限公司 数据稽核平台及方法
CN102156642A (zh) * 2011-04-21 2011-08-17 北京南天软件有限公司 一种通用业务流程管理接口的实现方法和系统
CN104281906A (zh) * 2013-07-11 2015-01-14 江苏达科信息科技有限公司 一种业务流程中的流程引擎实现方法及其流程引擎系统

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110221819A (zh) * 2019-04-22 2019-09-10 凯通科技股份有限公司 一种流程引擎的模块化扩展方法、电子设备及存储介质
CN110221819B (zh) * 2019-04-22 2022-12-16 凯通科技股份有限公司 一种流程引擎的模块化扩展方法、电子设备及存储介质
CN110084565A (zh) * 2019-04-24 2019-08-02 上海易点时空网络有限公司 用于预借年假的数据配置方法及装置
CN110245178A (zh) * 2019-07-15 2019-09-17 上海矩云信息技术有限公司 营销自动化管理平台系统及其管理方法
CN110490558A (zh) * 2019-08-26 2019-11-22 珠海格力电器股份有限公司 流程签审平台、方法及存储介质
CN110753316A (zh) * 2019-09-26 2020-02-04 贝壳技术有限公司 信息发送方法和装置、计算机可读存储介质、电子设备
CN112562217A (zh) * 2020-12-16 2021-03-26 恒银金融科技股份有限公司 自助终端控制系统的流程引擎设计、通讯方式、工作方法
CN114327414A (zh) * 2022-01-25 2022-04-12 重庆允丰科技有限公司 节点可插拨的触发器实现方法及计算机可读存储介质
CN114327414B (zh) * 2022-01-25 2022-11-15 重庆允丰科技有限公司 节点可插拨的触发器实现方法及计算机可读存储介质

Also Published As

Publication number Publication date
CN105893055B (zh) 2019-07-19

Similar Documents

Publication Publication Date Title
CN105893055A (zh) 流程引擎平台化触发方法
CN110535831B (zh) 基于Kubernetes和网络域的集群安全管理方法、装置及存储介质
WO2022160707A1 (zh) 结合rpa和ai的人机互动方法、装置、存储介质及电子设备
CN103283209B (zh) 一种应用服务平台系统及其实现方法
US9652214B1 (en) Pluggable extension of software applications
CN108134764B (zh) 一种分布式数据共享交换方法及系统
CN101408899B (zh) 一种网站多数据源切换方法和装置
CN104142856B (zh) 服务程序调用方法、系统及其智能设备
US10007491B2 (en) Systems and/or methods for cloud-based event-driven integration
CN102591724B (zh) 消息交互方法及装置
KR20140047580A (ko) 다중-서버 예약 시스템 상의 동기화 메커니즘 시스템 및 방법
US20070061304A1 (en) Middleware and a method for implementing business logic using it
CN109101373A (zh) 基于订阅/发布模式的通用测试平台
CN112925647A (zh) 云边协同系统、集群资源的控制方法及装置
US20190132189A1 (en) Disseminating commands from a dms server to fielded devices using an extendable command architecture
CN102946415B (zh) 一种移动终端本地应用的实现方法和装置
CN105577446B (zh) 一种轻量级嵌入式网络管理系统和方法
CN103077024A (zh) 一种支持SaaS应用流程按需定制与运行的装置及方法
CN102523308B (zh) 一种应用开发方法和运行该方法所开发应用的平台系统
CN103716356A (zh) 基于web的存储过程操作方法、装置和系统
CN105052076A (zh) 一种接口管理服务实体、功能服务实体及网元管理方法
CN114205230A (zh) 云原生网元的配置方法、系统、介质及电子设备
CN102761443A (zh) 命令行的配置方法及装置
CN109343970B (zh) 基于应用程序的操作方法、装置、电子设备及计算机介质
CN111045928B (zh) 一种接口数据测试方法、装置、终端及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 1001 room 1101, room 12, 510000, Third Street, Luogang District Development Zone, Guangzhou, Guangdong

Applicant after: GUANGDONG KAITONG TECHNOLOGY CO.,LTD.

Address before: 901, 510000, 1001 and 1101 rooms, No. 12, 3rd Street, Luogang District Development Zone, Guangzhou, Guangdong, China

Applicant before: GUANGDONG KAITONG SOFTWARE DEVELOPMENT Co.,Ltd.

COR Change of bibliographic data
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 510000 Room 1001, Room 1101, Room 901, 12 Kehui Sanjie, Luogang District Development Zone, Guangzhou City, Guangdong Province

Applicant after: Kaitong Technology Co.,Ltd.

Address before: 510000 Room 1001, Room 1101, No. 12, Kehui Third Street, Luogang District Development Zone, Guangzhou City, Guangdong Province

Applicant before: GUANGDONG KAITONG TECHNOLOGY CO.,LTD.

GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Process engine platform triggering method

Effective date of registration: 20220624

Granted publication date: 20190719

Pledgee: Science City (Guangzhou) green Financing Guarantee Co.,Ltd.

Pledgor: Kaitong Technology Co.,Ltd.

Registration number: Y2022980008923

PC01 Cancellation of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20230606

Granted publication date: 20190719

Pledgee: Science City (Guangzhou) green Financing Guarantee Co.,Ltd.

Pledgor: Kaitong Technology Co.,Ltd.

Registration number: Y2022980008923

PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Platform based trigger method for process engine

Effective date of registration: 20230821

Granted publication date: 20190719

Pledgee: Science City (Guangzhou) green Financing Guarantee Co.,Ltd.

Pledgor: Kaitong Technology Co.,Ltd.

Registration number: Y2023980052977