掌桥专利:专业的专利平台
掌桥专利
首页

一种应用开发的方法及装置

文献发布时间:2024-01-17 01:21:27


一种应用开发的方法及装置

技术领域

本说明书涉及计算机技术领域,尤其涉及一种应用开发的方法、装置、电子设备及机器可读存储介质。

背景技术

随着科技的不断发展,各服务方可以通过应用(Application,APP),提高自身执行服务的服务效率。但是,不同的服务方的服务流程并不相同,这就导致通用的应用并不能满足服务方的需求,需要开发人员修改应用的源代码。而对于每次需求的调整都需要修改程序,会增加了程序的不稳定性和出错的可能性,并且对应用进行测试,也要花费大量的时间。

目前,部分应用可以根据服务方的服务需求进行定制。这部分应用提供了即时通讯(Instant Messaging,IM)、通讯录、登录认证等几个基本服务,再通过独立软件供应商(Independent Software Vendors,ISV)对服务方的服务需求进行应用开发,然后进行二次组装,得到服务方定制的应用。

但是,由于独立软件供应商的能力参差不齐,无法保证定制的应用的质量,这会对服务方执行服务的服务效率造成较大的影响。

因此,如何能够保证服务方定制的应用的质量,以提高服务方执行服务的服务效率,则是一个亟待解决的问题。

发明内容

本说明书提供一种应用开发的方法、装置、电子设备及机器可读存储介质,以保证服务方定制的应用的质量,从而提高服务方执行服务的服务效率。

本说明书采用下述技术方案:

本说明书提供了一种应用开发的方法,包括:

从预先注册的与所述用户应用的基础服务对应的各扩展服务接口中,确定待扩展的目标服务所需的目标扩展服务接口;

基于所述目标扩展服务接口,生成与所述目标服务对应的服务组件;

根据与所述目标服务对应的服务组件,以及与所述目标服务的扩展需求对应的配置信息,生成与所述目标服务对应的服务插件;

将与所述目标服务对应的服务插件与所述目标扩展服务接口相关联,以创建与所述目标服务对应的扩展应用。

可选地,

在从预先注册的与所述用户应用的基础服务对应的各扩展服务接口中,确定待扩展的目标服务所需的目标扩展服务接口之前,所述方法还包括:

从预先注册的基于至少一个所述扩展服务接口组成的各服务场景中,确定与所述目标服务对应的服务场景;

从预先注册的与所述用户应用的基础服务对应的各扩展服务接口中,确定待扩展的目标服务所需的目标扩展服务接口,包括:

从与所述目标服务对应的服务场景内预先注册的各扩展服务接口中,确定待扩展的服务场景所需的目标扩展服务接口。

可选地,在基于所述目标扩展服务接口,生成与所述目标服务对应的服务组件之前,所述方法还包括:

从与所述目标服务对应的服务场景所包含的各应用编程接口的访问权限中,确定与所述目标扩展服务接口对应的目标应用编程接口的访问权限;

根据与所述目标服务对应的服务组件,以及与所述目标服务的扩展需求对应的配置信息,生成与所述目标服务对应的服务插件,具体包括:

根据与所述目标服务对应的服务组件、与所述目标服务的扩展需求对应的配置信息,以及与所述目标扩展服务接口对应的目标应用编程接口的访问权限,生成与所述目标服务对应的服务插件。

可选地,所述扩展服务接口的接口属性包括:输入参数的格式、输出参数的格式;

根据与所述目标服务对应的服务组件,以及与所述目标服务的扩展需求对应的配置信息,生成与所述目标服务对应的服务插件,包括:

根据所述目标扩展服务接口的接口属性、与所述目标服务对应的服务组件以及与所述目标服务的扩展需求对应的配置信息,生成插件属性包含有所述目标扩展服务接口的接口属性的与所述目标服务对应的服务插件。

可选地,所述方法还包括:

确定所述目标服务的应用范围;

若所述应用范围为部分用户,向所述部分用户发布与所述目标服务对应的服务插件;

