CN110874228B - 一种应用程序中的服务集成方法、装置及设备 - Google Patents
一种应用程序中的服务集成方法、装置及设备 Download PDFInfo
- Publication number
- CN110874228B CN110874228B CN201811003274.0A CN201811003274A CN110874228B CN 110874228 B CN110874228 B CN 110874228B CN 201811003274 A CN201811003274 A CN 201811003274A CN 110874228 B CN110874228 B CN 110874228B
- Authority
- CN
- China
- Prior art keywords
- service
- behavior
- verification
- environment
- loading
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- 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/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提供一种应用程序中的服务集成方法、装置及设备。所述方法包括:应用程序集成服务时,根据所述服务的服务描述SD对所述服务进行验证;所述服务描述SD包括服务标识符和服务授权信息;若验证通过,则启动目标服务集成环境,通过所述目标服务集成环境加载所述服务;若服务加载完成,则获取所述服务的服务行为SA,并根据所述服务行为SA进行处理;所述服务行为SA为所述服务请求所述应用程序完成的一个或多个行为的数据集合。本发明实施例通过服务描述SD和服务行为SA等对服务集成方法进行规范,能够对应用程序的服务集成功能行为进行约束,可以在应用程序运行过程中动态集成,解决了服务升级不便的问题。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种应用程序中的服务集成方法、装置及设备。
背景技术
随着手机操作深入到各个领域,当前APP已经成为应用发布的门户。越来越多的服务随时都需要加入到APP中,并且越来越多的服务都来源于不同的子系统和不同的开发者。不同服务的共存需要有事先约定的各种形式,包括数据交换,运行环境,服务的进入和退出,服务内导航等。当前的各项技术方案的仅仅都是提供相应的发布形式,然后通过开发团队的协商联调,进行实际的基础工作。
然而,现有技术存在如下问题:
交流成本和问题查找成本高,由于缺少规范和验证方式,都通过开发人员的线下交流来完成,时间成本和经济成本都很高。数据的交互,执行环境的互动缺少统一的规则使得服务间的交互模糊,导致服务调用失败增加,缺少反馈机制,制约APP中服务的质量。由于服务集成的方式都是个性化的,所以当一个服务需要进行升级更新时,其影响的范围缺少约束,需要和容器APP甚至是其他相关服务进行商讨其影响性,严重影响了服务升级的执行,导致服务升级非常不便。
发明内容
针对现有技术存在的问题,本发明实施例提供一种应用程序中的服务集成方法、装置及设备。
第一方面,本发明实施例提供一种应用程序中的服务集成方法,包括:
应用程序集成服务时,根据所述服务的服务描述SD对所述服务进行验证;所述服务描述SD包括服务标识符和服务授权信息;
若验证通过,则启动目标服务集成环境,通过所述目标服务集成环境加载所述服务;
若服务加载完成,则获取所述服务的服务行为SA,并根据所述服务行为SA进行处理;所述服务行为SA为所述服务请求所述应用程序完成的一个或多个行为的数据集合。
第二方面,本发明实施例提供一种应用程序中的服务集成装置,包括:
SD处理模块,用于应用程序集成服务时,根据所述服务的服务描述SD对所述服务进行验证;所述服务描述SD包括服务标识符和服务授权信息;
SP处理模块,用于若验证通过,则启动目标服务集成环境,通过所述目标服务集成环境加载所述服务;以及
SA处理模块,用于若服务加载完成,则获取所述服务的服务行为SA,并根据所述服务行为SA进行处理;所述服务行为SA为所述服务请求所述应用程序完成的一个或多个行为的数据集合。
第三方面,本发明实施例提供了一种电子设备,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行本发明实施例第一方面所述应用程序中的服务集成方法及其任一可选实施例所述的方法。
第四方面,提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令执行本发明实施例第一方面所述应用程序中的服务集成方法及其任一可选实施例的方法。
本发明实施例提供的一种应用程序中的服务集成方法,在应用程序集成服务时,根据所述服务的服务描述SD对所述服务进行验证;验证通过后,通过所述目标服务集成环境加载所述服务,并根据服务的服务行为SA进行处理。本发明实施例通过服务描述SD和服务行为SA等对服务集成的方法进行了规范,能够对应用程序的服务集成功能行为进行约束,可以在应用程序运行过程中进行动态集成,解决了服务升级不便的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一种应用程序中的服务集成方法流程示意图;
图2为本发明实施例一种应用程序中的服务集成装置示意图;
图3为本发明实施例应用程序中的服务集成方法处理流程图;
图4为本发明实施例一种电子设备的框架示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一般的,应用程序也简称为APP,本发明实施例后续提到的APP与应用程序指代相同。本发明实施例所要解决的问题是如何通过统一规范的方式,在APP中集成服务,例如,在社交APP中集成具有支付功能的服务等。
在描述本发明实施例的应用程序中的服务集成方法之前,先介绍本发明实施例使用的服务原语,本发明实施例通过提供一种服务原语,以及对服务原语的解释和检查,来进行集成服务的规范化约束。
服务原语定义规则如下:
P={SD,SP,SA}
也就是服务原语由三个大的描述集合组成,其中:
SD(Service Description):对服务基本信息进行描述;
SP(Service Parameter):服务参数,对服务的输入参数与输出参数进行描述;
SA(Service Action):服务行为,对服务可以在集成容器(即服务集成环境)提供的标准交互行为上进行交互行为的选择进行描述。
以移动终端APP为例,目前APP上的服务集成环境,当前的主流有:基于WebView的Web应用模块,基于Cordova的桥接模式和基于React Native的混合模式,服务原语围绕当前服务集成环境的混合模式进行定义。具体定义如下:
对原语的三个描述集合定义如下:
(1)服务描述SD
SD->URI|TOKEN|[NAME|MEMO|USER];
URI:必须,是服务标识符,服务开发时需要向框架管理团队申请服务标识符,一个服务分配一个URI;优选的,URI可以为字符串形式,保持全局唯一;
优选的,URI的定义方式为:
SCHEMA://provider:sid:check;
其中SCHEMA为:webAPP,或cordova,或rn,分别对应WebView接入方式,cordova接入方式,rn接入方式;
provider:由APP框架约定分配的接入商编码;
sid:由APP框架约定分配的服务id;
check:是分配给服务的验证信息;优选的,验证信息可以为字符串,是框架检查URI有效性的签名字符串。
TOKEN:必须,服务授权信息,由APP框架分配给具体的服务,用于服务与APP框架作为交换数据的校验凭证;
NAME:可选,服务名称,用于APP框架管理服务时显示服务名称;
MEMO:可选,服务备注,用于APP框架管理服务时的说明;
USER:由APP框架提供的用户登录信息,包括用户的登录id,用户名称;如果无需用户登录的功能,此字段为空。
(2)服务参数SP
SP->[INPUT_PARAM|OUTPUT_PARAM];
INPUT_PARAM:服务的输入参数,是APP框架传递给服务的参数,是一个Key/Value类型的数据集合,即数据-值对的集合;优选的,输入参数的格式可以为json格式的数据,分为以下数据段:
Org:给出用户所在的部门(如果存在);
Path:当前调用的路径(APP中的路由字符串);
Previous:上次本URI指向的服务的输出参数(由APP框架缓存);
OUTPUT_PARAM:服务的输出参数,指服务传递给APP框架的参数,是一个Key/Value类型的数据集合,即数据-值对的集合;具体包括:
Code:服务完成的状态,包括[“OK”,”ERROR”,”UNKOWN”]
Msg:是服务需要APP框架显示的服务结果信息;
Result:本次服务结果需要APP框架缓存的数据(APP框架缓存,供下次服务调用)。
(3)服务行为SA
SA->[ACTION_SET];
ACTION_SET:框架行为库,由APP框架实现的预定义行为库。服务集成完成后,通过定义动作来请求APP框架完成一个或者多个行为,为整个APP的路由提供合理的统一方式;优选的,SA的格式为json格式,包含两个数据项目:
Act:行为方式定义,包括[“CLOSE”,“HOME”,“FORWARD”],分别代表请求APP框架关闭服务窗口,返回APP Home页,继续调用其他服务。
ActExtra:字符串值,在FORWARD模式下提供APP框架调用的下一个服务的URI。
基于上述服务原语,本发明实施例一种提供应用程序中的服务集成方法,通过统一规范的方式进行APP中的服务集成。本发明实施例以移动终端APP集成服务为例,进行描述,但本发明实施例并不限于移动终端APP上的使用。
图1为本发明实施例一种应用程序中的服务集成方法流程示意图,如图1所示的应用程序中的服务集成方法,其执行主体为应用程序框架,即APP框架,包括:
100,应用程序集成服务时,根据所述服务的服务描述SD对所述服务进行验证;所述服务描述SD包括服务标识符和服务授权信息;
当一个服务需要集成到APP时,APP框架根据预先定义的服务原语规则对服务进行验证,换句话说,当一个服务想要集成到APP,则必须满足预先定义的服务原语规则。
步骤100中服务描述SD即前述的服务描述SD,用于对服务基本信息进行描述,由启动服务的方法作为参数传递给APP框架,APP框架对服务描述SD进行验证,首先可以对服务描述SD进行形式化验证,然后进行实质验证,即验证需要集成的服务是否合法。
101,若验证通过,则启动目标服务集成环境,通过所述目标服务集成环境加载所述服务;
需要说明的是,若验证不通过,即判定服务不合法,APP框架直接结束服务集成流程,不进行后续操作。
若验证通过,则通过目标服务集成环境加载所述服务,进行服务集成。
102,若服务加载完成,则获取所述服务的服务行为SA,并根据所述服务行为SA进行处理;所述服务行为SA为所述服务请求所述应用程序完成的一个或多个行为的数据集合。
服务加载完成即服务集成完成,服务可以请求APP框架进行一些行为处理,具体APP框架需要处理的为由服务行为SA描述,如前所述,服务行为SA由APP框架实现的预定义行为库,只有这些预定义行为库中的交互行为,APP框架才会执行;具体,预定义行为库包括哪些行为,可根据当前操作系统或APP框架的需求和目标而设定,本发明实施例对此不作具体限定。
本发明实施例提供的一种应用程序中的服务集成方法,在应用程序集成服务时,根据所述服务的服务描述SD对所述服务进行验证;验证通过后,通过所述目标服务集成环境加载所述服务,并根据服务的服务行为SA进行处理。本发明实施例通过服务描述SD和服务行为SA等对服务集成的方法进行了规范,能够对应用程序的服务集成功能行为进行约束,可以在应用程序运行过程中进行动态集成,解决了服务升级不便的问题。
基于上述实施例,步骤100,所述根据所述服务的服务描述SD对所述服务进行验证,具体包括:
100.1,加载所述服务的服务描述SD,解析所述服务描述SD,获取服务标识符和服务授权信息;
100.2,将所述服务标识符与注册数据进行匹配,以对所述服务进行注册验证;根据所述服务授权信息验证所述服务的参数有效性。
由于服务标识符URI和服务授权信息TOKEN是服务描述SD中必须的信息,也是服务验证时必须的信息,因此在服务集成的初始,需要加载所述服务的服务描述SD,解析所述服务描述SD,获取服务标识符URI和服务授权信息TOKEN,为验证做准备。
如前所述,所述服务标识符URI包括服务接入方式SCHEMA、接入商编号provider、服务id即sid和验证信息check;
步骤100.2中,所述将所述服务标识符与注册数据进行匹配,以对所述服务进行注册验证,包括:
将所述服务标识符中的验证信息check与注册数据进行匹配,以对所述服务进行注册验证。
可选的,还包括对服务标识符中的各项数据进行形式化验证。若形式化验证不通过,则不会进行实质验证,即服务的注册验证;若形式化验证通过,则通过上述方法进行实质验证。
如前所述,服务描述SD中还包括服务授权信息TOKEN,步骤100.2中,所述根据所述服务授权信息验证所述服务的参数有效性,即通过服务授权信息TOKEN验证所述服务的参数有效性。
基于上述实施例,步骤101,所述若验证通过,启动目标服务集成环境,通过所述目标服务集成环境加载所述服务,具体包括:
101.1,若所述服务的注册验证和参数有效性验证均通过,则通过SCHEMA模式启动目标服务集成环境,所述目标服务集成环境为所述应用程序上的WebView环境、Cordova环境或React Native环境;
101.2,通过所述目标服务集成环境执行所述服务,以加载所述服务。
本实施例中,所述验证通过,是指服务的注册验证和参数有效性验证均通过,若有一项验证不同,则最终验证不通过。若验证通过,则通过SCHEMA模式(即Schema模式)启动当前服务集成环境,即目标服务集成环境。根据APP当前所在终端的操作系统,当前服务集成环境可能是WebView环境,也可能是Cordova环境,也可能是ReactNative环境。服务集成环境启动成功后,就通过服务集成环境执行服务,即可在APP框架中加载所述服务,实现服务集成。
基于上述实施例,步骤101.2,所述通过所述目标服务集成环境执行所述服务,之前还包括:
若所述服务的服务描述SD包含用户信息,且判断获知所述用户信息对应的用户已登录,则根据所述用户信息构造输入参数,所述输入参数为数据-值对的集合;
将所述输入参数传递给所述服务,以供所述服务加载时使用。
本实施例中,若服务需要用户信息,即服务描述SD的USER字段不为空,则APP框架将向所述服务提供用户相关信息。首先APP框架检查USER字段是否为空,若不为空,进一步判断USER字段所指示的用户是否已登录,若已登录,则根据服务参数SP的规则,构造输入参数INPUT_PARAM,并将INPUT_PARAM传递给所述服务。
如前所述,输入参数INPUT_PARAM中还包括Org、Path、Previous等,如有必要,也可以由APP框架传递给服务。
需要说明的是,在构建了INPUT_PARAM后,也可以对INPUT_PARAM进行形式化验证。如果服务需要缓存数据,访问APP框架的缓存,使用服务URI获取缓存数据并加入输入参数。
基于上述实施例,步骤102,所述获取所述服务的服务行为SA,并根据所述服务行为SA进行处理,之前或之后还包括:
获取所述服务的输出参数,所述输出参数用于指示服务加载完成状态、加载结果信息和缓存数据中的一种或多种;
根据所述输出参数,执行显示所述加载完成状态、显示所述加载结果信息和缓存所述缓存数据中的一种或多种。
本实施例中获取所述服务的输出参数等处理,可以在步骤102之前,也可以在步骤102之后,本发明实施例对此不作具体限定。
如前所述,服务参数SP中还包括输出参数OUTPUT_PARAM,也是数据-值对的集合,包括Code、Msg、Result等,即指示服务加载完成状态、加载结果信息和缓存数据等;若输出参数中包含这些数据,则APP框架根据这些数据进行相应的显示或处理。
基于上述实施例,步骤102,所述获取所述服务的服务行为SA,并根据所述服务行为SA进行处理,具体包括:
102.1,获取所述服务的服务行为SA,所述服务行为SA包括关闭所述目标服务集成环境、返回应用程序首页和启动下一服务任务中的一种或多种;
102.2,根据所述服务行为SA,执行关闭所述目标服务集成环境、返回应用程序首页和启动下一服务任务中的一种或多种。
如前所述,服务行为包括“CLOSE”、“HOME”和“FORWARD”,分别对应关闭目标服务集成环境、返回应用程序首页和启动下一服务任务,但并不限定未来应用增加了交互行为,若有增加的交互行为,加入预定义行为库进行识别处理即可,仍然在本发明实施例的框架内。
需要说明的是,如服务行为包括FORWARD,则APP框架将针对FORWARD进行策略的检查,会显示服务的迁移次数,并且迁移目标的接入商编码provider必须相同。
综上所述,本发明实施例结合App的运行环境,提出一种基于规则的App服务集成方法,针对服务的集成使用规范的规则系统进行描述,使得服务在集成规范,数据交换,服务导航与服务的打开关闭等主要的行为下在宿主App中得到良好的定义,并且对集成后的App进行约束。
本发明实施例的关键技术特征在于:
1)通过服务原语(SD,SP,SA)的机制构成的App的动态服务
集成方法;
2)为处理服务原语的核心组成成分,对App服务集成环境进行验证,参数原语进行解析处理,以及对行为原语进行解析处理。
图2为本发明实施例一种应用程序中的服务集成装置示意图,包括:
SD处理模块200,用于应用程序集成服务时,根据所述服务的服务描述SD对所述服务进行验证;所述服务描述SD包括服务标识符和服务授权信息;
SP处理模块201,用于若验证通过,则启动目标服务集成环境,通过所述目标服务集成环境加载所述服务;以及
SA处理模块202,用于若服务加载完成,则获取所述服务的服务行为SA,并根据所述服务行为SA进行处理;所述服务行为SA为所述服务请求所述应用程序完成的一个或多个行为的数据集合。
本发明实施例的装置,可用于执行图1所示的应用程序中的服务集成方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
基于上述实施例,SD处理模块200具体用于:
加载所述服务的服务描述SD,解析所述服务描述SD,获取服务标识符和服务授权信息;
将所述服务标识符与注册数据进行匹配,以对所述服务进行注册验证;根据所述服务授权信息验证所述服务的参数有效性。
基于上述实施例,SP处理模块201具体用于:
若所述服务的注册验证和参数有效性验证均通过,则通过SCHEMA模式启动目标服务集成环境,所述目标服务集成环境为所述应用程序上的WebView环境、Cordova环境或React Native环境;
通过所述目标服务集成环境执行所述服务,以加载所述服务。
基于上述实施例,SP处理模块201还用于:
若所述服务的服务描述SD包含用户信息,且判断获知所述用户信息对应的用户已登录,则根据所述用户信息构造输入参数,所述输入参数为数据-值对的集合;
将所述输入参数传递给所述服务,以供所述服务加载时使用。
基于上述实施例,SA处理模块202具体用于:
获取所述服务的服务行为SA,所述服务行为SA包括关闭所述目标服务集成环境、返回应用程序首页和启动下一服务任务中的一种或多种;
根据所述服务行为SA,执行关闭所述目标服务集成环境、返回应用程序首页和启动下一服务任务中的一种或多种。
基于上述实施例,SA处理模块202还用于:
获取所述服务的输出参数,所述输出参数用于指示服务加载完成状态、加载结果信息和缓存数据中的一种或多种;
根据所述输出参数,执行显示所述加载完成状态、显示所述加载结果信息和缓存所述缓存数据中的一种或多种。
下面结合本发明实施例应用程序中的服务集成装置来说明本发明实施例应用程序中的服务集成方法,图3为本发明实施例应用程序中的服务集成方法处理流程图,请参考图3,所述方法在APP框架内实现,分别由SD处理模块、SP处理模块和SA处理模块实现,具体的:
SD处理模块实现如下步骤:
步骤1,加载服务描述SD,并进行解析;
步骤2,检查URI和TOKEN,进行服务验证,若验证不通过,则确认服务不合法,流程结束;若验证通过,则判断是否需要用户信息,如需要,则提供用户信息;
SP处理模块实现如下步骤:
步骤3,构造服务参数中的输入参数INPUT_PARAM,将INPUT_PARAM传递给服务;
步骤4,启动服务集成环境并执行服务,例如,启动APP上的ReactNative环境并执行服务,或者启动APP上的WebView环境并执行服务,或者启动APP上的Cordova环境并执行服务;
步骤5,获取服务参数中的输出参数OUTPUT_PARAM,根据OUTPUT_PARAM进行显示或处理;
步骤6,判断是否有缓存数据,如需要缓存数据,则APP框架对服务数据进行缓存;
SA处理模块实现如下步骤:
步骤7,获取服务行为SA并执行;
最后,APP框架执行步骤8,关闭服务并回收资源。
本发明实施例针对当前在App的动态服务集成方面还没有类似实践,实践中的主要做法是缺乏事前集成规范,缺乏运行中的验证与检查,缺乏统一的行为集成,都是通过个性化的编程约定的方法来完成的问题,通过服务原语规范了服务集成的主要交互界面,并且实现了对主流的App服务类型的支持,并且实现了一套在运行过程中的动态集成与规范方法。
另外本发明实施例还要区别与动态插件加载技术。动态插件技术主要是解决App不通过市场就能更新的问题,本发明实施例专注于如何将不同开发团队或者提供商开发的服务进行集成和统一,并不是解决App的动态更新问题。动态插件问题受制于不同平台的安全技术要求(比如iOS并不能动态更新非js代码),本发明实施例不是解决动态更新问题,而是软件开发集成的过程问题,所以不受到平台安全技术的约束。
本发明实施例的有益效果是,对服务集成的平台侧和服务侧都起到了降低集成成本,提升集成质量的作用,其具体可以描述为:
1)对App服务集成,可以使用原语定义其服务集成的规范,通过原语定义减少歧义,并且可以对任何接入的服务提供一致可执行的服务规范;
2)对App服务集成,可以使用同一的监管方法监管服务的生命周期,让接入服务更可控,并且降低了服务接入对平台的影响;
3)对App服务开发者,遵循了无歧义可评估的规范,降低了服务开发中的适配成本,降低了服务集成错误可能性。
图4为本发明实施例一种电子设备的框架示意图。请参考图4,本发明实施例提供一种电子设备,包括:处理器(processor)410、通信接口(Communications Interface)420、存储器(memory)430和总线440,其中,处理器410,通信接口420,存储器430通过总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行如下方法,包括:应用程序集成服务时,根据所述服务的服务描述SD对所述服务进行验证;所述服务描述SD包括服务标识符和服务授权信息;若验证通过,则启动目标服务集成环境,通过所述目标服务集成环境加载所述服务;若服务加载完成,则获取所述服务的服务行为SA,并根据所述服务行为SA进行处理;所述服务行为SA为所述服务请求所述应用程序完成的一个或多个行为的数据集合。
本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:应用程序集成服务时,根据所述服务的服务描述SD对所述服务进行验证;所述服务描述SD包括服务标识符和服务授权信息;若验证通过,则启动目标服务集成环境,通过所述目标服务集成环境加载所述服务;若服务加载完成,则获取所述服务的服务行为SA,并根据所述服务行为SA进行处理;所述服务行为SA为所述服务请求所述应用程序完成的一个或多个行为的数据集合。
本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:应用程序集成服务时,根据所述服务的服务描述SD对所述服务进行验证;所述服务描述SD包括服务标识符和服务授权信息;若验证通过,则启动目标服务集成环境,通过所述目标服务集成环境加载所述服务;若服务加载完成,则获取所述服务的服务行为SA,并根据所述服务行为SA进行处理;所述服务行为SA为所述服务请求所述应用程序完成的一个或多个行为的数据集合。
本领域普通技术人员可以理解:实现上述设备实施例或方法实施例仅仅是示意性的,其中所述处理器和所述存储器可以是物理上分离的部件也可以不是物理上分离的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如U盘、移动硬盘、ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种应用程序中的服务集成方法,其特征在于,包括:
应用程序集成服务时,根据所述服务的服务描述SD对所述服务进行验证;所述服务描述SD包括服务标识符和服务授权信息,其中,所述服务标识符为每个服务开发时所分配的标识符,所述服务标识符包括服务接入方式、接入商编号、服务id和验证信息;
若验证通过,则启动目标服务集成环境,通过所述目标服务集成环境加载所述服务;
若服务加载完成,则获取所述服务的服务行为SA,并根据所述服务行为SA进行处理;所述服务行为SA为所述服务请求所述应用程序完成的一个或多个行为的数据集合;所述根据所述服务的服务描述SD对所述服务进行验证,具体包括:
加载所述服务的服务描述SD,解析所述服务描述SD,获取服务标识符和服务授权信息;
将所述服务标识符与注册数据进行匹配,以对所述服务进行注册验证;根据所述服务授权信息验证所述服务的参数有效性;
所述若验证通过,启动目标服务集成环境,通过所述目标服务集成环境加载所述服务,具体包括:
若所述服务的注册验证和参数有效性验证均通过,则根据所述服务标识符中的服务接入方式启动目标服务集成环境,所述目标服务集成环境为所述应用程序上的WebView环境、Cordova环境或React Native环境;
通过所述目标服务集成环境执行所述服务,以加载所述服务。
2.根据权利要求1所述的方法,其特征在于,所述通过所述目标服务集成环境执行所述服务,之前还包括:
若所述服务的服务描述SD包含用户信息,且判断获知所述用户信息对应的用户已登录,则根据所述用户信息构造输入参数,所述输入参数为数据-值对的集合;
将所述输入参数传递给所述服务,以供所述服务加载时使用。
3.根据权利要求1或2所述的方法,其特征在于,所述获取所述服务的服务行为SA,并根据所述服务行为SA进行处理,之前或之后还包括:
获取所述服务的输出参数,所述输出参数用于指示服务加载完成状态、加载结果信息和缓存数据中的一种或多种;
根据所述输出参数,执行显示所述加载完成状态、显示所述加载结果信息和缓存所述缓存数据中的一种或多种。
4.根据权利要求1或2所述的方法,其特征在于,所述获取所述服务的服务行为SA,并根据所述服务行为SA进行处理,具体包括:
获取所述服务的服务行为SA,所述服务行为SA包括关闭所述目标服务集成环境、返回应用程序首页和启动下一服务任务中的一种或多种;
根据所述服务行为SA,执行关闭所述目标服务集成环境、返回应用程序首页和启动下一服务任务中的一种或多种。
5.根据权利要求1所述的方法,其特征在于,所述将所述服务标识符与注册数据进行匹配,以对所述服务进行注册验证,包括:
将所述服务标识符中的验证信息与注册数据进行匹配,以对所述服务进行注册验证。
6.一种应用程序中的服务集成装置,其特征在于,包括:
SD处理模块,用于应用程序集成服务时,根据所述服务的服务描述SD对所述服务进行验证;所述服务描述SD包括服务标识符和服务授权信息,其中,所述服务标识符为每个服务开发时所分配的标识符,所述服务标识符包括服务接入方式、接入商编号、服务id和验证信息;
SP处理模块,用于若验证通过,则启动目标服务集成环境,通过所述目标服务集成环境加载所述服务;以及
SA处理模块,用于若服务加载完成,则获取所述服务的服务行为SA,并根据所述服务行为SA进行处理;所述服务行为SA为所述服务请求所述应用程序完成的一个或多个行为的数据集合;
所述根据所述服务的服务描述SD对所述服务进行验证,具体包括:
加载所述服务的服务描述SD,解析所述服务描述SD,获取服务标识符和服务授权信息;
将所述服务标识符与注册数据进行匹配,以对所述服务进行注册验证;根据所述服务授权信息验证所述服务的参数有效性;
所述若验证通过,启动目标服务集成环境,通过所述目标服务集成环境加载所述服务,具体包括:
若所述服务的注册验证和参数有效性验证均通过,则根据所述服务标识符中的服务接入方式启动目标服务集成环境,所述目标服务集成环境为所述应用程序上的WebView环境、Cordova环境或React Native环境;
通过所述目标服务集成环境执行所述服务,以加载所述服务。
7.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至5任一所述的方法。
8.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至5任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811003274.0A CN110874228B (zh) | 2018-08-30 | 2018-08-30 | 一种应用程序中的服务集成方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811003274.0A CN110874228B (zh) | 2018-08-30 | 2018-08-30 | 一种应用程序中的服务集成方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110874228A CN110874228A (zh) | 2020-03-10 |
CN110874228B true CN110874228B (zh) | 2023-08-01 |
Family
ID=69715649
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811003274.0A Active CN110874228B (zh) | 2018-08-30 | 2018-08-30 | 一种应用程序中的服务集成方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110874228B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104391690A (zh) * | 2014-11-04 | 2015-03-04 | 中国石油天然气股份有限公司 | 一种应用开发系统及方法 |
CN108052310A (zh) * | 2017-11-22 | 2018-05-18 | 链家网(北京)科技有限公司 | 一种基于业务模型描述信息的数据处理方法及服务器 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7496637B2 (en) * | 2000-05-31 | 2009-02-24 | Oracle International Corp. | Web service syndication system |
GB2403562A (en) * | 2003-07-04 | 2005-01-05 | Hewlett Packard Development Co | Secure processing environment in which executable code for services is only received by a secure loading process through the service request interface |
US8949792B2 (en) * | 2009-08-18 | 2015-02-03 | Adobe Systems Incorporated | Methods and systems for data service development |
CN101645009A (zh) * | 2009-08-25 | 2010-02-10 | 中国科学院计算技术研究所 | Web服务集成开发系统和方法 |
US9998446B2 (en) * | 2014-08-29 | 2018-06-12 | Box, Inc. | Accessing a cloud-based service platform using enterprise application authentication |
CN107943547B (zh) * | 2016-10-13 | 2022-05-24 | 斑马智行网络(香港)有限公司 | 多服务集成方法、装置、智能终端、服务器和操作系统 |
US10768905B2 (en) * | 2017-01-31 | 2020-09-08 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing schema-driven on-the-fly code generation within a cloud based computing environment |
-
2018
- 2018-08-30 CN CN201811003274.0A patent/CN110874228B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104391690A (zh) * | 2014-11-04 | 2015-03-04 | 中国石油天然气股份有限公司 | 一种应用开发系统及方法 |
CN108052310A (zh) * | 2017-11-22 | 2018-05-18 | 链家网(北京)科技有限公司 | 一种基于业务模型描述信息的数据处理方法及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN110874228A (zh) | 2020-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8448216B2 (en) | Method and apparatus for orchestrating policies in service model of service-oriented architecture system | |
US11720334B2 (en) | Inductive equivalence in machine-based instruction editing | |
US9069898B2 (en) | System for providing regression testing of an integrated process development system and method therefor | |
Hallé et al. | Runtime Verification of Web Service Interface Contracts. | |
US8983935B2 (en) | Methods for utilizing a javascript emulator in a web content proxy server and devices thereof | |
US20150220553A1 (en) | Expandable ad hoc domain specific query for system management | |
CN110933095A (zh) | 一种报文解析方法及装置 | |
US9760472B2 (en) | Tenant code debugging in multi-tenant systems | |
WO2017166448A1 (zh) | 内核漏洞修复方法和装置 | |
KR102226463B1 (ko) | 프로세스자동화프로그램과 연동되는 ui/ux솔루션제공서버, 이를 포함하는 프로세스자동화시스템, 이를 이용한 프로세스자동화방법, 및 이를 실행하기 위한 컴퓨터 프로그램 | |
Varanasi et al. | Spring Rest | |
CN109918112B (zh) | 游戏热更新方法、装置和存储介质 | |
Lohmann et al. | A model-driven approach to discovery, testing and monitoring of web services | |
CN114816361A (zh) | 拼搭工程生成方法、装置、设备、介质和程序产品 | |
US20070092069A1 (en) | Method and system for testing enterprise applications | |
US10606569B2 (en) | Declarative configuration elements | |
CN113238739A (zh) | 一种插件开发和数据获取方法、装置、电子设备及介质 | |
US20140101634A1 (en) | Ontology-based user requirement decomposition for component selection for service provision | |
CN110874228B (zh) | 一种应用程序中的服务集成方法、装置及设备 | |
US10289978B2 (en) | Method and apparatus for integrating health care payers and provider systems with health care transaction systems using a single HIPAA EDI response generation component | |
US11341275B2 (en) | System and method for implementing and testing security protections in computer software | |
Soni | Full stack angularJS for java developers: Build a full-featured web application from scratch using angularJS with spring RESTful | |
CN112947963A (zh) | 接口运维方法、装置、计算机设备和存储介质 | |
Petrova-Antonova et al. | Testing Web Service Compositions: Approaches, Methodology and Automation | |
KR101249449B1 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |