CN108228369B - 基于json树的可视化api组合系统及方法 - Google Patents
基于json树的可视化api组合系统及方法 Download PDFInfo
- Publication number
- CN108228369B CN108228369B CN201810053015.2A CN201810053015A CN108228369B CN 108228369 B CN108228369 B CN 108228369B CN 201810053015 A CN201810053015 A CN 201810053015A CN 108228369 B CN108228369 B CN 108228369B
- Authority
- CN
- China
- Prior art keywords
- api
- tree
- atomic
- module
- service
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/544—Remote
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于JSON树的可视化API组合系统及方法,其中,系统包括:原子API模块;状态检查模块用于检查原子API模块的可用性和有效状态,并在原子API模块失效时,报告错误,以终止组合;可视化组合模块用于生成基于JSON的预定义模板的树形流程文件;流程树解释执行器模块,在第三方开发者调用向外暴露的组合API服务时,用于组合API服务业务流程定义文件的自动化翻译执行,并根据预订的组合流程调用原子API模块服务,以完成完整的业务流程;分子API模块,用于由原子API模块组合成的一个完整的业务逻辑,且向外暴露,并提供远程调用服务。该方法可以有效降低系统复杂度。
Description
技术领域
本发明涉及信息技术及数据业务技术领域,特别涉及一种基于JSON(JavaScriptObject Notation,轻量级的数据交换格式)树的可视化API(Application ProgrammingInterface,应用程序编程接口)组合系统及方法。
背景技术
Web(World Wide Web,即全球广域网)服务是一个网络应用,它能利用标准的应用层Web协议、基于定义良好的接口进行交互,并且由一种标准的功能描述语言来描述。Web服务技术能较好地解决了不同平台应用间的整合问题。从服务提供者的角度来看,各种服务的提供者越来越明确,单个Web服务所提供的功能相对单一,往往不能实现用户的目标,一个完整的服务通常需要包含几个基本的Web服务。例如一个旅行服务可能由航空订票、旅馆预订、汽车租赁等几个服务组合而成。因此为了实现满足用户提出的各种需求的完备功能,必须将分散的单个Web服务组合起来,形成具有增值价值的组合Web服务。
目前Web服务组合方式有两种:编排和编导。编排方式目前最典型的实现方案是基于过程的服务组合(其中以工作流方式为主),而编导方式最典型的实现方案是P2P(Peerto Peer,线上对线下)协同组合。
然而目前以工作流技术为基础的服务组合方式需要使用流程描述语言描述Web组合服务的整体流程,然后使用解释引擎对其流程进行解释执行,其入门门槛较高,难以操作。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种基于JSON树的可视化API组合系统,该系统可以有效降低系统复杂度。
本发明的另一个目的在于提出一种基于JSON树的可视化API组合方法。
为达到上述目的,本发明一方面实施例提出了一种基于JSON树的可视化API组合系统,包括:原子API模块,用于API服务提供商对外暴露的API服务;状态检查模块,用于检查所述原子API模块的可用性和有效状态,并在所述原子API模块失效时,报告错误,以终止组合;可视化组合模块,用于根据API属性中的事件决定是否继续拖拽下一个所述API,并且拖拽组合完毕后,生成基于JSON的预定义模板的树形流程文件;流程树解释执行器模块,在第三方开发者调用向外暴露的组合API服务时,用于所述组合API服务业务流程定义文件的自动化翻译执行,并根据预订的组合流程调用所述原子API模块服务,以完成完整的业务流程;分子API模块,用于由所述原子API模块组合成的一个完整的业务逻辑,且向外暴露,并提供远程调用服务。
本发明实施例的基于JSON树的可视化API组合系统,可以通过检查原子API的可用性和有效状态,并在原子API失效时,报告错误,以终止组合,并根据API属性中的事件决定是否继续拖拽下一个API,并且拖拽组合完毕后,生成基于JSON的预定义模板的树形流程文件,以及根据组合API服务业务流程定义文件的自动化翻译执行,并根据预订的组合流程调用原子API模块服务,以完成完整的业务流程,有效降低系统复杂度。
另外,根据本发明上述实施例的基于JSON树的可视化API组合系统还可以具有以下附加的技术特征:
进一步地,在本发明的一个实施例中,所述可视化组合模块包括:读取单元,用于动态读取并展示所有已注册API;查看单元,用于查看和/或更改API的全部属性;增删单元,用于新增和/或删除原子API;拖拽组合单元,用于将菜单栏拖拽相应的API到组合区,并根据所述API的事件决定是否继续拖拽所述下一个API,以拖拽组合新API。调试单元,用于在拖拽完成后根据调整逻辑和状态重新拖拽API进行编排调试API,其中,所述调整逻辑和状态为成功或者失败;生成单元,用于在调试单元成功后生成所述树形流程文件;注册单元,用于将生成的所述树形流程文件与后台交互,将分子API对外暴露并提供服务。
进一步地,在本发明的一个实施例中,所述读取单元还用于在所述API拖拽到所述组合区后,在API属性菜单栏显示所述API的全部属性,并提供可编辑功能,所述API的全部属性通过AngularJs从后台数据库读取。
进一步地,在本发明的一个实施例中,所述增删单元还用于当有新业务出现需要新增所述原子API模块时,提供新增入口及属性定义,且当有旧业务升级或停用时提供API删除机制。
进一步地,在本发明的一个实施例中,所述可视化组合模块具体用于在可视化组合的过程中,每个原子API对应一个节点,通过指定各个原子API之间的父子节点关系和执行条件形成一个执行流程,各个原子API之间的执行流程构成一颗基于JSON的流程树,以供所述流程树解释执行器模块解释执行,向第三方开发者提供组合API服务。
进一步地,在本发明的一个实施例中,所述流程树解释执行器模块进一步用于支持基于响应状态码和请求响应值的同步解释执行和基于事件发布/订阅的异步解释执行。
进一步地,在本发明的一个实施例中,所述流程树解释执行器模块具体用于根据父节点的API执行结果来决定要执行的孩子节点,其中,如果所述父节点返回的响应值满足所述孩子节点中设定的条件condition,则执行满足条件的孩子节点对应的原子API,并且依次遍历,直到遍历到叶子节点,完成整个流程的执行。
进一步地,在本发明的一个实施例中,所述流程树解释执行器模块具体用于事件的发布和事件的订阅,其中,所述事件的发布由指定的接口完成,当需要发布任意个事件时,调用所述接口完成发布,且所述事件的订阅由所述流程树解释执行器模块完成,当遍历到异步节点时订阅指定的事件,以完成异步节点的组合操作,当执行所述完异步节点后,继续解释执行其孩子节点,以完成整个组合流程的执行。
为达到上述目的,本发明另一方面实施例提出了一种基于JSON树的可视化API组合方法,包括以下步骤:API服务提供商对外暴露的API服务;检查所述原子API的可用性和有效状态,并在所述原子API失效时,报告错误,以终止组合;根据API属性中的事件决定是否继续拖拽下一个所述API,并且拖拽组合完毕后,生成基于JSON的预定义模板的树形流程文件;在第三方开发者调用向外暴露的组合API服务时,用于所述组合API服务业务流程定义文件的自动化翻译执行,并根据预订的组合流程调用所述原子API模块服务,以完成完整的业务流程;通过所述原子API组合成的一个完整的业务逻辑,并提供远程调用服务。
本发明实施例的基于JSON树的可视化API组合方法,可以通过检查原子API的可用性和有效状态,并在原子API失效时,报告错误,以终止组合,并根据API属性中的事件决定是否继续拖拽下一个API,并且拖拽组合完毕后,生成基于JSON的预定义模板的树形流程文件,以及根据组合API服务业务流程定义文件的自动化翻译执行,并根据预订的组合流程调用原子API模块服务,以完成完整的业务流程,有效降低系统复杂度。
另外,根据本发明上述实施例的基于JSON树的可视化API组合方法还可以具有以下附加的技术特征:
进一步地,在本发明的一个实施例中,所述根据API属性中的事件决定是否继续拖拽下一个所述API,并且拖拽组合完毕后,生成基于JSON的预定义模板的树形流程文件,进一步用于通过可视化拖拽方式生成JSON树流程文件。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明实施例的基于JSON树的可视化API组合系统的结构示意图;
图2为根据本发明一个实施例的基于JSON树的可视化API组合系统的结构示意图;
图3为根据本发明一个实施例的可视化组合模块的结构示意图;
图4为根据本发明一个实施例的JSON树流程节点属性示意图;
图5为根据本发明一个实施例的基于JSON树的简单树结构流程图;
图6为根据本发明一个实施例的基于响应状态码和请求响应值的同步解释执行示意图;
图7为根据本发明一个实施例的基于事件发布/订阅的异步解释执行示意图;
图8为根据本发明实施例的基于JSON树的可视化API组合方法的流程图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参照附图描述根据本发明实施例提出的基于JSON树的可视化API组合系统,首先将参照附图描述根据本发明实施例提出的基于JSON树的可视化API组合方法。
图1是本发明实施例的基于JSON树的可视化API组合系统的结构示意图。
如图1所示,该基于JSON树的可视化API组合系统10包括:原子API模块100、状态检查模块200、可视化组合模块300、流程树解释执行器模块400和分子API模块500。
其中,原子API模块100用于API服务提供商对外暴露的API服务。状态检查模块200用于检查原子API模块的可用性和有效状态,并在原子API模块失效时,报告错误,以终止组合。可视化组合模块300用于根据API属性中的事件决定是否继续拖拽下一个API,并且拖拽组合完毕后,生成基于JSON的预定义模板的树形流程文件。流程树解释执行器模块400在第三方开发者调用向外暴露的组合API服务时,用于组合API服务业务流程定义文件的自动化翻译执行,并根据预订的组合流程调用原子API模块服务,以完成完整的业务流程。分子API模块500用于由原子API模块组合成的一个完整的业务逻辑,且向外暴露,并提供远程调用服务。本发明实施例的系统10可以有效降低系统复杂度。
可以理解的是,本发明实施例的API的组合是一种面向流程的方式把多个API服务组织起来,完成一个复杂的新业务流程,实现单一基本的原子API服务无法实现的功能,也就是利用API服务提供的集成端点,设计业务流程,实现API服务之间的互操作,而组合的结果自身也作为一个API服务存在,并向外提供服务。
如图2所示,其中,本发明实施例的基于JSON树的可视化API组合系统的整体模块的每个子模块的作用如下:
(1)原子API:API服务提供商对外暴露的API服务;
(2)状态检查模块:检查原子API的可用性和有效状态。若需要组合的原子API失效无法对外提供服务,则向系统报告相关错误,并终止组合;
(3)可视化组合模块:支持自由拖拽API到组合区,右侧自动显示API的属性,根据API属性中的事件决定是否继续拖拽下一个API,拖拽组合完毕生成一个基于JSON的预定义模板的树形流程文件;
(4)流程树解释执行器模块:整个组合系统的核心。当第三方开发者调用向外暴露的组合API服务时,实现组合服务业务流程定义文件的自动化翻译执行,按照预订的组合的流程调用相关原子API服务,实现一个完整的业务流程。
(5)复合(分子)API:由原子API组合成的一个完整的业务逻辑,和原子API一样可以向外暴露,并提供远程调用服务。
进一步地,在本发明的一个实施例中,可视化组合模块300包括:读取单元、查看单元、增删单元、拖拽组合单元、调试单元、生成单元和注册单元。
其中,读取单元用于动态读取并展示所有已注册API。查看单元用于查看和/或更改API的全部属性。增删单元用于新增和/或删除原子API。拖拽组合单元用于将菜单栏拖拽相应的API到组合区,并根据API的事件决定是否继续拖拽下一个API,以拖拽组合新API。调试单元用于在拖拽完成后根据调整逻辑和状态重新拖拽API进行编排调试API,其中,调整逻辑和状态为成功或者失败。生成单元用于在调试单元成功后生成树形流程文件。注册单元用于将生成的树形流程文件与后台交互,将分子API对外暴露并提供服务。
其中,在本发明的一个实施例中,读取单元还用于在API拖拽到组合区后,在API属性菜单栏显示API的全部属性,并提供可编辑功能,API的全部属性通过AngularJs从后台数据库读取。
其中,在本发明的一个实施例中,增删单元还用于当有新业务出现需要新增原子API模块时,提供新增入口及属性定义,且当有旧业务升级或停用时提供API删除机制。
可以理解的是,如图3所示,本发明实施例的可视化组合模块300的结构的具体功能如下所示:
(1)动态读取并展示所有已注册API:即读取单元,左测菜单栏中的API及事件通过使用AngularJs动态读取数据库以树状图的形式展现,以做到实时更新。
(2)查看/更改API全部属性:即查看单元,在左侧菜单栏中双击单个API可查看该API的全部属性,将API拖拽到组合区后在右侧API属性菜单栏显示该API的全部属性并提供可编辑功能,API的全部属性通过AngularJs从后台数据库读取。参数描述:API的ID;返回值描述:API的名称、类型、事件、参数、生命周期、性能指标、健康状况、上下线状态等属性。
(3)新增/删除原子API:即增删单元,当有新业务出现需要新增原子API时提供新增入口及属性定义;当有旧业务升级或停用时提供API删除机制,但旧业务升级场景的删除并不代表该API的下线,之前使用该API的用户仍然可以继续使用该API,只是新来用户不在使用该API而是使用新升级API。
(4)拖拽组合新API:即拖拽组合单元,在左侧菜单栏拖拽相应的API到组合区,根据API的事件决定是否继续拖拽及拖拽哪一个API。
(5)调试API:即调试单元,当拖拽编排完成后,点击调试,在下方的console栏中显示调试信息,调试成功显示成功,调试失败显示失败原因,以调整逻辑和状态重新拖拽API进行编排。
(6)生成JSON树流程文件:即生成单元,调试成功后,点击“注册”生成JSON树流程文件。
(7)注册:即注册单元,将生成的JSON树流程文件与后台交互,将组合(分子)API对外暴露,并提供服务。
进一步地,在本发明的一个实施例中,可视化组合模块具体用于在可视化组合的过程中,每个原子API对应一个节点,通过指定各个原子API之间的父子节点关系和执行条件形成一个执行流程,各个原子API之间的执行流程构成一颗基于JSON的流程树,JSON树的节点以组成组合API的原子API表示,树的边以原子API的执行条件、事件表示,供流程树解释执行器模块解释执行,向第三方开发者提供组合API服务。
可以理解的是,如图4所示,在可视化组合的过程中,每个原子API对应一个节点,管理员通过指定各个原子API之间的父子节点关系和执行条件,形成一个执行流程,各个原子API之间的执行流程构成一颗基于JSON的流程树,供流程树解释执行模块解释执行,向第三方开发者提供组合API服务。表1为相关术语及节点属性解释表。
表1
名称 | 描述 |
ID | 每个节点的唯一标识 |
name | 原子API对应的名称 |
childEles | 该节点下的孩子节点,是一个节点数组 |
url | 原子API对应的url |
condition | 执行此节点的条件 |
asntype | 表示此节点是同步执行还是异步执行 |
其中,节点可做如下定义:
"id"="";//元素ID,不可变,唯一;
"name"="";//元素名,可变;
"childEles"=[];//子元素;
"url"="";//原子API的URL(Uniform Resoure Locator,统一资源定位器);
"asntype"=0;//是否异步;
"condition"="";//此节点的执行条件;
其中,子元素是一个递归的概念,是父节点下对应子树所有节点的所组成的数组。如图5所示的流程树对应的JSON数据结构如下:
进一步地,在本发明的一个实施例中,流程树解释执行器模块进一步用于支持基于响应状态码和请求响应值的同步解释执行和基于事件发布/订阅的异步解释执行。
可以理解的是,流程树解释执行器支持基于响应状态码和请求响应值的同步解释执行和基于事件发布/订阅的异步解释执行。
进一步地,在本发明的一个实施例中,流程树解释执行器模块具体用于根据父节点的API执行结果来决定要执行的孩子节点,其中,如果父节点返回的响应值满足孩子节点中设定的条件condition,则执行满足条件的孩子节点对应的原子API,并且依次遍历,直到遍历到叶子节点,完成整个流程的执行。
可以理解的是,如图6所示,基于响应状态码和请求响应值的同步解释执行是根据父节点的API执行结果(请求响应状态码,请求响应值)来决定一个应该要执行的孩子节点,根据图4中每个节点中包含condition决定执行同一层中的哪个子节点,如果父节点返回的响应值满足其孩子节点中设定的条件condition,则执行满足条件的孩子节点对应的原子API,然后依次遍历,直到遍历到叶子节点,完成整个流程的执行。如图6所示,如果开始触发条件1,则执行API a,APIa的响应是APId执行所需要的条件,所以API执行完之后APId接着执行,APId执行完之后的响应是APIf执行所需条件,所以接着API发会被调用执行,然后整个流程结束。从上述的流程执行控制方式可以明确以JSON树的结构表示组合API的执行流程的好处于可以简化流程组合操作,即使流程是具有环状的图结构,也可以以树的方式加以表示,这样可以简化流程解析器的开发以及使整个流程的设计更加清晰明了。
具体地,其伪代码如下:
进一步地,在本发明的一个实施例中,流程树解释执行器模块具体用于事件的发布和事件的订阅,其中,事件的发布由指定的接口完成,当需要发布任意个事件时,调用接口完成发布,且事件的订阅由流程树解释执行器模块完成,当遍历到异步节点时订阅指定的事件,以完成异步节点的组合操作,当执行完异步节点后,继续解释执行其孩子节点,以完成整个组合流程的执行。
可以理解的是,如图7所示,基于事件发布/订阅的异步解释执行主要分为两个过程:事件的发布和事件的订阅。其中,事件的发布由指定的一个接口完成,当需要发布某个事件时,调用该接口即可完成发布;事件的订阅由流程树解释执行器完成,当遍历到异步节点时(asntype属性为1时)订阅指定的事件(事件此时由condition指定),就可以完成异步节点的组合操作,当执行完异步节点后,继续解释执行其孩子节点,最终完成整个组合流程的执行。
具体地,事件发布的伪代码实现:
根据本发明实施例提出的基于JSON树的可视化API组合系统,通过检查原子API的可用性和有效状态,并在原子API失效时,报告错误,以终止组合,并根据API属性中的事件决定是否继续拖拽下一个API,并且拖拽组合完毕后,生成基于JSON的预定义模板的树形流程文件,以及根据组合API服务业务流程定义文件的自动化翻译执行,并根据预订的组合流程调用原子API模块服务,以完成完整的业务流程,有效降低系统复杂度。
其次参照附图描述根据本发明实施例提出的基于JSON树的可视化API组合方法。
图8是本发明实施例的基于JSON树的可视化API组合方法的流程图
如图8所示,该基于JSON树的可视化API组合方法包括以下步骤:
在步骤S801中,API服务提供商对外暴露的API服务。
在步骤S802中,检查原子API的可用性和有效状态,并在原子API失效时,报告错误,以终止组合。
在步骤S803中,根据API属性中的事件决定是否继续拖拽下一个API,并且拖拽组合完毕后,生成基于JSON的预定义模板的树形流程文件。
在步骤S804中,在第三方开发者调用向外暴露的组合API服务时,用于组合API服务业务流程定义文件的自动化翻译执行,并根据预订的组合流程调用原子API模块服务,以完成完整的业务流程。
在步骤S705中,通过原子API组合成的一个完整的业务逻辑,并提供远程调用服务。
进一步地,在本发明的一个实施例中,根据API属性中的事件决定是否继续拖拽下一个API,并且拖拽组合完毕后,生成基于JSON的预定义模板的树形流程文件,进一步用于通过可视化拖拽方式生成JSON树流程文件。
需要说明的是,前述对基于JSON树的可视化API组合系统实施例的解释说明也适用于该实施例的基于JSON树的可视化API组合方法,此处不再赘述。
根据本发明实施例提出的基于JSON树的可视化API组合方法,通过检查原子API的可用性和有效状态,并在原子API失效时,报告错误,以终止组合,并根据API属性中的事件决定是否继续拖拽下一个API,并且拖拽组合完毕后,生成基于JSON的预定义模板的树形流程文件,以及根据组合API服务业务流程定义文件的自动化翻译执行,并根据预订的组合流程调用原子API模块服务,以完成完整的业务流程,有效降低系统复杂度。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种基于JSON树的可视化API组合系统,其特征在于,包括:
原子API模块,用于API服务提供商对外暴露的API服务;
状态检查模块,用于检查所述原子API模块的可用性和有效状态,并在所述原子API模块失效时,报告错误,以终止组合;
可视化组合模块,用于根据API属性中的事件决定是否继续拖拽下一个API,并且拖拽组合完毕后,生成基于JSON的预定义模板的树形流程文件;
流程树解释执行器模块,在第三方开发者调用向外暴露的组合API服务时,用于所述组合API服务业务流程定义文件的自动化翻译执行,并根据预定的组合流程调用所述原子API模块服务,以完成完整的业务流程;以及
分子API模块,用于由所述原子API模块组合成一个完整的业务逻辑,且向外暴露,并提供远程调用服务。
2.根据权利要求1所述的基于JSON树的可视化API组合系统,其特征在于,所述可视化组合模块包括:
读取单元,用于动态读取并展示所有已注册API;
查看单元,用于查看和/或更改API的全部属性;
增删单元,用于新增和/或删除原子API;
拖拽组合单元,用于将菜单栏拖拽相应的API到组合区,并根据所述API的事件决定是否继续拖拽所述下一个API,以拖拽组合新API;
调试单元,用于在拖拽完成后根据调整逻辑和状态重新拖拽API进行编排调试API,其中,所述调整逻辑和状态为成功或者失败;
生成单元,用于在调试单元成功后生成所述树形流程文件;
注册单元,用于将生成的所述树形流程文件与后台交互,将分子API对外暴露并提供服务。
3.根据权利要求2所述的基于JSON树的可视化API组合系统,其特征在于,所述读取单元还用于在所述API拖拽到所述组合区后,在API属性菜单栏显示所述API的全部属性,并提供可编辑功能,所述API的全部属性通过AngularJs从后台数据库读取。
4.根据权利要求2所述的基于JSON树的可视化API组合系统,其特征在于,所述增删单元还用于当有新业务出现需要新增所述原子API模块时,提供新增入口及属性定义,且当有旧业务升级或停用时提供API删除机制。
5.根据权利要求1所述的基于JSON树的可视化API组合系统,其特征在于,所述可视化组合模块具体用于在可视化组合的过程中,每个原子API对应一个节点,通过指定各个原子API之间的父子节点关系和执行条件形成一个执行流程,各个原子API之间的执行流程构成一棵基于JSON的流程树,以供所述流程树解释执行器模块解释执行,向第三方开发者提供组合API服务。
6.根据权利要求1或5所述的基于JSON树的可视化API组合系统,其特征在于,所述流程树解释执行器模块进一步用于支持基于响应状态码和请求响应值的同步解释执行和基于事件发布/订阅的异步解释执行。
7.根据权利要求6所述的基于JSON树的可视化API组合系统,其特征在于,所述流程树解释执行器模块具体用于根据父节点的API执行结果来决定要执行的孩子节点,其中,如果所述父节点返回的响应值满足所述孩子节点中设定的条件condition,则执行满足条件的孩子节点对应的原子API,并且依次遍历,直到遍历到叶子节点,完成整个流程的执行。
8.根据权利要求6所述的基于JSON树的可视化API组合系统,其特征在于,所述流程树解释执行器模块具体用于事件的发布和事件的订阅,其中,所述事件的发布由指定的接口完成,当需要发布任意个事件时,调用所述接口完成发布,且所述事件的订阅由所述流程树解释执行器模块完成,当遍历到异步节点时订阅指定的事件,以完成异步节点的组合操作,当执行完异步节点后,继续解释执行其孩子节点,以完成整个组合流程的执行。
9.一种基于JSON树的可视化API组合方法,其特征在于,包括以下步骤:
API服务提供商对外暴露的API服务;
检查原子API的可用性和有效状态,并在所述原子API失效时,报告错误,以终止组合;
根据API属性中的事件决定是否继续拖拽下一个API,并且拖拽组合完毕后,生成基于JSON的预定义模板的树形流程文件;
在第三方开发者调用向外暴露的组合API服务时,用于所述组合API服务业务流程定义文件的自动化翻译执行,并根据预定的组合流程调用原子API模块服务,以完成完整的业务流程;以及
通过所述原子API组合成一个完整的业务逻辑,并提供远程调用服务。
10.根据权利要求9所述的基于JSON树的可视化API组合方法,其特征在于,所述根据API属性中的事件决定是否继续拖拽下一个所述API,并且拖拽组合完毕后,生成基于JSON的预定义模板的树形流程文件,进一步用于通过可视化拖拽方式生成JSON树流程文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810053015.2A CN108228369B (zh) | 2018-01-19 | 2018-01-19 | 基于json树的可视化api组合系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810053015.2A CN108228369B (zh) | 2018-01-19 | 2018-01-19 | 基于json树的可视化api组合系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108228369A CN108228369A (zh) | 2018-06-29 |
CN108228369B true CN108228369B (zh) | 2020-08-07 |
Family
ID=62667935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810053015.2A Active CN108228369B (zh) | 2018-01-19 | 2018-01-19 | 基于json树的可视化api组合系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108228369B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110912724B (zh) * | 2018-09-18 | 2023-03-10 | 亿阳信通股份有限公司 | 一种基于参数驱动的自动业务编排方法及装置 |
CN109634571A (zh) * | 2018-12-17 | 2019-04-16 | 武汉烽火信息集成技术有限公司 | 一种api编排方法、存储介质、电子设备及系统 |
CN109683958A (zh) * | 2018-12-26 | 2019-04-26 | 深圳市越疆科技有限公司 | Json结构函数管理方法 |
CN110059085B (zh) * | 2019-03-18 | 2021-02-26 | 浙江工业大学 | 一种面向Web 2.0的JSON数据解析与建模方法 |
CN110058853B (zh) * | 2019-04-22 | 2020-01-07 | 武汉众邦银行股份有限公司 | 一种基于工作流及权限控制的api流程化方法 |
CN110750271B (zh) * | 2019-10-21 | 2021-07-23 | 珠海格力电器股份有限公司 | 服务聚合、聚合服务的执行方法、装置和电子设备 |
CN111158794B (zh) * | 2019-12-19 | 2023-03-31 | 苏州浪潮智能科技有限公司 | 一种面向OpenStack的API接口组合优化方法及装置 |
CN111240660B (zh) * | 2020-01-06 | 2022-03-11 | 北京邮电大学 | 基于json树的可视化api组合方法及系统 |
CN111367690A (zh) * | 2020-03-03 | 2020-07-03 | 中国工商银行股份有限公司 | 一种支持组合api服务调用方法及装置 |
CN112437126B (zh) * | 2020-11-10 | 2022-06-03 | 中国联合网络通信集团有限公司 | 基于原子接口的任务流程处理方法和设备 |
CN114003553B (zh) * | 2021-09-27 | 2023-12-15 | 上海金慧软件有限公司 | 一种图档管理的智能计数展示方法及装置 |
TWI814425B (zh) * | 2022-06-07 | 2023-09-01 | 群鼎團隊有限公司 | 應用程式介面或資料集之介面平台操作方法、系統、電腦可讀取媒體 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101378403A (zh) * | 2008-07-02 | 2009-03-04 | 北京航空航天大学 | 一种基于集合的资源通知处理系统及处理方法 |
CN103513992A (zh) * | 2013-10-23 | 2014-01-15 | 电子科技大学 | 一种通用的教育娱乐机器人应用软件研制平台 |
CN103927163A (zh) * | 2014-03-06 | 2014-07-16 | 中国人民解放军装甲兵工程学院 | 插件框架处理装置及插件系统 |
CN105354013A (zh) * | 2014-08-18 | 2016-02-24 | 阿里巴巴集团控股有限公司 | 应用界面渲染方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050044527A1 (en) * | 2003-08-22 | 2005-02-24 | Gerardo Recinto | Code Units based Framework for domain- independent Visual Design and Development |
-
2018
- 2018-01-19 CN CN201810053015.2A patent/CN108228369B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101378403A (zh) * | 2008-07-02 | 2009-03-04 | 北京航空航天大学 | 一种基于集合的资源通知处理系统及处理方法 |
CN103513992A (zh) * | 2013-10-23 | 2014-01-15 | 电子科技大学 | 一种通用的教育娱乐机器人应用软件研制平台 |
CN103927163A (zh) * | 2014-03-06 | 2014-07-16 | 中国人民解放军装甲兵工程学院 | 插件框架处理装置及插件系统 |
CN105354013A (zh) * | 2014-08-18 | 2016-02-24 | 阿里巴巴集团控股有限公司 | 应用界面渲染方法及装置 |
Non-Patent Citations (2)
Title |
---|
Many-server queues with customer abandonment: A survey of diffusion and fluid approximations;J. G. Dai et al.;《Journal of Systems Science and Systems Engineering》;20120331;第1-36页 * |
动态服务资源分发网络的若干关键技术研究;刘廉如;《中国博士学位论文全文数据库信息科技辑》;20130115(第1期);第I139-38页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108228369A (zh) | 2018-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108228369B (zh) | 基于json树的可视化api组合系统及方法 | |
US20210397541A1 (en) | System and method of handling complex experiments in a distributed system | |
US11080345B2 (en) | Search functionality of worker nodes in a data fabric service system | |
US10303581B2 (en) | Graphical transaction model | |
US11567959B2 (en) | Self-contained files for generating a visualization of query results | |
US8290822B2 (en) | Product configuration server for efficiently displaying selectable attribute values for configurable products | |
US7730412B2 (en) | System and method for model-based user interface using transformation nodes | |
US7676560B2 (en) | Using URI's to identify multiple instances with a common schema | |
US20040139176A1 (en) | Systems and methods for improving service delivery | |
US20050091647A1 (en) | Use of attribution to describe management information | |
US8725747B2 (en) | Filtering of custom attributes of computer objects for display | |
US10120886B2 (en) | Database integration of originally decoupled components | |
US8738489B2 (en) | Managing schedules in a financial close management system | |
KR20110119715A (ko) | 데이터 저장 시스템과의 통신 | |
US20180307727A1 (en) | Skewing of scheduled search queries | |
US9940182B1 (en) | Business rule engine validation systems and related methods | |
US9021456B2 (en) | Using collaborative annotations to specify real-time process flows and system constraints | |
US8606762B2 (en) | Data quality administration framework | |
CN110515750B (zh) | 一种应用拓扑生成方法、系统及集群 | |
CN111930290A (zh) | 资源部署方法及装置 | |
Uyanik et al. | A template-based code generator for web applications | |
US20120109790A1 (en) | Integration of applications with a financial close management system | |
US7502822B2 (en) | Using collaborative annotations to specify real-time process flows and system constraints | |
CN112187501B (zh) | 终端分组管理方法、装置、设备及存储介质 | |
CN110543401B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |