组件框架系统以及组件框架系统的使用方法技术方案

技术编号:20024728 阅读:22 留言:0更新日期:2019-01-06 04:01
本发明专利技术提供了一种组件框架系统及其使用方法。该系统包括:业务组件层,包括业务组件;接口组件层,包括多个公共服务接口;平台组件层,包括多个平台组件模块,每个平台组件模块包括对应的宿主应用程序的多个封装方法和资源,多个封装方法包括对应的宿主应用程序针对业务组件需要使用的所有公共服务接口的实现方法,资源包括对应的宿主应用程序在调用至少一个业务组件时需要使用的所有资源;不同的平台组件模块包括不同的配置文件,配置文件用于描述业务组件层、接口组件层以及平台组件层之间的调用关系;每个平台组件模块的配置文件包括业务组件的名称、公共服务接口的名称、以及该平台组件模块实现公共服务接口的封装方法的名称的对应关系。

【技术实现步骤摘要】
组件框架系统以及组件框架系统的使用方法
本专利技术涉及通信
,特别是涉及一种组件框架系统以及组件框架系统的使用方法。
技术介绍
目前,服务类型的应用程序(Application,APP)主要为平台APP,所谓平台APP,即,其在提供自身具备的功能的前提下,还可以接入各种业务线(比如旅行、外卖、酒店、电影等等)。一个业务线在平台APP中存在的代码组织形式称作业务组件,比如,美团APP(一种平台App)中的电影业务就是一个业务组件。当平台APP接入了业务组件后,该平台APP相对于业务组件来说就是宿主APP,比如,电影组件如果接入到美团APP,那么美团App就是电影组件的宿主APP。其中,不同的平台APP的技术栈(平台APP所使用的各种基础技术以及框架)是存在差异的,因此,不同平台APP所使用的业务插件的技术栈也是不同的。所以,在现有技术中,在开发各个平台APP的业务组件时,需要分别依据各个平台APP的技术栈来开发每个平台APP所使用的业务组件,但是不同平台APP之间往往存在着相同功能的业务组件,例如电影业务组件,如果针对每种平台APP都重复的开发同一种业务组件,则不仅会浪费开发资源,还降低了代码开发效率。如果能够将同一个业务组件的代码复用到不同技术栈的多个平台APP上,比如同样一份代码可以作为电影业务组件直接在美团平台APP上接入,同时也可以直接在猫眼平台APP上接入,则可以大大的降低代码开发成本,提升代码开发效率。但是如上所述,不同平台APP上即便是针对同一个业务组件,该业务组件在不同平台APP上的技术栈是与所属平台APP的技术栈相对应的,业务组件与平台APP的耦合性高,对平台依赖严重,无法使用技术栈A编写的电影业务组件应用到使用技术栈B的平台APP1,相反,使用技术栈A编写的电影业务组件只可以应用到使用技术栈A的平台APP2中。因此,针对如何将同一套业务组件的代码直接复用到多个宿主APP的需求,目前尚无解决方案。
技术实现思路
本专利技术提供了一种组件框架系统以及组件框架系统的使用方法,以解决现有技术中无法将同一份业务组件的代码直接在多个宿主APP中使用的问题。为了解决上述问题,根据本专利技术的一个方面,本专利技术公开了一种组件框架系统的使用方法。所述组件框架系统包括:业务组件层,包括至少一个业务组件,其中,所述至少一个业务组件用于接入至多个宿主应用程序;接口组件层,包括多个公共服务接口,其中,每个公共服务接口用于描述所述多个宿主应用程序共同能够提供的服务;平台组件层,包括多个平台组件模块,其中,所述多个平台组件模块分别对应所述多个宿主应用程序,每个平台组件模块包括对应的宿主应用程序的多个封装方法和资源,其中,所述多个封装方法包括所述对应的宿主应用程序针对所述至少一个业务组件需要使用的所有公共服务接口的实现方法,所述资源包括所述对应的宿主应用程序在调用所述至少一个业务组件时需要使用的所有资源;其中,不同的平台组件模块包括不同的配置文件,所述配置文件用于描述业务组件层、所述接口组件层以及所述平台组件层之间的调用关系;每个所述配置文件对应一个平台组件模块的标识;每个平台组件模块的配置文件包括业务组件的名称、公共服务接口的名称、以及该平台组件模块实现所述公共服务接口的封装方法的名称的对应关系;所述方法包括:将所述组件框架系统接入至所述多个宿主应用程序中的目标宿主应用程序;目标公共服务接口接收所述至少一个业务组件中目标业务组件对目标公共服务接口的调用请求,所述调用请求包括所述目标宿主应用程序的目标平台组件模块的标识、所述目标业务组件的名称、所述目标公共服务接口的名称;所述目标公共服务接口根据所述调用请求确定与所述目标平台组件模块的标识对应的目标平台组件模块的目标配置文件;所述目标公共服务接口根据所述目标配置文件确定与所述目标业务组件的名称以及所述目标公共服务接口的名称对应的目标封装方法的名称;所述目标公共服务接口根据所述目标封装方法的名称从所述目标平台组件模块获取目标封装方法;所述目标公共服务接口响应于所述调用请求,将所述目标封装方法返回至所述目标业务组件。根据本专利技术的另一方面,本专利技术还公开了一种组件框架系统,包括:业务组件层,包括至少一个业务组件,其中,所述至少一个业务组件用于接入至多个宿主应用程序;接口组件层,包括多个公共服务接口,其中,每个公共服务接口用于描述所述多个宿主应用程序共同能够提供的服务;平台组件层,包括多个平台组件模块,其中,所述多个平台组件模块分别对应所述多个宿主应用程序,每个平台组件模块包括对应的宿主应用程序的多个封装方法和资源,其中,所述多个封装方法包括所述对应的宿主应用程序针对所述至少一个业务组件需要使用的所有公共服务接口的实现方法,所述资源包括所述对应的宿主应用程序在调用所述至少一个业务组件时需要使用的所有资源;其中,不同的平台组件模块包括不同的配置文件,所述配置文件用于描述业务组件层、所述接口组件层以及所述平台组件层之间的调用关系;每个所述配置文件对应一个平台组件模块的标识;每个平台组件模块的配置文件包括公共服务接口的名称与该平台组件模块实现公共服务接口的封装方法的名称的对应关系;目标公共服务接口,用于若所述组件框架系统接入至所述多个宿主应用程序中的目标宿主应用程序,则接收所述至少一个业务组件中目标业务组件对目标公共服务接口的调用请求,所述调用请求包括所述目标宿主应用程序的目标平台组件模块的标识、所述目标业务组件的名称、所述目标公共服务接口的名称;所述目标公共服务接口,用于根据所述调用请求确定与所述目标平台组件模块的标识对应的目标平台组件模块的目标配置文件;所述目标公共服务接口,用于根据所述目标配置文件确定与所述目标业务组件的名称以及所述目标公共服务接口的名称对应的目标封装方法的名称;所述目标公共服务接口,用于根据所述目标封装方法的名称从所述目标平台组件模块获取目标封装方法;所述目标公共服务接口,用于响应于所述调用请求,将所述目标封装方法返回至所述目标业务组件。与现有技术相比,本专利技术包括以下优点:这样,在本专利技术实施例中,通过在业务组件层和平台组件层之间设置抽象的接口组件层,将各个宿主APP共同能够提供的服务抽象成接口组件层中的公共服务接口,并在平台组件层中各个宿主APP的平台组件模块中设置针对各个接口组件需要使用的各个公共服务接口的封装方法和资源;以及在各个平台组件模块中设置配置文件,该配置文件包括业务组件的名称、公共服务接口的名称、以及该平台组件模块实现所述公共服务接口的封装方法的名称的对应关系,从而能够在使用某个业务组件时,则只需要借助于配置文件,就可以获取到该业务组件需要使用的服务的封装方法,并通过该业务组件所访问的公共服务接口来将该封装方法返回给该业务组件,使得同一个业务组件能够应用到使用不同技术栈的多种宿主APP,即平台APP,大大提高了代码开发效率,降低了代码维护成本。附图说明图1是本专利技术的一种组件框架系统实施例的结构框图;图2是本专利技术的一种组件框架系统的使用方法实施例的步骤流程图;图3是本专利技术的另一种组件框架系统实施例的结构框图。具体实施方式为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本专利技术作进一步详细的说明。参照图1,示出了本专利技术本文档来自技高网
...