若所述应用范围为所有用户,向插件市场发布与所述目标服务对应的服务插件。

可选地,所述方法还包括:

存储与所述目标服务对应的服务插件与所述目标扩展服务接口之间的关联关系,以使在调用所述目标扩展服务接口时,基于所述关联关系确定待调用的与所述目标服务对应的服务插件。

可选地,所述基础服务包括与所述用户应用的原生功能对应的服务。

本说明书提供了一种应用开发的方法,包括:

从提供的与所述用户应用对应的各基础服务中,确定待注册的目标基础服务;

获取与所述目标基础服务对应的扩展服务接口的注册信息;

基于获取到的与所述目标基础服务对应的扩展服务接口的注册信息,注册与所述目标基础服务对应的扩展服务接口,以基于注册的与所述用户应用的各基础服务对应的扩展服务接口,开发扩展应用,所述扩展应用是基于所述用户应用中的各基础服务进行扩展开发得到的。

可选地,所述方法还包括:

获取服务场景的注册信息;

基于获取到的所述服务场景的注册信息,根据各基础服务对应的扩展服务接口,注册各服务场景,以基于注册的各服务场景,确定目标服务对应的服务场景。

本说明书提供了一种应用开发的装置,包括:

确定模块,用于从预先注册的与所述用户应用的基础服务对应的各扩展服务接口中,确定待扩展的目标服务所需的目标扩展服务接口;

第一生成模块,用于基于所述目标扩展服务接口,生成与所述目标服务对应的服务组件;

第二生成模块,用于根据与所述目标服务对应的服务组件,以及与所述目标服务的扩展需求对应的配置信息,生成与所述目标服务对应的服务插件;

创建模块,用于将与所述目标服务对应的服务插件与所述目标扩展服务接口相关联,以创建与所述目标服务对应的扩展应用。

本说明书提供了一种应用开发的装置,包括:

确定模块,用于从提供的与所述用户应用对应的各基础服务中,确定待注册的目标基础服务;

获取模块,用于获取与所述目标基础服务对应的扩展服务接口的注册信息;

注册模块,用于基于获取到的与所述目标基础服务对应的扩展服务接口的注册信息,注册与所述目标基础服务对应的扩展服务接口,以基于注册的与所述用户应用的各基础服务对应的扩展服务接口,开发扩展应用,所述扩展应用是基于所述用户应用中的各基础服务进行扩展开发得到的。

本说明书提供了一种电子设备,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;

所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行上述应用开发的方法。

本说明书提供了一种机器可读存储介质,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现上述应用开发的方法。

本说明书采用的上述至少一个技术方案能够达到以下有益效果:

在本说明书提供的应用开发的方法中,本方法可以通过预先注册的各扩展服务接口,可以为独立软件供应商规定进行应用开发的标准,降低独立软件供应商进行应用开发的难度。并且,本方法根据与目标服务对应的服务组件,以及与目标服务的扩展需求对应的配置信息,生成与目标服务对应的服务插件,可以保证独立软件供应商开发出的应用的质量,提高服务方执行服务的服务效率。

附图说明

此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:

图1是一示例性的实施例示出的一种应用开发的方法的流程图;

图2是一示例性的实施例示出的一种开发服务插件的流程图;

图3是一示例性的实施例示出的另一种应用开发的方法的流程图;

图4A、图4B是一示例性的实施例示出的一种注册扩展服务接口的示意图;

图5是一示例性的实施例示出的应用开发的装置所在电子设备的结构示意图;

图6是一示例性的实施例示出的一种应用开发的装置的框图;

图7是一示例性的实施例示出的另一种应用开发的装置的框图。

具体实施方式

为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。

需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。

为了使本技术领域的人员更好地理解本说明书实施例中的技术方案,下面先对本说明书实施例涉及的相关技术,进行简要说明。

扩展服务接口可以用于表示在应用的开发过程中预留的接口。应用在运行时会动态寻找,装载和执行这类接口的实现,也称为扩展点。通过扩展服务接口,开发人员可以通过在扩展服务接口处部署的服务插件来实现对指定功能的扩展,且不需要对已有的源代码做任何修改。

