实现业务聚合Mashup业务的方法、装置和设备的制作方法

文档序号:7756878阅读:121来源:国知局
专利名称:实现业务聚合Mashup业务的方法、装置和设备的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及一种实现Mashup业务的方法、装置和设备。
背景技术
业务聚合(Mashup)是将多个不同的支持Web应用程序接口(Web Application Interface, API)的应用进行堆叠、聚合形成的新型的Web应用。Mashup服务器是一个Web 集成平台,它允许用户轻松集成来自任意具有Web API的应用程序的数据和资源,其主要功 能包括提供聚合应用逻辑编排功能,聚合应用的执行环境以及和外部数据源、子服务进行 fflfn 等。Mashup起源于因特网(Internet),属于TOB2.0的一种新应用。目前业界众多 厂商的解决方案聚焦于web类的应用,以及互联网数据源的集成和融合,如web服务(web service)数据源、聚合业务(Really Simple Syndication, RSS)数据源、订阅网志(ATOM) 数据源等。在实现本发明的过程中,发明人发现现有技术中至少存在如下问题随着电信运营商对业务能力的开放,业务创建者,如第三方开发者、用户、运营商 等,已经可以将稳定的、可信度高且服务质量保障度高的电信服务数据源集成为Mashup业 务。但现有的方案中Mashup服务器不支持电信服务数据源的Mashup业务,无法满足用户 的需要。