【技术保护点】
1.一种组件框架系统的使用方法,其特征在于,所述组件框架系统包括:业务组件层,包括至少一个业务组件,其中,所述至少一个业务组件用于接入至多个宿主应用程序;接口组件层,包括多个公共服务接口,其中,每个公共服务接口用于描述所述多个宿主应用程序共同能够提供的服务;平台组件层,包括多个平台组件模块,其中,所述多个平台组件模块分别对应所述多个宿主应用程序,每个平台组件模块包括对应的宿主应用程序的多个封装方法和资源,其中,所述多个封装方法包括所述对应的宿主应用程序针对所述至少一个业务组件需要使用的所有公共服务接口的实现方法,所述资源包括所述对应的宿主应用程序在调用所述至少一个业务组件时需要使用的所有资源;其中,不同的平台组件模块包括不同的配置文件,所述配置文件用于描述业务组件层、所述接口组件层以及所述平台组件层之间的调用关系;每个所述配置文件对应一个平台组件模块的标识;每个平台组件模块的配置文件包括业务组件的名称、公共服务接口的名称、以及该平台组件模块实现所述公共服务接口的封装方法的名称的对应关系;所述方法包括:将所述组件框架系统接入至所述多个宿主应用程序中的目标宿主应用程序;目标公共服务接口接收所述至少一个业务组件中目标业务组件对目标公共服务接口的调用请求,所述调用请求包括所述目标宿主应用程序的目标平台组件模块的标识、所述目标业务组件的名称、所述目标公共服务接口的名称;所述目标公共服务接口根据所述调用请求确定与所述目标平台组件模块的标识对应的目标平台组件模块的目标配置文件;所述目标公共服务接口根据所述目标配置文件确定与所述目标业务组件的名称以及所述目标公共服务接口的名称对应的目标封装方法的名称;所述目标公共服务接口根据所述目标封装方法的名称从所述目标平台组件模块获取目标封装方法;所述目标公共服务接口响应于所述调用请求,将所述目标封装方法返回至所述目标业务组件。...