扩展应用可以是基于用户应用中的各基础服务进行扩展开发得到的,也就是说,扩展应用所对应功能的实现往往需要依赖于用户应用。具体而言,调用用户应用实现的功能称为基础服务,上述基础服务往往是各个服务方需要实现的相同的功能,而调用扩展应用实现的功能可以称为个性化服务,是服务方根据自身特点以及需求定制的一类功能。

服务组件可以是指在应用开发的过程中被复用的部分。服务插件可以是指与扩展服务接口对应的服务组件,也就是说,处理器在调用目标扩展服务接口时,会调用与目标扩展服务接口对应的服务插件。

服务平台可以是指用于管理用户应用的平台。服务平台可以对用户应用中的各功能进行管理。例如,增加或减少用户应用中的功能、对用户应用中的功能进行修改、设置用户应用中的各项属性等。

开发平台可以是指以某种编程语言或者某几种编程语言为基础,开发出来的一个软件,而这软件不是一个最终的软件产品,它是一个二次开发软件框架,开发人员可以在该框架的基础上进行应用的开发。例如,开发平台可以按照服务方的需求,对应用的服务插件进行定制,并将获取到的服务平台提供的用户应用的各功能与定制出的服务插件进行组装,以得到服务方定制的应用。

在实际应用中,开发平台可以提供了即时通讯、通讯录、登录认证等几个基础服务,再通过独立软件供应商对服务方的服务需求进行应用开发,然后进行二次组装,得到服务方定制的应用。但是,这种方法通常仅是在应用的服务选择界面上增加一个服务入口。这使得独立软件供应商开发的应用只能进行单一功能的实现,无法进行多个功能之间的交互。

并且,这种方法并未规定独立软件供应商进行应用开发的标准,这使得独立软件供应商开发出的应用的质量参差不齐,无法保证服务方执行服务的服务效率。

基于此,本说明书提出了一种开发平台基于服务平台上注册的与用户应用的各基础服务对应的扩展服务接口,开发扩展应用的技术方案。

以下结合附图,详细说明本说明书各实施例提供的技术方案。

图1是一示例性的实施例示出的一种应用开发的方法的流程图,具体包括以下步骤:

S100:从预先注册的与所述用户应用的基础服务对应的各扩展服务接口中,确定待扩展的目标服务所需的目标扩展服务接口。

在本说明书实施例中,应用开发的方法的执行主体可以是指开发平台。开发平台的物理载体通常是服务器或服务器集群。

其中,这里提到的开发平台可以是与用户应用对应的服务平台对接的第三方平台。当然,开发平台也可以是部署在与用户应用对应的服务平台的服务器或服务器集群上。

需要说明的是,用户应用包括即时通信应用。服务平台包括即时通信服务平台。

进一步的,开发平台还包含有应用管理、租户管理、权限管理等平台功能。应用管理可以用于管理企业自建应用、三方应用等。在开发平台中,企业需要申请租户,以租户的身份运行应用。租户管理可以用于接收企业入驻申请、对企业进行资质认证等,以对企业进行管理。权限管理包括AK(Access Key ID)/SK(Secret Access Key)管理、应用编程接口(Application Programming Interface,API)申请、鉴权等。其中,AK(Access Key ID)可以是指访问密钥ID,与私有访问密钥关联的唯一标识符,访问密钥ID和私有访问密钥一起使用,对请求进行加密签名。SK(Secret Access Key)可以是指私有访问密钥,与访问密钥ID结合使用的密钥,对请求进行加密签名,可标识发送方,并防止请求被修改。鉴权可以是指验证用户是否拥有访问系统的权利。

为了便于描述,下面仅以开发平台为执行主体,对本说明书提供的应用开发的方法进行说明。

在本说明书实施例中,与开发平台对接的与用户应用对应的服务平台上,预先注册了与用户应用的基础服务对应的扩展服务接口。开发平台可以从服务平台内预先注册的各扩展服务接口中,确定待扩展的目标服务所需的目标扩展服务接口。其中,目标服务可以是指服务方所要执行的服务。基础服务包括与用户应用的原生功能对应的服务。

