CN112101895A - 一种支持工作流客户端与工作流引擎适配的建立方法及系统 - Google Patents
一种支持工作流客户端与工作流引擎适配的建立方法及系统 Download PDFInfo
- Publication number
- CN112101895A CN112101895A CN202010857744.0A CN202010857744A CN112101895A CN 112101895 A CN112101895 A CN 112101895A CN 202010857744 A CN202010857744 A CN 202010857744A CN 112101895 A CN112101895 A CN 112101895A
- Authority
- CN
- China
- Prior art keywords
- data
- workflow
- component
- rule
- establishing
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Operations Research (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Quality & Reliability (AREA)
- Marketing (AREA)
- Economics (AREA)
- Data Mining & Analysis (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种支持工作流客户端与工作流引擎适配的建立方法及系统,属于工作流技术领域,包括以下步骤:S1:建立适配软件的API接口规范;S2:建立工作流程图的数据解析规则;S3:建立工作流程表单的数据解析规则;S4:建立数据规则解析转换器;本发明支持各类工作流客户端与各类工作流引擎的分离开发及无缝适配,并符合BPMN2.0国际标准,可快速实现工作流所有业务功能;前端应用程序可以根据应用场景、界面风格的需求,能够自定义具有特色风格的工作流程图编辑器和工作流程表单编辑器及组件样式。
Description
技术领域
本发明涉及工作流技术领域,具体涉及一种支持工作流客户端与工作流引擎适配的建立方法及系统。
背景技术
随着组织的不断发展与壮大,企业涉及到的业务种类多且繁杂,如员工入职、请假、资产采购、资产调拨、财务报销等。为了支撑组织有序管理、科学决策,各类组织都引入了工作流技术实现业务的规范管理。目前的工作流技术主要存在以下问题:
1)工作流编辑器与工作流引擎紧密绑定
市面上每种工作流技术自带工作流设计编辑器,包括工作流表单设计和工作流程图设计编辑器,但仅支持集成开发,不支持前后端分离开发。这给工作流程序开发带来很大的难度,需要程序开发人员同时具备前端、后端的开发能力,而且这种技术架构与当前流行的前后端分层技术架构不能无缝融合,对软件架构的统一性带来了负面影响。
2)工作流编辑器渲染风格单一,无法实现自定义的页面编辑风格
虽然工作流技术自带的工作流设计编辑器也支持自定义,但样式单一,无法满足不同应用场景对界面个性化设计风格的要求。即便修改设计编辑器也难以实现个性化的页面设计风格,而且需要专门的开发人员去修改底层代码,难度非常大,耗时长。
为解决上述问题,提出一种支持工作流客户端与工作流引擎适配的建立方法及系统。
发明内容
本发明所要解决的技术问题在于:如何解决现有的工作流技术中存在的工作流编辑器与工作流引擎紧密绑定以及工作流编辑器渲染风格单一,无法实现自定义的页面编辑风格的问题,提供了一种支持工作流客户端与工作流引擎适配的建立方法及系统,该方法实现对前后端分离开发模式的支持,解决当前工作流技术存在的上述问题。前端应用程序可以根据应用场景、界面风格的需求,能够自定义具有特色风格的工作流程图编辑器和工作流程表单编辑器及组件样式。
本发明是通过以下技术方案解决上述技术问题的,本发明包括以下步骤:
S1:建立API接口规范
建立适配软件的API接口规范;
S2:建立工作流程图的数据解析规则
建立自定义工作流程图的数据规则与业务流程规则;
S3:建立工作流程表单的数据解析规则
建立自定义工作流程表单的数据规则与业务流程规则;
S4:建立规则解析转换器
建立数据规则解析转换器。
更进一步地,在所述步骤S1中,建立接口规范的具体过程如下:
采用RESTFUL接口规范,基于HTTP协议,使用JSON格式定义数据,建立统一的工作流程业务接口API,适配PC端或移动端软件。
API接口的请求方式分为以下四种:
GET(SELECT):从工作流程服务器取出工作流程相关数据(一项或多项);
POST(CREATE):在工作流程服务器新建一个工作流程;
PUT(UPDATE):在工作流程服务器更新工作流程;
DELETE(DELETE):从工作流程服务器删除工作流程。
更进一步地,在所述步骤S2中,建立自定义工作流程图的数据规则与业务流程规则的具体过程包括以下几个步骤:
S21:定义通用型流程图组件标识与数据结构规范
根据BPMN标准流程图通用型组件,建立组件标识的对应关系,例如:开始节点---start、结束节点---end、排他网关---excludeNode、并行网关---includeNode、审批节点---auditNode等;
组件的数据结构是JSON,它是轻量级的,基于文本的数据交换格式。该数据结构包含组件名称、组件序号、组件类型、组件坐标、组件参数等信息;
S22:定义流程图组件所用的连线的数据结构规范
连线的数据结构是JSON。该数据结构包含前一个组件的序号、后一个组件序号、连线满足的条件、连线的名称等信息;
S23、解析流程组件和流程连线的数据结构,确定流程图的结构
先通过解析流程组件的JSON数据,确定组件的类型、序号以及相关的业务参数,再通过解析流程连线的JSON数据中的前一个组件的序号和后一个组件的序号,确定组件的依赖关系,经过不断的循环解析,最终确定流程图的结构。
更进一步地,在所述步骤S3中,建立自定义工作流程表单的数据规则与业务流程规则的具体过程包括以下几个步骤:
S31:定义通用型流程表单的数据结构规范
流程表单的数据结构是JSON,该数据结构包含表单的基础信息以及表单里面各个组件的信息,其中组件的信息主要包括:组件的标识、组件的序号、组件参数值、组件参数类型(1、普通参数,2、只绑定源数据源,3、只绑定目标数据源,4、源和目标数据源都绑定)、组件样式、组件坐标等;
S32:确认表单组件与业务数据表的绑定关系
通过将组件与目标数据源进行绑定,确认业务流程需要更新的字段,实现业务数据的更新。
更进一步地,在所述步骤S4中,建立数据规则解析转换器的具体过程包括以下几个步骤:
S41:解析、转换流程图数据,生成BPMN标准流程图
按照流程图、流程表单的解析规则,解析前端应用通过Http发送的JSON数据,将原流程图中的组件转换成BPMN中任务,将原流程图中的组件和连线的关系转换成BPMN中任务和任务流向的关系,将流程表单参数解析转换成BPMN中任务的参数,再通过调用底层Activiti工作流引擎的接口,生成BPMN标准流程图;
S42:解析、转换工作流程的业务操作指令
数据规则解析转换器解析前端应用通过Http发送的工作流程业务操作JSON数据,根据规定API接口功能,将该工作流程的业务操作转换成Activiti工作流引擎的业务功能指令,进而驱动工作流引擎实现相应功能。
更进一步地,在所述步骤S4中,数据规则解析转换器包括自定义工作流程图的数据解析转换器、自定义工作流程表单的数据解析转换器与业务流程的操作数据解析转换器,所述自定义工作流程图的数据解析转换器用于适配、解析以及转换前端应用自定义的工作流程图数据,所述自定义工作流程表单的数据解析转换器用于适配、解析以及转换前端应用自定义的工作流程表单数据,所述业务流程的操作数据解析转换器用于适配、解析以及转换前端应用的业务流程操作数据。
本发明还提供了一种支持工作流客户端与工作流引擎适配的系统,包括:
前端数据接收模块,用于接收由前端应用传输的所有数据;
数据匹配判断模块,用于判断由前端应用传输的所有数据是否满足数据匹配规则;
数据解析与工作流程业务操作转换模块,用于根据定义的数据解析规则和业务流程规则对满足数据匹配规则的各类型数据进行解析,生成对应的数据定义单元;将经解析生成的数据定义单元转换为工作流引擎的业务操作指令,从而驱动工作流引擎执行和完成相应的工作流程业务功能;
所述前端数据接收模块、数据匹配判断模块、数据解析与工作流程业务操作转换服务模块通过事件驱动实现模块间的功能连接。
更进一步地,对前端应用传输的所有数据进行解析过后,所述数据解析与工作流程业务操作转换服务模块根据定义的数据解析规则和业务流程规则对满足数据匹配规则的各类型数据进行解析,生成对应的数据定义单元;将经解析生成的数据定义单元转换为工作流引擎的业务操作指令,从而驱动工作流引擎执行和完成相应的工作流程业务功能。
本发明相比现有技术具有以下优点:支持各类工作流客户端与各类工作流引擎的分离开发及无缝适配,并符合BPMN2.0国际标准,可快速实现工作流所有业务功能;前端应用程序可以根据应用场景、界面风格的需求,能够自定义具有特色风格的工作流程图编辑器和工作流程表单编辑器及组件样式。
附图说明
图1是本发明实施例一中一种支持工作流客户端与工作流引擎适配的建立方法的流程示意图;
图2是本发明实施例二中基于工作流智能适配软件的技术架构图;
图3是本发明实施例二中工作流智能适配软件的运行流程图;
图4是本发明实施例二中工作流程图数据解析器的解析过程示意图;
图5是本发明实施例二中工作流程表单数据解析器的解析过程示意图;
图6是本发明实施例二中Activiti工作流引擎转换服务的工作过程示意图。
具体实施方式
下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
实施例一
本实施例提供一种技术方案:一种支持工作流客户端与工作流引擎适配的建立方法,包括以下步骤:
S1:建立API接口规范
建立适配软件的API接口规范;
S2:建立工作流程图的数据解析规则
建立自定义工作流程图的数据规则与业务流程规则;
S3:建立工作流程表单的数据解析规则
建立自定义工作流程表单的数据规则与业务流程规则;
S4:建立规则解析转换器
建立数据规则解析转换器。
在所述步骤S1中,建立接口规范的具体过程如下:
采用RESTFUL接口规范,基于HTTP协议,使用JSON格式定义数据,建立统一的工作流程业务接口API,适配PC端或移动端软件。
API接口的请求方式分为以下四种:
GET(SELECT):从工作流程服务器取出工作流程相关数据(一项或多项);
POST(CREATE):在工作流程服务器新建一个工作流程;
PUT(UPDATE):在工作流程服务器更新工作流程;
DELETE(DELETE):从工作流程服务器删除工作流程。
在所述步骤S2中,建立自定义工作流程图的数据规则与业务流程规则的具体过程包括以下几个步骤:
S21:定义通用型流程图组件标识与数据结构规范
根据BPMN标准流程图通用型组件,建立组件标识的对应关系,例如:开始节点---start、结束节点---end、排他网关---excludeNode、并行网关---includeNode、审批节点---auditNode等;
组件的数据结构是JSON,它是轻量级的,基于文本的数据交换格式。该数据结构包含组件名称、组件序号、组件类型、组件坐标、组件参数等信息;
S22:定义流程图组件所用的连线的数据结构规范
连线的数据结构是JSON。该数据结构包含前一个组件的序号、后一个组件序号、连线满足的条件、连线的名称等信息;
S23、解析流程组件和流程连线的数据结构,确定流程图的结构
先通过解析流程组件的JSON数据,确定组件的类型、序号以及相关的业务参数,再通过解析流程连线的JSON数据中的前一个组件的序号和后一个组件的序号,确定组件的依赖关系,经过不断的循环解析,最终确定流程图的结构。
在所述步骤S3中,建立自定义工作流程表单的数据规则与业务流程规则的具体过程包括以下几个步骤:
S31:定义通用型流程表单的数据结构规范
流程表单的数据结构是JSON,该数据结构包含表单的基础信息以及表单里面各个组件的信息,其中组件的信息主要包括:组件的标识、组件的序号、组件参数值、组件参数类型(1、普通参数,2、只绑定源数据源,3、只绑定目标数据源,4、源和目标数据源都绑定)、组件样式、组件坐标等;
S32:确认表单组件与业务数据表的绑定关系
通过将组件与目标数据源进行绑定,确认业务流程需要更新的字段,实现业务数据的更新。
在所述步骤S4中,建立数据规则解析转换器的具体过程包括以下几个步骤:
S41:解析、转换流程图数据,生成BPMN标准流程图
按照流程图、流程表单的解析规则,解析前端应用通过Http发送的JSON数据,将原流程图中的组件转换成BPMN中任务,将原流程图中的组件和连线的关系转换成BPMN中任务和任务流向的关系,将流程表单参数解析转换成BPMN中任务的参数,再通过调用底层Activiti工作流引擎的接口,生成BPMN标准流程图;
S42:解析、转换工作流程的业务操作指令
数据规则解析转换器解析前端应用通过Http发送的工作流程业务操作JSON数据,根据规定API接口功能,将该工作流程的业务操作转换成Activiti工作流引擎的业务功能指令,进而驱动工作流引擎实现相应功能。
在所述步骤S4中,数据规则解析转换器包括自定义工作流程图的数据解析转换器、自定义工作流程表单的数据解析转换器与业务流程的操作数据解析转换器,所述自定义工作流程图的数据解析转换器用于适配、解析以及转换前端应用自定义的工作流程图数据,所述自定义工作流程表单的数据解析转换器用于适配、解析以及转换前端应用自定义的工作流程表单数据,所述业务流程的操作数据解析转换器用于适配、解析以及转换前端应用的业务流程操作数据。
本发明还提供了一种支持工作流客户端与工作流引擎适配的系统,包括:
前端数据接收模块,用于接收由前端应用传输的所有数据;
数据匹配判断模块,用于判断由前端应用传输的所有数据是否满足数据匹配规则;
数据解析与工作流程业务操作转换模块,用于根据定义的数据解析规则和业务流程规则对满足数据匹配规则的各类型数据进行解析,生成对应的数据定义单元;将经解析生成的数据定义单元转换为工作流引擎的业务操作指令,从而驱动工作流引擎执行和完成相应的工作流程业务功能;
所述前端数据接收模块、数据匹配判断模块、数据解析与工作流程业务操作转换服务模块通过事件驱动实现模块间的功能连接。
对前端应用传输的所有数据进行解析过后,所述数据解析与工作流程业务操作转换服务模块根据定义的数据解析规则和业务流程规则对满足数据匹配规则的各类型数据进行解析,生成对应的数据定义单元;将经解析生成的数据定义单元转换为工作流引擎的业务操作指令,从而驱动工作流引擎执行和完成相应的工作流程业务功能。
实施例二
本实施例提供了一套建立工作流客户端与工作流引擎智能适配的软件方法,实现对前后端分离开发模式的支持,解决当前工作流技术存在的技术问题。前端应用程序可以根据应用场景、界面风格的需求,自定义具有特色风格的工作流程图编辑器和工作流程表单编辑器及组件样式。
前端应用程序通过调用工作流智能适配器的软件接口,转化成工作流引擎能够识别的业务流程,实现智能匹配,完成标准化的工作流程业务。基于工作流智能适配软件的技术架构如图2所示。
该技术架构分为5层,具体如下:
1、交互层的PC端、移动端的工作流程软件通过调用本适配软件建立的标准化的基于Restful风格的Http接口API实现相应的业务功能。
2、应用层是本适配软件建立的工作流程接口服务,向交互层提供相应的工作流程接口服务。
3、服务层是本适配软件的核心,它由三个核心服务组成:工作流程图的数据与业务解析服务、工作流程表单的数据与业务解析服务、Activiti工作流引擎的业务流程适配器转换服务。
工作流程图的数据与业务解析服务根据定义的工作流程图的数据解析规则,对前端应用传输的工作流程图数据进行语法解析,将其解析成具有逻辑和业务关系的工作流程图数据定义单元;
工作流程表单的数据与业务解析服务根据定义的工作流程表单的数据解析规则,对前端应用传输的工作流程表单数据进行语法解析,解析成具有逻辑和业务关系的工作流程表单数据定义单元;
Activiti工作流引擎的业务流程适配器转换服务根据定义的业务流程规则,将经解析生成的数据定义单元转换为工作流引擎的业务操作指令,从而驱动工作流引擎执行和完成相应的工作流程业务功能。
4、数据层是通过服务层解析和转换后的Activiti工作流引擎业务流程数据及指令。
5、软件基础设施层是Activiti工作流引擎,它通过接收数据层传递过来的数据和指令,调用底层引擎驱动来实现具体的工作流程业务功能。
工作流智能适配软件方法的实现主要包括以下主要内容:
S1:建立API接口规范
建立适配软件的API接口规范;
S2:建立工作流程图的数据解析规则
建立自定义工作流程图的数据规则与业务流程规则;
S3:建立工作流程表单的数据解析规则
建立自定义工作流程表单的数据规则与业务流程规则;
S4:建立规则解析转换器
建立数据规则解析转换器;
在所述步骤S4中,底层的工作流引擎为Activiti。
在所述步骤S1中,建立接口规范的具体过程包括:
采用RESTFUL接口规范,基于HTTP协议,使用JSON格式定义数据,建立统一的工作流程业务接口API,适配PC端或移动端软件。
API接口的请求方式分为以下四种:
GET(SELECT):从工作流程服务器取出工作流程相关数据(一项或多项)。
POST(CREATE):在工作流程服务器新建一个工作流程。
PUT(UPDATE):在工作流程服务器更新工作流程。
DELETE(DELETE):从工作流程服务器删除工作流程。
通过建立统一的工作流程业务接口API后,使得前端服务软件可以调用工作流程业务接口,实现自定义工作流程的功能,例如建立流程模板:
(1)请求方式:POST
(2)URI:/process/v1/templets
(3)Request Header
(4)Request Body
(5)nodekList里面的JSON对象参考字段
(6)sequenceFlowList里面的JSON对象参考字段
(7)Response Header
(8)Response Data
在所述步骤S2中,建立自定义工作流程图的数据规则与业务流程规则的具体过程包括以下几个步骤:
1、定义通用型流程图组件标识与数据结构规范
根据BPMN标准流程图通用型组件,建立组件标识的对应关系,例如:开始节点---start、结束节点---end、排他网关---excludeNode、并行网关---includeNode、审批节点---auditNode等。
组件的数据结构是JSON,它是轻量级的,基于文本的数据交换格式。该数据结构包含组件名称、组件序号、组件类型、组件坐标、组件参数等信息。
数据结构如下所示:
{
"nodeList":[{"nodeName":"start","nodeOrder":1,"nodeType":"1","location":{"x":1,"y":2}},{"nodeName":"申请节点","nodeOrder":2,"nodeType":"4","parameterList":["8a48ca316bfdd7af016bfdd8c6460001","8a48ca316bfdd7af016bfdd8c6490002"],"location":{"x":1,"y":2}},{"nodeName":"审批节点","nodeOrder":3,"nodeType":"3","parameterList":["8a48ca316bfdd7af016bfdd8c6490003"],"assignee":["123456789"],"assigneeType":"3","location":{"x":1,"y":2}},{"nodeName":"end","nodeOrder":7,"nodeType":"2","location":{"x":1,"y":2}}]
}
2、定义流程图组件所用的连线的数据结构规范
连线的数据结构是JSON。该数据结构包含前一个组件的序号、后一个组件序号、连线满足的条件、连线的名称等信息。
数据结构如下所示:
{
"sequenceFlowList":[{"headNodeOrder":1,"tailNodeOrder":2,"name":"line1","anchor":[100,200],"overLays":"123"},{"headNodeOrder":2,"tailNodeOrder":3,"name":"line2","anchor":[100,200],"overLays":"234"}]
}
3、解析流程组件和流程连线的数据结构,确定流程图的结构。
先通过解析流程组件的JSON数据,确定组件的类型、序号以及相关的业务参数,再通过解析流程连线的JSON数据中的前一个组件的序号和后一个组件的序号,确定组件的依赖关系,经过不断的循环解析,最终确定流程图的结构。
在所述步骤S3中,建立自定义工作流程表单的数据规则与业务流程规则的具体过程包括以下几个步骤:
1、定义通用型流程表单的数据结构规范
流程表单的数据结构是JSON,该数据结构包含表单的基础信息以及表单里面各个组件的信息,其中组件的信息主要包括:组件的标识、组件的序号、组件参数值、组件参数类型(1、普通参数,2、只绑定源数据源,3、只绑定目标数据源,4、源和目标数据源都绑定)、组件样式、组件坐标等。
2、确认表单组件与业务数据表的绑定关系
通过将组件与目标数据源进行绑定,确认业务流程需要更新的字段,实现业务数据的更新。
数据结构如下所示:
{
"tableName":"业务流程",
"formVariablesDtoList":[{"fieldName":"audit1","fieldValue":"部门审批","custDefType":"1","unitType":"1","parameterType":"2","fieldOrder":1,"children":[{"fieldName":"assetCode2","fieldValue":"参数编号2","custDefType":"1","unitType":"1","parameterType":"1","fieldOrder":1,"children":[]}]},{"fieldName":"audit2","fieldValue":"领导审批","custDefType":"2","unitType":"1","parameterType":"2","fieldOrder":2,"binedSourceTable":"sys_dict","binedSourceRow":"DICT_NAME","tableRestrictionList":[{"restrictRowName":"DICT_CODE","restrictRowValue":"1028"},{"restrictRowName":"PARENT_ID","restrictRowValue":"123"}]},{"fieldName":"audit3","fieldValue":"部门审批2","custDefType":"3","unitType":"1","parameterType":"2","fieldOrder":3,"binedTargetTable":"ASSET_CHECK","binedTargetRow":"CHECK_USER"},{"fieldName":"audit4","fieldValue":"领导审批2","custDefType":"4","unitType":"1","parameterType":"2","fieldOrder":4,"binedTargetTable":"ASSET_CHECK","binedTargetRow":"CHECK_CONTENT","binedSourceTable":"sys_user","binedSourceRow":"USER_NAME"}]
}
在所述步骤S4中,建立数据规则解析转换器的具体过程包括以下几个步骤:
1、解析、转换流程图数据,生成BPMN标准流程图
按照流程图、流程表单的解析规则,解析前端应用通过Http发送的JSON数据,将原流程图中的组件转换成BPMN中任务,将原流程图中的组件和连线的关系转换成BPMN中任务和任务流向的关系,将流程表单参数解析转换成BPMN中任务的参数,再通过调用底层Activiti工作流引擎的接口,生成BPMN标准流程图。
2、解析、转换工作流程的业务操作指令
数据规则解析转换器解析前端应用通过Http发送的工作流程业务操作JSON数据,根据规定API接口功能,将该工作流程的业务操作转换成Activiti工作流引擎的业务功能指令,进而驱动工作流引擎实现相应功能。
在所述步骤S4中,数据规则解析转换器包括自定义工作流程图的数据解析转换器、自定义工作流程表单的数据解析转换器与业务流程的操作数据解析转换器,所述自定义工作流程图的数据解析转换器用于适配、解析以及转换前端应用自定义的工作流程图数据,所述自定义工作流程表单的数据解析转换器用于适配、解析以及转换前端应用自定义的工作流程表单数据,所述业务流程的操作数据解析转换器用于适配、解析以及转换前端应用的业务流程操作数据。
工作流智能适配软件的具体运行流程如图3所示:
首先,相关数据由前端应用程序传输进来,先判断是否满足适配器数据匹配规则;
若不符合数据匹配规则,向前端应用程序返回具体的错误信息,若符合数据匹配规则,则进入具体数据类型的解析服务中;
通过对数据进行解析,得到对应的数据定义单元;
Activiti工作流引擎的业务流程适配器转换服务根据定义的业务流程规则,将经解析生成的数据定义单元转换为工作流引擎的业务操作指令;
最后利用驱动Activiti工作流引擎执行和完成相应的工作流程业务功能。
在构建工作流客户端与Activiti工作流引擎端的智能适配软件时,该软件核心功能模块有三个,包括自定义工作流程图的数据解析器、自定义工作流程表单的数据解析器以及Activiti工作流引擎工作流程转换服务。下面对该软件的功能模块进行详细介绍:
1)自定义工作流程图的数据解析器
主要是适配和解析前端应用程序自定义的工作流程图数据。根据定义的工作流程图的数据解析规则,进行前端传输的工作流程图数据的语法解析工作,解析成具有逻辑和业务关系的工作流程图数据定义单元。工作过程如图4所示。
2)自定义工作流程表单的数据解析器
主要是适配和解析前端应用程序自定义的工作流程表单数据。根据定义的工作流程表单的数据解析规则,进行前端传输的工作流程表单数据的语法解析工作,解析成具有逻辑和业务关系的工作流程表单数据定义单元。工作过程如图5所示。
3)Activiti工作流引擎工作流程转换服务
将上层解析器解析生成的工作流程表单数据定义单元、工作流程图数据定义单元以及工作流程业务操作数据单元转换成Activiti工作流引擎能够识别的标准工作流程,驱动Activiti工作流引擎执行和完成相应的工作流程业务功能。工作过程如图6所示。
综上所述,上述两组实施例的支持工作流客户端与工作流引擎适配的建立方法,支持各类工作流客户端与各类工作流引擎的分离开发及无缝适配,并符合BPMN2.0国际标准,可快速实现工作流所有业务功能;前端应用程序可以根据应用场景、界面风格的需求,能够自定义具有特色风格的工作流程图编辑器和工作流程表单编辑器及组件样式,值得被推广使用。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (9)
1.一种支持工作流客户端与工作流引擎适配的建立方法,其特征在于,包括以下步骤:
S1:建立API接口规范
建立适配软件的API接口规范;
S2:建立工作流程图的数据解析规则
建立自定义工作流程图的数据规则与业务流程规则;
S3:建立工作流程表单的数据解析规则
建立自定义工作流程表单的数据规则与业务流程规则;
S4:建立规则解析转换器
建立数据规则解析转换器。
2.根据权利要求1所述的一种支持工作流客户端与工作流引擎适配的建立方法,其特征在于:在所述步骤S1中,建立接口规范的具体过程为:采用RESTFUL接口规范,基于HTTP协议,使用JSON格式定义数据,建立统一的工作流程业务接口API,适配PC端或移动端软件。
3.根据权利要求2所述的一种支持工作流客户端与工作流引擎适配的建立方法,其特征在于:在所述步骤S2中,建立自定义工作流程图的数据规则与业务流程规则的具体过程包括以下步骤:
S21:定义通用型流程图组件标识与数据结构规范
根据BPMN标准流程图通用型组件,建立组件标识的对应关系,组件的数据结构是JSON;
S22:定义流程图组件所用的连线的数据结构规范
选用JSON为连线的数据结构,流程连线数据结构的信息包括前一个组件的序号、后一个组件序号、连线满足的条件、连线;
S23:解析流程组件和流程连线的数据结构,确定流程图的结构
先通过解析流程组件的JSON数据,确定组件的类型、序号以及相关业务参数,再通过解析流程连线的JSON数据中前一个组件的序号和后一个组件的序号,确定组件依赖关系,经过不断的循环解析,确定流程图的结构。
4.根据权利要求3所述的一种支持工作流客户端与工作流引擎适配的建立方法,其特征在于:在所述步骤S3中,建立自定义工作流程表单的数据规则与业务流程规则的具体过程包括以下步骤:
S31:定义通用型流程表单的数据结构规范
选用JSON为流程表单的数据结构,流程表单数据结构的信息包括表单的基础信息以及表单里面各个组件的信息,其中组件的信息包括:组件的标识、组件的序号、组件参数值、组件参数类型、组件样式、组件坐标;
S32:确认表单组件与业务数据表的绑定关系
通过将组件与目标数据源进行绑定,确认业务流程需要更新的字段,实现业务数据的更新。
5.根据权利要求4所述的一种支持工作流客户端与工作流引擎适配的建立方法,其特征在于:在所述步骤S4中,建立数据规则解析转换器的具体过程包括以下步骤:
S41:解析、转换流程图数据,生成BPMN标准流程图
按照流程图、流程表单的解析规则,解析前端应用通过Http发送的JSON数据,将原流程图中的组件转换成BPMN中任务,将原流程图中的组件和连线的关系转换成BPMN中任务和任务流向的关系,将流程表单参数解析转换成BPMN中任务的参数,再通过调用底层工作流引擎的接口,生成BPMN标准流程图;
S42:解析、转换工作流程的业务操作指令
数据规则解析转换器解析前端应用通过Http发送的工作流程业务操作JSON数据,根据规定API接口功能,将该工作流程的业务操作转换成工作流引擎的业务功能指令,进而驱动工作流引擎实现相应功能。
6.根据权利要求5所述的一种支持工作流客户端与工作流引擎适配的建立方法,其特征在于:在所述步骤S41与S42中,工作流引擎为Activiti。
7.根据权利要求6所述的一种支持工作流客户端与工作流引擎适配的建立方法,其特征在于:在所述步骤S4中,数据规则解析转换器包括自定义工作流程图的数据解析转换器、自定义工作流程表单的数据解析转换器与业务流程的操作数据解析转换器,所述自定义工作流程图的数据解析转换器用于适配、解析以及转换前端应用自定义的工作流程图数据,所述自定义工作流程表单的数据解析转换器用于适配、解析以及转换前端应用自定义的工作流程表单数据,所述业务流程的操作数据解析转换器用于适配、解析以及转换前端应用的业务流程操作数据。
8.一种支持工作流客户端与工作流引擎适配的系统,其特征在于,采用如权利要求1~6任一项所述的建立方法建立,包括:
前端数据接收模块,用于接收由前端应用传输的所有数据;
数据匹配判断模块,用于判断由前端应用传输的所有数据是否满足数据匹配规则;
数据解析与工作流程业务操作转换模块,用于根据定义的数据解析规则和业务流程规则对满足数据匹配规则的各类型数据进行解析,生成对应的数据定义单元;将经解析生成的数据定义单元转换为工作流引擎的业务操作指令,从而驱动工作流引擎执行和完成相应的工作流程业务功能;
所述前端数据接收模块、数据匹配判断模块、数据解析与工作流程业务操作转换服务模块通过事件驱动实现模块间的功能连接。
9.根据权利要求8所述的一种支持工作流客户端与工作流引擎适配的建立系统,其特征在于:对前端应用传输的所有数据进行解析过后,所述数据解析与工作流程业务操作转换服务模块根据定义的数据解析规则和业务流程规则对满足数据匹配规则的各类型数据进行解析,生成对应的数据定义单元;将经解析生成的数据定义单元转换为工作流引擎的业务操作指令,从而驱动工作流引擎执行和完成相应的工作流程业务功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010857744.0A CN112101895A (zh) | 2020-08-24 | 2020-08-24 | 一种支持工作流客户端与工作流引擎适配的建立方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010857744.0A CN112101895A (zh) | 2020-08-24 | 2020-08-24 | 一种支持工作流客户端与工作流引擎适配的建立方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112101895A true CN112101895A (zh) | 2020-12-18 |
Family
ID=73753277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010857744.0A Pending CN112101895A (zh) | 2020-08-24 | 2020-08-24 | 一种支持工作流客户端与工作流引擎适配的建立方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112101895A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112668295A (zh) * | 2021-01-15 | 2021-04-16 | 云南电网有限责任公司迪庆供电局 | 一种基于自定义表单和Activiti工作流的管理系统及方法 |
CN113190553A (zh) * | 2021-04-27 | 2021-07-30 | 新奥数能科技有限公司 | 一种基于bpmn的数据上报系统及数据上报方法 |
CN113391996A (zh) * | 2021-05-27 | 2021-09-14 | 东南大学 | 一种基于工作流程的软件接口组合执行测试方法 |
CN113408955A (zh) * | 2021-07-19 | 2021-09-17 | 浙江孚临科技有限公司 | 一种bpmn前端工作流操作方法 |
CN113504955A (zh) * | 2021-07-16 | 2021-10-15 | 航天中认软件测评科技(北京)有限责任公司 | 一种基于bpmn的航天工作流管理系统 |
CN113537943A (zh) * | 2021-07-30 | 2021-10-22 | 苏州工业园区测绘地理信息有限公司 | 一种通用工作流引擎及其构建方法 |
CN113805885A (zh) * | 2021-09-18 | 2021-12-17 | 建信金融科技有限责任公司 | 基于工作流引擎的流程式管理系统前端构建系统及方法 |
CN114840291A (zh) * | 2022-04-14 | 2022-08-02 | 上海川源信息科技有限公司 | 一种分布式存储业务流程的系统及其使用方法 |
CN114880015A (zh) * | 2021-07-26 | 2022-08-09 | 深圳前海微众银行股份有限公司 | 任务配置方法、装置、设备及存储介质 |
CN114926143A (zh) * | 2022-05-16 | 2022-08-19 | 三峡高科信息技术有限责任公司 | 基于业务组件和流程引擎的配置企业工作流的方法及平台 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105046408A (zh) * | 2015-06-25 | 2015-11-11 | 国网山东省电力公司 | 一种可配置工作流的实现方法及系统 |
CN105989440A (zh) * | 2015-02-12 | 2016-10-05 | 杨波 | 一种流程自定义的处理方法及其工作流引擎 |
CN106600238A (zh) * | 2016-12-26 | 2017-04-26 | 上海轻维软件有限公司 | 基于Activiti流程引擎的网络业务开通实现方法及装置 |
CN109544113A (zh) * | 2018-11-23 | 2019-03-29 | 四川长虹电器股份有限公司 | 一种基于有限状态机的工作流引擎建模方法及流程管理系统 |
CN110688403A (zh) * | 2019-09-23 | 2020-01-14 | 中国船舶重工集团公司第七一六研究所 | Activiti流程人工节点办理人筛选引擎 |
-
2020
- 2020-08-24 CN CN202010857744.0A patent/CN112101895A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105989440A (zh) * | 2015-02-12 | 2016-10-05 | 杨波 | 一种流程自定义的处理方法及其工作流引擎 |
CN105046408A (zh) * | 2015-06-25 | 2015-11-11 | 国网山东省电力公司 | 一种可配置工作流的实现方法及系统 |
CN106600238A (zh) * | 2016-12-26 | 2017-04-26 | 上海轻维软件有限公司 | 基于Activiti流程引擎的网络业务开通实现方法及装置 |
CN109544113A (zh) * | 2018-11-23 | 2019-03-29 | 四川长虹电器股份有限公司 | 一种基于有限状态机的工作流引擎建模方法及流程管理系统 |
CN110688403A (zh) * | 2019-09-23 | 2020-01-14 | 中国船舶重工集团公司第七一六研究所 | Activiti流程人工节点办理人筛选引擎 |
Non-Patent Citations (1)
Title |
---|
李昂: "REST架构工作流中间件设计与实现", 计算机工程与设计 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112668295A (zh) * | 2021-01-15 | 2021-04-16 | 云南电网有限责任公司迪庆供电局 | 一种基于自定义表单和Activiti工作流的管理系统及方法 |
CN113190553A (zh) * | 2021-04-27 | 2021-07-30 | 新奥数能科技有限公司 | 一种基于bpmn的数据上报系统及数据上报方法 |
CN113190553B (zh) * | 2021-04-27 | 2024-03-08 | 新奥数能科技有限公司 | 一种基于bpmn的数据上报系统及数据上报方法 |
CN113391996A (zh) * | 2021-05-27 | 2021-09-14 | 东南大学 | 一种基于工作流程的软件接口组合执行测试方法 |
CN113504955A (zh) * | 2021-07-16 | 2021-10-15 | 航天中认软件测评科技(北京)有限责任公司 | 一种基于bpmn的航天工作流管理系统 |
CN113408955A (zh) * | 2021-07-19 | 2021-09-17 | 浙江孚临科技有限公司 | 一种bpmn前端工作流操作方法 |
CN114880015A (zh) * | 2021-07-26 | 2022-08-09 | 深圳前海微众银行股份有限公司 | 任务配置方法、装置、设备及存储介质 |
CN113537943A (zh) * | 2021-07-30 | 2021-10-22 | 苏州工业园区测绘地理信息有限公司 | 一种通用工作流引擎及其构建方法 |
CN113805885A (zh) * | 2021-09-18 | 2021-12-17 | 建信金融科技有限责任公司 | 基于工作流引擎的流程式管理系统前端构建系统及方法 |
CN113805885B (zh) * | 2021-09-18 | 2023-06-02 | 建信金融科技有限责任公司 | 基于工作流引擎的流程式管理系统前端构建系统及方法 |
CN114840291A (zh) * | 2022-04-14 | 2022-08-02 | 上海川源信息科技有限公司 | 一种分布式存储业务流程的系统及其使用方法 |
CN114926143A (zh) * | 2022-05-16 | 2022-08-19 | 三峡高科信息技术有限责任公司 | 基于业务组件和流程引擎的配置企业工作流的方法及平台 |
CN114926143B (zh) * | 2022-05-16 | 2022-11-08 | 三峡高科信息技术有限责任公司 | 基于业务组件和流程引擎的配置企业工作流的方法及平台 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112101895A (zh) | 一种支持工作流客户端与工作流引擎适配的建立方法及系统 | |
US7555538B2 (en) | System and method for building and execution of platform-neutral generic services' client applications | |
US20070079128A1 (en) | Electronic signature system and method | |
US20020188761A1 (en) | Data-type definition driven dynamic business component instantiation and execution framework | |
CN101888452A (zh) | 一种多接入式客服系统及其方法 | |
CN1755620A (zh) | 工作流进度表创作工具 | |
CN107943945A (zh) | 一种大数据分析开发平台中异构算子管理方法 | |
CN109377186A (zh) | 一种流程管理装置及方法 | |
CN105278960A (zh) | 一种遥感应用中的流程自动化方法及系统 | |
CN109829679A (zh) | 项目管理方法、装置、计算机装置及存储介质 | |
CN113037830A (zh) | 基于网关的微服务api编排方法及系统 | |
CN114926143B (zh) | 基于业务组件和流程引擎的配置企业工作流的方法及平台 | |
CN103729742B (zh) | 一种基于soa架构和模型驱动架构的数据资源管理系统 | |
US20140173420A1 (en) | Smart office system, operation server, and operation method for the same | |
CN114756226B (zh) | 一种应用与数据服务分离架构的分布式工业软件构建方法 | |
CN1662011A (zh) | 使用元数据定义映射来构建组件应用程序的系统和方法 | |
CN112597199B (zh) | 异构多数据源适配方法及装置 | |
CN106790407B (zh) | 一种基于dlp大屏异构事务处理和信息通讯的系统 | |
CN109858905B (zh) | 跨系统的电子凭证处理方法及装置 | |
CN114897511A (zh) | 基于rpa技术的业务流程调度处理方法及系统 | |
CN108304219A (zh) | 二次开发平台及方法 | |
CN105554322A (zh) | 基于web实现ivr配置的方法 | |
CN105740321A (zh) | 一种语音查询业务的方法及装置 | |
CN115756399B (zh) | 一种场景式可组装的中台业务集成方法和系统 | |
KR100738041B1 (ko) | 개방형 모바일 비즈니스 지원 시스템에서 메시지 전송 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |