论文部分内容阅读
摘要: 在当前的Web Service应用研究中,服务的查找筛选已成为研究的热点。Web服务发现的研究目标是检索效率和自动化程度的提高,语义描述和逻辑推理则是达到该目标的有效途径。本文介绍了语义Web服务,并提出了一种应用语义Web服务筛选算法的Web Service中间件模型,并对中间件模型的服务筛选过程用UML时序图表示,该模型提高了服务查找的查全率和查准率。
关键词: Web Service 服务筛选 OWL-S 中间件
1.引言
Web Service技术是最新的程序间协作交互技术,它因具有可描述、可发布、可查找、可调用、可组合等特性被广泛应用,而且它具有其他组件无法比拟的平台无关性。当前,随着XML技术在Web分布式计算环境中的应用,Web Service比CORBA、Java RMI和DCOM更加便利。
随着Web服务的不断发展,注册到UDDI上的服务越来越多,使得用户查找服务问题变得相对困难。目前主流的Web服务描述语言和查询手段是WSDL和UDDI。它们并没有很好地实现自动化和互操作的目标[1]。WSDL对服务的描述是基于语法的,描述能力有限,仅仅提供了Web服务的接口描述,不能提供对服务功能和行为上的描述。UDDI是一套基于Web的、分布式的、为Web服务提供的Web服务注册中心的实现标准规范,它包含一组使企业能将自身提供的Web服务注册以使得别的企业能够发现的访问协议的实现标准,并且提供了一组基于标准的规范,用于描述和发现服务。但是它同样不能表达服务的用途和能力,而且它对服务的搜索是基于字符串的[2],因此,可能查询到的服务有很多是不符合服务请求者的要求。
为了解决这一问题,本文提出了一种基于语义Web服务筛选的中间件模型,该模型利用了基于语义的服务筛选算法,对服务进行有效筛选,从而使用户得到相对精确的Web服务。同时,对整个模型的筛选流程进行了UML建模。
2.基于语义的Web服务筛选的匹配
2.1匹配思想
当服务请求者在UDDI搜索一个服务时,如果这个服务正好就是用户所要求的服务,这种情况就成为完全匹配。但是一般情况下,很难找到完全满足用户要求的服务,更多情况是搜索引擎搜索到大量类似用户需求的服务。这是因为注册的服务和请求的描述是不精确的,因此,对于搜索到的类似的服务,就应该通过定义服务的相似度[3]来选择相对更加精确的服务,那么,匹配的关键就聚焦在如何定义这种相似程度上。
对于OWL本体定义而言,它定义每个类都有一个共同的祖先类“OWL:Thing”,类与类之间构成了一棵以“OWL:Thing”为根的类层次树,描述了类之间包含关系。基于语义的Web服务筛选算法SWSFA(Semantics-based Web Services Filter Algorithm)的匹配思想如下:
Exact match:(request.input=register.output)最高程度的匹配。当两种描述完全相等的情况下,这种情况才能发生。如图1所示,服务提供者注册了Sedan,如果用户请求的服务是Sedan,这种情况是完全相同的,即exactmatch。
Full match:(request.input Part match:(request.input>register.output),当提供者不能完全满足请求,产生部分匹配,即服务是请求的子集。如图1,Car请求和Sedan服务间的匹配,Car是Sedan的父集。
Outer match:(request.input(register.output)服务和请求间没有任何的包含关系,外部匹配发生。
据此可设计语义筛选函数selectJudge( ),根据请求服务与注册服务的输入/输出参数之间的语义关系,返回不同的数值,用于表示两者的匹配程度(返回值越小,越匹配;返回4表示完全不匹配)。
SelectJudge(req,reg)
switch(relation(req,reg)){
casereq≡reg:return 1;break;
casereg casereq casereq∝reg:return 4;break;
}
2.2 基于语义的服务筛选过程框图
基于语义的服务筛选原型图如图2所示,本体数据库中存放了领域本体OWL本体,包括类层次关系等信息,是本体对外的接口;注册中心登记了大量用OWL描述的服务,是存放注册服务语义信息的容器;服务发现引擎则应用服务筛选算法,根据用户的请求,以本体库中选定的本体为基础、以OWL-S为描述框架在注册中心进行搜索,返回匹配请求的服务id。最后将筛选的结果返回给用户。
3. 运用该算法思想的中间件模型及其流程建模
3.1 中间件模型结构
一般情况下,UDDI分为两类:(1)基于Internet的全局商务注册UDDI服务器;(2)基于Intranet的企业局部商务注册UDDI服务器。无论是全局商务注册UDDI,还是企业局部商务注册UDDI,用户都必须手工访问每一个查询的Web Service看是否满足自己的要求。因为这种查询的Web Service结果只提供注册的Web Service的简单说明,不能说明它们是否能够真正达到用户的目的,而且也不知道这些注册的Web Service当前的状态[4]。
基于Agent的Web Service中间件可以接受多用户的需求,将之传递给UDDI服务器。但它可以对UDDI服务器的查询结果进行筛选,具体筛选过程由Web Service Agent服务器调用SWSFA来完成,然后中间件自动根据Web Service的WSDL信息生成合适的随机值,这些随机值与Web Service的操作参数相对应。中间件根据这些随机值调用Web Service执行,从而向用户提供Web Service的执行结果,以便用户进一步判断是否是自己所需要的服务。经过二次筛选后的Web Service的数量大大减少,查找到的准确度也有所提高。图2为该Web Service中间件模型。
3.2 OWL与UDDI的结合
UDDI注册中心使用的核心信息模型由XML Schema定义。XML Schema定义了商业实体信息、服务信息、绑定信息和技术规范信息四种主要的信息类型。
其中,技术规范信息主要是作为描述一种技术规范的机制存在的。一个技术规范信息是描述UDDI注册中心中各种商业、服务和模板结构的一种方式[5]。技术规范信息结构用来描述与某一规范、概念或共享设计的兼容性,任何抽象的概念都可以在UDDI注册中心以一个技术规范信息的形式进行登记。在此中间件模型中,采用技术规范信息的方法对UDDI层进行语义方面的扩展会非常方便,并且与现行的标准的UDDI注册中心不产生冲突,包含语义的Web服务注册信息可以方便地保存在UDDI注册中心,不需要对原有的架构进行大的调整,发现技术也可以通过UDDI注册中心找到特定的技术规范信息,从而打开其中封装的语义编码。当一个新的技术规范信息被注册到UDDI中心后,它的类型便被归类到UDDI分类框架中。本体库中存放了领域OWL本体,包括层次关系等信息。该中间件模型中的服务筛选引擎应用上述SWSFA算法,根据用户请求,以本体库中选定的本体为基础、以OWL-S为描述框架进行筛选,返回匹配请求的id。
3.3 中间件模型各组件间的UML流程表示
中间件模型的整个Web服务的二次筛选过程可用UML时序图表示,可以使整个的执行过程清楚明了,如图4所示。
首先用户向Web Service控制器提出服务查询请求,Web Service控制器再将用户请求封装成SOAP消息传送给UDDI,UDDI根据接收的SOAP消息搜索服务,看有哪些服务符合用户请求,然后将结果暂存到Web Service Cache中,Web Service控制器再把相关信息传给Web Service Agent服务器。Web Service Agent服务器通过服务筛选引擎调用算法对查询到的服务进行二次筛选,服务筛选引擎所接受的查询请求转换而成的服务筛选引擎内部筛选语句,由筛选模块给服务筛选引擎,根据此智能查询请求,服务筛选引擎应用内建规则对本体内部的表达模式进行推理和筛选,返回相应的筛选结果给筛选模块。结果整合模块对结果集进行变形和整合,最后将筛选到的每一个服务生成对应的Web Service Agent,Web Service Agent根据服务访问接口查找服务操作并把相关信息写入到规则库中。Web Service Agent服务器将每一个Web Service Agent的执行结果取出来传给Web Service控制器,然后返回给用户。
4. 结语
基于UDDI的Web Service的搜索,给很多用户带来了便利。本文在此基础上结合了Agent和语义Web等思想,使用了一种基于语义的Web服务筛选算法,该算法基于语义进行服务筛选,一定程度上克服了传统服务发现机制的缺陷,并可以提高Web Service服务的性能和效率。利用该算法设计的中间件模型可以对注册的Web服务进行二次筛选,使得Web Service能够向用户提供动态和更加有效的结果,引入Agent后的Web Service也使得系统的集成更加便利。
参考文献:
[1]马应龙.基于进化分布式本体的语义Web服务动态发现[J].计算机学报,2005,28(4):603-614.
[2]LI LEI,HORROCKS I.A software framework for matchmaking based on semantic web technology[C].Proceedings of International WWW Conference,Budapest,Hungary,2003.
[3]PAOLUCCIM,KAWAMURA T,PAYNE T R,SYCARA K.Semantic Matching of Web Services Capabilities.In the Proceedings of First International Semantic Web Conference (ISWC 2002)[J].IEEE,2002,(3):333-347.
[4]NOH-SAM PARK,GIL-HAENG LEE.Agent-based web services middleware[A]. Global Telecommuni-cations Conference,GLOBECOM’03[C].IEEE,2003,6:3186-3190.
[5]柴晓路.tModel的用途及结构详解[EB/OL].2001[2006-07-15].http://www-128.ibm.com/developerworks/cn/webservices/ws-tmodel/part/index.shtml.
关键词: Web Service 服务筛选 OWL-S 中间件
1.引言
Web Service技术是最新的程序间协作交互技术,它因具有可描述、可发布、可查找、可调用、可组合等特性被广泛应用,而且它具有其他组件无法比拟的平台无关性。当前,随着XML技术在Web分布式计算环境中的应用,Web Service比CORBA、Java RMI和DCOM更加便利。
随着Web服务的不断发展,注册到UDDI上的服务越来越多,使得用户查找服务问题变得相对困难。目前主流的Web服务描述语言和查询手段是WSDL和UDDI。它们并没有很好地实现自动化和互操作的目标[1]。WSDL对服务的描述是基于语法的,描述能力有限,仅仅提供了Web服务的接口描述,不能提供对服务功能和行为上的描述。UDDI是一套基于Web的、分布式的、为Web服务提供的Web服务注册中心的实现标准规范,它包含一组使企业能将自身提供的Web服务注册以使得别的企业能够发现的访问协议的实现标准,并且提供了一组基于标准的规范,用于描述和发现服务。但是它同样不能表达服务的用途和能力,而且它对服务的搜索是基于字符串的[2],因此,可能查询到的服务有很多是不符合服务请求者的要求。
为了解决这一问题,本文提出了一种基于语义Web服务筛选的中间件模型,该模型利用了基于语义的服务筛选算法,对服务进行有效筛选,从而使用户得到相对精确的Web服务。同时,对整个模型的筛选流程进行了UML建模。
2.基于语义的Web服务筛选的匹配
2.1匹配思想
当服务请求者在UDDI搜索一个服务时,如果这个服务正好就是用户所要求的服务,这种情况就成为完全匹配。但是一般情况下,很难找到完全满足用户要求的服务,更多情况是搜索引擎搜索到大量类似用户需求的服务。这是因为注册的服务和请求的描述是不精确的,因此,对于搜索到的类似的服务,就应该通过定义服务的相似度[3]来选择相对更加精确的服务,那么,匹配的关键就聚焦在如何定义这种相似程度上。
对于OWL本体定义而言,它定义每个类都有一个共同的祖先类“OWL:Thing”,类与类之间构成了一棵以“OWL:Thing”为根的类层次树,描述了类之间包含关系。基于语义的Web服务筛选算法SWSFA(Semantics-based Web Services Filter Algorithm)的匹配思想如下:
Exact match:(request.input=register.output)最高程度的匹配。当两种描述完全相等的情况下,这种情况才能发生。如图1所示,服务提供者注册了Sedan,如果用户请求的服务是Sedan,这种情况是完全相同的,即exactmatch。
Full match:(request.input
Outer match:(request.input(register.output)服务和请求间没有任何的包含关系,外部匹配发生。
据此可设计语义筛选函数selectJudge( ),根据请求服务与注册服务的输入/输出参数之间的语义关系,返回不同的数值,用于表示两者的匹配程度(返回值越小,越匹配;返回4表示完全不匹配)。
SelectJudge(req,reg)
switch(relation(req,reg)){
casereq≡reg:return 1;break;
casereg
}
2.2 基于语义的服务筛选过程框图
基于语义的服务筛选原型图如图2所示,本体数据库中存放了领域本体OWL本体,包括类层次关系等信息,是本体对外的接口;注册中心登记了大量用OWL描述的服务,是存放注册服务语义信息的容器;服务发现引擎则应用服务筛选算法,根据用户的请求,以本体库中选定的本体为基础、以OWL-S为描述框架在注册中心进行搜索,返回匹配请求的服务id。最后将筛选的结果返回给用户。
3. 运用该算法思想的中间件模型及其流程建模
3.1 中间件模型结构
一般情况下,UDDI分为两类:(1)基于Internet的全局商务注册UDDI服务器;(2)基于Intranet的企业局部商务注册UDDI服务器。无论是全局商务注册UDDI,还是企业局部商务注册UDDI,用户都必须手工访问每一个查询的Web Service看是否满足自己的要求。因为这种查询的Web Service结果只提供注册的Web Service的简单说明,不能说明它们是否能够真正达到用户的目的,而且也不知道这些注册的Web Service当前的状态[4]。
基于Agent的Web Service中间件可以接受多用户的需求,将之传递给UDDI服务器。但它可以对UDDI服务器的查询结果进行筛选,具体筛选过程由Web Service Agent服务器调用SWSFA来完成,然后中间件自动根据Web Service的WSDL信息生成合适的随机值,这些随机值与Web Service的操作参数相对应。中间件根据这些随机值调用Web Service执行,从而向用户提供Web Service的执行结果,以便用户进一步判断是否是自己所需要的服务。经过二次筛选后的Web Service的数量大大减少,查找到的准确度也有所提高。图2为该Web Service中间件模型。
3.2 OWL与UDDI的结合
UDDI注册中心使用的核心信息模型由XML Schema定义。XML Schema定义了商业实体信息、服务信息、绑定信息和技术规范信息四种主要的信息类型。
其中,技术规范信息主要是作为描述一种技术规范的机制存在的。一个技术规范信息是描述UDDI注册中心中各种商业、服务和模板结构的一种方式[5]。技术规范信息结构用来描述与某一规范、概念或共享设计的兼容性,任何抽象的概念都可以在UDDI注册中心以一个技术规范信息的形式进行登记。在此中间件模型中,采用技术规范信息的方法对UDDI层进行语义方面的扩展会非常方便,并且与现行的标准的UDDI注册中心不产生冲突,包含语义的Web服务注册信息可以方便地保存在UDDI注册中心,不需要对原有的架构进行大的调整,发现技术也可以通过UDDI注册中心找到特定的技术规范信息,从而打开其中封装的语义编码。当一个新的技术规范信息被注册到UDDI中心后,它的类型便被归类到UDDI分类框架中。本体库中存放了领域OWL本体,包括层次关系等信息。该中间件模型中的服务筛选引擎应用上述SWSFA算法,根据用户请求,以本体库中选定的本体为基础、以OWL-S为描述框架进行筛选,返回匹配请求的id。
3.3 中间件模型各组件间的UML流程表示
中间件模型的整个Web服务的二次筛选过程可用UML时序图表示,可以使整个的执行过程清楚明了,如图4所示。
首先用户向Web Service控制器提出服务查询请求,Web Service控制器再将用户请求封装成SOAP消息传送给UDDI,UDDI根据接收的SOAP消息搜索服务,看有哪些服务符合用户请求,然后将结果暂存到Web Service Cache中,Web Service控制器再把相关信息传给Web Service Agent服务器。Web Service Agent服务器通过服务筛选引擎调用算法对查询到的服务进行二次筛选,服务筛选引擎所接受的查询请求转换而成的服务筛选引擎内部筛选语句,由筛选模块给服务筛选引擎,根据此智能查询请求,服务筛选引擎应用内建规则对本体内部的表达模式进行推理和筛选,返回相应的筛选结果给筛选模块。结果整合模块对结果集进行变形和整合,最后将筛选到的每一个服务生成对应的Web Service Agent,Web Service Agent根据服务访问接口查找服务操作并把相关信息写入到规则库中。Web Service Agent服务器将每一个Web Service Agent的执行结果取出来传给Web Service控制器,然后返回给用户。
4. 结语
基于UDDI的Web Service的搜索,给很多用户带来了便利。本文在此基础上结合了Agent和语义Web等思想,使用了一种基于语义的Web服务筛选算法,该算法基于语义进行服务筛选,一定程度上克服了传统服务发现机制的缺陷,并可以提高Web Service服务的性能和效率。利用该算法设计的中间件模型可以对注册的Web服务进行二次筛选,使得Web Service能够向用户提供动态和更加有效的结果,引入Agent后的Web Service也使得系统的集成更加便利。
参考文献:
[1]马应龙.基于进化分布式本体的语义Web服务动态发现[J].计算机学报,2005,28(4):603-614.
[2]LI LEI,HORROCKS I.A software framework for matchmaking based on semantic web technology[C].Proceedings of International WWW Conference,Budapest,Hungary,2003.
[3]PAOLUCCIM,KAWAMURA T,PAYNE T R,SYCARA K.Semantic Matching of Web Services Capabilities.In the Proceedings of First International Semantic Web Conference (ISWC 2002)[J].IEEE,2002,(3):333-347.
[4]NOH-SAM PARK,GIL-HAENG LEE.Agent-based web services middleware[A]. Global Telecommuni-cations Conference,GLOBECOM’03[C].IEEE,2003,6:3186-3190.
[5]柴晓路.tModel的用途及结构详解[EB/OL].2001[2006-07-15].http://www-128.ibm.com/developerworks/cn/webservices/ws-tmodel/part/index.shtml.