在实际应用中,开发平台仅是将基础服务与独立软件供应商开发的个性化服务进行组装,在服务选择界面上开放了一个服务入口。在开发过程中,独立软件供应商开发的个性化服务中的参数的格式与开发平台提供的基础服务中的参数的格式并不相同,这导致独立软件供应商开发的个性化服务无法与开发平台提供的基础服务进行交互。服务选择界面可以包括:应用中的工作台。

例如,目标服务为导航,用户仅能从应用的服务选择界面中,点击独立软件供应商开发的地图定位的服务入口,进行地图定位。而用户想要在即时通讯的过程中,进行地图定位,只能退出即时通讯,在服务选择界面中点击地图定位的服务入口,以进行地图定位。

基于此,服务平台可以对扩展服务接口的接口属性进行设置,可以规定扩展服务接口调用的服务插件的开发标准,以使得扩展服务接口可以应用于开发平台提供的基础服务中,实现基础服务与个性化服务之间的交互。例如,用户可以在即时通讯的过程中,通过消息右键菜单快捷方式中的扩展服务接口对应的操作按钮,进行地图定位。

其中,服务平台预先注册的扩展服务接口的接口属性包括:输入参数的格式、输出参数的格式。当然,扩展服务接口还包含有其他接口属性。

具体的,扩展服务接口中包含的各接口属性的具体说明如下:

标识(ID):扩展服务接口的唯一标识。

编码(code):扩展服务接口的编码,按照一定的规则生成编码。例如,模块组简称.模块简称.流水号。

名称(name):扩展服务接口的名称。

扩展服务接口类型:扩展服务接口所属的平台类型。例如,前端、客户端、服务端等。

模块标识:扩展服务接口所属的基础服务的唯一标识。例如,即时通讯、通讯录、服务选择界面等。

输入:输入参数。

输出:输出参数。

文件:扩展服务接口的说明文档对应的文档链接。

可选:自定义参数。技术人员可以根据服务需求进行设置。

描述:扩展服务接口的功能描述。

状态:扩展服务接口是否生效。

可以看出,通过服务平台内预先注册的各扩展服务接口,可以为独立软件供应商规定进行应用开发的标准,降低独立软件供应商进行应用开发的难度。从而,可以保证独立软件供应商开发出的应用的质量,提高服务方执行服务的服务效率。

在本说明书实施例中,由于扩展服务接口除了可以添加在服务选择界面上,还可以添加在应用基础服务的过程中,这使得扩展服务接口的服务场景较多。为了给独立软件供应商更便捷的开发指引,服务平台上,预先注册了基于至少一个扩展服务接口组成的服务场景。开发平台可以从服务平台内预先注册的各服务场景中,确定与目标服务对应的服务场景。然后,开发平台可以从与目标服务对应的服务场景内预先注册的各扩展服务接口中,确定待扩展的服务场景所需的目标扩展服务接口。这里提到的服务场景可以是指目标服务的服务需求所对应的服务场景。例如:三方登录、文件转存、地图定位等。

当然,在开发平台上也可以直接注册基于至少一个扩展服务接口组成的服务场景。

S102:基于所述目标扩展服务接口,生成与所述目标服务对应的服务组件。

在本说明书实施例中,开发平台可以基于目标扩展服务接口,生成与目标服务对应的服务组件。

其中,服务组件中包含有的各参数的具体说明如下:

标识(ID):服务组件的唯一标识。

编码(code):服务组件的编码,按照一定的规则生成编码。

名称(name):服务组件的名称。

服务组件类型:服务组件所属的平台类型。例如,JAR、H5、localH5、SI。

关联关系:服务组件与扩展服务接口之间的关联关系。

描述:服务组件的功能描述。

状态:服务组件是否生效。

