CN113626001A - 一种基于脚本的api动态编排方法及装置 - Google Patents
一种基于脚本的api动态编排方法及装置 Download PDFInfo
- Publication number
- CN113626001A CN113626001A CN202110924022.7A CN202110924022A CN113626001A CN 113626001 A CN113626001 A CN 113626001A CN 202110924022 A CN202110924022 A CN 202110924022A CN 113626001 A CN113626001 A CN 113626001A
- Authority
- CN
- China
- Prior art keywords
- script
- api
- request
- service
- constructed
- 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
Links
- 238000013515 script Methods 0.000 title claims abstract description 204
- 238000000034 method Methods 0.000 title claims abstract description 40
- 230000001419 dependent effect Effects 0.000 claims abstract description 17
- 238000005538 encapsulation Methods 0.000 claims description 34
- 230000004044 response Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 9
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 7
- 238000004891 communication Methods 0.000 claims description 5
- 238000010276 construction Methods 0.000 claims description 3
- 238000012546 transfer Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000004806 packaging method and process Methods 0.000 description 6
- SPBWHPXCWJLQRU-FITJORAGSA-N 4-amino-8-[(2r,3r,4s,5r)-3,4-dihydroxy-5-(hydroxymethyl)oxolan-2-yl]-5-oxopyrido[2,3-d]pyrimidine-6-carboxamide Chemical compound C12=NC=NC(N)=C2C(=O)C(C(=O)N)=CN1[C@@H]1O[C@H](CO)[C@@H](O)[C@H]1O SPBWHPXCWJLQRU-FITJORAGSA-N 0.000 description 5
- 102100021677 Baculoviral IAP repeat-containing protein 2 Human genes 0.000 description 5
- 101000896157 Homo sapiens Baculoviral IAP repeat-containing protein 2 Proteins 0.000 description 5
- 102100021662 Baculoviral IAP repeat-containing protein 3 Human genes 0.000 description 4
- 101000896224 Homo sapiens Baculoviral IAP repeat-containing protein 3 Proteins 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 101150012648 Odam gene Proteins 0.000 description 3
- 102100027069 Odontogenic ameloblast-associated protein Human genes 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 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/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种基于脚本的API动态编排方法及装置,涉及软件研发领域以及金融领域。该方法包括:接收用户的API编排请求,所述API编排请求中包括待构建API对应的脚本;根据所述脚本得到所述待构建API对应的URL地址以及待调用的服务;根据所述待调用的服务配置所述脚本可调用的脚本依赖服务以及所述脚本运行时的环境;基于所述URL地址、所述脚本、所述脚本依赖服务以及所述脚本运行时的环境构建所述待构建API。本申请在减少API编排的复杂度的同时下增加了普适性,提高了API编排的灵活性,有利于API的扩展。
Description
技术领域
本申请涉及软件研发领域以及金融领域,特别涉及一种基于脚本的API动态编排方法及装置。
背景技术
现有技术中存在多种API编排方式,例如公司A提供了利用编排引擎对API进行编排的方案,该方案同时可以处理多个API子服务之间的调用冲突等问题;再例如公司B提供了针对微服务架构中的Restful接口进行的API编排方案。还有部分API平台提供了通过开发人员拖拽编排API模块以实现API调用的方案。
现有的方案虽然也能较好的解决API的编排问题,但普遍具有以下缺陷:
(一)方案实现过程复杂,例如一些方案为了实现API编排需要耗费大量的时间和精力去构建引擎;
(二)方案的适用范围有限,例如有些方案仅适用于微服务架构中。
发明内容
为了解决现有技术中存在的问题,本申请提供一种基于脚本的API动态编排方法,涉及软件研发领域以及金融领域。该方法包括以下步骤:
接收用户的API编排请求,所述API编排请求中包括待构建API对应的脚本;
根据所述脚本得到所述待构建API对应的URL地址以及待调用的服务;
根据所述待调用的服务配置所述脚本可调用的脚本依赖服务以及所述脚本运行时的环境;
基于所述URL地址、所述脚本、所述脚本依赖服务以及所述脚本运行时的环境构建所述待构建API。
在一实施例中,所述脚本运行时环境包括JVM提供的环境以及预定义封装属性;其中,所述预定义封装属性包括北向请求封装属性、北向响应封装属性、南向请求封装属性、南向响应封装属性、消息钩子预留接口属性以及所述脚本可直接操作的对象属性。
在一实施例中,所述URL地址包含所述待构建API的统一调用入口标识。
在一实施例中,所述脚本依赖服务为API开放平台中的各API所依赖的服务。
在一实施例中,所述基于脚本的API动态编排方法还包括:
根据接收到的脚本编辑请求获取已构建的API的脚本;所述脚本编辑请求包括脚本删除请求和脚本修改请求;
根据所述脚本编辑请求对所述已构建的API的脚本进行编辑并保存。
本申请还提供一种基于脚本的API动态编排装置,包括:
API编排请求接收模块,用于接收用户的API编排请求,所述API编排请求中包括待构建API对应的脚本;
脚本解析模块,用于根据所述脚本得到所述待构建API对应的URL地址以及待调用的服务;
API配置模块,用于根据所述待调用的服务配置所述脚本可调用的脚本依赖服务以及所述脚本运行时的环境;
API构建模块,基于所述URL地址、所述脚本、所述脚本依赖服务以及所述脚本运行时的环境构建所述待构建API。
在一实施例中,所述脚本运行时环境包括JVM提供的环境以及预定义封装属性;
其中,所述预定义封装属性包括北向请求封装属性、北向响应封装属性、南向请求封装属性、南向响应封装属性、消息钩子预留接口属性以及所述脚本可直接操作的对象属性。
在一实施例中,所述基于脚本的API动态编排装置还包括脚本管理模块,用于:
根据接收到的脚本编辑请求获取已构建的API的脚本;所述脚本编辑请求包括脚本删除请求和脚本修改请求;以及
根据所述脚本编辑请求对所述已构建的API的脚本进行编辑并保存。
本申请的基于脚本的API动态编排方法及装置通过脚本语言实现API的编排工作,对于已有的API,可通过在分布式缓存或数据库中直接对脚本编辑实现API的编排;同时,脚本运行时环境依赖JVM提供的脚本执行环境以及系统或平台上已有的定义即可,无需额外部署。本申请在减少API编排的复杂度的同时下增加了普适性,提高了API编排的灵活性,有利于API的扩展。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请的基于脚本的API动态编排方法的示意图。
图2为基于脚本的API动态编排方法的另一种示意图。
图3为脚本编辑流程示意图。
图4为创建的API的调用流程示意图。
图5为基于脚本的API动态编排装置的示意图。
图6为基于脚本的API动态编排装置的另一种示意图。
图7为一种电子设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请提供一种基于脚本的API动态编排方法,如图1所示,该方法包括以下步骤:
步骤S101,接收用户的API编排请求,所述API编排请求中包括待构建API对应的脚本。
具体地,本申请基于脚本实现API的编排,API编排请求中的脚本由用户根据对API的需求制作而成,或用户通过已有的脚本生成模块生成。以Redis为例,脚本的Key值即为待创建的API对应的URL地址,脚本的Value即为脚本对应的内容,脚本以Groovy语法进行编码。在接收到API编排请求后,会将其中的脚本写入到分布式缓存中。
步骤S102,根据所述脚本得到所述待构建的API对应的URL地址以及待调用的服务。
具体地,解析脚本的Key值即可得到待构建的API对应的URL地址,解析脚本的Value值即可获得接入该待构建的API后可调用的服务。其中,API可调用的服务既包括当前业务平台的API所依赖的服务,也包括其他业务平台的API所依赖的服务。
步骤S103,根据所述待调用的服务配置所述脚本可调用的脚本依赖服务以及所述脚本运行时的环境。
具体地,脚本依赖服务指API开放平台上的API1、API2、……、APIN或者API1、API2、……、APIN所依赖的Service服务。
脚本运行时的环境包括JVM提供的环境及预定义封装属性。其中,JVM提供的环境为主要的脚本运行时环境,预定义封装属性为附加的脚本运行时环境,预定义封装属性包括额外定义的北向请求封装属性、北向响应封装属性、南向请求封装属性、南向响应封装属性、消息钩子预留接口属性以及所述脚本可直接操作的对象属性等。预定义封装属性的操作原生集成于所在的业务系统中,不需要额外部署。
步骤S104,基于所述URL地址、所述脚本、所述脚本依赖服务以及所述脚本运行时的环境构建所述待构建API。
构建得到的API与开放平台上的API的不同之处可通过以下示例说明:假设在API开放平台上包括API1、API2、……、APIN,其中,API1对应转账服务,API2对应短信通知服务。当用户发起一笔转账交易,银行的业务系统需要首先根据用户发起的转账交易请求接入API1执行转账,然后接入API2以提供短信通知服务,向用户发送短信通知转账事宜。而通过本申请的方法构建的API可通过其对应的脚本实现多个服务的调用,当构建的API对应的脚本可调用转账服务和短信通知服务时,银行的业务系统根据用户发起的转账交易请求直接接入该构建的API,该构建的API通过对应的脚本依次调用转账服务和短信通知服务。因此,银行业务系统只需接入一个API即可实现两个服务的调用。
在一实施例中,在API统一开放平台上设置一统一调用入口,作为调用创建的API的入口,以便于区分创建的API与API开放平台上的API。当接收到来自客户端或应用的API调用请求时,判断该API调用请求中是否包括统一调用入口标识;当包括统一调用入口标识时,表示客户端或应用调用的是创建的API,此时即可通过统一调用入口实现创建的API的调用。
待构建的API通过其对应的脚本实现服务调用,在不同的网络架构中,脚本的调用方式不同。例如,在微服务架构中,由于创建的API所处的实例中可能没有所需要依赖的API所需的Service服务,因此脚本需要进行Http调用。而对于单体应用,脚本可直接调用所需要依赖的API所需的Service服务,无需再使用Http调用。
在一实施例中,如图2所示,所述基于脚本的API动态编排方法还包括:
步骤S201,根据接收到的脚本编辑请求获取已构建的API的脚本;所述脚本编辑请求包括脚本删除请求和脚本修改请求。
步骤S202,根据所述脚本编辑请求对所述已构建的API的脚本进行编辑并保存。
具体地,可同时参见图2和图3,接收API脚本编辑请求后,根据待编辑脚本的名称在分布式缓存或数据库中查询该脚本是否存在;当脚本存在时,若脚本编辑请求为脚本删除请求,则对查询到的脚本执行删除操作,并通过消息队列将删除结果广播至其他构建的API处;若脚本编辑请求为脚本修改请求,则对查询到的脚本执行修改操作,并通过消息队列将修改结果广播至其他构建的API处;最后将编辑后的脚本存储至分布式缓存和数据库中。
完成API的构建后,即可对该构建的API进行调用。调用的流程如图4所示。
1)接收用户的对创建的API的API调用请求,该请求中包含该创建的API的URL地址,该URL地址附带有统一调用入口标识;
2)根据URL地址去本地缓存中加载请求调用的API对应的脚本;
3)若加载成功,则根据API调用请求初始化对应的自定义封装属性;
4)若加载失败,根据URL地址去分布式缓存中加载请求调用的API对应的脚本;
5)若加载成功,则根据API调用请求初始化对应的自定义封装属性;
6)若加载失败,根据URL地址去数据库中加载请求调用的API对应的脚本;
7)若加载成功,则根据API调用请求初始化对应的自定义封装属性;
8)若加载失败,则返回异常结束;
9)自定义封装属性初始化完成时,解析并执行加载的脚本,完成对创建的API的调用;
10)返回正常结束。
其中,根据API调用请求初始化对应的自定义封装属性实际为将API调用请求封装成为脚本可直接操作的对象MsgContext和HttpAttach中,具体代码为:
(1)将北向API调用请求进行封装
MsgContext msgContext=new MsgContext(request);
以上request指的北向请求携带的HttpServletRequest:
在MsgContext里面对北向请求消息体和南向响应均进行封装,以便脚本环境中可以直接由Groovy自由获取对应的信息。
在上面set方法中将消息体解析为脚本直接交互的值,之后设置到脚本的运行时上下文中。脚本可操作的方便性很大程度来源于此部分环境进行的解析与赋值操作,不过request请求在上下文中封装为可反复读取的数据之后,脚本也可以进行额外的处理。
(2)富脚本运行时环境的上下文
MsgContext作为上下文运行环境,除了对于南北向消息体进行封装之外,也可以额外提供其他的服务,可以在MsgContext中定义部分Servie。在步骤(1)的msgContext基础上执行:
msgContext.setApiRedisService(apiRedisService);
即可将对于Redis的操作封装内置到上下文中,Groovy脚本可以方便的调用对应的服务。
3)执行脚本
Groovy提供Binding类,在该类对应的实例上,将上下文赋值为对应的属性:
binding.setProperty("msgContext",msgContext);
同时可以设置其他属性,譬如线程池之类的附加功能也可以设置到property上:
GroovyShell groovyShell=new GroovyShell(binding);
//…
Object ob=groovyShell.evaluate(code);
上述代码中code即为Groovy代码,可以直接执行。代码里面可以使用步骤(1)和(2)中所有设置好的上下文变量。
本申请的基于脚本的API动态编排方法通过脚本语言实现API的编排工作,对于已有的API,可通过在分布式缓存或数据库中直接对脚本编辑实现API的编排;同时,脚本运行时环境依赖JVM提供的脚本执行环境以及系统或平台上已有的定义即可,无需额外部署。本申请在减少API编排的复杂度的同时下增加了普适性,提高了API编排的灵活性,有利于API的扩展。
基于同一发明构思,本申请实施例还提供了一种基于脚本的API动态编排装置,可以用于实现上述实施例所描述的方法,如下面的实施例所述。由于基于脚本的API动态编排装置解决问题的原理与基于脚本的API动态编排方法相似,因此基于脚本的API动态编排装置的实施可以参见基于脚本的API动态编排方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本申请还提供一种基于脚本的API动态编排装置,如图5所示,该装置包括:
API编排请求接收模块501,用于接收用户的API编排请求,所述API编排请求中包括待构建API对应的脚本;
脚本解析模块502,用于根据所述脚本得到所述待构建API对应的URL地址以及待调用的服务;
API配置模块503,用于根据所述待调用的服务配置所述脚本可调用的脚本依赖服务以及所述脚本运行时的环境;
API构建模块504,基于所述URL地址、所述脚本、所述脚本依赖服务以及所述脚本运行时的环境构建所述待构建API。
在一实施例中,所述脚本运行时环境包括JVM提供的环境以及预定义封装属性;
其中,所述预定义封装属性包括北向请求封装属性、北向响应封装属性、南向请求封装属性、南向响应封装属性、消息钩子预留接口属性以及所述脚本可直接操作的对象属性。
在一实施例中,如图6所示,所述基于脚本的API动态编排装置还包括脚本管理模块505,用于:
根据接收到的脚本编辑请求获取已构建的API的脚本;所述脚本编辑请求包括脚本删除请求和脚本修改请求;以及
根据所述脚本编辑请求对所述已构建的API的脚本进行编辑并保存。
本申请的基于脚本的API动态编排方法及装置通过脚本语言实现API的编排工作,对于已有的API,可通过在分布式缓存或数据库中直接对脚本编辑实现API的编排;同时,脚本运行时环境依赖JVM提供的脚本执行环境以及系统或平台上已有的定义即可,无需额外部署。本申请在减少API编排的复杂度的同时下增加了普适性,提高了API编排的灵活性,有利于API的扩展。
本发明还提供一种电子设备,参见图7,所述电子设备100具体包括:
中央处理器(processor)110、存储器(memory)120、通信模块(Communications)130、输入单元140、输出单元150以及电源160。
其中,所述存储器(memory)120、通信模块(Communications)130、输入单元140、输出单元150以及电源160分别与所述中央处理器(processor)110相连接。所述存储器120中存储有计算机程序,所述中央处理器110可调用所述计算机程序,所述中央处理器110执行所述计算机程序时实现上述实施例中的基于脚本的API动态编排方法中的全部步骤。
本申请的实施例还提供一种计算机存储介质,用于存储计算机程序,所述计算机程序可被处理器执行。所述计算机程序被处理器执行时实现本发明所提供的任一基于脚本的API动态编排方法。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。
在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。以上所述仅为本说明书实施例的实施例而已,并不用于限制本说明书实施例。对于本领域技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的权利要求范围之内。
Claims (10)
1.一种基于脚本的API动态编排方法,其特征在于,包括:
接收用户的API编排请求,所述API编排请求中包括待构建API对应的脚本;
根据所述脚本得到所述待构建API对应的URL地址以及待调用的服务;
根据所述待调用的服务配置所述脚本可调用的脚本依赖服务以及所述脚本运行时的环境;
基于所述URL地址、所述脚本、所述脚本依赖服务以及所述脚本运行时的环境构建所述待构建API。
2.根据权利要求1所述的基于脚本的API动态编排方法,其特征在于,所述脚本运行时环境包括JVM提供的环境以及预定义封装属性;
其中,所述预定义封装属性包括北向请求封装属性、北向响应封装属性、南向请求封装属性、南向响应封装属性、消息钩子预留接口属性以及所述脚本可直接操作的对象属性。
3.根据权利要求1所述的基于脚本的API动态编排方法,其特征在于,所述URL地址包含所述待构建API的统一调用入口标识。
4.根据权利要求1所述的基于脚本的API动态编排方法,其特征在于,所述脚本依赖服务为API开放平台中的各API所依赖的服务。
5.根据权利要求1至4中任一项所述的基于脚本的API动态编排方法,其特征在于,还包括:
根据接收到的脚本编辑请求获取已构建的API的脚本;所述脚本编辑请求包括脚本删除请求和脚本修改请求;
根据所述脚本编辑请求对所述已构建的API的脚本进行编辑并保存。
6.一种基于脚本的API动态编排装置,其特征在于,包括:
API编排请求接收模块,用于接收用户的API编排请求,所述API编排请求中包括待构建API对应的脚本;
脚本解析模块,用于根据所述脚本得到所述待构建API对应的URL地址以及待调用的服务;
API配置模块,用于根据所述待调用的服务配置所述脚本可调用的脚本依赖服务以及所述脚本运行时的环境;
API构建模块,基于所述URL地址、所述脚本、所述脚本依赖服务以及所述脚本运行时的环境构建所述待构建API。
7.根据权利要求6所述的基于脚本的API动态编排装置,其特征在于,所述脚本运行时环境包括JVM提供的环境以及预定义封装属性;
其中,所述预定义封装属性包括北向请求封装属性、北向响应封装属性、南向请求封装属性、南向响应封装属性、消息钩子预留接口属性以及所述脚本可直接操作的对象属性。
8.根据权利要求6或7所述的基于脚本的API动态编排装置,其特征在于,还包括脚本管理模块,用于:
根据接收到的脚本编辑请求获取已构建的API的脚本;所述脚本编辑请求包括脚本删除请求和脚本修改请求;以及
根据所述脚本编辑请求对所述已构建的API的脚本进行编辑并保存。
9.一种电子设备,其特征在于,包括:
中央处理器、存储器、通信模块,所述存储器中存储有计算机程序,所述中央处理器可调用所述计算机程序,所述中央处理器执行所述计算机程序时实现如权利要求1至5中任一项所述的基于脚本的API动态编排方法。
10.一种计算机存储介质,用于存储计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的基于脚本的API动态编排方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110924022.7A CN113626001B (zh) | 2021-08-12 | 2021-08-12 | 一种基于脚本的api动态编排方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110924022.7A CN113626001B (zh) | 2021-08-12 | 2021-08-12 | 一种基于脚本的api动态编排方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113626001A true CN113626001A (zh) | 2021-11-09 |
CN113626001B CN113626001B (zh) | 2024-08-02 |
Family
ID=78384815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110924022.7A Active CN113626001B (zh) | 2021-08-12 | 2021-08-12 | 一种基于脚本的api动态编排方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113626001B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113342464A (zh) * | 2021-06-19 | 2021-09-03 | 南威软件股份有限公司 | 一种基于容器服务的应用构建部署方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150128103A1 (en) * | 2013-11-07 | 2015-05-07 | Runscope, Inc. | System and method for automating application programming interface integration |
CN108647012A (zh) * | 2018-05-04 | 2018-10-12 | 山东汇贸电子口岸有限公司 | 一种服务引擎的管理方法和管理装置 |
CN110310034A (zh) * | 2019-06-28 | 2019-10-08 | 京东数字科技控股有限公司 | 一种应用于SaaS的服务编排、业务流程处理方法和装置 |
CN111782420A (zh) * | 2020-06-24 | 2020-10-16 | 中国工商银行股份有限公司 | 基于Java Web框架的信息处理方法、装置、设备和介质 |
CN112541746A (zh) * | 2020-12-25 | 2021-03-23 | 上海精鲲计算机科技有限公司 | 一种全栈自动化编排方法及系统 |
-
2021
- 2021-08-12 CN CN202110924022.7A patent/CN113626001B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150128103A1 (en) * | 2013-11-07 | 2015-05-07 | Runscope, Inc. | System and method for automating application programming interface integration |
CN108647012A (zh) * | 2018-05-04 | 2018-10-12 | 山东汇贸电子口岸有限公司 | 一种服务引擎的管理方法和管理装置 |
CN110310034A (zh) * | 2019-06-28 | 2019-10-08 | 京东数字科技控股有限公司 | 一种应用于SaaS的服务编排、业务流程处理方法和装置 |
CN111782420A (zh) * | 2020-06-24 | 2020-10-16 | 中国工商银行股份有限公司 | 基于Java Web框架的信息处理方法、装置、设备和介质 |
CN112541746A (zh) * | 2020-12-25 | 2021-03-23 | 上海精鲲计算机科技有限公司 | 一种全栈自动化编排方法及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113342464A (zh) * | 2021-06-19 | 2021-09-03 | 南威软件股份有限公司 | 一种基于容器服务的应用构建部署方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113626001B (zh) | 2024-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111625452B (zh) | 流量回放方法和系统 | |
CN109002362B (zh) | 一种服务方法、装置、系统以及电子设备 | |
US10908926B2 (en) | Plug-in management wrappers | |
WO2018210096A1 (zh) | 一种基于规则引擎的规则配置方法、终端、设备以及存储介质 | |
CN111400246B (zh) | 异步导入文件方法、装置、计算机设备和存储介质 | |
US10838774B2 (en) | Method and a system for facilitating multitenancy of services | |
EP3462330A1 (en) | Fault tolerant adapter system to consume database as a service | |
US12039302B2 (en) | Building base applications with user interface micro frontends | |
US20190391809A1 (en) | Programs with serializable state | |
CN112685020A (zh) | 动态创建服务接口的方法、装置、电子设备及存储介质 | |
CN110300176A (zh) | 一种数据库rpc服务器的工作方法和数据库rpc服务器 | |
CN110457132B (zh) | 一种功能对象的创建方法、装置和终端设备 | |
CN102402455A (zh) | 调用动态链接库的方法和装置 | |
CN113296987B (zh) | 调用模块的接口调用方法、装置、计算机设备及存储介质 | |
CN113626001B (zh) | 一种基于脚本的api动态编排方法及装置 | |
CN113191889A (zh) | 风控配置方法、配置系统、电子设备及可读存储介质 | |
CN111259042B (zh) | 一种动态查询方法及系统 | |
US10268496B2 (en) | System and method for supporting object notation variables in a process defined by a process execution language for execution in a SOA middleware environment | |
CN113535419A (zh) | 一种服务编排方法和装置 | |
CN109005163B (zh) | 一种http动态请求服务调用方法 | |
CN115604344B (zh) | 一种微服务的限流方法及装置 | |
CN115495065A (zh) | 一种基于业务流控制的页面组件编排组合方法及装置 | |
CN108804236B (zh) | 一种aidl文件的共享方法及系统 | |
CN113064987B (zh) | 数据处理方法、装置、电子设备、介质和程序产品 | |
CN115982257A (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 |