发明内容
为解决现有技术中存在的问题,本发明的实施例提供一种实现Mashup业务的方 法、装置和设备。为达到上述目的,本发明的实施例采用如下技术方案一种实现业务聚合Mashup业务的方法,所述方法包括对数据源的组件进行注册并按照统一的第一格式为所述组件生成业务提供接 Π ;根据业务请求者的业务请求消息,在已注册的所述组件中获取所需的组件,并按 照统一的第二格式为所述所需的组件生成业务请求接口; 利用所述业务请求接口接收所述业务请求消息,利用所述业务提供接口向所述所 需的组件请求业务,利用所述业务请求接口将生成的Mashup业务应答消息发送至业务请 求者。一种实现业务聚合Mashup业务的装置,所述装置包括业务提供接口生成单元,用于对数据源的组件进行注册并按照统一的第一格式为 所述组件生成业务提供接口;业务请求接口生成单元,用于根据业务请求者的业务请求消息,在已注册的所述 组件中获取所需的组件,并按照统一的第二格式为所述所需的组件生成业务请求接口 ;
业务实现单元,用于利用所述业务请求接口接收所述业务请求消息,利用所述业 务提供接口向所述所需的组件请求业务,利用所述业务请求接口将生成的Mashup业务应 答消息发送至业务请求者。 一种网络设备,包括请求消息分析单元,用于对接收到的组件注册请求消息进行分析,将所述组件注 册请求消息发送至组件注册单元,所述组件注册请求消息携带组件标识ID,以及,对接收到 的业务请求消息进行分析,将所述业务请求消息发送至组件请求处理单元,所述组件注册单元,用于根据组件注册请求消息中携带的所述组件ID,向组件 存储单元发送组件查询请求,查询组件存储单元中所有已经注册的组件中是否有相同ID 的组件已经注册,如果没有相同ID的组件注册,则调用MashableAPI创建单元,以使所述 Mashable API创建单元按照统一的第一格式为组件生成业务提供接口 ;所述组件存储单 元,用于存储组件和组件的描述信息,所述描述信息包括组件ID ;所述组件请求处理单元,用于根据业务请求消息,按照统一的第二格式为组件生 成业务请求接口,或者,调用所述Mashable API创建单元以使所述Mashable API创建单元 按照统一的第二格式为组件生成业务请求接口,以及利用所述业务请求接口接收所述业务 请求消息,利用所述业务提供接口向相应的组件请求业务,利用所述业务请求接口将生成 的Mashup业务应答消息发送至业务请求者。本发明实施例提供的技术方案,通过采用统一的格式为各个数据源的组件生成业 务提供接口或业务请求接口,实现了对各种数据源的统一封装机制,从而能够支持包括电 信服务数据源在内的多种类型的数据源通过该交互接口进行Mashup业务的创建和请求, 增强了 Mashup业务的可扩展性,满足了用户的需要。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。图1为本发明一个实施例提供的实现Mashup业务的方法流程图;图2为本发明一个实施例提供的Mashup系统结构示意图;图3为本发明又一个实施例提供的非Mashup Service数据源组件的注册流程示 意图;图4(a)为本发明又一个实施例提供的Mashup Service数据源部署流程示意图;图4(b)为本发明又一个实施例提供的Mashup Service数据源组件的注册流程示 意图;图5为本发明又一实施例提供的预定结构的示意图;图6为本发明又一实施例提供的一种预定结构的示例;图7为本发明又一实施例提供的一种动态生成业务请求接口的场景示意图;图8为本发明又一实施例提供的Mashup系统与AAA系统和计费系统之间交互的 流程示意图9为本发明又一实施例提供一种实现业务聚合Mashup业务的装置结构示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。本发明实施例的技术构思在于提供一种创新的动态创建Mashup业务的方案,该 方案通过对包括互联网数据源和电信服务数据源的各种数据源的组件,使用统一的应用程 序接口(Application Interface, API)格式进行封装、注册,以使Mashup服务器 支持各种 数据源的Mashup业务。本发明一个实施例提供的实现Mashup业务的方法,参见图1,包括11 对数据源的组件进行注册并按照统一的第一格式为所述组件生成业务提供接 Π ;12:根据业务请求者的业务请求消息,在已注册的所述组件中获取所需的组件,并 按照统一的第二格式为所述所需的组件生成业务请求接口;13 利用所述业务请求接口接收所述业务请求消息,利用所述业务提供接口向所 述所需的组件请求业务,利用所述业务请求接口将生成的Mashup业务应答消息发送至业 务请求者。上述的数据源包括电信服务数据源在内的各种数据源。Mashup业务可以作为 Mashup数据源,提供第二次开发或重用为了便于清楚描述本发明实施例的技术方案,在本发明的实施例中,采用了“第 一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可 以理解“第一”、“第二”等字样并不对数量和执行次序进行限定。其中,所述第一格式和第二格式为相同的格式,或者,所述第一格式和第二格式为 不同的格式。即所有的业务请求接口具有相同的格式,所有的业务提供接口具有相同的格 式,而业务请求接口和业务提供接口的格式可以相同,也可以不同。其中,上述的格式可以理解为请求或调用业务时的具体消息构成,例如,该消息可 以由函数和参数构成或者该消息由协议调用构成。示例性的,一种可以采用的格式表示如下函数(参数);如Weather (city)另一种可以采用的格式表示如下协议参数;如Http /GET/POST. ·.进一步的,在步骤11之前,还可以包括按照预定结构创建Mashup业务,例如,业务 开发者按照组件导入部分(Component imports)、命名空间定义部分(Mashup namespace definition)、语法定义部分(Schema definition)、操作(Operation)部分四层结构利用 动态脚本语言(如JavaScript)创建Mashup业务。传统的Mashup业务开发方法,由于 Mashup数据源的格式不统一,业务开发者需要同时掌握Web SerViCe、ReSt、C++、Java等具 体的编程技术,开发难度大、对业务开发者的要求高。而采用本发明的这种方式使业务开发者无需额外的学习其他的开发语言(包括Mashup Server标签语言和网页语言),只通过使 用扩展的动态脚本语言就能够创建Mashup业务,降低了业务开发难度和对业务开发者的 要求。业务请求者通过请求 信息和应答信息得到相应的Mashup业务,享受相应的服务。示例性的,一种请求信息可以为HTTP://www.sina. com. cn/user = 123&password = 123而相应的应答信息为用户所请求的网页的内容,例如验证通过的网 页。将请求信息携带在上述业务请求消息中,将应答信息携带在Mashup业务应答消息中。本发明实施例中的组件为业务请求者和实际的业务(如数据源)之间的代理。组 件利用业务提供接口从数据源调用相应的业务,利用业务请求接口接收业务请求者发送的 业务请求消息,以根据该业务请求消息请求实际的业务提供的操作(Operation)。由该业务提供接口、业务请求接口和相关参数构成Mashable API。利用Mashable API统一对组件进行管理,组件对外部开放具有统一格式的Mashable API以供Mashup业务 的创建和请求。业务提供接口在组件注册的时候自动生成,并随同组件存储,而业务请求接口是 在发起业务请求或调用组件的时候动态生成,业务请求接口根据业务请求者和业务提供者 的实际情况而定,无需预先存储业务请求接口。这种方式满足了组件注册的动态特性和节 省内存的需求。本发明实施例提供的技术方案,通过采用统一的格式为各个数据源的组件生成业 务提供接口或业务请求接口,实现了对各种数据源的统一封装机制,从而能够支持包括电 信服务数据源在内的多种类型的数据源通过该交互接口进行Mashup业务的创建和请求, 增强了 Mashup业务的可扩展性,满足了用户的需要。为了清楚描述本发明实施例的技术方案,首先,参见图2,对本发明实施例提供的 Mashup系统结构进行介绍。在该系统中主要包括如下单元请求消息分析单元(Request Analysis Unit) 201 该单元用于接收来自客户端, 即图2中的业务请求者200所用的客户端的各种请求消息,包括mashup部署请求消息,组 件注册请求消息,业务请求消息,并对接收到的请求消息进行分析后转发到系统中相应的 单元进行处理。Mashup部署单元(Mashup Deployer Unit) 202 该单元用于处理mashup部署请 求消息,将Mashup service数据源部署到Mashup服务器上。并调用相应的单元为Mashup service数据源的组件生成业务提供接口。组件生成单元(Component Generator Unit) 203 为该单元用于生成Mashup数据 源对应的组件。脚本解析单元(Script Parser Unit) 204 该单元用于解析使用动态语言(例如 Java Script)描述的Mashup业务,并且帮助组件生成单元203为该Mashup业务生成组件。组件注册单元(Component Registration Unit) 205 该单元用于处理组件注册请 求消息,并生成与业务请求者交互的交互代码(该交互代码基于脚本语言),以及为请求组 件提供相应的代码。注册过程完成后,该单元还可以调用组件存储单元207中存储的组件 和组件详细描述。Mashable API 创建单元 206 为组件创建 Mashable API,该 Mashable API 包括业务提供接口和业务请求接口。组件存储单元( Components Repository Unit) 207 该单元相当于一个存储池 (Pool),用于存储注册后的组件和组件详细描述。组件请求处理单元(Component Request Unit) 208 该单元用于处理组件请求过程。组件管理单元(Component Management Unit) 209 该单元用于管理与组件使用 过程相关的一些操作,如验证,鉴权和计费。图2中所示的Mashup系统能够接收来自业 务请求者(Requestor) 200的请求,执行部署(D印Ioy)或组件注册等过程,或与外部服务 (External Service)功能210进行交互,或与其他的系统如计费(Billing)系统211、认证 鉴权系统(如AAA) 212进行交互。上述只是对主要功能单元的示例性说明,例如,该系统中的组件请求处理单元208 中还可以包括脚本执行引擎(Script)2081,用于测试和执行Mashup的脚本描述。下面结合图2,对本发明又一个实施例提供的实现Mashup业务的方法进行详细说 明。具体包括如下处理11 对数据源的组件进行注册并按照统一的第一格式为所述组件生成业务提供接□。在本发明实施例中,将数据源分为业务聚合服务(Mashup Service)数据源和非 Mashup Service数据源,对这两类数据源采用不同的方式进行注册。其中,电信服务数据源 属于非Mashup Service数据源。采用这种方式是由于,非Mashup Service数据源的组件,如Java组件、C++组件、 表述性状态转移(Itepresentational State Transfer, REST)组件或Web服务描述语言 (Web Services Description Language,WSDL)的 Web 组件,这些组件通常在实现 Mashup 业务之前就已经发布或使用且已经进行了部署,可以直接进行组件的注册过程。而对于 Mashup Service数据源,需要在将Mashup Service数据源部署在Mashup服务器上的过程 中生成相应的组件。下面分别对这两种情况进行介绍。第一种情况、非Mashup Service数据源组件的注册参见图3,非Mashup Service数据源组件的注册过程,具体包括如下步骤1 注册请求者向请求消息分析单元发送注册组件请求消息,该注册组件请求消息 中携带组件的信息,如组件的数据和组件标识(ID)。组件ID可以为唯一标识组件的一个字 符串,如“SMS”、“匪S”,“WeatherInf0”,组件ID由组件提供者或组件生成者提供。但不局限 于此,组件的信息还可以包括组件关键字,组件关键字可以指示该组件所支持的业务类型, 不同的组件可以有相同的组件关键字,例如,对组件ID分别为SMS1、SMS2和SMS3的组件, 组件关键字都可以为SMS。不同组件的注册组件请求消息中携带的组件信息也不同。例如,当组件为C++组件时,上述注册组件请求消息中携带C++的动态链接库文 件(.dll文件)数据和组件ID;当所述组件为Java组件时,上述注册组件请求消息中携 带java数据包、组件ID和数据类型描述,本发明实施例提供的一种数据类型描述为对象名 (属性值1,属性值2,...);当所述组件为REST组件时,上述注册组件请求消息中携带REST 统一资源定位符(Universal Resource Locator, URL)和组件ID ;当所述组件为WSDL的Web组件时,上述注册组件请求消息中携带HTTP URL和组件ID。2 请求消息分析单元对接收到的注册组件请求消息进行分析后,将该注册请求消 息转发至组件注册单元。3 组件注册单元向组件存储单元发送组件查询(Query Component)请求,查询组 件存储单元中所有已经注册的组件,判断是否有相同的组件已经注册。这里,相同的组件主 要指具有相同组件ID的组件。