在实际应用中,独立软件供应商开发的个性化服务,通常需要调用应用编程接口,以执行目标服务。然而,当前的开发平台出于安全管控的考虑,独立软件供应商需要对应用中的各应用编程接口的访问权限进行申请,在审批完成后,独立软件供应商开发的应用才可以调用应用中的各应用编程接口。这种方法的操作流程繁琐,会降低独立软件供应商的开发效率。

基于此,在服务平台上,预先注册的服务场景中还包含有默认的各应用编程接口的访问权限,独立软件供应商无需对服务场景中包含有的默认的各应用编程接口的访问权限进行申请。这些默认的各应用编程接口的访问权限可以是技术人员根据服务场景,基于自身的专家经验进行设定的。

在本说明书实施例中,服务场景中包含的各参数的具体说明如下:

标识(ID):服务场景的唯一标识。

编码(code):服务场景的编码,按照一定的规则生成编码。

名称(name):服务场景的名称。

扩展服务接口:服务场景内所包含的扩展服务接口。

应用编程接口:服务场景内所包含的各应用编程接口。这里提到的应用编程接口可以是指开放式应用编程接口(Open Application Programming Interface,OAPI)。开放式应用编程接口可以是指服务型网站常见的一种应用,网站的服务商将网站服务封装成一系列应用编程接口进行开放,供第三方开发者使用。

提供者:创建服务场景的人员信息。

文件:服务场景的说明文档对应的文档链接。

状态:服务场景是否生效。

可选:自定义参数。技术人员可以根据服务需求进行设置。

S104:根据与所述目标服务对应的服务组件,以及与所述目标服务的扩展需求对应的配置信息,生成与所述目标服务对应的服务插件。

在本说明书实施例中,开发平台可以根据与目标服务对应的服务组件,以及与目标服务的扩展需求对应的配置信息,生成与目标服务对应的服务插件。

进一步的,开发平台可以从与目标服务对应的服务场景所包含的各应用编程接口的访问权限中,确定与目标扩展服务接口对应的目标应用编程接口的访问权限。

其次,开发平台可以根据与目标服务对应的服务组件、与目标服务的扩展需求对应的配置信息,以及与目标扩展服务接口对应的目标应用编程接口的访问权限,生成与目标服务对应的服务插件。

当然,服务方若确定与目标服务对应的服务场景所包含的各应用编程接口的访问权限中,不存在目标服务所需的目标应用编程接口的访问权限,则服务方可以申请目标应用编程接口的访问权限。

然后,开发平台需要对服务方申请的目标应用编程接口进行审核。并在审核完成后,向服务方开放目标应用编程接口的访问权限。这也是上述提到的开发平台的平台功能中的应用编程接口申请的作用。

在本说明书实施例中,开发平台可以根据目标扩展服务接口的接口属性、与目标服务对应的服务组件以及与目标服务的扩展需求对应的配置信息,生成插件属性包含有目标扩展服务接口的接口属性的与目标服务对应的服务插件。

也就是说,目标服务对应的插件的输入参数的格式与目标扩展服务接口的输入参数的格式相同,且目标服务对应的插件的输出参数的格式与目标扩展服务接口的输出参数的格式相同。

其中,配置信息中包含有的各参数的具体说明如下:

键(Key):配置信息的名称。

值类型:配置信息的值的类型。例如,整型、数组型、字符串等。

默认值:配置信息的默认值。

必填:配置信息是否必填。

范围:配置信息生效的操作系统。例如,tenant、windows、macos、android、ios、xc等。

阶段:配置信息的配置阶段。例如,配置信息是由服务方填值,还是由独立软件供应商填值。

值(value):配置信息的值。

进一步的,由服务组件以及配置信息组成的服务插件中包含有的各参数的具体说明如下:

标识(ID):服务插件的唯一标识。

编码(code):服务插件的编码,按照一定的规则生成编码。

名称(name):服务插件的名称。

版本:版本号,用于服务插件的版本管理。

租户:服务插件所属的企业所申请的租户。

服务场景:服务插件所属的服务场景。其中,服务场景中包含有各扩展服务接口以及各应用编程接口的访问权限等服务场景参数。

