CN111104106A - 集成业务流程与通讯报文的可视化开发方法、***及介质 - Google Patents
集成业务流程与通讯报文的可视化开发方法、***及介质 Download PDFInfo
- Publication number
- CN111104106A CN111104106A CN201911404089.7A CN201911404089A CN111104106A CN 111104106 A CN111104106 A CN 111104106A CN 201911404089 A CN201911404089 A CN 201911404089A CN 111104106 A CN111104106 A CN 111104106A
- Authority
- CN
- China
- Prior art keywords
- message
- component
- node
- visual
- flow
- 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
- 238000000034 method Methods 0.000 title claims abstract description 282
- 230000008569 process Effects 0.000 title claims abstract description 209
- 230000000007 visual effect Effects 0.000 title claims abstract description 113
- 238000011161 development Methods 0.000 title claims abstract description 68
- 238000004891 communication Methods 0.000 title claims abstract description 42
- 230000002452 interceptive effect Effects 0.000 claims abstract description 11
- 238000004806 packaging method and process Methods 0.000 claims description 13
- 238000004458 analytical method Methods 0.000 claims description 10
- 238000003860 storage Methods 0.000 claims description 9
- 238000012858 packaging process Methods 0.000 abstract description 4
- 230000018109 developmental process Effects 0.000 description 50
- 238000012545 processing Methods 0.000 description 38
- 230000014509 gene expression Effects 0.000 description 26
- 238000010586 diagram Methods 0.000 description 15
- 238000012986 modification Methods 0.000 description 14
- 230000004048 modification Effects 0.000 description 14
- 230000006399 behavior Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 238000012937 correction Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000012217 deletion Methods 0.000 description 5
- 230000037430 deletion Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04817—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0486—Drag-and-drop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种业务流程与通讯报文的可视化开发方法、***及介质,其中方法包括:在可视化交互界面展示的可视化集成开发平台中创建业务流程;进入流程编辑器,并加载组件工具箱;在流程编辑器中利用组件工具箱中的组件进行组合配置串接,形成可视化流程,并生成流程定义文件;配置组包适配器组件或解包适配器组件时,进入报文编辑器;在报文编辑器中利用报文节点组合配置报文数据的组包流程或解包流程,生成报文定义文件;将流程定义文件、报文定义文件部署到工作流服务平台,并进行初始化,保存业务流程的唯一标识。将业务流程与报文配置的可视化编辑结合进行开发显著优于将两者分开分别开发,提高了开发效率,有利于实际业务快速普及和更新。
Description
技术领域
本发明涉及软件开发技术领域,尤其涉及一种集成业务流程与通讯报文的可视化开发方法、***及介质。
背景技术
目前金融、证券、政务等行业自助服务领域的业务发展迅速,自助设备已逐渐发展成为网点大厅交易业务的主要渠道,极大减轻了柜台业务压力和排队状况。自助设备上提供了人机交互的自助应用程序,该程序通常是通过业务中间平台跟行业核心后台***进行数据通信。因业务发展快,自助上的各种业务应用的升级更新也频繁,而后台***提供给的数据接口报文内容会不断升级更新,同时会导致业务中间平台需要快速调整业务流程和通讯报文配置来应对现有业务的变化,业务流程和通讯报文的频繁变化带来应用程序开发上的开发效率问题和软件质量问题是目前亟需解决应对的难点问题。
现有业界的已有自助领域业务中,针对业务流程的变化,需要在程序代码实现层进行修改和适配,业务流程的逻辑夹杂在复杂的程序代码中,不具备直观性,即使只是微小的修改和调整,也需要进行大量的测试和反复的验证,才能确定稳定的程序版本进行升级和更新。特别针对于金融行业,对于程序代码的质量要求很高很严谨,反复的修改和大量的手工程序代码提高了应用复杂度,增加了***不确定性。对于通讯报文的处理,通常需要调整数据接口的配置化信息,通讯报文的类型繁多且复杂,导致配置化信息也是复杂、难以理解、上手难度很大,若不具备对业务及报文处理等背景知识,很难配置出正确的复杂通讯处理报文。而且业务流程和通讯报文两者的开发隔离在两个不同的开发模块中进行,这样的开发模式对程序开发人员的要求很高,程序开发过程复杂度高,开发效率低下,不具备直观化表述整个流程的运行过程,不利于业务发展快速迭代的现时需求。
发明内容
本发明提供了一种集成业务流程与通讯报文的可视化开发方法、***及介质,以解决现有技术中面向自助软件***的集成业务流程与通讯报文处理的程序开发效率低下,其开发过程中业务流程逻辑表达不够直观、接口通讯报文编辑不直观,导致业务不能及时开发、软件质量不可控的问题。
本发明第一方面,提供了一种集成业务流程与通讯报文的可视化开发方法,包括:
接收用户新建指令,在可视化交互界面展示的可视化集成开发平台中创建业务流程;
接收用户流程编辑指令,进入流程编辑器,并加载组件工具箱;
接收用户的流程选择指令,在流程编辑器中依据流程选择指令利用组件工具箱中的组件进行组合配置串接,形成可视化流程,生成流程定义文件;
在形成可视化流程过程中,配置组包适配器组件或解包适配器组件时,接收用户的组包编辑指令或解包编辑指令进入报文编辑器;
接收用户的报文选择指令,在报文编辑器中依据报文选择指令利用报文节点组合配置报文数据的组包流程或解包流程,生成报文定义文件;
接收用户的部署指令,依据部署指令将流程定义文件、报文定义文件部署到工作流服务平台,并进行初始化,保存业务流程的唯一标识。
进一步地,所述接收用户新建指令,在可视化交互界面展示的可视化集成开发平台中新建业务流程之前,还包括:
基于工作流自定义任务节点开发符合自助业务特点的自定义组件,所述自定义组件包括获取流水号组件、接出组件、数据库操作组件、组包适配器组件及解包适配器组件。
进一步地,所述进入流程编辑器,并加载组件工具箱,具体包括:
流程编辑器根据业务流程创建时被指定的业务代码创建一个业务文件夹,同时生成一个流程定义文件;
流程编辑器加载流程内置组件,流程内置组件包括开始节点、结束节点、脚本节点、信号节点、分支节点、合并节点;
流程编辑器解析自定义组件的组件定义描述文件,将对应的自定义组件加载并显示在组件工具箱区域;
流程编辑器根据接出渠道的配置加载为接出组件显示在组件工具箱区域;
流程编辑器根据已有业务流程加载为可选择的子流程组件显示在组件工具箱区域。
进一步地,在所述在流程编辑器中依据流程选择指令利用组件工具箱中的组件进行组合配置串接的过程中:
当组件被流程编辑模块使用时,会以图标节点的方式显示到流程编辑区;
当组件为流程内置组件或自定义组件时,当组件图标节点被双击时,会根据节点类型打开组件的属性设置窗口或者打开组件指定的窗口;当组件图标节点被右击时,将会显示节点对应组件的导航菜单,根据导航菜单可进行组件的定义;
当接出渠道的接出组件被使用时,接出渠道配置会直接赋予给接出组件的输入参数;
当子流程组件被使用时,双击子流程组件图标可以直接打开新窗口进入子流程的流程编辑器;
当自定义组件为组包适配器组件或解包适配器组件时,双击对应组件图标将打开报文编辑器。
进一步地,所述在报文编辑器中依据报文选择指令利用报文节点组合配置报文数据的组包流程或解包流程,生成报文定义文件,包括:
在报文编辑器中,依据报文选择指令对显示的报文可视化编辑树进行编辑操作;
将报文可视化编辑树的编辑操作同步到报文对象模型树,报文对象模型树的节点与报文可视化编辑树的节点一一对应;
报文对象模型树在编辑操作完成后生成报文定义文件。
进一步地,所述依据部署指令将流程定义文件、报文定义文件部署到工作流服务平台,并进行初始化,其中,初始化包括:
工作流引擎加载流程定义文件,将业务流程的唯一标识保存在工作流引擎中;
资源管理器加载报文配置资源及***资源,将报文配置的唯一标识保存在资源管理器中;
报文组解包引擎加载报文定义文件,生成报文配置对象树,并加载报文类型资源;
组件管理器加载自定义组件,组件管理器中组件以键值对的关系存在。
进一步地,所述依据部署指令将流程定义文件、报文定义文件部署到工作流服务平台,并进行初始化,保存业务流程的唯一标识之后,还包括:
工作流服务平台接收业务流程调用请求,并接收业务流程的唯一标识和流程参数;
执行业务流程的唯一标识对应的业务流程,返回业务流程执行结果。
进一步地,所述执行业务流程的唯一标识对应的业务流程,包括:
从工作流会话池获取工作流会话;
调用工作流会话的开始执行方法开始执行业务流程,传入业务流程的唯一标识和流程参数;
业务流程执行过程中,若遇到节点为子流程组件节点,则先执行子流程后再返回主流程;若遇到自定义组件节点,则执行自定义组件逻辑;若遇到组包适配器组件节点或解包适配器组件节点,则调用报文组解包引擎来进行组包或解包,报文组解包引擎在组包或解包过程中通过资源管理器访问报文配置资源。
本发明第二方面,提供了一种集成业务流程与通讯报文的可视化开发***,包括通过可视化交互界面展示的可视化集成开发平台,所述可视化集成开发平台包括:
流程编辑器,包括组件工具箱、流程编辑模块,用于利用组件工具箱中的组件对业务流程进行可视化编辑,形成可视化流程,并生成流程定义文件;
报文编辑器,用于利用报文节点组合对数据接口报文进行可视化编辑,并生成报文定义文件;
工作流服务平台,用于部署所述流程定义文件和报文定义文件,并用于支持业务流程的执行和数据报文的解析。
本发明第三方面,提供了一种计算机可读存储介质,所述存储介质存储有程序指令,所述程序指令适于被处理器加载并运行如上所述的集成业务流程与通讯报文的可视化开发方法。
有益效果
本发明提出了一种集成业务流程与通讯报文的可视化开发方法、***及介质,本发明将业务流程可视化编辑和报文配置可视化编辑结合进行开发显著优于将两者分开分别开发定义,有效的提高了开发效率,提高了业务流程的直观性。本发明创新性的改善了自助应用领域的业务流程配置和报文配置的不够便捷、不够直观的难题,采用融合可视化流程编辑、可视化报文编辑、工作流服务平台等模块实现可视化业务流程编辑和报文编辑一体化的可视化开发***,为提升自助应用程序的开发效率和软件质量提供工具支撑。利用方便快捷的可一体化的可视化集成开发平台,通过拖拉组件的方式形成业务执行的流程图,直观的表述业务运行过程中的相关操作,通过可视化进行通讯报文的配置,清晰的展示了通讯报文的结构和组成,两者的结合式开发方法是特定于自助领域的业务流程应用程序开发实现的创新且有效的途径,既降低开发过程的开发复杂度和上手难度,也有利于改善软件质量,加速业务的快速普及和更新。
附图说明
图1是本发明实施例提供的一种集成业务流程与通讯报文的可视化开发方法流程图;
图2是本发明另一实施例提供的一种集成业务流程与通讯报文的可视化开发方法流程图;
图3是本发明实施例提供的报文编辑器实现原理图;
图4是本发明实施例提供的报文组解包引擎初始阶段的报文配置树结构图;
图5是本发明实施例提供的报文组解包引擎运行阶段的报文处理流程图;
图6是本发明实施例提供的工作流运行平台的运行原理图;
图7是本发明实施例提供的集成业务流程与通讯报文的可视化开发***结构示意图;
图8是本发明实施方式中具体实例的子流程示意图;
图9是本发明实施方式中具体实例的主流程示意图;
图10是本发明实施方式中具体实例的组包报文配置示意图;
图11是本发明实施方式中具体实例的解包报文配置示意图。
具体实施方式
下面结合附图及具体实施方式对本发明进行详细说明。
如图1所示,本发明实施例提供了一种集成业务流程与通讯报文的可视化开发方法,包括:
S01:接收用户新建指令,在可视化交互界面展示的可视化集成开发平台中创建业务流程;
S02:接收用户流程编辑指令,进入流程编辑器,并加载组件工具箱;
S03:接收用户的流程选择指令,在流程编辑器中依据流程选择指令利用组件工具箱中的组件进行组合配置串接,形成可视化流程,并生成流程定义文件;
S04:在形成可视化流程过程中,配置组包适配器组件或解包适配器组件时,接收用户的组包编辑指令或解包编辑指令进入报文编辑器;
S05:接收用户的报文选择指令,在报文编辑器中依据报文选择指令利用报文节点组合配置报文数据的组包流程或解包流程,生成报文定义文件;
S06:接收用户的部署指令,依据部署指令将流程定义文件、报文定义文件部署到工作流服务平台,并进行初始化,保存业务流程的唯一标识。
下面将进一步详细对实施例提供了一种业务流程与通讯报文的可视化开发方法完整过程进行说明。
首先,基于工作流自定义任务节点开发符合自助业务特点的自定义组件,所述自定义组件包括获取流水号组件、接出组件、数据库操作组件、组包适配器组件及解包适配器组件。其中,定义组包适配器组件过程中,输出参数(报文数据保存Key)为必须项;定义解包适配器组件过程中,输入参数(报文数据获取Key)为必须项。自定义组件定义完成后需要配置组件定义描述文件,用来描述该组件的名称、输入/输出参数的定义,该文件用XML的形式来描述。
进入可视化集成开发平台,接收用户新建指令,在可视化交互界面展示的可视化集成开发平台中创建业务流程;接收用户流程编辑指令,进入流程编辑器,并加载组件工具箱。具体包括:
A、当业务流程被创建时,必须指定业务代码(或交易流程),流程编辑器根据业务代码创建一个以业务代码命名的文件夹,同时生成一个流程定义文件,该流程定义文件的命名为“业务代码.bpmn”,该bpmn文件内容是符合工作流规范(如BPMN规范)规则的XML;
B、流程编辑器加载流程内置组件,流程内置组件包括开始节点、结束节点、脚本节点、信号节点、分支节点、合并节点;
C、流程编辑器解析自定义组件的组件定义描述文件,将对应的自定义组件加载并显示在组件工具箱区域;
D、流程编辑器根据接出渠道的配置加载为接出组件显示在组件工具箱区域;如存在N个接出渠道配置,将会有N个接出组件展示在可视化工具中,当某个接出组件被拖拽进入流程编辑器,接出渠道相关的配置将会自动赋予给接出组件的属性,整个过程即减少了开发过程中的配置量,也避免的配置的繁杂性。
E、流程编辑器根据已有业务流程加载为可选择的子流程组件显示在组件工具箱区域;如已编辑完成的流程有N个,将会有N个子流程组件展示在组件工具箱区域中,当子流程组件被拖拽进入流程编辑器,流程相关的配置将会自动赋予给子流程组件的属性。
接收用户的流程选择指令,在流程编辑器中依据流程选择指令利用组件工具箱中的组件进行组合配置串接,形成可视化流程,并生成流程定义文件;其中:
当组件被流程编辑模块使用时,会以图标节点的方式显示到流程编辑区;
当组件为流程内置组件或自定义组件时,当组件图标节点被双击时,会根据节点类型打开组件的属性设置窗口或者打开组件指定的窗口;当组件图标节点被右击时,将会显示节点对应组件的导航菜单,根据导航菜单可进行组件的定义,导航菜单一般包括属性设置、删除菜单,在组件属性设置窗口中可以定义组件的输入参数和输出参数等;
当接出渠道的接出组件被使用时,接出渠道配置会直接赋予给接出组件的输入参数;
当子流程组件被使用时,双击子流程组件图标可以直接打开新窗口进入子流程的流程编辑器;
当自定义组件为组包适配器组件或解包适配器组件时,接收用户的组包编辑指令或解包编辑指令进入报文编辑器,即双击对应组件图标将打开报文编辑器,进入报文编辑器进行报文配置。
接收用户的报文选择指令,在报文编辑器中依据报文选择指令利用报文节点组合配置报文数据的组包流程或解包流程,生成报文定义文件。具体包括:
在报文编辑器中,依据报文选择指令对显示的报文可视化编辑树进行编辑操作,报文可视化编辑树的节点类型包括:报文根、报文类型、字段、赋值、关联、循环、条件、如果、其他;报文可视化编辑树是报文编辑器中用来组织报文组解包逻辑的显示结构,它由上述九种报文节点组合而成;将报文可视化编辑树的编辑操作同步到报文对象模型树,报文对象模型树是用来形象描述树结构的逻辑结构,报文对象模型树的节点与报文可视化编辑树的节点一一对应;报文对象模型树在编辑操作完成后生成报文定义文件。
当组包适配器组件被使用时,通过双击或者通过组件右键菜单选择打开报文编辑器进行组包报文编辑;在组包适配器组件被拖拽进入流程编辑区时,会在当前流程文件所在目录新增命名为(业务代码.enc)的组包配置文件,当打开报文编辑器时,报文编辑器会根据流程所在目录查找(业务代码.enc)文件的规则加载组包报文配置。
当解包适配器组件被使用时,右击双击或者通过组件右键菜单选择打开报文编辑器进行解包报文编辑;在解包适配器组件被拖拽进入流程编辑区时,会在当前流程文件所在目录新增命名为(业务代码.dec)的解包配置文件,当打开报文编辑器时,报文编辑器会根据流程所在目录查找(业务代码.dec)文件的规则加载解包报文配置。
针对报文节点的类型的本方法设计总共分为报文根节点、报文类型、字段、赋值、关联、循环、条件、如果、其他等类型,具体报文类型节点功能说明如下。
1)报文根(Message)
设置报文方向为组包、解包,报文的解析从该节点开始,每个报文有且只有一个报文根节点,且不能进行删除。
2)报文类型节点(PacketType)
用来指定报文组解包报文类型,包含定长、ISO8583、JSON、XML、分隔符等;也可自定义报文类型,每种类型在报文组解包引擎中都有与之对应的报文组包器/报文解包器。
当报文类型设置为XML时,节点属性需要设置字符集和命名空间,报文组解包引擎将会根据设置的字符集和命名空间来组包/解包。
当设置报文类型为JSON时,节点属性需要设置字符集,防止报文组解包引擎在组解包过程中的编码不一致问题。
当设置报文类型为分隔符时,节点属性需要指定分隔符类型和字符集,报文组解包引擎根据分隔符类型进行组解包。
3)字段节点(Field)
字段节点是报文组解包过程中的数据承载体。组包过程中,字段节点的作用是从组包上下文获取字段名称的值按照字段的配置规则生成业务所需要的组包数据;解包过程中,字段节点的作用是按照字段的配置规则从报文数据解析出数据并按照字段名称的值保存到组包上下文中。
字段节点分为公用属性和私有属性:
公用属性包含字段名称、字段类型、字段描述、数据格式修正处理链;字段名称在组包时代表从报文上下文获取的键对应的值,在解包过程中代表解析出的数据保存到报文上下文的键对应的值。字段类型包括整型、字符串型、浮点型、布尔类型、组合类型,其中当字段类型为组合类型时,该字段将会起到报文类型切换的作用。
私有属性是根据报文类型的不同而不同。当前报文类型是定长报文时,私有属性包含长度设置,用来标识字段在数据中的长度;当前报文类型是XML报文时,字段需要设置路径,路径代表XML中根节点到字段节点的全路径,报文解析器根据XML的路径设置来获取该字段在数据中的位置。比如/Root/Value则标识Root标签下的Value标签的值;当前报文类型是JSON报文时,字段需要设置路径,路径代表JSON根节点到字段的全路径。报文解析器根据JSON的路径设置来获取该字段在数据中的位置。比如Root.Value则标志Root节点下Value对应键的值;当前报文类型是ISO8583报文时,需要设置所在域和域格式。
4)赋值节点(Define)
赋值节点是将常量或者表达式保存在报文上下文中,以方便后续报文逻辑使用。赋值节点包含节点名称和值属性,节点名称代表保存到报文上下文的键值,值是通过表达式处理后的值。例如节点配置名称为A,表达式配置为${bizcode}+'001',代表将报文上下文中的bizcode对应的值和常量001拼接后,重新保存键为A的键值对到报文上下文中。
5)关联节点(Ref)
关联节点代表使用其他报文配置,通常配置为常量或者表达式。报文组解包引擎遇到该节点时,将会根据配置的值从资源管理中找到对应的报文进行组解包。在实际场景中,一个接入渠道或者接出渠道通常包含公共配置部分,此时将公共配置部分作为一个通用报文配置部分,在实际交易报文配置中通过关联节点将通用报文部分包含。
6)循环节点(Loop)
循环节点只是一个标签说明,代表被循环节点包括的子节点将会执行循环迭代逻辑,循环节点的数据承载体是其子节点内的字段节点,循环节点需要配置节点名称、循环次数、迭代序号。节点名称在组包过程中代表上文下中对应集合的键值,在解包过程中代表接报后的集合保存到上下文中的键值;循环次数可以指定常量次数,也可以使用表达式来指定;迭代序号是循环过程中的索引值(即第几次循环),迭代序号从0开始,每次循环的索引值会使用迭代序号配置的键保存,用来在子报文中的使用,在子节点路径的配置中循环节点会使用节点名称[迭代序号+1]代表第N条迭代记录。
7)条件节点(Condition)、如果节点(If)、其他节点(Else)
条件节点是一个条件表达式,如果节点将会判断条件节点的表达式是否满足某种条件,满足则执行如果节点下某种报文组解包逻辑,其他节点是在如果节点不满足的情况下进行的某种报文组解包逻辑。
如条件节点配置表达${type},如果节点下的表达式配置常量1,如果节点下有赋值节点配置名称为A,值为1,其他节点下有赋值节点名称为A,值为2,上述报文逻辑可以表述为为当type为1时,设置A=1到报文上下文中,如果type为其他值,设置A=2到报文上下文中。
针对报文配置中的表达式和数据格式修正处理链,其说明如下:
表达式主要分为三类,包括单值处理,表达式的拼装,表达式的函数处理。其中单值处理,使用${名字},名字可以是组解包上下文中的键;表达式的拼装代表表达式与表达式、表达式和常量、多个表达式都可以通过加号进行拼装组合成新的值;表达式的函数处理代表表达式后可以接常用的函数处理,包括substring、length、indexOf等等。
数据格式修正处理链是在报文字段节点的前处理和后处理中的一连串对字段节点的操作或函数转换处理,它在报文编辑器中表现为一系列的预定义字段编辑函数,包含编码转换、字节码和字符串的互转、分和元的互转、左右填充、转换大小写等函数。在编辑器中,数据格式修正链组件是一个视图组件,在字段的属性编辑中,可以使用数据格式修正处理链组件进行添加、删除、修改、上移、下移。数据格式修正处理链组件使用隐藏输入框来保存数据格式修正处理链的值,当数据格式修正处理链进行操作时,会同步修改隐藏输入框的值,当完成对数据格式修正处理链的逻辑设计后,其表达方式在报文定义文件中使用“|”按顺序分隔,如binToStr('UTF-8')|leftPad(10,‘0’)代表先执行字节码按照UTF-8编码转字符串,然后对字符串进行左填充,填充规则是使用0填充使得字符串长度为10。
接收用户的部署指令,依据部署指令将流程定义文件、报文定义文件部署到工作流服务平台,并进行初始化,保存业务流程的唯一标识。其中,初始化包括:
工作流引擎加载流程定义文件,将业务流程的唯一标识保存在工作流引擎中;
资源管理器加载报文配置资源及***资源,将报文配置的唯一标识保存在资源管理器中;
报文组解包引擎加载报文定义文件,生成报文配置对象树,并加载报文类型资源;
组件管理器加载自定义组件,组件管理器中组件以键值对的关系存在。
在一优选实施例中,如图2所示,在所述依据部署指令将流程定义文件、报文定义文件部署到工作流服务平台,并进行初始化,保存业务流程的唯一标识之后,还包括:
S07:工作流服务平台接收业务流程调用请求,并接收业务流程的唯一标识和流程参数;
S08:执行业务流程的唯一标识对应的业务流程,返回业务流程执行结果。
其中,所述执行业务流程的唯一标识对应的业务流程,具体包括:
从工作流会话池获取工作流会话;如果有空闲的会话,则直接返回空闲的会话;如果工作流会话池没有空闲的会话,将会创建新的会话,并将组件管理器中的组件注册到会话中;
调用工作流会话的开始执行方法开始执行业务流程,传入业务流程的唯一标识和流程参数;
业务流程执行过程中,若遇到节点为子流程组件节点,则先执行子流程后再返回主流程;若遇到自定义组件节点,则执行自定义组件逻辑;若遇到组包适配器组件节点或解包适配器组件节点,则调用报文组解包引擎来进行组包或解包,报文组解包引擎在组包或解包过程中通过资源管理器访问报文配置资源。
如图3所示,下面针对报文编辑器的实现原理做进一步说明,说明如下:
报文编辑器使用对象化设计,将报文节点类型对象化,抽象出报文节点的共有属性和共性行为,同时针对报文节点的类型特点做私有属性和行为扩展;报文编辑器在显示上体现为一颗可视化编辑树,报文编辑器的操作行为都是通过可视化编辑树的操作来实现;在报文处理逻辑上体现为一颗对象模型树,对象模型树是可视化编辑树的数据承载体;可视化编辑树的操作只是页面显示层的操作,数据的变化都是通过对象模型树来进行同步的,同时对两者的同步实时性要求很高。综上,报文编辑器的实现包括报文对象化、报文可视化编辑树、报文编辑对象模型树、可视化编辑树和对象模型树的实时同步等技术机制,具体说明如下:
1)报文可视化编辑树
报文配置在显示上表现为一棵可视化编辑树,可视化编辑树由一个报文根节点和多个其他七种报文节点组合而成,每个节点都可以按照自身的节点属性进行节点的子节点增加、兄弟节点添加、属性修改、删除等。
树中节点的行为,包括子节点和兄弟节点的增加、修改、删除,都是通过右击节点显示右击菜单的方式进行操作。其中右击菜单的内容是通过节点对象的方法获取。
树形节点的属性设置,包括通用属性设置和私有属性设置都是通过点击节点,打开右边的属性设置界面来进行设置的,其中属性页面的动态渲染是通过节点的对象返回不同支撑库元素集合实现。
2)报文对象模型树
按照报文节点类型将节点对象化,提炼出报文节点的共有属性和共性行为,可以针对报文节点的特殊特点做私有属性扩展和个性行为扩展;如报文节点的唯一标识、显示标签、节点名称等都属于共用属性,根节点的报文方向配置、字段节点的报文类型等都是节点的私有属性。报文节点的初始化、子节点添加、修改、删除操作都属于共性行为,报文节点的右键菜单列表、属性编辑界面属于个性行为。借助报文编辑辅助库,能够将报文节点在页面显示的差异性并入节点的个性行为扩展。
报文配置在逻辑层表现为一颗对象模型树,可视化编辑树的每个节点都对应对象模型树的一个节点,节点之间的关系通过节点唯一标识进行一一对应,可视化编辑树的增、删、改操作都需要跟对象模型树进行同步。节点对象中包含自身的属性集合和行为集合。
属性集合包括节点唯一标识、父节点的唯一标识、节点名称、节点数据、XML节点名称、父节点对象、子节点集合等。
行为集合包括如下:初始化节点、添加子节点、删除子节点、获取子节点、获取节点显示标签、获取对象的右键菜单、获取对象的属性设置界面公共配置、获取对象生成的节点XML配置、获取对象生成的子节点XML配置、获取生成XML属性的节点数据等。
对于整个报文而言,报文定义文件内容的生成是通过对象模型树完成的。当调用报文节点的获取报文XML方法获取整个报文的结构体,报文节点不仅获取本身的XML配置定义,还会获取获取子节点的XML配置定义,然后沿着树结构一层层往下嵌套,直到递归完成所有的节点,最后形成整个报文定义文件的全部内容。
3)可视化编辑树和对象模型树的实时同步
对可视化编辑树上选择节点进行子节点/兄弟节点添加时,首先在可视化编辑树上添加子节点/兄弟节点,然后根据选择节点的唯一标识找到对象模型树中的节点对象,如果是添加子节点,则使用节点对象的添加节点方法添加;如果添加的是兄弟节点,则先获取父节点,再调用父节点的添加节点方法。
对可视化编辑树的某个节点进行属性编辑时,先修改可视化树的显示属性,然后根据选择节点的唯一标识找到对象模型树中的节点对象,将属性保存到对应的节点对象中。
对可视化树上某个节点进行节点删除时,首先在可视化树上删除节点,然后根据选择节点的唯一标识找到对象模型树中的节点对象,先获取父节点,再调用父节点的删除节点方法。
针对报文组解包引擎,报文组解包引擎的运行包括初始阶段和运行阶段。
初始阶段作用是将报文定义文件生成报文配置对象树,加载报文类型资源,其步骤如下:
步骤1、加载报文定义文件,生成报文配置对象树,加载成功后,使用键为报文定义文件的文件名作为唯一标识保存到资源管理器中。报文配置对象树由报文根节点对象、报文类型节点对象、简单字段节点对象、复合字段节点对象、赋值节点对象、条件节点对象、循环节点对象、关联节点对象组成。这些节点对象主要实现组报文、解报文、增加孩子节点方法,只有简单字段节点为叶子节点无增加孩子节点方法,其他节点对象都实现增加孩子节点方法。根据报文定义文件的XML节点的组成,使用XML解析程序,将报文配置含有以上节点类型的XML文件解析生成一棵树。如图4所示,步骤如下:
根节点:用来组报文、解报文的开始节点,设置组、解报文的属性,是整个对象树的根节点。
报文类型节点:报文类型节点是来指定组解包报文格式,如报文类型为XML、JSON、文本定长字段、分割符等,各种报文格式可以自由组合使用,比如:XML报文有个明细内容的字段,这个明细内容里面格式可能会用到简单的定长字段格式、分割符格式的报文类型,报文类型节点必有子节点,它是为其子节点服务。
简单字段节点:在具体报文类型下,字段的属性,如:字段的名称、类型、编码、在报文中位置、数据格式修正处理链等,还有特定格式属性,如:定长字段格式的长度等。
组合字段节点:组合字段是字段本身内容还要进行详细的解析,将此字段的内容再分成多个字段解析出来,进一步解析内容必须要指定解析报文格式的类型。通过这种组合字段可以将各种报文格式类型可以自由组合,达到解析复杂报文目的
赋值节点:赋值节点的将常量或者表达式保存在报文上下文中,以方便后续报文逻辑使用。
条件节点(如果-其他):条件节点配置一个条件表达式,条件表达式将会判断表达式值是否满足其条件,满足则执行一种报文解析逻辑,否则在条件语句不满足的情况下进行的另一种报文解析逻辑。
循环节点:当复杂字段是一个循环列表时,可以用循环节点来表示这个字段进行更详细的解析,循环节点包括的属性有:循环次数、循环序号等
关联节点:关联节点主要用来将复杂的报文配置文件分成多个后,用一个主配置文件以关联的方式将多个配置文件组装在一起。
步骤2、加载报文类型管理器,将所有报文类型类注入报文类型管理器,报文组解包时,根据报文类型节点的设置从报文类型管理器中获取。报文类型类主要有XML类、JSON类、定长字段类、分割符类、ISO8583类,这些类主要封装在不同报文类型下对字段节点的前处理、值处理、后处理,前处理主要在针对报文的字段在组解包前需要进行的操作,如果组包时对字段的数据格式修正链的操作,值处理是对报文字段的解析逻辑,后处理时对报文字段组解包后需要进行的操作。
运行阶段是根据报文配置树对实际报文数据进行组解包的逻辑过程,如果图5所示,步骤如下:
(1)报文组包适配器组件/报文解包适配器组件将要报文的唯一标识、报文上下文、数据对象(解包时需要)传递给报文引擎。
(2)报文组解包引擎从资源管理器中根据唯一标识获取报文配置对象树。从报文配置对象树根节点开始,根据节点类型调用对应的处理对象进行逻辑处理。
2.1若是报文类型节点:
从报文类型管理器获取报文类型类、自身属性参数,将此类进行实例化,并将实例注入当前上下文,然后将当前上下文传给子节点,依次进行子节点处理。
2.2若是简单字段节点:
从当前上下文中获取报文类型对象、父级名称,从自身对象获取名称、编码、数据格式修正链等,根据报文类型对象逻辑将流程引擎传递的报文数据对象对应字段值通过编码、数据格式修正链处理后赋值到报文配置位置。
2.3若是组合字段节点:
从当前上下文中获取报文类型对象、父级名称,从自身对象获取名称、编码、数据格式修正链等;将当前上下文的报文数据对象、当前配置节点构建新的上下文,传递给子节点,依次进行处理,处理完所有子节点后,根据报文类型对象逻辑将流程引擎传递的报文数据对象对应字段值通过编码、数据格式修正链处理后赋值到报文配置位置。
2.4若是赋值节点:
根据表达式计算出其值,将此赋值到数据对象中,以方便后续报文逻辑使用。
2.5若是条件节点:
根据此节点的条件表达式,计算其值;若为真,依次进行如果节点下子节点处理;否则,依次进行其他节点下子节点处理。
2.6若是循环节点:
根据此节点的循环次数表达式,计算出循环次数,依照循环次数循环计算子节点报文内容,根据报文类型对象逻辑将报文内容通过编码、数据格式修正链处理后赋值到报文配置位置。
2.7若是关联节点
根据此节点的关联文件名称属性,获取到报文配置树对象,从该报文配置对象树根节点开始,根据节点类型调用对应的处理对象进行逻辑处理,生成对应报文格式。
步骤3、将报文生成的结果返回给组包适配器组件/解包适配器组件。
针对工作流服务平台的运行机制,如图6所示,说明如下:
工作流服务平台的运行行主要包括两个阶段,初始准备阶段和流程运行阶段。
1)初始准备阶段的步骤如下:
步骤1、检查流程定义文件的正确性,如果流程文件定义校验有错,则提示错误,将正确的流程加载到工作流引擎服务中,加载后流程的唯一标识是流程定义文件的名字。
步骤2、初始化组件管理器,组件包括接出组件、组包适配器组件、解包适配器组件、获取流水号组件等,将自定义组件加载到组件管理器中,自定义组件在组件管理中是以键值对的关系存在。
步骤3、初始化资源管理器,包括报文配置资源,其他***资源。针对报文配置资源在资源管理器中有专门的访问路径,通过传入报文资源的路径,即可返回报文配置数据。
2)流程运行阶段的步骤如下:
步骤1、自助服务平台发送调用请求到工作流服务平台,传入参数包括流程唯一标识和流程需要的参数。
步骤2、工作流服务平台接收到调用请求后,首先从工作流会话池获取工作流会话,会话池如果有空闲的会话,则返回空闲的会话,如果会话池没有空闲的会话,将会创建新的会话,同时从组件管理器中获取组件列表注册到会话中。调用会话的开始执行方法开始执行业务流程,传入流程的唯一标识和流程参数。
步骤3、执行过程中如果遇到节点类型为自定义组件,则执行自定义组件逻辑;执行过程中如果为组包适配器组件,组包适配器组件调用组包引擎进行组包,组包引擎访问资源管理器的报文资源;执行过程中如果为解包适配器组件,解包适配器组件调用解包引擎进行解包,解包引擎访问资源管理器的报文资源。
步骤4、调用完成后,将工作流会话返回会话池,并将流程数据返回给自助服务平台。
本发明实施例提供了一种集成业务流程与通讯报文的可视化开发***,如图7所示,包括通过可视化交互界面展示的可视化集成开发平台,所述可视化集成开发平台包括:
流程编辑器,包括组件工具箱、流程编辑模块,用于利用组件工具箱中的组件对业务流程进行可视化编辑,形成可视化流程,并生成流程定义文件;
报文编辑器,用于利用报文节点组合对数据接口报文进行可视化编辑,并生成报文定义文件;
工作流服务平台,用于部署所述流程定义文件和报文定义文件,并用于支持业务流程的执行和数据报文的解析。
具体的,流程编辑器是对业务流程进行可视化编辑的工具,包括组件工具箱,流程编辑模块。组件工具箱中自定义组件包含一系列根据工作流自定义任务节点规范实现的组件,如获取流水号组件、接出组件、数据库操作组件等,其中还包括两个为自助业务特定场景编写的两个组件:组包适配器组件和解包适配器组件;组包适配器组件是业务流程中用来组装数据接口报文的组件;解包适配器组件是业务流程中用来对数据报文进行解析的组件。组件工具箱主要用来处理流程基础组件、自定义组件、接出组件、子流程组件的导入、显示和拖拽;流程编辑模块是业务流程编辑的核心模块,用来对业务流程的可视化编辑,完整表述业务流程的工具模块,业务流程编辑是通过对各种组件的组合、连接、配置,完成业务流程定义,形成符合工作流规范的XML定义文件的过程。
报文编辑器是对数据接口报文进行可视化编辑的工具,在显示上表现为报文可视化编辑树,在逻辑上表现为报文对象模型树。其中报文可视化编辑树的节点类型包括:报文根、报文类型、字段、赋值、关联、循环、条件、如果、其他。报文可视化编辑树是报文编辑器中用来组织报文组解包逻辑的显示结构,它由上述九种报文节点组合而成。报文对象模型树是用来形象描述树结构的逻辑结构,对象模型树的节点和可视化树的节点是一一对应的关系,可视化编辑树的操作都需要同步对象模型树;报文节点类型说明如下:
1)报文根:报文配置的起始节点,用来表明报文配置的方向(组包/解包)。
2)报文类型:指定报文类型的节点,包括ISO8583、JSON、XML、定长、分隔符等,不同的解析器会由不同的属性设置,如分隔符类型需要指定分隔符号、JSON和XML需要指定字符集类型。
3)字段:报文数据的承载体节点,报文的组解包过程中数据的组织和解析都是通过字段来处理。组包过程中,从报文上下文中获取字段配置的名称对应的数据组装成报文数据;解包过程中,将报文数据解析成数据,并使用字段配置的名称保存报文上下文。字段的属性会根据当前字段属于某个报文类型的不同而不同,如定长类型报文字段需要设置长度,JSON类型字段需要设置JSON的全路径,XML类型字段需要设置XML的全路径。
4)赋值:设置键值对的节点,作用是将一组键值对保存报文上下文中,键值的值可以为常量,也可以为表达式,赋值节点常常起到承上启下,为后续报文的组解包准备条件的作用。
5)关联:关联其他报文配置的节点,用于包含其他的报文配置到当前报文中,通常用来包括公共报文配置,以此减少配置量,提取公共配置的作用。
6)循环:组解包报文中的循环体节点。该节点只是一个标签说明,代表被该节点囊括的的报文子节点将按照循环的配置进行迭代组解包。
7)条件、如果、其他:报文中的条件判断节点,通常三个节点一起配置使用,条件节点注入判断对象,如果节点是注入判断对象满足的条件,其他节点是如果节点不满足的其他逻辑。三个标签集合使用相当于如果注入的条件节点对象满足如果节点,则执行如果节点下的报文配置逻辑,如果不满足,执行其他节点下的报文配置逻辑。
工作流服务平台包括工作流引擎、组件管理器、资源管理器、报文组解包引擎。其中报文组解包引擎包括报文组装器、报文解析器。工作流引擎是符合BPM规范的工作流引擎平台,用来加载工作流流程定义文件,运行业务流程过程;组件管理器主要管理自定义组件资源,包括自定义资源的加载和实例化;资源管理器是***资源的访问入口,提供报文配置资源和***资源的访问,组件执行时的资源访问都是通过资源管理器;报文组装器是组包适配器组件在执行过程中调用的组件器,它通过访问资源管理器提供的组包配置来进行数据报文的组装;报文解析器是解包适配器组件在执行过程中调用的解析器,它通过访问资源管理器提供的解包配置来进行数据报文的解析。
本业务流程与通讯报文的可视化开发***的其他具体实现方案,可参照上述实施例提供的业务流程与通讯报文的可视化开发方法的具体内容,在此不再赘述。
本发明第三方面,提供了一种计算机可读存储介质,所述存储介质存储有程序指令,所述程序指令适于被处理器加载并运行如上所述的集成业务流程与通讯报文的可视化开发方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
本发明提出了一种集成业务流程与通讯报文的可视化开发方法、***及介质,本发明将业务流程可视化编辑和报文配置可视化编辑结合进行开发显著优于将两者分开分别开发定义,有效的提高了开发效率,提高了业务流程的直观性。本发明创新性的改善了自助应用领域的业务流程配置和报文配置的不够便捷、不够直观的难题,采用融合可视化流程编辑、可视化报文编辑、工作流服务平台等模块实现可视化业务流程编辑和报文编辑一体化的可视化开发***,为提升自助应用程序的开发效率和软件质量提供工具支撑。利用方便快捷的可一体化的可视化集成开发***,通过拖拉组件的方式形成业务执行的流程图,直观的表述业务运行过程中的相关操作,通过可视化进行通讯报文的配置,清晰的展现了通讯报文的结构和组成,两者的结合式开发方法是特定于自助领域的业务流程应用程序开发实现的创新且有效的途径,既降低开发过程的开发复杂度和上手难度,也有利于改善软件质量,加速业务快速普及和更新。
为了便于进一步理解,下面结合某实施案例做进一步说明。实施案例以创建业务代码为10001的交易流程为例,要求每笔交易都有唯一的流水号,交易报文中包含报文头长度5位、报文内容是XML形式,XML节点中包含JSON形式的地址信息,同时XML节点中的查询明细条目,明细条目中包含多条记录,交易完成后,需要将交易数据发送到设备监控***。
示例报文定义如下:
解包报文为:
该实例实施步骤如下:
步骤1:新建公共子流程,业务代码为99999,流程过程为开始->发送交易数据到监控平台->结束。流程编辑器会新增99999目录,并在99999目录下新增流程定义文件(99999.bpmn),流程图如图8所示;
步骤2:新建业务流程,业务代码为10001,打开流程的流程编辑器,流程过程为开始-获取流水号组件->组包适配器组件->接出组件->解包适配器组件->调用公共子流程(99999)->结束,
流程编辑器会新增10001目录,并在10001目录下新增流程定义文件(10001.bpmn),流程图如图9所示;
步骤3:新建公共报文配置common.enc来配置head部分,新建私有10001.enc来配置整个组包报文。head部分为组包公共报文体,提取到公共配置common.enc,通过在主报文中的关联节点进行匹配,详细配置如图10所示;
1)在根报文指定报文的方向为组包,根节点下报文类型节点用来指定定长类型,报文类型节点下的第一个字段节点用来表明报文头长度,长度设置为5,第二个字段节点是组合字段节点,说明子节点的报文组包不同定长类型;
2)组合节点下的报文类型节点设置XML,代表报文内容开始解析。第一个关联节点设置common,代表关联该名称对应的报文配置;赋值的名称是t_bizcode,值设置为${bizcode},代表业务代码使用键等于t_bizcode保存到报文上下文;
3)地址信息是组合报文,代表该节点中的报文使用JSON的格式进行保存;
4)循环节点detail次数配置是2,迭代序号为num,循环节点下的字段配置为/root/body/detail[${num}+1]/f1,代表对detail标签下的节点进行两次循环迭代,每次迭代序号都使用num保存到报文上下文中;
步骤4:新建公共报文配置common.dec来配置head部分,新建私有10001.dec来配置整个组包报文。head部分为组包公共报文体,所以提取到公共配置common.dec,通过在主报文中的关联节点关联,详细配置如图11所示;
步骤5:将流程定义文件10001.bpmn和99999.bpmn文件,报文定义文件common.enc,10001.enc,common.dec,10001.dec部署到工作流服务平台。启动工作流服务平台,工作流引擎加载流程定义文件,流程唯一标识为10001.bpmn,组件管理器加载自定义组件,资源管理器加载报文定义文件,报文唯一标识为报文定义文件的文件名。
步骤6:自助服务平台发送调用业务流程的请求到工作流服务平台,传入参数包括业务代码(trans_code),***(cardno),家庭地址(address1),户口地址(address2),明细数组域(detail,数组的每条数据都是一组键值对),如实例中传入的业务代码为10001。工作流服务平台根据业务代码10001,运行10001.bpmn的业务流程,流程执行完成后,将结果返回自助服务平台。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种集成业务流程与通讯报文的可视化开发方法,其特征在于,包括:
接收用户新建指令,在可视化交互界面展示的可视化集成开发平台中创建业务流程;
接收用户流程编辑指令,进入流程编辑器,并加载组件工具箱;
接收用户的流程选择指令,在流程编辑器中依据流程选择指令利用组件工具箱中的组件进行组合配置串接,形成可视化流程,生成流程定义文件;
在形成可视化流程过程中,配置组包适配器组件或解包适配器组件时,接收用户的组包编辑指令或解包编辑指令进入报文编辑器;
接收用户的报文选择指令,在报文编辑器中依据报文选择指令利用报文节点组合配置报文数据的组包流程或解包流程,生成报文定义文件;
接收用户的部署指令,依据部署指令将流程定义文件、报文定义文件部署到工作流服务平台,并进行初始化,保存业务流程的唯一标识。
2.根据权利要求1所述的集成业务流程与通讯报文的可视化开发方法,其特征在于,所述接收用户新建指令,在可视化交互界面展示的可视化集成开发平台中新建业务流程之前,还包括:
基于工作流自定义任务节点开发符合自助业务特点的自定义组件,所述自定义组件包括获取流水号组件、接出组件、数据库操作组件、组包适配器组件及解包适配器组件。
3.根据权利要求1所述的集成业务流程与通讯报文的可视化开发方法,其特征在于,所述进入流程编辑器,并加载组件工具箱,具体包括:
流程编辑器根据业务流程创建时被指定的业务代码创建一个业务文件夹,同时生成一个流程定义文件;
流程编辑器加载流程内置组件,流程内置组件包括开始节点、结束节点、脚本节点、信号节点、分支节点、合并节点;
流程编辑器解析自定义组件的组件定义描述文件,将对应的自定义组件加载并显示在组件工具箱区域;
流程编辑器根据接出渠道的配置加载为接出组件显示在组件工具箱区域;
流程编辑器根据已有业务流程加载为可选择的子流程组件显示在组件工具箱区域。
4.根据权利要求1所述的集成业务流程与通讯报文的可视化开发方法,其特征在于,在所述在流程编辑器中依据流程选择指令利用组件工具箱中的组件进行组合配置串接的过程中:
当组件被流程编辑模块使用时,会以图标节点的方式显示到流程编辑区;
当组件为流程内置组件或自定义组件时,当组件图标节点被双击时,会根据节点类型打开组件的属性设置窗口或者打开组件指定的窗口;当组件图标节点被右击时,将会显示节点对应组件的导航菜单,根据导航菜单可进行组件的定义;
当接出渠道的接出组件被使用时,接出渠道配置会直接赋予给接出组件的输入参数;
当子流程组件被使用时,双击子流程组件图标可以直接打开新窗口进入子流程的流程编辑器;
当自定义组件为组包适配器组件或解包适配器组件时,双击对应组件图标将打开报文编辑器。
5.根据权利要求1所述的集成业务流程与通讯报文的可视化开发方法,其特征在于,所述在报文编辑器中依据报文选择指令利用报文节点组合配置报文数据的组包流程或解包流程,生成报文定义文件,包括:
在报文编辑器中,依据报文选择指令对显示的报文可视化编辑树进行编辑操作;
将报文可视化编辑树的编辑操作同步到报文对象模型树,报文对象模型树的节点与报文可视化编辑树的节点一一对应;
报文对象模型树在编辑操作完成后生成报文定义文件。
6.根据权利要求1所述的集成业务流程与通讯报文的可视化开发方法,其特征在于,所述依据部署指令将流程定义文件、报文定义文件部署到工作流服务平台,并进行初始化,其中,初始化包括:
工作流引擎加载流程定义文件,将业务流程的唯一标识保存在工作流引擎中;
资源管理器加载报文配置资源及***资源,将报文配置的唯一标识保存在资源管理器中;
报文组解包引擎加载报文定义文件,生成报文配置对象树,并加载报文类型资源;
组件管理器加载自定义组件,组件管理器中组件以键值对的关系存在。
7.根据权利要求1至6任一项所述的集成业务流程与通讯报文的可视化开发方法,其特征在于,所述依据部署指令将流程定义文件、报文定义文件部署到工作流服务平台,并进行初始化,保存业务流程的唯一标识之后,还包括:
工作流服务平台接收业务流程调用请求,并接收业务流程的唯一标识和流程参数;
执行业务流程的唯一标识对应的业务流程,返回业务流程执行结果。
8.根据权利要求7所述的集成业务流程与通讯报文的可视化开发方法,其特征在于,所述执行业务流程的唯一标识对应的业务流程,包括:
从工作流会话池获取工作流会话;
调用工作流会话的开始执行方法开始执行业务流程,传入业务流程的唯一标识和流程参数;
业务流程执行过程中,若遇到节点为子流程组件节点,则先执行子流程后再返回主流程;若遇到自定义组件节点,则执行自定义组件逻辑;若遇到组包适配器组件节点或解包适配器组件节点,则调用报文组解包引擎来进行组包或解包,报文组解包引擎在组包或解包过程中通过资源管理器访问报文配置资源。
9.一种集成业务流程与通讯报文的可视化开发***,其特征在于,包括通过可视化交互界面展示的可视化集成开发平台,所述可视化集成开发平台包括:
流程编辑器,包括组件工具箱、流程编辑模块,用于利用组件工具箱中的组件对业务流程进行可视化编辑,形成可视化流程,并生成流程定义文件;
报文编辑器,用于利用报文节点组合对数据接口报文进行可视化编辑,并生成报文定义文件;
工作流服务平台,用于部署所述流程定义文件和报文定义文件,并用于支持业务流程的执行和数据报文的解析。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有程序指令,所述程序指令适于被处理器加载并运行如权利要求1至8任一项所述的集成业务流程与通讯报文的可视化开发方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911404089.7A CN111104106A (zh) | 2019-12-31 | 2019-12-31 | 集成业务流程与通讯报文的可视化开发方法、***及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911404089.7A CN111104106A (zh) | 2019-12-31 | 2019-12-31 | 集成业务流程与通讯报文的可视化开发方法、***及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111104106A true CN111104106A (zh) | 2020-05-05 |
Family
ID=70423876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911404089.7A Pending CN111104106A (zh) | 2019-12-31 | 2019-12-31 | 集成业务流程与通讯报文的可视化开发方法、***及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111104106A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111695827A (zh) * | 2020-06-17 | 2020-09-22 | 北京同邦卓益科技有限公司 | 业务流程的管理方法、装置、电子设备及存储介质 |
CN112104634A (zh) * | 2020-09-08 | 2020-12-18 | 中国电力科学研究院有限公司 | 数据报文处理方法、***、设备及可读存储介质 |
CN112383533A (zh) * | 2020-11-10 | 2021-02-19 | 中国农业银行股份有限公司 | 报文格式转换方法及装置 |
CN112764736A (zh) * | 2020-12-30 | 2021-05-07 | 北京宇信科技集团股份有限公司 | 一种web端流程图建模方法、设备和*** |
CN113111223A (zh) * | 2021-04-26 | 2021-07-13 | 银清科技有限公司 | 报文生成xml串的方法及装置 |
CN113312043A (zh) * | 2021-05-21 | 2021-08-27 | 浙江大学 | 视觉检测流程条件执行控制方法及其控制*** |
CN113467770A (zh) * | 2021-07-19 | 2021-10-01 | 张宇 | 一种基于标准数据交换的指令集可视化操作***、方法及应用 |
CN113741879A (zh) * | 2021-08-30 | 2021-12-03 | 北京宇信科技集团股份有限公司 | 一种可视化开发平台、方法、介质和设备 |
CN114781328A (zh) * | 2022-06-21 | 2022-07-22 | 成都中科合迅科技有限公司 | 基于明文文件可视化编排业务流程的方法 |
CN117729172A (zh) * | 2024-02-18 | 2024-03-19 | 成都深瑞同华科技有限公司 | 一种隔离网络环境下的数据传输方法、装置及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289774A (zh) * | 2011-09-13 | 2011-12-21 | 上海普元信息技术股份有限公司 | 金融交易处理***中的图形化报文处理与测试***及方法 |
CN106055316A (zh) * | 2016-05-19 | 2016-10-26 | 四川物联亿达科技有限公司 | 一种供应链金融引擎***、***建立方法以及服务器 |
CN106897060A (zh) * | 2017-02-15 | 2017-06-27 | 中国保险信息技术管理有限责任公司 | 基于图形化的数据处理方法及装置 |
CN109324791A (zh) * | 2017-08-18 | 2019-02-12 | 深圳怡化电脑股份有限公司 | 金融自助终端业务流程开发方法、装置及终端设备 |
-
2019
- 2019-12-31 CN CN201911404089.7A patent/CN111104106A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289774A (zh) * | 2011-09-13 | 2011-12-21 | 上海普元信息技术股份有限公司 | 金融交易处理***中的图形化报文处理与测试***及方法 |
CN106055316A (zh) * | 2016-05-19 | 2016-10-26 | 四川物联亿达科技有限公司 | 一种供应链金融引擎***、***建立方法以及服务器 |
CN106897060A (zh) * | 2017-02-15 | 2017-06-27 | 中国保险信息技术管理有限责任公司 | 基于图形化的数据处理方法及装置 |
CN109324791A (zh) * | 2017-08-18 | 2019-02-12 | 深圳怡化电脑股份有限公司 | 金融自助终端业务流程开发方法、装置及终端设备 |
Non-Patent Citations (2)
Title |
---|
MINCHAEL MORRISON等: "XML揭秘 入门·应用·精通", 人民邮电出版社, pages: 142 - 149 * |
林晓佳: "基于SOA的中间业务平台设计与实现", 《中国优秀硕士学位论文全文数据库》, pages 138 - 262 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111695827A (zh) * | 2020-06-17 | 2020-09-22 | 北京同邦卓益科技有限公司 | 业务流程的管理方法、装置、电子设备及存储介质 |
CN111695827B (zh) * | 2020-06-17 | 2024-04-16 | 北京同邦卓益科技有限公司 | 业务流程的管理方法、装置、电子设备及存储介质 |
CN112104634A (zh) * | 2020-09-08 | 2020-12-18 | 中国电力科学研究院有限公司 | 数据报文处理方法、***、设备及可读存储介质 |
CN112383533A (zh) * | 2020-11-10 | 2021-02-19 | 中国农业银行股份有限公司 | 报文格式转换方法及装置 |
CN112764736A (zh) * | 2020-12-30 | 2021-05-07 | 北京宇信科技集团股份有限公司 | 一种web端流程图建模方法、设备和*** |
CN112764736B (zh) * | 2020-12-30 | 2021-08-10 | 北京宇信科技集团股份有限公司 | 一种web端流程图建模方法、设备和*** |
CN113111223B (zh) * | 2021-04-26 | 2023-10-13 | 银清科技有限公司 | 报文生成xml串的方法及装置 |
CN113111223A (zh) * | 2021-04-26 | 2021-07-13 | 银清科技有限公司 | 报文生成xml串的方法及装置 |
CN113312043A (zh) * | 2021-05-21 | 2021-08-27 | 浙江大学 | 视觉检测流程条件执行控制方法及其控制*** |
CN113467770B (zh) * | 2021-07-19 | 2024-03-26 | 张宇 | 一种基于标准数据交换的指令集可视化操作***、方法及应用 |
CN113467770A (zh) * | 2021-07-19 | 2021-10-01 | 张宇 | 一种基于标准数据交换的指令集可视化操作***、方法及应用 |
CN113741879A (zh) * | 2021-08-30 | 2021-12-03 | 北京宇信科技集团股份有限公司 | 一种可视化开发平台、方法、介质和设备 |
CN114781328A (zh) * | 2022-06-21 | 2022-07-22 | 成都中科合迅科技有限公司 | 基于明文文件可视化编排业务流程的方法 |
CN117729172A (zh) * | 2024-02-18 | 2024-03-19 | 成都深瑞同华科技有限公司 | 一种隔离网络环境下的数据传输方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111104106A (zh) | 集成业务流程与通讯报文的可视化开发方法、***及介质 | |
CN110196719B (zh) | 一种基于自然语言处理的业务规则生成方法与*** | |
CN111666526B (zh) | 页面生成方法、装置、设备及存储介质 | |
CN107273286B (zh) | 针对任务应用的场景自动化测试平台及方法 | |
US7694272B2 (en) | Method, a language and a system for the definition and implementation of software solutions by using a visualizable computer executable modeling language | |
CN107273117B (zh) | 一种编程友好型的敏捷代码自动生成*** | |
CN101777004B (zh) | 面向服务环境中基于模板实现bpel子流程复用的方法及*** | |
US7207031B2 (en) | System and method for utilization of a command structure representation | |
US20040143819A1 (en) | Generic software testing system and mechanism | |
EP3367234A2 (en) | Systems and methods for arbitrary software logic modeling | |
CN111427561A (zh) | 业务代码的生成方法、装置、计算机设备和存储介质 | |
WO1999046689A9 (en) | Execution of extended activity diagrams by code generation | |
CN114625353A (zh) | 模型框架代码生成***及方法 | |
US20060020931A1 (en) | Method and apparatus for managing complex processes | |
CN112860260B (zh) | 一种在高校场景下基于web的跨平台应用构建工具及方法 | |
CN115639980A (zh) | 一种低代码平台可拖拽的前端逻辑编排方法及装置 | |
CN114064213A (zh) | 基于Kubernets容器环境的快速编排服务方法及*** | |
CN114173355A (zh) | 一种设计运行态分离的网络指令动态执行方法及*** | |
CN109857462A (zh) | 遥感图像可视化编辑器的后台Docker任务映射方法 | |
CN117234529A (zh) | 一种基于dsl解析资源生成api的方法 | |
CN112100984A (zh) | 一种由ebom到sbom的数据转换方法及*** | |
Rahman et al. | A DSL for importing models in a requirements management system | |
CN116755669A (zh) | 一种基于dsl语言操作模型的低代码开发方法和工具 | |
CN116360891A (zh) | 一种可视化人工智能建模的算子自定义的方法和*** | |
CN116643739A (zh) | 决策引擎实现方法、装置、设备及存储介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200505 |