一种能力接入的方法和接入平台 【技术领域】
本发明涉及通讯领域, 特别涉及一种能力接入的方法和接入平台。背景技术
随着互联网及通信技术的不断发展, 各种服务及能力层出不穷。当业务开发者在 开发自己的业务时, 通常需要使用多种已有的能力 ( 服务 ), 重复开发周期长、 成本高, 对技 术水平要求高且全面, 但技术开发者若调用互联网上现有的能力 ( 服务 ) 时, 由于接口、 版 本、 数据格式和兼容性等诸多问题, 并不能直接使用这些能力, 通常需要经过复杂的处理才 能应用到自己的业务中, 非常不便, 且周期长, 成本高。 现有的能力接入方法和系统中, 能力 接入单一, 无法满足用户日益增长的需求。发明内容
本发明提供了一种能力接入的方法, 能方便的接入能力。
为解决上述技术问题, 本发明采用了如下的技术方案 :
一方面, 本发明公开了一种能力接入方法, 包含以下步骤 :
将能力封装为原子服务 ;
将所述原子服务接入能力接入平台 ;
对所述原子服务进行管理 ;
通过开放接口对外提供所述原子服务。
上述能力接入的方法的一个实施例中, 将原子服务接入能力接入平台时还包括以 下步骤 :
对原子服务进行校验。
上述能力接入的方法的一个实施例中, 所述对原子服务进行管理包括 : 对原子服 务进行授权、 加载、 卸载、 删除、 分类、 组合和编排。
上述能力接入的方法的一个实施例中, 所述原子服务包括服务描述文件和服务实 现文件, 其中, 所述服务描述文件用于描述原子服务的基本信息, 所述服务实现文件用于提 供原子服务实现的方法。
上述能力接入的方法的一个实施例中, 所述服务描述文件为可扩展标记语言。
上述能力接入的方法的一个实施例中, 所述服务实现文件包括原子服务实现类和 第三方资源实现类。
上述能力接入的方法的一个实施例中, 所述原子服务实现文件为 Java JAR 文件。
上述能力接入的方法的一个实施例中, 所述开放接口的类型包括 : WebService 和 Rest。
上述能力接入的方法的一个实施例中, 所述开放接口包括输入信息和输出信息, 所述输入信息包括服务名称和输入参数, 所述输出信息包括返回码、 返回消息和输出参数。
另一方面, 本发明还公开了一种能力接入平台, 包含原子服务封装模块、 原子能力接入模块、 原子能力管理模块和开放接口模块, 其中所述原子服务封装模块用于将能力封 装为原子服务 ; 所述原子能力接入模块用于将原子服务接入所述能力接入平台 ; 所述原子 能力管理模块用于对原子服务进行管理 ; 所述开放接口模块用于对外提供原子服务。
和现有技术相比, 本发明的有益效果在于 :
本发明公开的能力接入方法, 将能力封装为原子服务, 通过开放接口对外提供原 子服务, 能力调用者无需关注服务的细节, 即可通过开放接口方便地调用各种能力, 降低了 对能力调用者的技术要求, 缩短了业务开发的周期, 降低了业务开发的成本, 此外, 本发明 的方法还可使能力提供者灵活地对原子服务进行多种管理, 满足能力调用者多样化的需 求, 且操作简单。 附图说明
图 1 示例性地描述了本发明能力接入平台的结构图 ; 图 2 示例性地描述了本发明能力接入方法的流程图。具体实施方式 下面对照附图并结合具体实施方式对本发明进行进一步详细说明。
如图 1 所示, 本发明公开了一种能力接入平台, 包含原子服务封装模块、 原子能力 接入模块、 原子能力管理模块和开放接口模块, 其中所述原子服务封装模块用于将能力封 装为原子服务 ; 所述原子能力接入模块用于将原子服务接入所述能力接入平台 ; 所述原子 能力管理模块用于对原子服务进行管理 ; 所述开放接口模块用于对外提供原子服务。
如图 2 所示, 本发明一个实施例的能力接入方法, 包含以下步骤 :
步骤 101, 将能力封装为原子服务。
原子服务是一个自包含、 自解释的压缩包, 是可以独立于能力接入平台之外的独 自编码、 独自测试的一个完整功能单元, 是一个普通的 java 工程。
原子服务包括服务描述文件和服务实现文件, 其中, 所述服务描述文件用于描述 原子服务的基本信息, 所述服务实现文件用于提供原子服务实现的方法。
所述原子服务的基本信息为 : 服务名称、 服务提供者、 关键词、 服务描述信息、 输入 参数信息、 输出参数信息、 返回参数信息。
所述服务描述文件为可扩展标记语言 (XML), 完全兼容 W3C 标准, 但也可以是其他 格式的文件, 只需要把相关的原子服务信息描述清楚即可。
通过服务描述文件文件, 能力接入平台可以得知是如何接入互联网能力, 如何使 用互联网能力。
下面以实例说明原子服务描述文件 :
< ? xml version =″ 1.0″ encoding =″ UTF-8″? >
< ! -- 原子服务名称 -->
strtoolServiceDemo
< ! -- 原子服务通过 invokeClassName 和服务实现文件进行关联 -->
com.zte.uoe.service.strtool.StringOperation < ! -- 动作通过 invokeMethodName 和服务实现文件中原子服务实 的方法进行关联 --> add < ! -- 动作通过 paramName 和服务实现文件中原子服务 中的方法的参数进行关联 --> input1 String < ! -- 动作通过 paramName 和服务实现文件中原子服务实现现类中
实现类
类 中的方法的参数进行关联 -->
output1
String
原子服务描述文件框架中主要节点描述如下 :
invokeClassName 指明了原子服务实现类名称 ;
invokeMethodName 指明了原子服务实现方法名称 ;
inParams 指明了实现方法的输入参数 ;
outParams 指明了实现方法的输出参数。
服务描述文件通过上述四个节点与服务实现文件进行关联。
服务实现文件包括原子服务实现类和能力接入平台以外的任何第三方资源实现 类。典型的服务实现文件是 Java JAR 文件, 它遵守 J2SE JAR FileSpecification。
服务描述文件中通过设置 invokeClassName 来指明原子服务实现类。
例如当服务描述文件中有如下描述 :
package.name.atomservice.class
则在上述服务描述文件中的 atomservice.class 即为原子服务实现类。
原子服务实现类是非常简单而又灵活的普通 JAVA 类, 它既没有 main 方法, 也不需 要强制继承父类或者实现接口, 一切看原子服务实现类本身的需要。
原子服务实现类唯一需要做的就是提供原子服务实现方法。
原子服务实现类需要对应于服务描述文件中的相关描述, 例如方法名称、 输入参 数名称、 输入参数类型、 输入参数个数、 输出参数名称、 输出参数类型、 输出参数个数、 返回 参数名称、 返回参数类型、 返回参数个数等。
用户开发的 JAVA 类并不需要集成特别的父类或者实现特别的接口, 只要按照要 求添加合适的原子服务实现方法即可以变成原子服务实现类。当然, 能力接入平台也提供 了一个通用的类, 通过继承该通用类, 可以让原子服务实现类使用平台提供的多种能力, 可 以使得原子服务开发更加快捷方便。
通过上述方法定义原子服务实现文件和原子服务实现类、 即可把原子服务封装成 一个压缩包。 步骤 102, 将原子服务接入原子服务平台, 在接入时对原子服务进行校验。
对原子服务进行校验是校验该原子服务的服务描述文件及服务实现文件, 只有符 合规范的才能放入服务接入平台中。
校验可保证后续管理功能正常的及保证用户正常使用原子服务。
步骤 103, 对原子服务进行管理。
对原子服务进行管理包括 : 对原子服务进行授权、 加载、 卸载、 删除、 分类、 组合和 编排。
对原子服务授权, 可以控制对原子服务的使用权限, 即可以只让拥有权限的用户 使用该原子服务。
如果暂时不使用该原子服务可以将其卸载, 如果该原子服务已经废弃可以把它删 除, 如果该原子服务已经过时可以对它升级或重新加载新的原子服务, 可节约资源, 还可给 能力调用者提供更多、 更丰富、 更新的能力。
加载、 卸载、 删除等是对单个原子服务进行的管理, 对于多个原子服务, 可以进行 分类和编排。
本实施例中, 对原子服务的管理采用可视化界面, 可使能力提供者方便、 直观地对 原子服务进行管理, 可提高管理效率。
按照能力调用者的需求, 对原子服务进行个性化的管理, 可以满足能力调用者的 多种需求, 给能力调用者提供了更贴心、 更人性化的服务。
步骤 104, 通过开放接口对外提供原子服务。
开放接口的类型包括 : WebService 和 Rest。
开放接口包括输入信息和输出信息, 所述输入信息包括服务名称和输入参数, 所 述输出信息包括返回码、 返回消息和输出参数。
输入参数和输出参数采用名值对列表的形式。
本发明公开的能力接入方法, 将能力封装为原子服务, 通过开放接口对外提供原 子服务, 能力调用者无需关注服务的细节, 即可通过开放接口方便地调用各种能力, 降低了 对能力调用者的技术要求, 缩短了业务开发的周期, 降低了业务开发的成本, 此外, 本发明 的方法还可使能力提供者方便、 灵活地对原子服务进行多种管理, 包括授权、 加载、 卸载、 删 除、 分类、 组合和编排等管理, 可节约资源, 操作简单, 功能强大, 同时还可以满足能力调用 者多样化的需求。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明, 不能认定本发 明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说, 在不脱 离本发明构思的前提下, 还可以做出若干简单推演或替换, 都应当视为属于本发明的保护 范围。