提供者:创建服务插件的独立软件供应商。

配置信息:服务插件对应的配置信息。其中,配置信息中包含有范围、阶段等配置信息参数。

服务组件:服务插件中包含有的服务组件。

可选:自定义参数。技术人员可以根据服务需求进行设置。

需要说明的是,配置信息可以是由独立软件供应商在开发过程中进行配置。用户在使用应用时,需要根据目标服务的服务需求,对应用中的配置信息进行填写,以使得独立软件供应商开发的服务插件可以在不修改源代码的情况下,应用于更多的服务场景。

S106:将与所述目标服务对应的服务插件与所述目标扩展服务接口相关联,以创建与所述目标服务对应的扩展应用。

在本说明书实施例中,开发平台可以将与目标服务对应的服务插件与目标扩展服务接口相关联,以创建与目标服务对应的扩展应用。

进一步的,开发平台可以存储与目标服务对应的服务插件与目标扩展服务接口之间的关联关系,以使在调用目标扩展服务接口时,基于关联关系确定待调用的与目标服务对应的服务插件。

需要说明的是,一个扩展服务接口可以对应有多个服务插件。例如,若扩展服务接口在即时通讯中的消息右键菜单快捷方式中,则用户在点击扩展服务接口对应的操作按钮时,可以选择扩展服务接口对应的多个服务插件中的一个。

同样的,一个服务插件可以对应有多个扩展服务接口。例如,服务插件为地图定位,该服务插件可以与服务选择界面上的一个服务入口相关联,也可以与在即时通讯中的消息右键菜单快捷方式中的扩展服务接口相关联,还可以与通讯录中的联系人的信息右键菜单快捷方式中的扩展服务接口相关联。

其中,与目标服务对应的服务插件与目标扩展服务接口之间的关联关系可以存储在配置中心。当然,与目标服务对应的服务插件与目标扩展服务接口之间的关联关系也可以按照服务需求,存储在指定的位置。例如,服务端本地、第三方服务器等。

并且,在调用目标扩展服务接口时,从配置中心中获取与目标服务对应的服务插件与目标扩展服务接口之间的关联关系,确定待调用的与目标服务对应的服务插件。通过RPC(Remote Procedure Call,远程过程调用),对与目标服务对应的服务插件进行调用。

进一步的,在生成服务插件之后,开发平台还可以确定目标服务的应用范围。

若应用范围为部分用户,向部分用户发布与目标服务对应的服务插件。这里提到的部分用户可以是指目标服务所属的服务方。

若应用范围为所有用户,向插件市场发布与目标服务对应的服务插件。这里提到的插件市场可以是指所有人可见的服务插件市场,用户可以免费或付费获取服务插件。

在本说明书实施例中,开发平台可以将开发服务插件的整体过程中分为开发态、交付态以及运行态。其中,开发态可以用于表示服务插件的开发过程。交付态可以用于表示服务插件所应用的应用范围。运行态可以用于表示服务插件运行时的状态。具体如图2所示。

图2是一示例性的实施例示出的一种开发服务插件的流程图。

在图2中,开发态可以分为插件域以及能力域。插件域可以用于表示服务插件的生成过程。能力域可以用于表示扩展服务接口与服务场景的注册过程。

在插件域内。开发平台需要对服务插件的版本进行管理。例如,创建服务插件版本。再例如,对已有的服务插件版本进行修改。

其次,开发平台可以确定目标服务对应的服务场景,并从服务场景内的各扩展服务接口中,确定目标扩展服务接口,以及从服务场景内的各应用编程接口的访问权限中,确定目标应用编程接口的访问权限。

然后,开发平台基于目标扩展访问接口,生成与目标服务对应的服务组件。这里提到的服务组件可以是图片、bundle(一种信息的载体)、压缩包、脚本、配置信息等形式。其中,服务组件可以是独立软件供应商自行上传的,也可以是独立软件供应商在服务平台上根据服务需求进行生成的。

