论文部分内容阅读
摘要:网络服务发现的过程是匹配的服务请求与广告服务,检索相关服务请求。服务发现过程可以更有效的利用语义规格的服务。OWL-S提供标准语义指定的服务,在服务的发现可以通过能力匹配。考虑到结构层次匹配操作,在控制流组件可以用来发现过程更可靠。在本文中我们提出匹配标准结合的能力匹配和结构层次匹配。服务分类的基础上的能力,是为能力匹配和结构层次匹配的基础上进行结构的业务服务。
关键词:语义Web服务;OWL-S;Web服务发布;Web服务发现
中图分类号:TP319 文献标识码:A 文章编号:1007-9599 (2012) 21-0000-03
1 引言
Web服务是可以通过互联网进行描述、发布、定位和调用的独立的模块化应用程序[4]。Web服务发现是根据Web服务描述和服务请求者指定的功能和非功能要求,查找相关服务的一种机制[14]。今天,大多数网络服务通过OWL-S、WSDL-S等各种方法标记Web服务的语义,实现语义Web服务发现。
OWL-S [3]的前身为DAML-S,是一个OWL本体,包含有profile、process model和grounding等3个子本体。Profile model说明什么服务,process model描述它是如何工作的,grounding则把process model映射WSDL文件。基于OWL-S的服务发现需要进行能力匹配,把广告服务的能力与请求服务的需求相匹配,但这些不区分原子服务和组合服务的能力匹配算法,降低了结果的准确性。文献[1]提出了一种组合服务的匹配算法,用一个图表示复合OWL - S过程,在个体服务层次和结构层次都进行比较。开展的是服务模型的匹配,而不是服务profile的匹配,其中包括复合服务的结构部分[8,10]。
本文综合使用能力匹配和结构层次匹配,设计了一个broker架构的网络服务发现系统。Web服务的操作用2个数据结构存储:服务分类树(SCT)和操作序列图(OSG),前者存储输入/输出参数,后者存储操作中的控制流。对每个Web服务来说,SCT根据服务分类进行更新,OSG图的索引是由每个分类生成的唯一ID号。服务发现过程包括2个层次匹配:在SCT上的能力匹配和已匹配分类图的结构层匹配。
2 相关研究
文献[4] 通过语义标记方法设计了一种Web服务自动发现技术。这种标记可以实现Web服务自动发现、执行、组合和互操作[9]。文献[5]给出了一种扩展WSDL方法。本文把DAML+OIL本体加入到WSDL中。基于I/O参数、先决条件和影响的功能和语义相似度进行匹配。文献[2]描述了基于语义分类方法,其中Web服务可以和任何描述语言绑定。这个过程包括:Web服务的语义分类,基于服务再定义的发现关联模式的参数,以及基于匹配的语义相似度。
文献[11,12 ]描述Web服务的功能语义方法,提供动态Web服务发现,其中的Web服务和功能请求用功能语义格式描述。创建一个面向领域的功能本体提供了异质性,为了自动匹配服务和请求,设计了一个匹配算法。文献[13]通过扩展功能知识,把请求操作描述或发布操作描述映射到一个抽象操作,提出了一种描述Web服务的功能语义。通过评估结构层的服务,可以设计一个更高效的服务发现方法。文献[6]就通过把服务操作转换成图的手段,设计了一种方法。文献[7]设计了一种树结构来存储服务,提出了一个等级组织的服务发现方法。
3 Web服务发现系统
3.1 基于代理的体系结构
我们设计了一种基于代理架构的有效和高效的服务发现方法。在服务提供者和服务请求者之间的代理的行为,可以让服务提供者能够发布服务,让服务请求者指定需求,并执行他们之间的匹配工作,找出与需求匹配的服务。图1描述了这种架构。
为了找到一种支持高效发现服务的存储Web服务操作,我们设计了2种数据结构:服务索引树(SCT)和操作序列图(OSG)。
—服务索引树:SCT用来存储服务的能力明细。服务以基于索引的层次顺序组织,其中节点存储每个服务的详细I/O参数,为了能力匹配。每个节点包括6个字段:
操作序列图:OSG存储一个服务中各种操作的控制流的详细结构信息。每个原子操作有一个唯一的标识符(op-id),通过各种控制结构,可以把原子操作和复合操作链接成复合操作。OSG图包含若干类型的顶点,Op顶点表示操作节点,Cp顶点表示条件参数节点,S表示起始节点用来存储分类标志符,E表示终结节点,带有指针指向匹配的服务名字集合,这些服务名字都存储在Web服务列表。每个操作节点同时存储I/O参数值,条件参数节点存储条件值,并且有2个指针分别指向条件为真和为假两种情况。
3.2 Web服务发布
服务提供者向代理提供OWL-S profile模型,Web服务发布过程如下:
(1)服务代理为每一个服务生成唯一的标识符,把它存储在Web服务列表,处理Profile模型,获得服务类别、I/O参数和过程模型详细信息。
(2)服务分类映射到相应的领域本体,并从SCT中选出匹配的分类
(3)基于服务的I/O参数修改SCT。使用推理机匹配一个服务和一个分类。如果服务包含新的参数值,就创建子分类,存储相应的I/O值,并检索出分类标识符ctg-id。
(4)检索过程模型,提取其中的操作,并为每一个基于I/O参数和操作名的操作生成唯一的操作标识符。
(5)基于操作标识符和控制结构,生成带有分类标识符ctg-id的OSG,存储到起始节点。
3.3 Web服务发现
Web服务发现过程如下所示。
(1)预处理服务请求,提取分类详细信息,I/O参数和操作序列 (2)从领域本体中获取SCT的特定分类,在子分类上匹配I/O参数,提取匹配的分类标识符
(3)创建带有特定分类标识符的图,并以图的格式表示出请求的操作
(4)查找出匹配的服务集,其中节点基于I/O参数、操作id和条件值。
4 实现与实验
匹配算法用Java语言实现,使用OWL-S API解析OWL-S描述文件。本文设计的服务发现系统采用OWL-S TC4环境中描述的原子服务,结合6中控制结构构建复合服务。采用Protégé编辑器编辑服务的过程模型。
服务匹配度可以通过推理机计算出来,推理机提供了多种匹配值,如EXACT,PLUGIN,SUBUMES,FAIL等。基于推理机返回的这些值,发现最大匹配的分类,它的内部操作结构也基于请求图Gr和服务图Gs的通用图属性匹配出来,
5 结论
本文提出了一个基于体系结构的Web服务发布和发现代理。为了更快地发现所需服务,在发布阶段先预处理服务信息,把能力详细信息保存在SCT中,把结构详细信息保存在OSF。服务分类提供了更快的服务匹配方法,图有助于找出复合服务的内部结构,从而找到相关服务。
参考文献:
[1]Cuzzocrea, A., Fisichella, M.: A Flexible Graph-based Approach for Matching Composite Semantic Web Services. In: LWDM (2011)
[2]Paliwal, A.V., Shafiq, B., Vaidya, J., Xiong, H., Adam, N.: Semantic Based Automated Service Discovery. IEEE Transaction (2011)
[3]Martin, D., Paolucci, M., McIlraith, S., Burstein, M., McDermott, D., McGuinness, D.L., Parsia, B., Payne, T.R., Sabou, M., Solanki, M., Srinivasan, N., Sycara, K.: Bringing Semantics to Web Services: The OWL-S Approach. In: Cardoso, J., Sheth, A.P. (eds.) SWSWPC 2004. LNCS, vol. 3387, pp. 26–42. Springer, Heidelberg (2005)
[4]Mcllarith, S.A., Martin, D.L.: Bringing Semantics to Web Services. IEEE Intelligent Systems (2003)
[5]McIlarith, S.A., Son, T.C., Zeng, H.: Semantic Web Services. IEEE Intelligent Systems (2001)
[6]Bellur, U., Kulkarni, R.: Improved matchmaking algorithm for semantic Web Services based on bipartite graph matching. In: ICWS (2007)
[7]D’ Mello, D.A., Ananthanarayana, V.S.: A Tree structure for efficient Web Service discovery. In: ICETET (2009)
[8]Li, L., Horrocks, I.: A Software Framework for Matchmaking Based on Semantic Web Tecnology. In: ACM, WWWC (2003)
[9]Mandell, D.J., McIlraith, S.A.: Adapting BPEL4WS for the Semantic Web: The Bottom-Up Approach to Web Service Interoperation. In: Fensel, D., Sycara, K., Mylopoulos, J.(eds.) ISWC 2003. LNCS, vol. 2870, pp. 227–241. Springer, Heidelberg (2003)
[10]Di Noia, T., Di Sciacio, E., Donini, F.M., Mongiello, M.: Semantic Matchmaking in a P-2-P Electronic Marketplace. In: SAC 2003, pp. 582–586 (2003)
[11]Ye, L., Zhang, B.: Web Service discovery based on functional semantics. In: Second International Conference on Semantics, Knowledge and Grid. IEEE (2006)
[12]Ye, L., Zhang, B.: Discovering Web Services based on functional semantics. In: IEEE Asia-Pacific Conference on Service Computing, Liaoning. IEEE (2007)
[13]D’ Mello, D.A., Ananthanarayana, V.S.: Effective Web Service Discovery Based on Functional Semantics. In: IEEE International Conference on Advances in Computing, Control and Telecommunication Technologies (2009)
[14]Kreger, H.: Web Service Conceptual Architecture (WSCA 1.0), http://www.ibm.com/software/solutions/webservices/pdf/wsca
关键词:语义Web服务;OWL-S;Web服务发布;Web服务发现
中图分类号:TP319 文献标识码:A 文章编号:1007-9599 (2012) 21-0000-03
1 引言
Web服务是可以通过互联网进行描述、发布、定位和调用的独立的模块化应用程序[4]。Web服务发现是根据Web服务描述和服务请求者指定的功能和非功能要求,查找相关服务的一种机制[14]。今天,大多数网络服务通过OWL-S、WSDL-S等各种方法标记Web服务的语义,实现语义Web服务发现。
OWL-S [3]的前身为DAML-S,是一个OWL本体,包含有profile、process model和grounding等3个子本体。Profile model说明什么服务,process model描述它是如何工作的,grounding则把process model映射WSDL文件。基于OWL-S的服务发现需要进行能力匹配,把广告服务的能力与请求服务的需求相匹配,但这些不区分原子服务和组合服务的能力匹配算法,降低了结果的准确性。文献[1]提出了一种组合服务的匹配算法,用一个图表示复合OWL - S过程,在个体服务层次和结构层次都进行比较。开展的是服务模型的匹配,而不是服务profile的匹配,其中包括复合服务的结构部分[8,10]。
本文综合使用能力匹配和结构层次匹配,设计了一个broker架构的网络服务发现系统。Web服务的操作用2个数据结构存储:服务分类树(SCT)和操作序列图(OSG),前者存储输入/输出参数,后者存储操作中的控制流。对每个Web服务来说,SCT根据服务分类进行更新,OSG图的索引是由每个分类生成的唯一ID号。服务发现过程包括2个层次匹配:在SCT上的能力匹配和已匹配分类图的结构层匹配。
2 相关研究
文献[4] 通过语义标记方法设计了一种Web服务自动发现技术。这种标记可以实现Web服务自动发现、执行、组合和互操作[9]。文献[5]给出了一种扩展WSDL方法。本文把DAML+OIL本体加入到WSDL中。基于I/O参数、先决条件和影响的功能和语义相似度进行匹配。文献[2]描述了基于语义分类方法,其中Web服务可以和任何描述语言绑定。这个过程包括:Web服务的语义分类,基于服务再定义的发现关联模式的参数,以及基于匹配的语义相似度。
文献[11,12 ]描述Web服务的功能语义方法,提供动态Web服务发现,其中的Web服务和功能请求用功能语义格式描述。创建一个面向领域的功能本体提供了异质性,为了自动匹配服务和请求,设计了一个匹配算法。文献[13]通过扩展功能知识,把请求操作描述或发布操作描述映射到一个抽象操作,提出了一种描述Web服务的功能语义。通过评估结构层的服务,可以设计一个更高效的服务发现方法。文献[6]就通过把服务操作转换成图的手段,设计了一种方法。文献[7]设计了一种树结构来存储服务,提出了一个等级组织的服务发现方法。
3 Web服务发现系统
3.1 基于代理的体系结构
我们设计了一种基于代理架构的有效和高效的服务发现方法。在服务提供者和服务请求者之间的代理的行为,可以让服务提供者能够发布服务,让服务请求者指定需求,并执行他们之间的匹配工作,找出与需求匹配的服务。图1描述了这种架构。
为了找到一种支持高效发现服务的存储Web服务操作,我们设计了2种数据结构:服务索引树(SCT)和操作序列图(OSG)。
—服务索引树:SCT用来存储服务的能力明细。服务以基于索引的层次顺序组织,其中节点存储每个服务的详细I/O参数,为了能力匹配。每个节点包括6个字段:
操作序列图:OSG存储一个服务中各种操作的控制流的详细结构信息。每个原子操作有一个唯一的标识符(op-id),通过各种控制结构,可以把原子操作和复合操作链接成复合操作。OSG图包含若干类型的顶点,Op顶点表示操作节点,Cp顶点表示条件参数节点,S表示起始节点用来存储分类标志符,E表示终结节点,带有指针指向匹配的服务名字集合,这些服务名字都存储在Web服务列表。每个操作节点同时存储I/O参数值,条件参数节点存储条件值,并且有2个指针分别指向条件为真和为假两种情况。
3.2 Web服务发布
服务提供者向代理提供OWL-S profile模型,Web服务发布过程如下:
(1)服务代理为每一个服务生成唯一的标识符,把它存储在Web服务列表,处理Profile模型,获得服务类别、I/O参数和过程模型详细信息。
(2)服务分类映射到相应的领域本体,并从SCT中选出匹配的分类
(3)基于服务的I/O参数修改SCT。使用推理机匹配一个服务和一个分类。如果服务包含新的参数值,就创建子分类,存储相应的I/O值,并检索出分类标识符ctg-id。
(4)检索过程模型,提取其中的操作,并为每一个基于I/O参数和操作名的操作生成唯一的操作标识符。
(5)基于操作标识符和控制结构,生成带有分类标识符ctg-id的OSG,存储到起始节点。
3.3 Web服务发现
Web服务发现过程如下所示。
(1)预处理服务请求,提取分类详细信息,I/O参数和操作序列 (2)从领域本体中获取SCT的特定分类,在子分类上匹配I/O参数,提取匹配的分类标识符
(3)创建带有特定分类标识符的图,并以图的格式表示出请求的操作
(4)查找出匹配的服务集,其中节点基于I/O参数、操作id和条件值。
4 实现与实验
匹配算法用Java语言实现,使用OWL-S API解析OWL-S描述文件。本文设计的服务发现系统采用OWL-S TC4环境中描述的原子服务,结合6中控制结构构建复合服务。采用Protégé编辑器编辑服务的过程模型。
服务匹配度可以通过推理机计算出来,推理机提供了多种匹配值,如EXACT,PLUGIN,SUBUMES,FAIL等。基于推理机返回的这些值,发现最大匹配的分类,它的内部操作结构也基于请求图Gr和服务图Gs的通用图属性匹配出来,
5 结论
本文提出了一个基于体系结构的Web服务发布和发现代理。为了更快地发现所需服务,在发布阶段先预处理服务信息,把能力详细信息保存在SCT中,把结构详细信息保存在OSF。服务分类提供了更快的服务匹配方法,图有助于找出复合服务的内部结构,从而找到相关服务。
参考文献:
[1]Cuzzocrea, A., Fisichella, M.: A Flexible Graph-based Approach for Matching Composite Semantic Web Services. In: LWDM (2011)
[2]Paliwal, A.V., Shafiq, B., Vaidya, J., Xiong, H., Adam, N.: Semantic Based Automated Service Discovery. IEEE Transaction (2011)
[3]Martin, D., Paolucci, M., McIlraith, S., Burstein, M., McDermott, D., McGuinness, D.L., Parsia, B., Payne, T.R., Sabou, M., Solanki, M., Srinivasan, N., Sycara, K.: Bringing Semantics to Web Services: The OWL-S Approach. In: Cardoso, J., Sheth, A.P. (eds.) SWSWPC 2004. LNCS, vol. 3387, pp. 26–42. Springer, Heidelberg (2005)
[4]Mcllarith, S.A., Martin, D.L.: Bringing Semantics to Web Services. IEEE Intelligent Systems (2003)
[5]McIlarith, S.A., Son, T.C., Zeng, H.: Semantic Web Services. IEEE Intelligent Systems (2001)
[6]Bellur, U., Kulkarni, R.: Improved matchmaking algorithm for semantic Web Services based on bipartite graph matching. In: ICWS (2007)
[7]D’ Mello, D.A., Ananthanarayana, V.S.: A Tree structure for efficient Web Service discovery. In: ICETET (2009)
[8]Li, L., Horrocks, I.: A Software Framework for Matchmaking Based on Semantic Web Tecnology. In: ACM, WWWC (2003)
[9]Mandell, D.J., McIlraith, S.A.: Adapting BPEL4WS for the Semantic Web: The Bottom-Up Approach to Web Service Interoperation. In: Fensel, D., Sycara, K., Mylopoulos, J.(eds.) ISWC 2003. LNCS, vol. 2870, pp. 227–241. Springer, Heidelberg (2003)
[10]Di Noia, T., Di Sciacio, E., Donini, F.M., Mongiello, M.: Semantic Matchmaking in a P-2-P Electronic Marketplace. In: SAC 2003, pp. 582–586 (2003)
[11]Ye, L., Zhang, B.: Web Service discovery based on functional semantics. In: Second International Conference on Semantics, Knowledge and Grid. IEEE (2006)
[12]Ye, L., Zhang, B.: Discovering Web Services based on functional semantics. In: IEEE Asia-Pacific Conference on Service Computing, Liaoning. IEEE (2007)
[13]D’ Mello, D.A., Ananthanarayana, V.S.: Effective Web Service Discovery Based on Functional Semantics. In: IEEE International Conference on Advances in Computing, Control and Telecommunication Technologies (2009)
[14]Kreger, H.: Web Service Conceptual Architecture (WSCA 1.0), http://www.ibm.com/software/solutions/webservices/pdf/wsca