4 组件存储单元接收到组件查询请求后,在存储的已注册组件的组件ID中,查找 是否存在与上述注册组件请求消息中携带的组件ID(如SMS)相同的组件ID,若存在,则说 明组件ID为SMS的组件已经注册了,若不存在说明组件ID为SMS的组件还未注册。组件 存储单元反馈查询结果给组件注册单元。5a 如果有相同ID的组件注册,则组件注册单元反馈发送注册失败信息给注册请 求者,以使注册请求者及时获知注册失败进行后续的处理,如注册请求者可以更新组件ID, 例如,将组件ID的字符串SMS更改为SMS1、SMS2或SMS3,重新发起注册流程。5b 如果没有相同ID的组件注册,则组件注册单元发送交互接口生成请求 (Generate Script Adaptor)给 Mashable API 创建单元。Mashable API 创建单元为相应 的组件生成业务提供接口,对不同的数据源的组件生成业务提供接口时采用的方式和代码 也不同。例如,Mashable API创建单元根据动态链接库文件(.dll文件)数据和组件ID, 使用Java Native Interface(JNI)为C++组件生成业务提供接口 ;根据java数据包和组件ID,以Java类和组件ID为Java组件生成业务提供接口, 该业务提供接口通过Java提供的类和函数调用实际的业务;根据REST URL [HTTP URL]和组件ID为REST组件生成业务提供接口。当所述组件为Web服务描述语言WSDL的Web组件时,根据所述Web组件的HTTP URL和组件ID生成业务提供接口。上述生成的业务提供接口具有统一的格式,如第一格式。6b Cashable API创建单元向组件注册单元返回创建成功的信息,以及为组件的 生成业务提供接口的参数。若创建失败,Mashable API创建单元向组件注册单元发送创建 失败消息,图中仅示出了创建成功的场景。7b 组件注册单元发送存储消息(Store Component)给组件存储单元,组件存储 单元存储上述注册成功的组件及其相关信息,如该组件的业务提供接口,组件的数据和组 件ID等。8b 组件存储成功后,组件存储单元返回组件注册单元存储成功信息。%、组件注册单元返回注册组件成功消息给请求消息分析单元。10b、请求消息分析单元反馈注册组件成功消息给注册请求者。另若8b中组件存储不成功,后续步骤反馈组件注册失败的信息给注册请求者。第二种情况、Mashup Service数据源组件的注册首先通过将Mashup Service数据源部署在Mashup服务器上的过程生成组件,参 见图4(a),包括如下步骤401 业务部署者发送Mashup部署请求消息至请求消息分析单元,该消息包括Mashup业务和参数。Mashup业务主要由Mashup脚本描述构成,参数主要包括组件ID,业务 描述和访问策略。应当注意到 ,在进行组件注册之前,本发明实施例还包括按照预定结构创建 Mashup业务,例如,业务开发者按照组件导入部分、命名空间定义部分、语法定义部分、操作 部分四层结构利用动态脚本语言(如JavaScript)创建Mashup业务。传统的Mashup业务开 发方法,由于Mashup数据源的格式不统一,业务开发者需要同时掌握Web Service, Rest、 C++、Java等具体的编程技术,开发难度大、对业务开发者的要求高。而采用本发明的这种 方式使业务开发者无需额外的学习其他的开发语言(包括Mashup Server标签语言和网页 语言),只通过使用扩展的动态脚本语言就能够创建Mashup业务,降低了业务开发难度和 对业务开发者的要求。402 请求消息分析单元对Mashup部署请求消息进行分析后,转发该消息到 Mashup部署单元。403 =Mashup部署单元向组件生成单元发送组件生成请求,请求组件生成单元为 该Mashup Service数据源生成组件。404 组件生成单元发送脚本解析请求,请求脚本解析单元解析Mashup业务的脚 本描述并获取其中的关键字及参数,关键字包括导入(imports),命名空间(namespace), 模式(schema),操作(operation)。405 脚本解析单元将解析结果,如关键字和参数等,反馈至组件生成单元。406 组件生成单元根据脚本解析单元反馈的参数和imports,namespace, schema, operation等关键字来解析得到Mashup业务的相应组件和操作。组件生成单元按照预定结构解析得到Mashup业务的相应组件,该预定结构与 创建Mashup业务时采用的预定结构一致。参见图5,在该预定结构中包括组件导入部分 (Component imports)、命名空间定义部分(Mashup namespace definition)、语法定义部 分(Schema definition)、操作(Operation)部分。其中,操作部分可以包括一个或多个操 作,如包括操作1至操作n,n为序号。参见图6,为本发明实施例提供的一种预定结构的示 例。Mashup业务的相应组件是指创建Mashup业务时所导入的组件,利用组件ID、关键 字及参数解析得到该所导入的一个或多个组件。例如,当组件ID为identifier时,根据 导入操作的命令importComponent ( “identifier”)可以解析出Mashup业务中组件ID为 identifier 的组件。407 在解析获得相应的组件后,组件生成单元将部署成功消息发送至Mashup部
署单元。408 =Mashup部署单元反馈部署成功消息至请求消息分析单元。409 请求消息分析单元转发该部署成功消息给业务部署者。注若在解析或部署过程中出现错误,那么407-409中反馈部署失败消息。当部署成功后,对Mashup Service数据源的组件进行注册,注册过程与图3所示 的过程基本相同,不再赘述。主要的区别点在于,参见图4(b),进行注册可以在该组件生成 后,直接由组件生成单元向组件存储单元发送注册查询请求(Query Component),参见图 4 (b)中步骤411,发起组件注册流程,在步骤412中由组件存储单元向组件生成单元反馈查询结果,这种处理方式简化了处理的流程。其中图4(b)中的步骤413和414参见图3中的 步骤5b和6b,步骤415和416参见图3中的7b和8b。在注册过程中,对Mashup Service 数据源的组件,根据M ashup Service数据源的脚本描述(如javascript代码)生成业务 提供接口。通过上述的组件注册过程,各个数据源的组件都具有了业务提供接口,利用该业 务提供接口可以直接调用实际的业务。如Java组件可以利用业务提供接口创建java类的 对象,调用java的函数。12:根据业务请求,在已注册的所述组件中获取相应的组件,并按照统一的第二格 式为获取到的所述组件动态生成业务请求接口。对所有组件生成的业务请求接口具有统一的格式,如第二格式。与业务请求接口 相对应的第二格式可以与业务提供接口所对应的第一格式相同,也可以不同。本发明实施例的技术方案提供一种门户功能给业务请求者,业务请求者可以查询 注册的组件。对于每个已经注册的组件,Mashup服务器按需生成业务请求接口。所谓按需 主要指根据业务请求者的状态和所述组件的数据源的状态来为组件生成业务请求接口。业务请求者的状态主要包括业务请求者的发起端状态(如传统终端或新型终 端)、业务呈现方式和响应时间中的一种或多种;组件的数据源的状态包括数据源的负载 能力、数据源的组件的服务质量(Quality of Service, QoS)和数据源的可靠性。当上述的状态发生变化时,生成的业务请求接口也发生变化。例如,当用户(业务 请求者)通过浏览器访问已注册组件的注册信息变化时,生成的业务请求接口也会发生变 化。所以业务请求接口是动态生成的,并不预先进行存储,避免了由于预先存储业务请求接 口而需要占用大量内存所带来的问题,动态生成业务请求接口的方式能够满足组件注册的 动态特性和节省内存的需求。下面结合图7所示的场景,具体说明基于业务请求者的查询动态生成业务请求接 口的流程。701 业务请求者发送业务请求消息到请求消息分析单元,该业务请求消息中携带 组件关键字,或者组件ID。702:请求消息分析单元分析业务请求消息后,将业务请求消息转发给组件请求处
理单元。703:组件请求处理单元发送组件查询请求到组件存储单元中查询所请求的组件。704 组件存储单元将查询结果返回给组件请求处理单元;如果组件存储单元中有对应的注册组件,即已注册组件的组件ID与所述业务请 求消息中携带的组件关键字匹配时,则查询成功,执行步骤705。如果组件存储单元中没有组件ID对应的组件信息,即已注册组件的组件ID与所 述业务请求消息中携带的组件关键字不匹配时,则查询失败,则发送查询失败信息给请求 消息分析单元。705 判断组件请求处理单元自身能否生成业务请求接口,若组件请求处理单元自 身能够生成该组件的业务请求接口时,执行步骤708 ;当组件请求处理单元无法生成相应的业务请求接口时,则执行步骤706。706 组件请求处理单元发送交互接口生成请求到Mashable API创建单元以创建该组件的业务请求接口。707 Cashable API创建单元创建业务请求接口并返回创建结果,当创建成功时, 执行步骤708。其中,当存在多个组件,这些组件的组件ID都与业务请求消息中的组件关键字相 匹配时,组件请求处理单元或Mashable API创建单元根据业务请求者的状态和已注册组件 的数据源的状态,选择合适的已注册组件,为所选择的组件动态生成业务请求接口。708 当生成业务请求接口时,组件请求处理单元发送应答消息,如接口生成成功 消息至请求消息分析单元。709 请求消息分析单元向业务请求者反馈接口生成成功消息。下面以一个具体的Mashup业务“Etour”为例进行说明。Mashup 业务 Etour 是由 weather 业务禾口 FlightSearchService 业务组成。对 weather业务,如果组件存储单元中存储了组件关键字为weather系列的组件,例如,Java 组件weather业务,REST组件weather业务等。业务请求者请求Etour业务时,Mashup服 务器根据组件的数据源的状态(负载,组件的QoS,数据源可靠性等)和业务请求者的状态 (请求者所使用的终端,业务呈现方式,响应时间等)选择最合适的组件,如Java组件,并为 该组件动态地生成业务请求接口,该业务请求接口包括组件调用协议,调用函数和参数等 信息。对FlightSearchService业务采用相同的方式进行处理。业务请求者根据业务请求接口的协议,调用函数和参数等,请求调用实际的业务。 业务请求接口涉及到的调用函数,调用协议和参数的举例如下java组件weather业务的业务请求接口对应于Java调用函数Weather (city), city是参数,指示城市名,调用协议为SOAP协议,还可以包括其它参数,如指示能够提供的 QoS的参数,该参数指示响应时间为0. 3s,反馈信息格式为SMS ;WSDL的Web组件weather业务的业务请求接口对应于提供根据WSDL描述提供的 调用函数,参数是X,y,其中χ和y分别表示经度和纬度,绑定SOAP调用协议。还可以包括 其它参数,如指示能够提供的QoS的参数,该参数指示响应时间是0. 5s,反馈信息格式为网 页。13:利用所述业务请求接口接收所述业务请求消息,利用所述业务提供接口向所 述所需的组件请求业务,利用所述业务请求接口将生成的Mashup业务应答消息发送至业 务请求者。 将业务提供接口和业务请求接口进行匹配,即将业务提供接口和业务请求接口进 行匹配,一个业务提供接口可以对应于一个业务请求接口,一个业务提供接口也可以对应 于多个业务请求接口。业务提供接口包括对一个或多个业务的调用,业务请求接口包括对 单个或组合的mashup业务的调用。一个组件所对应的业务提供接口和业务请求接口构成 这个组件的Mashable API,Mashable API是组件对外部暴露的接口。下面以一个具体的Mashup业务“Etour”为例说明组件的使用过程。组件的使用过程包括根据业务请求消息查询已经注册的组件,注册的组件按照 简单的负载均衡的原理(如顺序调用,随机分配等)以及业务创建者的实际需求被聚合 (Mashup) 0按照操作(operation)定义调用相应的导入组件。组件使用的mashable API 可以用标准的HTML标记〈script〉导入,例如
〈script type=' text/javascript' src = ‘. . ./stub/sms' ></script)其中,“ sms ”是一个组件ID.表 权利要求
1.一种实现业务聚合Mashup业务的方法,其特征在于,所述方法包括对数据源的组件进行注册并按照统一的第一格式为所述组件生成业务提供接口; 根据业务请求者的业务请求消息,在已注册的所述组件中获取所需的组件,并按照统 一的第二格式为所述所需的组件生成业务请求接口;利用所述业务请求接口接收所述业务请求消息,利用所述业务提供接口向所述所需的 组件请求业务,利用所述业务请求接口将生成的Mashup业务应答消息发送至业务请求者。
2.根据权利要求1所述的方法,其特征在于,所述对数据源的组件进行注册并按照统 一的第一格式为所述组件生成业务提供接口包括接收注册组件请求消息,所述注册组件请求消息中携带组件标识ID ; 在存储的已注册组件中,查询所述组件ID所对应的组件是否已经注册,若已经注册, 更新所述组件ID,重新执行注册流程,若未注册,按照统一的第一格式生成业务提供接口并 存储。
3.根据权利要求1或2所述的方法,其特征在于,所述对数据源的组件进行注册并按照 统一的第一格式为所述组件生成业务提供接口包括当所述组件为C++组件时,根据C++组件的动态链接库文件和组件ID,通过Java本地 接口 Java Native Interface生成所述业务提供接口 ;当所述组件为Java组件时,根据Java组件的java数据包和组件ID生成所述业务提 供接口 ;当所述组件为表述性状态转移REST组件时,根据所述REST组件的REST统一资源定位 符URL和组件ID生成所述业务提供接口 ;当所述组件为Web服务描述语言WSDL的Web组件时,根据所述Web组件的HTTP URL 和组件ID生成所述业务提供接口。
4.根据权利要求1所述的方法,其特征在于,所述根据业务请求者的业务请求消息,在 已注册的所述组件中获取所需的组件,并按照统一的第二格式为所述所需的组件生成业务 请求接口包括接收业务请求消息,所述业务请求消息中携带组件关键字;当已注册组件的组件ID与所述业务请求消息中携带的组件关键字匹配时,获取所述 已注册的组件;根据业务请求者的状态和所述已注册组件的数据源的状态,选择合适的已注册组件, 并为所述选择的组件动态生成业务请求接口。
5.根据权利要求4所述的的方法,其特征在于,所述业务请求者的状态至少包括如下的一种或其组合 业务请求者所使用的终端、业务呈现方式和响应时间; 所述组件的数据源的状态至少包括如下的一种或其组合所述数据源的负载能力、所述数据源的组件的服务质量QoS和所述数据源的可靠性。
6.根据权利要求1或2所述的方法,其特征在于,在所述对数据源的组件进行注册并按 照统一的第一格式为所述组件生成业务提供接口之前,所述方法还包括所述数据源包括业务聚合服务Mashup service数据源和非Mashup service数据源; 在将Mashup service数据源部署在Mashup服务器上的部署过程中,对所述Mashupservice数据源的Mashup业务按照预定结构进行解析得到所述Mashup service数据源的 组件。
7.根据权利要求6所述的方法,其特征在于,在将Mashupservice数据源部署在 Mashup服务器上之前,所述方法还包括利用动态脚本语言按照如下预定结构创建Mashup业务 组件导入部分、命名空间定义部分、语法定义部分和操作定义部分。
8.一种实现业务聚合Mashup业务的装置,其特征在于,所述装置包括业务提供接口生成单元,用于对数据源的组件进行注册并按照统一的第一格式为所述 组件生成业务提供接口;业务请求接口生成单元,用于根据业务请求者的业务请求消息,在已注册的所述组件 中获取所需的组件,并按照统一的第二格式为所述所需的组件生成业务请求接口 ;业务实现单元,用于利用所述业务请求接口接收所述业务请求消息,利用所述业务提 供接口向所述所需的组件请求业务,利用所述业务请求接口将生成的Mashup业务应答消 息发送至业务请求者。
9.根据权利要求8所述的装置,其特征在于,所述数据源包括业务聚合服务Mashup service数据源和非Mashup service数据源,所述装置还包括组件获得单元,用于在将Mashup service数据源部署在Mashup服务器上的部署过程 中,对所述Mashup service数据源的Mashup业务按照预定结构进行解析得到所述Mashup service数据源的组件。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括业务创建单元,用于利 用动态脚本语言按照如下预定结构创建Mashup业务 组件导入部分、命名空间定义部分、语法定义部分和操作定义部分。
11.根据权利要求8所述的装置,其特征在于, 所述业务提供接口生成单元包括第一接收模块,用于接收注册组件请求消息,所述注册组件请求消息中携带组件ID ; 查询处理模块,用于在存储的已注册组件中,查询所述组件ID所对应的组件是否已经 注册,若已经注册,更新所述组件ID,重新执行注册流程,若未注册,按照统一的第一格式生 成业务提供接口并存储。
12.根据权利要求8所述的装置,其特征在于, 所述业务请求接口生成单元包括第二接收模块,用于接收业务请求消息,所述业务请求消息中携带组件关键字; 获取模块,用于当已注册组件的组件ID与所述业务请求消息中携带的组件关键字匹 配时,获取所述已注册的组件;生成模块,用于根据业务请求者的状态和所述已注册组件的数据源的状态,选择合适 的已注册组件,并为所述选择的组件动态生成业务请求接口。
13.—种网络设备,其特征在于,包括请求消息分析单元,用于对接收到的组件注册请求消息进行分析,将所述组件注册请 求消息发送至组件注册单元,所述组件注册请求消息携带组件标识ID,以及,对接收到的业 务请求消息进行分析,将所述业务请求消息发送至组件请求处理单元,所述组件注册单元,用于根据组件注册请求消息中携带的所述组件ID,向组件存储 单元发送组件查询请求,查询组件存储单元中所有已经注册的组件中是否有相同ID的 组件已经注册,如果没有相同ID的组件注册,则调用Mashable API创建单元,以使所述 Mashable API创建单元按照统一的第一格式为组件生成业务提供接口 ;所述组件存储单 元,用于存储组件和组件的描述信息,所述描述信息包括组件ID ;所述组件请求处理单元,用于根据业务请求消息,按照统一的第二格式为组件生成业 务请求接口,或者,调用所述Mashable API创建单元以使所述Mashable API创建单元按 照统一的第二格式为组件生成业务请求接口,以及利用所述业务请求接口接收所述业务请 求消息,利用所述业务提供接口向相应的组件请求业务,利用所述业务请求接口将生成的 Mashup业务应答消息发送至业务请求者。
14.根据权利要求13所述网络设备,其特征在于,所述网络设备还包括Mashup部署单 元、组件生成单元和脚本解析单元,所述请求消息分析单元,还用于对接收到的mashup部署请求消息进行分析,将所述 mashup部署请求消息发送至所述Mashup部署单元;所述Mashup部署单元,用于根据mashup部署请求消息,将Mashup service数据源部 署到Mashup服务器上并请求组件生成单元为所述Mashup service数据源的Mashup业务 生成组件;所述组件生成单元,用于根据所述Mashup部署单元的请求,向脚本解析单元发送脚本 解析请求,请求脚本解析单元解析Mashup业务的脚本描述并获取解析结果,以按照预定的 结构为所述Mashup业务生成组件;所述脚本解析单元,用于解析使用动态语言描述的Mashup Service数据源的Mashup 业务,将解析结果发送给所述组件生成单元。
15.根据权利要求13或14所述网络设备,其特征在于,所述网络设备还包括组件管理单元,用于接收组件请求处理单元的验证、鉴权或计费请求消息,向验证、鉴 权系统请求对用户身份和用户访问权限的验证;根据组件调用信息生成业务使用详单,以 使计费系统利用所述业务使用详单进行计费。
全文摘要
本发明实施例提供了一种实现Mashup业务的方法、装置和设备,涉及通信技术领域,用于支持多种类型的数据源的Mashup业务。本发明实施例提供的实现业务聚合Mashup业务的方法包括对数据源的组件进行注册并按照统一的第一格式为所述组件生成业务提供接口;根据业务请求者的业务请求消息,在已注册的所述组件中获取所需的组件,并按照统一的第二格式为所述所需的组件生成业务请求接口;利用所述业务请求接口接收所述业务请求消息,利用所述业务提供接口向所述所需的组件请求业务,利用所述业务请求接口将生成的Mashup业务应答消息发送至业务请求者。
文档编号H04L29/08GK102137136SQ201010252829
公开日2011年7月27日 申请日期2010年8月13日 优先权日2010年8月13日
发明者倪瑞特·阿芒哥, 库塔斯哇拉·朴拉胡, 陈珊, 马其锋, 马赫斯哇拉·瑞迪 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1