而后,开发平台可以允许独立软件供应商在开发过程中对配置信息进行配置。这里提到的配置信息可以是指自定义配置项。例如,服务插件依赖的某些外部服务地址。再例如,访问某些应用编程接口的密钥。根据与目标服务对应的服务组件,以及与目标服务的扩展需求对应的配置信息,生成与目标服务对应的服务插件。

最后,开发平台可以对服务插件进行功能调试以及安全扫描,并对服务插件进行发布管理。这里提到的发布管理包括:服务插件对应的服务方、服务插件的发布渠道、服务插件的发布方式等。

在能力域内,开发平台可以注册扩展服务接口。扩展服务接口的类型包括:服务提供商接口(Service Provider Interface,SPI)、原生服务提供商接口(Native ServiceProvider Interface,NativeSPI)、配置(Config)、组件(Component)等。

其中,配置类型的扩展服务接口可以是指基础服务内的接口。例如,在即时通讯中的消息右键菜单快捷方式中的接口。组件类型的扩展服务接口可以是指将一块设定区域作为接口。

交付态包括部分用户以及插件市场。部分用户是指由指定服务方授权使用,直接进入服务方界面,服务方可通过管理后台进行服务插件的启用/禁用管理。插件市场是指服务插件进入一个公共池子,有服务方自行订购。

运行态包括配置中心以及网关。配置中心存储有与目标服务对应的服务插件与目标扩展服务接口之间的关联关系,以及服务插件运行时访问路由。网关可以用于访问鉴权以及安全管控。

图3是一示例性的实施例示出的另一种应用开发的方法的流程图,具体包括以下步骤:

S300:从提供的与所述用户应用对应的各基础服务中,确定待注册的目标基础服务。

S302:获取与所述目标基础服务对应的扩展服务接口的注册信息。

S304:基于获取到的与所述目标基础服务对应的扩展服务接口的注册信息,注册与所述目标基础服务对应的扩展服务接口,以基于注册的与所述用户应用的各基础服务对应的扩展服务接口,开发扩展应用,所述扩展应用是基于所述用户应用中的各基础服务进行扩展开发得到的。

在本说明书实施例中,服务平台可以从提供的与用户应用对应的各基础服务中,确定待注册的目标基础服务。

然后,服务平台可以获取与目标基础服务对应的扩展服务接口的注册信息。

最后,服务平台可以基于获取到的与目标基础服务对应的扩展服务接口的注册信息,注册与目标基础服务对应的扩展服务接口,以使开发平台基于服务平台上注册的与用户应用的各基础服务对应的扩展服务接口,开发扩展应用。扩展应用是基于所述用户应用中的各基础服务进行扩展开发得到的。具体如图4A、图4B所示。

图4A、图4B是一示例性的实施例示出的一种注册扩展服务接口的示意图。

在图4A中,服务平台可以填写扩展服务接口的注册信息,并在扩展服务接口的配置信息中选择添加配置项,并在完成填写后,注册扩展服务接口。

在图4B中,服务平台在选择添加配置项后,进入配置项界面,对配置项进行填写。其中,生效规则中的开发配置是指部分内容由开发人员进行填写,用户配置是指部分内容由用户进行填写。

需要说明的时,在配置信息中,不同的配置项对应有不同的配置项内容。当然,注册扩展服务接口的方式有多种,本说明书不对注册扩展服务接口的方式进行限定。

进一步的,服务平台可以获取服务场景的注册信息。

接着,服务平台可以基于获取到的服务场景的注册信息,根据各基础服务对应的扩展服务接口,注册各服务场景,以使开发平台基于服务平台上注册的各服务场景,确定目标服务对应的服务场景。

从上述方法中可以看出,本方法可以通过服务平台内预先注册的各扩展服务接口,可以为独立软件供应商规定进行应用开发的标准,降低独立软件供应商进行应用开发的难度。并且,本方法根据与目标服务对应的服务组件,以及与目标服务的扩展需求对应的配置信息,生成与目标服务对应的服务插件,可以保证独立软件供应商开发出的应用的质量,提高服务方执行服务的服务效率。

