一种应用集成调用方法及系统 【技术领域】
本发明涉及软件集成技术领域, 更具体地, 特别是涉及一种应用集成调用方法及系统。 背景技术 OSGI(Open Service Gateway Initiative, 开发服务网关 ) 是一种广泛应用的轻 量级软件基础框架, 为构件化软件的开发和运行提供了支撑环境。OSGI 提供了一套清晰的 分层架构, 不同的开发商在开发具有相同应用功能的不同应用模块时, 使用 OSGI 开发实现 了不同应用模块之间的高内聚和低耦合。
但是, 申请人经过对现有应用模块的操作发现, 虽然具有相同应用功能的不同应 用模块之间实现了高内聚和低耦合, 然而具有不同应用功能的应用模块相互独立且分散分 布, 在调用不同的应用模块时, 需要花费大量的时间搜索用户所调用的应用模块, 降低操作 效率。
发明内容 有鉴于此, 本发明实施例提供一种应用集成调用方法及系统, 以解决现有技术中 不同应用功能的应用模块相互独立且分散分布, 在调用不同的应用模块时, 需要花费大量 的时间搜索用户所调用的应用模块, 降低操作效率的问题。技术方案如下 :
基于本发明实施例的一方面, 提供一种应用集成调用方法, 包括 :
步骤 A : 记录扩展接口的标识信息 ;
步骤 B : 搜索所述扩展接口对应的各个待集成的应用模块, 记录所述应用模块的 标识信息, 所述应用模块的标识信息与对应的扩展接口的标识信息相对应 ;
步骤 C : 接收应用模块调用请求, 所述应用模块调用请求中携带有应用模块的标 识信息 ;
步骤 D : 从记录的应用模块的标识信息中, 匹配与所述应用模块的标识信息对应 的应用模块, 当匹配到相对应的应用模块, 调用匹配到的应用模块。
优选地, 当未匹配到相对应的应用模块, 结束执行过程。
优选地, 在步骤 B 之后, 步骤 C 之前还包括步骤 E : 搜索与各个应用模块对应的子 应用模块, 记录所述子应用模块的标识信息, 所述子应用模块的标识信息与对应的应用模 块的标识信息相对应 ;
步骤 D 包括 : 从记录的应用模块的标识信息中, 匹配与所述应用模块的标识信息 对应的应用模块 ;
接收子应用模块调用请求, 所述子应用模块调用请求中携带有所述子应用模块的 标识信息 ;
从记录的子应用模块的标识信息中, 匹配与所述子应用模块的标识信息对应的子 应用模块, 调用匹配到的子应用模块。
优选地, 步骤 D 之后还包括 : 删除记录的应用模块的标识信息。
优选地, 所述步骤 A 和步骤 B 在扩展接口注册过程中进行。
优选地, 所述记录所述应用模块的标识信息具体为 : 当所述应用模块的状态为已 解析状态时, 记录所述应用模块的标识信息。
优选地, 所述扩展接口的标识信息包括所述扩展接口的 id, 所述应用模块的标识 信息包括所述应用模块的 id。
优选地, 所述扩展接口的标识信息和所述应用模块的标识信息存储在同一个 XML 文件中。
基于本发明实施例的另一方面, 提供一种应用集成调用系统, 包括 :
接口信息记录装置, 用于记录扩展接口的标识信息 ;
应用模块信息记录装置, 用于搜索所述扩展接口对应的各个待集成的应用模块, 记录所述应用模块的标识信息, 所述应用模块的标识信息与对应的扩展接口的标识信息相 对应 ;
请求接收装置, 用于接收应用模块调用请求, 所述应用模块调用请求中携带有所 述应用模块的标识信息 ;
匹配调用装置, 用于从记录的应用模块的标识信息中, 匹配与所述应用模块的标 识信息对应的应用模块, 当匹配到相对应的应用模块, 调用匹配到的应用模块, 当未匹配到 相对应的应用模块, 结束执行过程。
优选地, 还包括 : 子应用模块信息记录装置, 用于搜索与各个应用模块对应的子应 用模块, 记录所述子应用模块的标识信息, 所述子应用模块的标识信息与对应的应用模块 的标识信息相对应 ;
所述匹配调用装置包括 : 应用匹配单元, 用于从记录的应用模块的标识信息中, 匹 配与所述扩展接口的标识信息对应的应用模块的标识信息 ;
子应用请求接收单元, 用于接收子应用模块调用请求, 所述子应用模块调用请求 中携带有所述子应用模块的标识信息 ;
子应用匹配调用单元, 用于从记录的子应用模块的标识信息中, 匹配与所述子应 用模块的标识信息对应的子应用模块, 当匹配到相对应的子应用模块, 调用匹配到的子应 用模块, 当未匹配到相对应的子应用模块, 结束执行过程。
优选地, 还包括 :
删除装置, 用于删除记录的应用模块的标识信息。
应用上述技术方案, 记录扩展接口和与扩展接口对应的各个待集成的应用模块的 标识信息, 完成应用模块的集成, 提高应用模块的集成度。进一步, 在接收到携带有应用模 块的标识信息的应用模块调用请求时, 从记录的应用模块的标识信息中, 匹配与请求中应 用模块的标识信息相对应的应用模块, 当匹配到对应的应用模块, 调用匹配到的应用模块, 提高应用模块的调用效率, 进一步提高操作效率。 附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本发明中记载的一些实施例, 对于本领域普通技术人员来讲, 还可以根据这些附图获得其他 的附图。
图 1 为本发明实施例公开的应用集成调用方法的一种流程图 ;
图 2 为本发明实施例公开的应用集成调用方法的另一种流程图 ;
图 3 为本发明实施例公开的应用集成调用系统的一种结构示意图 ;
图 4 为本发明实施例公开的应用集成调用系统的另一种结构示意图。 具体实施方式
为了便于本领域技术人员对本发明的理解, 首先对申请文件中的术语进行解释说 明。
应用模块 : 提供应用功能的模块, 其中 : 应用功能为提供给用户的不同服务, 如提 供电脑桌面背景设置的服务 ;
扩展接口 : 应用模块提供服务的入口, 当操作扩展接口时, 即可调用相应的应用模 块。
申请人经过研究发现, 虽然基于 OSGI 开发的应用模块实现了模块之间的高内聚 和低耦合, 但是对于不同应用功能的应用模块相互独立且分散分布, 集成度低, 从而在调用 不同的应用模块时, 需要逐一搜索所有应用模块, 操作效率降低。 因此, 为了解决上述问题, 本发明实施例公开了一种应用集成调用方法, 将具有不同应用功能的应用模块集成, 提高 集成度, 进而在调用过程中, 即可通过匹配与请求携带的应用模块的标识信息, 调用相对应 的应用模块, 提高应用模块的调用效率, 进一步提高操作效率。
为了使本技术领域的人员更好地理解本发明中的技术方案, 下面将结合本发明实 施例中的附图, 对本发明实施例中的技术方案进行清楚、 完整地描述, 显然, 所描述的实施 例仅仅是本发明一部分实施例, 而不是全部的实施例。 基于本发明中的实施例, 本领域普通 技术人员所获得的所有其他实施例, 都应当属于本发明保护的范围。
一个实施例
请参阅图 1, 图 1 为本发明实施例公开的一种应用集成调用方法的流程图, 包括 :
S101 : 记录扩展接口的标识信息。其中 : 扩展接口包括 point 字段, 上述扩展接口 的字段记录在扩展接口 Schema 中, 扩展接口 Schema 格式为 :
其中 : point 字段为扩展接口的一个属性, 表明 extension 为一个扩展接口。
相应地, 上述扩展接口 Schema 信息在 XML 文件中声明, 可以通过下述 XML 文件声 明表示, 如
其中 : id 字段包括在扩展接口 extension 的标识信息中, 表示扩展接口 extension 的标识符, 每个扩展接口对应唯一的 id。name 字段表示扩展接口 extension 面向用户的 标识。schema 字段表示扩展接口 Schema 的名称, 即 schema 字段为 schema/org.trustie. loong.guilayer.extension.headextend.exsd 时, 扩展接口 Schema 定义了一个扩展接口 extension。
S102 : 搜索扩展接口对应的各个待集成的应用模块, 记录所述应用模块的标识信 息, 所述应用模块的标识信息与对应的待集成的扩展接口的标识信息相对应。 具体为 : 通过 搜索与扩展接口的标识信息, 如 id 相对应的应用模块的标识信息, 以搜索与扩展接口对应 的各个待集成的应用模块。
应用模块的状态包括 “已解析” 和 “已安装” 状态, 通过监测应用模块中标识状态 的字段确定应用模块的状态。当应用模块的状态为 “已解析” 状态时, 表明该应用模块为待 集成的应用模块 ; 当应用模块的状态为 “已安装” 状态时, 表明该应用模块不为待集成的应 用模块。
与上述扩展接口 extension 的 XML 文件声明相对应的, 应用模块的标识信息包括 应用模块的 id, 记录在应用模块的 XML 文件中, 应用模块的 XML 文件声明如下 :
其中: id = ″ org.trustie.loong.itergrationgui.framework.extendsion ″ 为 扩 展 接 口 extension 的 标 识 符, perspective 表 明 一 个 应 用 模 块, id = ″ org. trustie.loong.itergrationgui.perspective.ConfigAdminPerspective ″ 为 应 用 模 块 perspective 的标识符。 应用模块的 XML 文件和扩展接口的 XML 文件可以存储在同一个 XML 文件中。
上述步骤 S101 和步骤 S102 在扩展接口注册过程中进行, 其中 : 扩展接口注册过程 为构建扩展接口的过程, 如将本发明实施例公开的应用集成调用方法集成到界面中, 在界
面中集成扩展接口的过程为扩展接口注册过程。在扩展接口注册过程中, 需要将该扩展接 口的标识信息, 以及与该扩展接口对应的各个待集成的应用模块的标识信息记录, 以便于 后续调用。
需要说明的是 : 虽然扩展接口的标识信息和应用模块的标识信息的记录在扩展接 口注册过程中进行, 但是扩展接口的标识信息和应用模块的标识信息在不同阶段加载, 扩 展接口的标识信息在界面启动时加载, 而应用模块的标识信息延时加载, 如在操作扩展接 口时, 加载与其对应的应用模块的标识信息。
S103 : 接收应用模块调用请求, 应用模块调用请求中携带有应用模块的标识信息。
前已述及, 本发明实施例公开的应用集成调用方法集成到界面中, 而各个待集成 的应用模块设置为界面中的按键, 当用户点击 “按键” 时, 触发应用模块调用请求, 请求中携 带有应用模块的标识信息, 如 id。
S104 : 判断是否从记录的应用模块的标识信息中, 匹配到与所述应用模块的标识 信息对应的应用模块, 当从记录的应用模块的标识信息中, 匹配到与所述应用模块对应的 应用模块, 执行步骤 S105, 当从记录的应用模块的标识信息中, 未匹配到与所述应用模块的 标识信息对应的应用模块, 执行步骤 S106。 S105 : 调用匹配到的应用模块。
不同的应用模块的标识信息, 如 id 是唯一的, 因此, 携带有应用模块的标识信息 的应用模块调用请求可以最多匹配出一个应用模块, 当匹配到应用模块时, 则可调用该应 用模块。如用户点击按键 A, 触发应用模块调用请求, 按键 A 对应唯一的应用模块 B, 从记录 的应用模块的标识信息中, 匹配到应用模块 B, 调用应用模块 B。假如应用模块 B 为桌面显 示应用模块, 则在界面上显示相应的桌面。
S106 : 结束执行过程。
需要说明的是 : 本发明实施例公开的应用集成调用方法中, 扩展接口为一个, 而与 其对应的待集成的应用模块为多个。
应用上述技术方案, 记录扩展接口和与扩展接口对应的各个待集成的应用模块的 标识信息, 完成应用模块的集成, 提高应用模块的集成度。进一步, 在接收到携带有应用模 块的标识信息的应用模块调用请求时, 从记录的应用模块的标识信息中, 匹配与请求中应 用模块的标识信息相对应的应用模块, 当匹配到对应的应用模块时, 调用匹配到的应用模 块, 提高应用模块的调用效率, 进一步提高操作效率。
另一个实施例
上述方法实施例适用于应用模块未包括子应用模块的情况, 当应用模块包括子应 用模块时, 需要进一步匹配子应用模块调用, 如图 2 所示。图 2 是本发明实施例公开的应用 集成调用方法的流程图, 包括 :
S201 : 记录扩展接口的标识信息。
S202 : 搜索扩展接口对应的各个待集成的应用模块, 记录所述应用模块的标识信 息, 所述应用模块的标识信息与对应的扩展接口的标识信息相对应。
S203 : 搜索与各个应用模块对应的子应用模块, 记录所述子应用模块的标识信息, 所述子应用模块的标识信息与对应的应用模块的标识信息相对应。
子应用模块的标识信息包括子应用模块的 id, 记录在应用模块的 XML 文件中, 添
加有子应用模块的应用模块的 XML 文件声明如下 :
其 中: view 表 明 一 个 子 应 用 模 块, id = ″ org.trustie.loong.admin. configuration.view.ConfigAdminView″为子应用模块的标识符。
S204 : 接收应用模块调用请求, 应用模块调用请求中携带有所述应用模块的标识 信息。
前已述及, 本发明实施例公开的应用集成调用方法集成到界面中, 且将应用模块 设置为一个按键, 当用户点击 “按键” 时, 触发应用模块调用请求, 请求中携带有应用模块的 标识信息, 如 id。
S205 : 判断是否从记录的应用模块的标识信息中, 匹配到与所述应用模块的标 识信息对应的应用模块, 当从记录的应用模块的标识信息中, 匹配到应用模块, 执行步骤 S206, 当从记录的应用模块的标识信息中, 未匹配到应用模块, 执行步骤 S210。
S206 : 判断匹配到的应用模块是否包括子应用模块, 当匹配到的应用模块包括子 应用模块, 执行步骤 S207, 当匹配到的应用模块未包括子应用模块, 执行步骤 S209。
S207 : 接收子应用模块调用请求, 所述子应用模块调用请求中携带有所述子应用 模块的标识信息。
如: 一个作为应用模块的按键对应多个子应用模块的按键, 则用户选择要调用的 子应用模块的按键, 点击该按键, 子应用模块触发调用请求, 请求中携带有子应用模块的标 识信息。
S208 : 从记录的子应用模块的标识信息中, 匹配与所述子应用模块的标识信息对 应的子应用模块, 调用匹配到的子应用模块。
S209 : 调用匹配到的应用模块。
S210 : 结束执行过程。
上述图 1 或图 2 所示的应用集成调用方法还可以进一步删除记录的应用模块的标
识信息。 本说明书中的各个实施例均采用递进的方式描述, 各个实施例之间相同相似的部 分可以互相参见, 每个实施例重点说明的都是与其他实施例的不同之处。通过以上的方法 实施例的描述, 所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬 件平台的方式来实现, 当然也可以通过硬件, 但很多情况下前者是更佳的实施方式。 基于这 样的理解, 本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的 形式体现出来, 该计算机软件产品存储在一个存储介质中, 包括若干指令用以使得一台计 算机设备 ( 可以是个人计算机, 服务器, 或者网络设备等 ) 执行本发明各个实施例所述方法 的全部或部分步骤。 而前述的存储介质包括 : 只读存储器 (ROM)、 随机存取存储器 (RAM)、 磁 碟或者光盘等各种可以存储程序代码的介质。
与上述方法实施例相对应, 本发明实施例还公开了一种应用集成调用系统, 结构 示意图请参阅图 3, 包括 : 接口信息记录装置 11、 应用模块信息记录装置 12、 请求接收装置 13 和匹配调用装置 14。其中 :
接口信息记录装置 11, 用于记录扩展接口的标识信息。 其中 : 扩展接口包括 point 字段, 上述扩展接口的字段记录在扩展接口 Schema 中, 扩展接口 Schema 格式为 :
其中 : point 字段为扩展接口的一个属性, 表明 extension 为一个扩展接口。
扩展接口 Schema 信息在 XML 文件中声明, 可以通过下述 XML 文件声明表示, 如
其中 : id 字段包括在扩展接口 extension 的标识信息中, 表示扩展接口 extension 的标识符, 每个扩展接口对应唯一的 id。name 字段表示扩展接口 extension 面向用户的 标识。schema 字段表示扩展接口 Schema 的名称, 即 schema 字段为 schema/org.trustie. loong.guilayer.extension.headextend.exsd 时, 扩展接口 Schema 定义了一个扩展接口 extension。
应用模块信息记录装置 12, 用于搜索扩展接口对应的各个待集成的应用模块, 记 录所述应用模块的标识信息, 所述应用模块的标识信息与对应的扩展接口的标识信息相对 应。
具体为 : 通过搜索与扩展接口的标识信息, 如 id 相对应的应用模块的标识信息, 以搜索与扩展接口对应的各个待集成的应用模块。
应用模块的状态包括 “已解析” 和 “已安装” 状态, 通过监测应用模块中标识状态
的字段确定应用模块的状态。当应用模块的状态为 “已解析” 状态时, 表明该应用模块为待 集成的应用模块 ; 当应用模块的状态为 “已安装” 状态时, 表明该应用模块不为待集成的应 用模块。
与上述扩展接口 extension 的 XML 文件声明相对应的, 应用模块的标识信息包括 应用模块的 id, 记录在应用模块的 XML 文件中, 应用模块的 XML 文件声明如下 :
其中: id = ″ org.trustie.loong.itergrationgui.framework.extendsion ″ 为 扩 展 接 口 extension 的 标 识 符, perspective 表 明 一 个 应 用 模 块, id = ″ org. trustie.loong.iter grationgui.perspective.ConfigAdminPerspective ″为应用模块 perspective 的标识符。 应用模块的 XML 文件和扩展接口的 XML 文件可以存储在同一个 XML 文件中。
上述接口信息记录装置 11 和应用模块信息记录装置 12 执行步骤在扩展接口注册 过程中进行, 其中 : 扩展接口注册过程为构建扩展接口的过程, 如将本发明实施例公开的应 用集成调用系统集成到界面中, 在界面中集成扩展接口的过程为扩展接口注册过程。在扩 展接口注册过程中, 需要将该扩展接口的标识信息, 以及与该扩展接口对应的各个待集成 的应用模块的标识信息记录, 以便于后续调用。
需要说明的是 : 虽然扩展接口的标识信息和应用模块的标识信息的记录在扩展接 口注册过程中进行, 但是扩展接口的标识信息和应用模块的标识信息在不同阶段加载, 扩 展接口的标识信息在界面启动时加载, 而应用模块的标识信息延时加载, 如在操作扩展接 口时, 加载与其对应的应用模块的标识信息。
请求接收装置 13, 用于接收应用模块调用请求, 所述应用模块调用请求中携带有 所述应用模块的标识信息。前已述及, 本发明实施例公开的应用集成调用系统集成到界面 中, 而各个待集成的应用模块设置为界面中的按键, 当用户点击 “按键” 时, 触发应用模块调 用请求, 请求中携带有应用模块的标识信息, 如 id。
匹配调用装置 14, 用于从记录的应用模块的标识信息中, 匹配与所述应用模块的 标识信息对应的应用模块, 当匹配到相对应的应用模块, 调用匹配到的应用模块, 当未匹配 到相对应的应用模块, 结束执行过程。
不同的应用模块的标识信息, 如 id 是唯一的, 因此, 携带有应用模块的标识信息 的应用模块调用请求可以最多匹配出一个应用模块, 当匹配到应用模块时, 则可调用该应 用模块。如用户点击按键 A, 触发应用模块调用请求, 按键 A 对应唯一的应用模块 B, 从记录
的应用模块的标识信息中, 匹配到应用模块 B, 调用应用模块 B。假如应用模块 B 为桌面显 示应用模块, 则在界面上显示相应的桌面。
上述图 3 所示的应用集成调用系统适用于应用模块未包括子应用模块的情况, 当 应用模块包括子应用模块时, 需要进一步匹配子应用模块调用, 系统的结构示意图请参阅 图 4, 在图 3 基础上, 增加子应用模块信息记录装置 15, 用于搜索与各个应用模块对应的子 应用模块, 记录所述子应用模块的标识信息, 所述子应用模块的标识信息与对应的应用模 块的标识信息相对应。
子应用模块的标识信息包括子应用模块的 id, 记录在应用模块的 XML 文件中, 添 加有子应用模块的应用模块的 XML 文件声明如下 :
其 中: view 表 明 一 个 子 应 用 模 块, id = ″ org.trustie.loong.admin. configuration.view.ConfigAdminView″为子应用模块的标识符。
匹配调用装置 14 包括 : 应用匹配单元 144、 子应用请求接收单元 145 和子应用匹 配调用单元 146。其中 :
应用匹配单元 144, 用于从记录的应用模块的标识信息中, 匹配与所述应用模块的 标识信息对应的应用模块。
子应用请求接收单元 145, 用于接收子应用模块调用请求, 所述子应用模块调用 请求中携带有所述子应用模块的标识信息。如 : 一个作为应用模块的按键对应多个子应用 模块的按键, 则用户选择要调用的子应用模块的按键, 点击该按键, 子应用模块触发调用请 求, 请求中携带有子应用模块的标识信息。
子应用匹配调用单元 146, 用于从记录的子应用模块的标识信息中, 匹配与所述子 应用模块的标识信息对应的子应用模块, 当匹配到相对应的子应用模块, 调用匹配到的子 应用模块, 当未匹配到相对应的子应用模块, 结束执行过程。
此外, 图 3 或图 4 所示应用集成调用系统, 还包括 : 删除装置, 用于删除记录的应用
模块的标识信息。
对于设备实施例而言, 由于其基本相应于方法实施例, 所以相关之处参见方法实 施例的部分说明即可。以上所描述的设备实施例仅仅是示意性的, 其中所述作为分离部件 说明的单元可以是或者也可以不是物理上分开的, 作为单元显示的部件可以是或者也可以 不是物理单元, 即可以位于一个地方, 或者也可以分布到多个网络单元上。 可以根据实际的 需要选择其中的部分或者全部模块来实现本实施例方案的目的。 本领域普通技术人员在不 付出创造性劳动的情况下, 即可以理解并实施。
在本申请所提供的几个实施例中, 应该理解到, 所揭露的设备和方法, 在没有超过 本申请的精神和范围内, 可以通过其他的方式实现。 当前的实施例只是一种示范性的例子, 不应该作为限制, 所给出的具体内容不应该限制本申请的目的。 例如, 所述单元或子单元的 划分, 仅仅为一种逻辑功能划分, 实际实现时可以有另外的划分方式, 例如多个单元或多个 子单元结合一起。 另外, 多个单元可以或组件可以结合或者可以集成到另一个设备, 或一些 特征可以忽略, 或不执行。
以上所述仅是本发明的具体实施方式, 应当指出, 对于本技术领域的普通技术人 员来说, 在不脱离本发明原理的前提下, 还可以做出若干改进和润饰, 这些改进和润饰也应 视为本发明的保护范围。