在多个web服务中发现至少一个web服务的方法

文档序号:6612305阅读:169来源:国知局
专利名称:在多个web服务中发现至少一个web服务的方法
技术领域
本发明一般涉及web服务和关于所述服务的查询。
技术背景在本说明书中,除非特别指出,以下术语以所指出的意义被使用 - "UDDI (统一描述、发现和集成)目录"是指特别在SOA (面向服 务架构)类型架构的环境中特别专用于web服务的基于XML的目录。存在 私有和公共目录、专用于特定服务提供者的目录。UDDI目录用于定位网络 中所要求的web服务。它特别地包括web服务访问信息和例如对所述服务 及其功能的简要描述的语境信息。UDDI目录特别包括 -白页,包括关于企业的信息;-黄页,将这些企业的web服务列为WSDL标准;以及 -绿页,提供关于提供的服务的精确技术信息。所述技术信息尤其覆 盖对服务、连接或相关的交易过程的描述。-"本体"本体是组织成图的概念的结构化集合,其中,所述图的关系可以是语义关系或组合和继承(在对象意义上)的关系。本体的目的 是对给定域中的知识集合建模。—"OWL"是一种web本体语言,被设计用于不仅能向用户呈现信息 而且还处理其内容的应用。OWL是基于RDF (资源描述框架)语法的XML "行话",其指定用于描述元数据和用于对该元数据的某种自动处理的图 模型。OWL提供用于定义结构化web本体的方法。由于补充词汇和形式语 义,OWL为机器提供比平常例如使用XML时更强大的解释web内容的能力。
OWL由提供递增表达性的三种子语言组成OWL Lite (或OWL) 、 OWL DL 和OWL Full. OWL-S (其中S代表"语义")是面向"语义"的,其至今 仅作为建议存在,并且还未被标准化。一 "输入参数"是指在输入提供给web服务的处理搮作的数据;所述 操作的输入数据被该操作变换以提供输出结果。- "输出结果"是指由web服务的操作对其输入数据(或"输入M") 实现的处理产生的信息。所述输出结果是web服务的用户所期望的产物, 其中,所述用户可以是电子数据处理应用或另一web服务。一 "web服务"是指可经由标准接口在互联网上访问的应用,其可以 独立于所使用的操作系统和编程语言、4吏用例如基于XML的通信协i义与应 用或其它web服务动态交互。同样,在其接口级,web服务包括基于输入 数据或"输入M"提供结果的处理操作。为使用web服务,其操作中的 一个4皮调用,并且被提供期望的输入数据,以及恢复输出结果。—"UML"(统一建模语言)指定一种用于借助于对象建模的符号 (而不另_语言),所述符号用于在其开发期间确定和呈现对象系统的组件, 以及在适当的情况下生成其文档。UML当前是OMG标准。其由合并Jim Rumbaugh、 Grady Booch和Ivar Jacobson的成果产生,并且已通过多种 方式演进。- "语义web"是指用于发布、咨询以及最重要的对格式化知识的处 理进行自动化的万维网的扩展,这意味着,由语义Web处理的文档包含将 被自动处理的格式化信息而不是自然语言的文本。- "WSDL"是一种由W3C标准化的语言(2001年3月15日的版本1.1 -见http:〃丽.w3.org/TR/wsdl),其特别参考了 XML语言.WSDL经由 以下单元描述对web服务的公共访问接口服务名、操作、所操作的数据 的类型以及所述类型和所述操作之间的链接。WSDL还指示为使用所iiJ艮务 应怎样通信、为与该服务通信所需的通信协议和消息格式。与OWL-S相似, WSDL-S是面向语义的,但还未被标准化。-"WSMO (web服务建模本体)"是指一种用于"语义上"描述所述
语义web的服务的本体。- "ML"(可扩展标记语言)SGML语言的一种演进,特别被HTML 文档设计者用于为个人化数据结构而定义其自己的标记。特别是在互联网中的现代电信技术使得用户能够快速访问多种服务。 在该领域中,语义web正快速增长,特别当涉及用于借助于现有服务、使 用语义方法开发服务的应用时。越来越多web服务配备了语义,或更一般 地说是语义描述。在本文中,产生的问题是能够容易地发现构成给定语 义查询的相关响应的给定"语义服务"(即具有语义描述的服务),其中, 所述语义查询即包舍浯义信息的查询。该问题的一种已知解决方案在于语法上分析服务目录的内容,发现 并且然后提取每一个服务的语义描述,以及最后从该描述中搜索与所述语 义查询的匹配。在实践中,该解决方案必须考虑这一事实服务的语义描 述或本体可以采用不同形式,并且可以使用例如OWL、 OWL-S、 WSDL-S、 WSMO、 UML等的不同类型的语言来写。因此,特定分析器(解析器)对于每一个 服务类型/形式是必需的,以便从其中提取有用语义信息。然而,该解决方案并不令人满意,因为其代表沉重的管理负担,并且 使用户感知的响应时间降级。特別地,对于每一个请求,必须分析服务目 录的内容的全部和检查包含在所述服务的各种语义描述中的所有数据。因此,需要这样一种解决方案,其显著筒化对语义服务的搜索,并且 减少该搜索代表的处理时间。发明内容为此,本发明提出一种web月良:^义引用(semantic referential),包括用于该服务的语义描述的唯一元模型。本发明的语义引用的优选实施例具有以下特征中的一个或更多—所述引用由操作结构化,所迷操作每一个都包括特定web服务的操作的语义描述;-根据本发明的引用采取不具有任何指向该文件外部的指针的文件的 每一个操作一行;-所述操作的每一个的语义描述包括关于相关的特定web服务的操作 的目的、该web服务的操作的服务质量的信息,和该web服务的操作的语 境的信息;—所述操作的每一个的语义描述进一步包括与输入和输出参数相关的 语义信息。本发明还提出一种方法,包括提供根据本发明的语义引用的步骤。本发明的方法的优选实施例具有以下特征中的一个或更多一本发明的方法进一步包括创建或更新所述引用的初始步骤;一所述引用创建步骤包括以下步骤提供所述web服务的异构语义描述;以及对于所述web服务的每一个选择适于该服务的语义描述的类型的语法分析器,借助于所选的语法分析器提取语义描述特征,并且根据所述唯一元模型转换和存储这些语义描述特征;-在所述提供web服务的异构语义描述的步骤中,因为并且当所述web服务被创建时,提供后者;-根据本发明的方法进一步包括以下步骤接收语义查询,语义上分析所接收的查询并根据所述元模型转录(transcribe)该分析的结果,并且使用转录的结果在所述引用中搜索web服务操作;一所迷语义分析和转录步骤通过语义发现机制来实现; 一在所述接收步骤中接收到的查询是自然语言的查询。 本发明进一步涉及计算机程序产品,适于执行本发明的方法的步骤;以及电子数据处理系统,包括适于执行本发明的方法的步骤的代码装置.