与上述应用开发的方法的实施例对应的,本说明书还提供了一种应用开发的装置的实施例。

请参见图5,图5是一示例性的实施例示出的一种应用开发的装置所在电子设备的结构结构图。在硬件层面,该设备包括处理器502、内部总线504、网络接口506、内存508以及非易失性存储器510,当然还可能包括其他所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器502从非易失性存储器510中读取对应的计算机程序到内存508中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。

请参见图6,图6是一示例性的实施例示出的一种应用开发的装置的框图。该应用开发的装置可以应用于如图5所示的电子设备中,以实现本说明书的技术方案。其中,所述应用开发的装置可以包括:

确定模块600,用于从预先注册的与所述用户应用的基础服务对应的各扩展服务接口中,确定待扩展的目标服务所需的目标扩展服务接口;

第一生成模块602,用于基于所述目标扩展服务接口,生成与所述目标服务对应的服务组件;

第二生成模块604,用于根据与所述目标服务对应的服务组件,以及与所述目标服务的扩展需求对应的配置信息,生成与所述目标服务对应的服务插件;

创建模块606,用于将与所述目标服务对应的服务插件与所述目标扩展服务接口相关联,以创建与所述目标服务对应的扩展应用。

可选的,所述确定模块600,具体还用于

从预先注册的基于至少一个所述扩展服务接口组成的各服务场景中,确定与所述目标服务对应的服务场景,从与所述目标服务对应的服务场景内预先注册的各扩展服务接口中,确定待扩展的服务场景所需的目标扩展服务接口。

可选的,所述确定模块600,具体还用于从与所述目标服务对应的服务场景所包含的各应用编程接口的访问权限中,确定与所述目标扩展服务接口对应的目标应用编程接口的访问权限,根据与所述目标服务对应的服务组件、与所述目标服务的扩展需求对应的配置信息,以及与所述目标扩展服务接口对应的目标应用编程接口的访问权限,生成与所述目标服务对应的服务插件。

可选的,所述扩展服务接口的接口属性包括:输入参数的格式、输出参数的格式。所述第二生成模块604,具体用于根据所述目标扩展服务接口的接口属性、与所述目标服务对应的服务组件以及与所述目标服务的扩展需求对应的配置信息,生成插件属性包含有所述目标扩展服务接口的接口属性的与所述目标服务对应的服务插件。

可选的,所述创建模块606,具体还用于确定所述目标服务的应用范围,若所述应用范围为部分用户,向所述部分用户发布与所述目标服务对应的服务插件,若所述应用范围为所有用户,向插件市场发布与所述目标服务对应的服务插件。

可选的,所述创建模块606,具体还用于存储与所述目标服务对应的服务插件与所述目标扩展服务接口之间的关联关系,以使在调用所述目标扩展服务接口时,基于所述关联关系确定待调用的与所述目标服务对应的服务插件。

可选的,所述基础服务包括与所述用户应用的原生功能对应的服务。

请参见图7,图7是一示例性的实施例示出的另一种应用开发的装置的框图。该应用开发的装置可以应用于如图5所示的电子设备中,以实现本说明书的技术方案。其中,所述应用开发的装置可以包括:

确定模块700,用于从提供的与所述用户应用对应的各基础服务中,确定待注册的目标基础服务;

获取模块702,用于获取与所述目标基础服务对应的扩展服务接口的注册信息;

注册模块704,用于基于获取到的与所述目标基础服务对应的扩展服务接口的注册信息,注册与所述目标基础服务对应的扩展服务接口,以基于注册的与所述用户应用的各基础服务对应的扩展服务接口,开发扩展应用,所述扩展应用是基于所述用户应用中的各基础服务进行扩展开发得到的。

可选的,所述注册模块704,具体还用于获取服务场景的注册信息,基于获取到的所述服务场景的注册信息,根据各基础服务对应的扩展服务接口,注册各服务场景,以基于注册的各服务场景,确定目标服务对应的服务场景。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例只是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。

在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。

技术分类

06120116153620