【技术特征摘要】
1.一种组件框架系统的使用方法,其特征在于,所述组件框架系统包括:业务组件层,包括至少一个业务组件,其中,所述至少一个业务组件用于接入至多个宿主应用程序;接口组件层,包括多个公共服务接口,其中,每个公共服务接口用于描述所述多个宿主应用程序共同能够提供的服务;平台组件层,包括多个平台组件模块,其中,所述多个平台组件模块分别对应所述多个宿主应用程序,每个平台组件模块包括对应的宿主应用程序的多个封装方法和资源,其中,所述多个封装方法包括所述对应的宿主应用程序针对所述至少一个业务组件需要使用的所有公共服务接口的实现方法,所述资源包括所述对应的宿主应用程序在调用所述至少一个业务组件时需要使用的所有资源;其中,不同的平台组件模块包括不同的配置文件,所述配置文件用于描述业务组件层、所述接口组件层以及所述平台组件层之间的调用关系;每个所述配置文件对应一个平台组件模块的标识;每个平台组件模块的配置文件包括业务组件的名称、公共服务接口的名称、以及该平台组件模块实现所述公共服务接口的封装方法的名称的对应关系;所述方法包括:将所述组件框架系统接入至所述多个宿主应用程序中的目标宿主应用程序;目标公共服务接口接收所述至少一个业务组件中目标业务组件对目标公共服务接口的调用请求,所述调用请求包括所述目标宿主应用程序的目标平台组件模块的标识、所述目标业务组件的名称、所述目标公共服务接口的名称;所述目标公共服务接口根据所述调用请求确定与所述目标平台组件模块的标识对应的目标平台组件模块的目标配置文件;所述目标公共服务接口根据所述目标配置文件确定与所述目标业务组件的名称以及所述目标公共服务接口的名称对应的目标封装方法的名称;所述目标公共服务接口根据所述目标封装方法的名称从所述目标平台组件模块获取目标封装方法;所述目标公共服务接口响应于所述调用请求,将所述目标封装方法返回至所述目标业务组件。2.根据权利要求1所述的方法,其特征在于,所述目标公共服务接口根据所述目标配置文件确定与所述目标业务组件的名称以及所述目标公共服务接口的名称对应的目标封装方法的名称,包括:所述目标公共服务接口在所述目标配置文件中的所述对应关系中,查找与所述目标业务组件的名称以及所述目标公共服务接口的名称均对应的目标封装方法的名称。3.根据权利要求1所述的方法,其特征在于,所述组件框架系统还包括:资源管理组件,用于对所述多个平台组件模块中的资源进行管理;其中,每个所述配置文件还对应一个平台组件模块的资源包名;每个所述配置文件包括资源标识和与宿主应用程序相关联的资源名称的对应关系;所述方法还包括:所述资源管理组件接收所述目标业务组件的资源请求,所述资源请求包括目标资源标识、目标资源所在的目标资源包名;所述资源管理组件确定与所述资源请求中的所述目标资源包名对应的目标平台组件模块的目标配置文件;所述资源管理组件根据所述目标配置文件确定与所述目标资源标识对应的目标资源名称;所述资源管理组件根据所述目标资源名称从所述目标平台组件模块的资源中获取目标资源;所述资源管理组件响应于所述资源请求,将所述目标资源返回至所述目标业务组件。4.根据权利要求1所述的方...

【专利技术属性】
技术研发人员:张佰昌刘先丰
申请(专利权)人:北京猫眼文化传媒有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1