通过阅读下面仅作为示例给出、并且参考示例和附图(单一图)的对 本发明的实施例的详细描述,本发明的其它特征和优点将变得显而易见, 其中,所述附图示出了本发明的方法的一个实施例的步骤和組件。
具体实施方式
本发明的基本想法是产生服务的唯一语义引用,以便有助于搜索服务和减少该搜索所用的时间。由此,本发明提出一种web服务引用,其聚合为初始异构的(即所述服务的至少两个具有不同描述)唯一元模型语义描述。该唯一语义服务描^b模型因此规定相同语义描,式将被用于所述服务的每一个。搜索对应于语义请求的服务被捉进和缩短,因为其被缩减为在包含有用语义信息的唯一引用中的搜索。以前,所述搜索通过咨询不 具有同构格式的^t语义描述来实现。这里使用改进了搜索性能的单一元模型,而不是借助于不同形式的语义描述提取有用信息。本发明的所述语义引用优选地通过l^作来结构化。"操作"是指例如 在UML中同名的那个的建模单元。这些操作的每一个都包括保证该操作的 特定web服务的操作的语义描述。更精确地说,在实践级,操作可以包括 web服务的公共处理功能的语义描述.这样的引用结构从其目的的角度证 明是有利的能够容易地发现具有4^人满意的处理性能的web服务。现在, 该意义上的语义查询将以接近所^艮务的要求操作的特征的方式(语义上 地)来表述。由此,根据目录中的各种操作,对所述引用进行结构化实现 了一致的、并且因此在最后的分析中更高效的对所述引用的搜索。该语义引用优选采取不具有任何指向外部的指针和引用的唯一文件 (其包含所述有用语义信息)的形式。于是,它是自充分的。因此,当程 序为处理查询而扫描所述引用时,不必要调用外部信息,所述外部信息例 如是所述引用可以指向的本体。这进一步改进了服务搜索的效率。在实践中,所述引用的一行例如可以专用于给定操作。应当指出,在适当的情况下,每当新服务被列入目录中时,所述引用 可以根据不同形式的语义描述被自动生成或更新。更详细地说,所述操作的每一个的语义描述可以例如包括与相关web 服务的目标、服务质量(QoS)和该服务的使用语境有关的信息。所述操 作可以包含对应于该语义信息的关键字以及与所述关键字相关的值或内
容。由该信息对向(subtend)的所述语义内容高效地定义了有用语义内 容。类似地,关于给定操作的引用的一行可以例如包含关于该操作的输入 参数和/或输出结果的信息,以便能够在较早阶段语义上描述该操作的特 征。与服务的目标、服务质量或使用语境有关的关键字可以进一步与语义 标签同样地被对待,其中,在适当情况下,所述语义标签可以还与操作的 输入^t或结果相关。这里,语义标签可以看作名字、 一组字符,或者更 一般地说是与数据项相关并且适于进一步语义上描述其特征的代码(例如, "语言"标签可以与被翻译web服务处理的数据相关),应当指出,在语 义上,该标签的值超越了可以直接从服务的(例如)标准WSDL描述提取 的那些。另一方面,这样的信息可以从服务的语义描迷或本体提取.在适当的情况下,诸如数据"类型"的其它信息可以被呈现,这里, 该"类型"可与服务的WSDL描述中呈现的具有同样名字的单元相比。应当指出,取决于如何要求语义上将查询与来自所述引用的服务相匹 配,可以设想多种形式的语义引用元模型。上文中给出的示例组成用于高 效结构化所迷语义元模型的许多方法。单一附图示出了本发明的方法的一个实施例的步骤和组件。参考该图,所涉及的组件如下-服务目录IO,列出各个web服务ll-14;-语义描述21 - 24的引用20,所述语义描述典型地在给定URL上可 以得到;-唯一语义引用的自动生成器30; -语义引用40本身; -语义发现机制50;-典型从PDA、计算机和移动电话等发送的语义请求60;以及 -对应于所述查询的服务的URL。在一个实施例中,上述组件IO、 20、 30在引用40的创建中涉及。
接下来描迷一种用于创建语义引用40的方法。为了概括,该方法与 自动创建过程比较,在所述自动创建过程期间,所有有用信息被从语义描 述21-24中提取出来.提取的信息然后被组织化、结构化并写入构成该 引用40的文件中。现在更详细地说正,皮讨论的描述21 一 24例如是经由服务目录10可 访问的。目录10例如是UDDI目录,其可以在适当的情况下包含指向在给 定地址可得的描述21-24 (—般为异构的)的链接或指针。例如,翻译服务的语义描述可以采取下面的形式(使用XML符号)<service name="Translation"> <uri:>http:〃my—host/services/TranslationService/Translator.asmx</uri> <s6m3ntics><clsss>. . .</class><subclassOf>.. .</subclassOf><partOf>. . ,/partOb<concspts>.. .</conc6pts><...> </semantics> <types></types> <operation name="Translate"> <jnput><param name="src—lang" type="string" semanticTag="langu3ge" /> <param name="destjang" type="string" semanticTag="language"7> <param name="text_to_tr" type="string" semanticTag="text" /></Jnput><output><result name="translated」ext" type="string" semanticTag-"text" /> </output> </operation> </s6rvic6>尽管该描述使用XML符号,但其不同于服务的简单XML描述。实际上, 如在本例中可见的,标签"semanticTag (语义标签)"这里添加了语义 信息(language (语言),text (文本)),所述语义信息趂越了^J艮务 的标准XML描述可以提取的.因此,上面的描述实际上是"语义的"描述。 由于引用40,所述语义信息将随后实现"语义的"查询到特定服务的匹配.另一方面,例如在服务的最初描述中呈现的用WSDL-S表迷的其它信
息对于所述语义引用的生成不是不可缺少的;这例如是指本体或所使用的 数据类型的引用、链接到与所述操作链接的前置条件或后置条件的信息等。 包含在所述最初描述中的信息因此被过滤,以《更调整语义引用40的内容 为正好对查询60有用的内容。从目录10中列出的所述服务的各个语义描述21 - 24中,主要语义信 息借助于专用分析器被提取出(步骤S300 ),所述专用分析器才艮据语义描 述21 - 24的类型净皮提前选出。提取的信息然后根据专用于语义引用40的唯一元模型被转换(步骤 S300 )和存储(步骤S400 )。然后它被放置在构成该引用40的文件中。 该文件例如可以采取下面的形式(referential name="Semantic Services Referential") <service n3m6="Tr3nsl3tor"><uri>http://my—host/services/TranslationService/Translator.asmx</url> <operation name="Translate"><semantics> main semantic concepts of the operation </semantics> </operation> </s6rvics><service name="RSS_Service"><url>http://other_host/www—serv/RSS_Service/RSS_Service.asmx</uri><operation name="GetTitles"> <semantics> main semantic concepts of the operation </semantics></operation> </service><service name="Traffic"> <ur1>http:〃another—host/inet_serv/TrafficService/Traffic.asmx</url> <operation name="Getlnfos"><semantics> main semantic concepts of the operation </semantics> </operation> </s6rvic6><service name=". . "> <url>. . .</url> <operation name="..."> <...> </referential>如在上面使用XML符号描述的例子中可见,语义引用40的文件由操
作(翻译、RSS服务、流量等)构造,每一个都包含特定web服务ll-14 的特定操作的语义描述("主要语义概念")。然而由于可理解性,所述 描述在本例中未作解释。特别地,目标、服务质量、使用语境、输入/输 出信息未被开发。然而,缩减为严格必要的每一个语义描述被完全包括在 所述引用中,所述引用采取不具有4壬何外部指针的文件的形式。同样的程序(生成器30)可以朝3殳计为实施创建所述引用40的所有 步骤S300-S400。尽管所述引用可以同时被构造或更新(即通过处理将在其中被引用的 所有web服务),所述引用可以相反在服务创建时或在其后不久"以批量 模式"(即离线)填入。当例如在查询之后涉及web服务搜索时,这可以 证明是有利的。实际上,本发明的所述语义引用可以通过将在下面描述的 简单过程响应于语义查询。该过程包括以下步骤。首先,接收(步骤S600 ) 并且语义上分析语义请求60,然后根据专用于引用40的元模型被转录。 随后是对对应于该查询的web服务11 — 14的操作的搜索(步骤S500 )。 由于该目的,引用40被询问,并且作出将所述查询(如所分析和转录的) "语义上"匹配(步骤S500 )于该引用中可用的语义信息的尝试。一旦服务操作已^Jl现(即已被语义上匹配于所述查询),则发出该 查询的用户可以例如被重定向到对应的URL 70 (步骤S700 )。可以因此 认为,在该阶段查询60已被处理。可以自然设想用于使发现可用服务的 其它装置,例如这些服务的组合(聚合),以产生用户将感知为匹配其初 始查询的唯一服务的新服务。所述查询的语义分析、其转录以及适当情况下对匹配的搜索S500可 以通过同一语义发现机制50来构造。该语义装置50优选用"集成"电子 数据处理工具来实现,其中,所述"集成"电子数据处理工具例如是包括 多个耦合的软件模块的助理或应用,所必漠块的每一个被分配了给定任务。 应当进一步指出,发现机制可以在客户机或服务器侧实现。对对应于所述语义查询的服务的搜索由这一事实来推动它在所述唯 一引用文件中实现.此外,假设后面的文件包含所有有用信息,则所迷语
义发现机制的执行只会更好和更快,尤其因为所述引用具有唯一的结构。 因此,响应时间与已知解决方案的相比非常短。实际上,不再必须从不同 形式的语义描述中提取有用信息来处理每一个语义查询。此外,为推动对"富,,文本的访问,该引用40可以净皮寻求提供语义 服务并使它们对其客户(内部或外部)可用的每一个运营商或服务提供商 访问。现在再次提到上面描述的、其中所述引用在创^J!艮务时或其后不久被 "以批量模式,,(或离线)填入的变体。在涉及web服务搜索时,该变体 是有利的。实际上,如上面所解释的,优选"实时地"发现web服务。因 此,优选所迷语义引用由服务的开发者在每次新服务创建时或其后不久更 新。因此,所述服务的初始语义描述到所述引用的唯一描述的转换可以在 该服务被创建时或其后不久被实现,而不是在搜索期间被完成。因此不在 该服务的发现时消耗对于所述描述的搜索时间和用于其转换的时间,因为 所述搜索机制基于唯一的引用工作,其效果是改进在所述服务的语义发现 时的响应时间和处理性能。在前述说明的所述"语义"方面提供了本领域的技术人员将能够容易 地确定的许多应用.例如,它意味着可以设想用自然语言表述的查询。已 知多种用于对自然语言文本的语义分析的技术。名词、它们各自的定义以 及它们之间的关系典型从所述查询中提取或推出。如在本领域中已知的, 词典和语法分析被用于此。查询可以从例如IP终端(移动电话、个人数字助理、掌上电脑等)的用户发出。可以设想其它变型,例如由于所述查 询的web服务的创建。为此目的,所述查询(例如是用自然语言表述)的 语义分析之后是根据该分析对web服务要求的标识,以及所述web服务最 后根据所标识的要求确定和排序.在适当的情况下, 一旦被排序,则可以 安朝卜(orchestrate),斤述web月良务。
权利要求
1.一种用于从多个web服务(11-14)中发现至少一个web服务的方法,所述多个web服务由不同形式或不同语言的各个语义描述进行描述,将被发现的服务必须构成包含语义信息的对给定查询的响应;所述方法特征在于包括以下步骤-从所述服务的描述开始,创建或更新语义引用(40),所述语义引用(40)根据唯一语义服务描述元模型聚合描述所述服务的语义信息;以及-当接收到查询时--根据所述唯一元模型,语义上分析并转录所述查询(S600);--然后询问(S500)所述唯一引用(40),用所述引用(40)中可用的语义信息寻求语义上与根据所述唯一元模型分析和转录的所述查询相匹配,以及由此识别构成对所述查询的响应的至少一个服务。
2. 根据权利要求l的方法,其中,所述引用(40)由操作来结构化, 所述操作每一个都包含特定web服务(11 - 14 )的操作的语义描述。
3. 根据权利要求2的方法,采取不具有任何指向该文件外部的指针 的文件的形式,所述文件例如包括每一个操作一行。
4. 根据权利要求3的方法,其中,所述操作的每一个的语义描述包 括关于以下的信息-相关的特定web服务(11-14)的操作的目标; —所述web服务(11 - 14 )的操作的服务质量;以及 -所述web服务(11-14)的操作的使用语境。
5. 根据权利要求2的方法,其中,所述操作的每一个的语义描述进 一步包括与输入和输出参数相关的语义信息。
6. 根据权利要求5的方法,其中,所述引用创建步骤包括以下步骤 -提供所述web服务(11-14)的异构语义描述(21-24);以及 -对于所述web服务(11-14)的每一个 -选择适于该服务(11 - 14 )的语义描述的类型的语法分析器; -借助于所述选择的语法分析器提取(S2QQ)语义描述特征;并 -根据所述唯一元模型转换(S300 )和存储(S400)这些语义描述特征。
7. 根据权利要求6的方法,其中,在提供所述web服务(11 - 14 ) 的异构语义描述(21 - 24 )的步骤中,当所述web服务被创建时提供后者。
8. 根据权利要求4的方法,进一步包括以下步骤 -接收(S600 )语义查询(60);-根据所^模型,语义上分析接收的查询并且转录该分析的结果; -使用所述转录的结果,在所述引用(40)中搜索(S500 ) web服务 (11-14)的操作。
9. 根据权利要求8的方法,其中,所述语义分析和转录步骤由语义 发现机制(50)实现。
10. 根据权利要求8的方法,其中,在所述接收步骤(S600)中接收 的所述查询(60)是采用自然语言的查询(60)。
11. 一种计算积^呈序产品,适于实现根据权利要求1到10中任一个 的方法的步骤。
12. —种电子数据处理系统,包括适于执行根据权利要求1到10中 任一个的方法的步骤的代码装置。
13. 包括唯一的web服务语义描i^L模型的web服务的语义引用(40) 的使用,以在多个web服务中自动发现至少一个web服务.
全文摘要
本发明涉及web服务(11-14)的语义引用(40),所述语义引用包括用于这些服务(11-14)的语义描述的唯一元模型。本发明还涉及创建所述语义引用(40)的方法(S300-S400)和用于根据语义请求(S500-S600)的web服务的语义发现的方法。本发明还涉及计算机程序产品和电子数据处理系统,所述电子数据处理系统包括适于实现本发明的方法的步骤的代码装置。
文档编号G06F17/30GK101149746SQ20071015351
公开日2008年3月26日 申请日期2007年9月20日 优先权日2006年9月21日
发明者P·拉尔韦 申请人:阿尔卡特朗讯公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1