陈 磊,吴海波
(淮南师范学院 计算机与信息工程系,安徽 淮南232001)
利用Topic-Group构建Web服务
陈 磊,吴海波
(淮南师范学院 计算机与信息工程系,安徽 淮南232001)
针对传统Web服务机制的注册集中、标注语义缺乏和自动处理困难的问题,提出了一种基于主题组(Topic-Group)的 Web服务机制;以基于超节点的peer-to-peer作为网络架构,OWL-S/UDDI作为服务注册平台,用语义Web服务技术对传统的Web服务机制进行了改进。研究表明,模型提高了Web服务的注册、发现和匹配的自动化处理能力。
主题组;Peer-to-Peer;Web服务;OWL-S
Web服务机制改变了传统互联网的应用方式,提供了一个独立于系统的、跨平台的应用程序之间互操作机制。通过程序之间的数据交互,用户可以获取便捷、快速甚至是智能的信息服务。传统的Web服务模型如图1所示:
图1 Web服务模型
然而,当前的Web服务机制的注册、发现与整合对于用户而言存在着一些亟待解决的问题,主要有两点
(1)集中式的Web服务注册与管理。目前的一些商家例如IBM、Microsoft、SAP、HP等提供了一些服务注册平台,从某种程度上部分解决了上述问题,然而对于一般用户所需求的服务自动注册、发现与整合仍然存在着很大的差距。
(2)Web服务内容的描述缺乏语义。用户的服务查询与整合往往是从服务的功能(capabilities)上而不是从语法(syntax)上描述的,而传统的Web服务的注册与发现都是基于关键词的。基于关键词的服务机制不能准确地描述服务本身,而且也不支持基于服务的推理(这在服务的发现与整合中显得非常重要),从而无法实现未来互联网所需要的自动Web服务处理。
本文从这两个角度出发,提出了一种基于超节点的Peer-to-Peer机制的 Web服务架构的模型,其特点在于:使用了带有超级节点的Peer-to-Peer(以下简称P2P)网络结构;通过“二次握手”将服务发现过程分解成两个阶段,使得服务的查询与发现有针对性;各个主题组(Topic-Group)是自由组建的,对服务提供者(Provider)和请求者(Requester)是透明不可见的;各个节点之间没有控制功能,只在逻辑上建立一种“主题同组”的联系,便于服务的注册与发现。
P2P网络具有灵活的自主控制优势,因而非常适合未来互联网上一些应用(如 Social Networks)[5]。节点(peers)可以通过两种方式接入到网络,一种是完全自主地接入到一个大的网络中,这种方式构成的网络称为纯的P2P网络(pure P2PNetworks);另一种方式是,节点首先加入到一个以某个或某些具有良好计算功能或存储功能的超节点(super peers)为中心的子网络中,子网再通过超节点之间的互联组成一个庞大的网络,我们称该种形式的网络为带有超节点的P2P网络(super-based P2PNetworks),其结构如图2所示。实践表明,带有超级节点的P2P网络不仅在其信息的发布、传输方式上,而且在管理控制上都占有明显的优势[1]。
图2 基于Topic-Group的P2P网络结构
节点之间可以按照多种策略进行组合,由于在Web服务中,常以服务主题(Service Topic)和服务的类别作为服务发现的依据,因而,本文采用服务主题作为节点之间聚合(clustering)的标准,并称这种网络结构为“基于Topic-Group的P2P架构”。一个主题组(Topic-Group Network,以下简称TGN)是指一组具有相同主题的服务供应或服务查询的节点,它们以星型结构连接在一个或一组超级节点上。简便起见,我们假定一个TGN有且只有一个超级节点,其网络结构如图2所示。在这种网络中,节点之间的通信分为两种,一种是一个TGN内部节点之间的服务请求与响答;另一种是TGN之间的节点之间的服务与响答。对于第一种通信来说,节点之间的信息传递无需向TGN外部传送就能实现服务的响应,而第二种的信息传递也只发生在少数几个TGN之间,由于与服务主题无关的TGN不会参与信息的传递,这样大大减少了网络负载。
一个具有主题τ的主题组TGN采用如下的形式进行定义:
其中,pi是组中的一般节点,而s代表着组中唯一的超节点,N代表TGN的物理网络,link(pi,s,τ)是指在一个τ主题的TGN中,节点pi与超节点s之间存在着一条连接。
基于上述定义,我们给出几个操作的描述:
①Join(pi,τ):表示将节点pi加入到以τ为主题的TGN中。
②Leave(pi,τ):表示将节点pi从以τ为主题的TGN中移出。
③ Match(ϑ,τ):表示一个以服务发布者的一个服务主题ϑ与τ的匹配,其中,0≤Match(ϑ,τ)≤1。
在Web服务机制中,匹配过程非常重要。例如在本文研究的背影下,匹配发生在三个场合下:服务提供者在发布Web服务时,需要判断将信息发布在哪个超节点上,这发生在Join(pi,τ)操作执行的时候;服务请求者在请求一个服务时,它需要首先判断到哪个TGN中去查找自己的服务信息;服务请求者与超级节点中各服务发布信息之间的匹配处理。不同阶段的匹配粒度存在着一定差别,前两种情况并不做严格的匹配检验,主要实现一种主题的查找与定位操作。在第一次匹配(握手)时,并不要求Match(ϑ,τ)的值一定是1,事实上,Match(ϑ,τ)函数值可以是一个[0,1]上的任意值,这是因为有的TGN的主题可能与所查询的目标主题比较接近,函数值就接近1,反之就接近0。当有多个TNG的主题与查询服务的主题都有匹配结果时,可以按照函数的返回值排序,从而选择一个主题最接近的TGN加入或查询。在定位成功后,第三种情况发生时,匹配过程是严格、详细的。我们把这种服务的定位、发现机制称为“二次握手”。
基于图2的网络结构,整个系统的参与者分为三个角色(roles):服务提供者(Provider)、服务需求者(Requester)和注册中心(Registry)。该系统与传统的Web服务系统具有区别,后者服务的发布(advertisement)鼓励用OWL-S本体来描述。通过本体,我们可以计算出两个概念之间的语义距离,这样可以有效地提高概念之间的匹配精度;此外,OWL本体是基于描述逻辑(Description Logic)的,因而在OWL本体中可以精确地描述概念之间的层次关系,这对Web服务是非常有利的,利用这种层次关系,Web服务可以做到自动推理,从而实现自动的服务发现与组合。
传统的注册机制采用UDDI,TGN中的超节点提供一种“扩展版的UDDI注册机制”来诠释主题服务[2]。本文中的语义Web服务机制将结合OWL-S的Service Profile嵌入到UDDI的机制,使得这种OWL-S/UDDI联合体既具有了UDDI注册机制成熟的软件平台和良好的接口,又显式地描述了Web服务的语义,其结构如图3所示。
图3 UDDI/OWL-S注册结构
由图3可知,一个用户可以通过OWL-S/UDDI中的Publish UDDI Port发布服务。如果服务中包含有OWL-S的Service Profile描述文件,则说明该服务是面向语义Web服务的,这时,将该描述文件传送到OWL-S Matchmaker,它具有将Profile与UDDI词汇映射的功能。通过映射,Profile描述被嵌入到了UDDI注册机中。同样,当一个服务请求到来时,它有两个入口,一是Inquiry UDDI Port,代表传统的UDDI服务请求入口;另一个入口是Capability Port,代表语义 Web服务查询请求入口。对于前者,系统将按照传统的服务发现机制执行;而对于后者,系统将用户的查询交给 OWL-S Matchmaker,OWL-S Matchmaker通过映射转换,将它转换成对UDDI的注册目录查询。
对服务的描述有两个层次,一是对Web服务的主题进行描述;另一个是对Web服务的具体内容进行描述。
主题的描述是指在初始化每个TGN的时候,由领域专家对即将生成的TGN所应具有的领域主题进行定义。它是对所注册的服务的共性的抽象,作为一个接口存放于每个TGN所对应的超节点上。主题具有两个功能,一是当一般的网络节点在发布它所提供的服务时,首先根据各个TGN的主题判断自己应该接入到哪个TGN中(将服务发布到哪个超节点上);二是当一般节点请求服务时,判断请求的传送方向。一个服务的主题包括两个部分,一是对服务领域的描述,另外就是主题策略的描述。对主题的描述粒度比较大,这是因为它代表了一个服务领域,而非具体的服务内容,主题策略则依据具体应用而不同,一般来说,它表示一个TGN对所要求注册服务节点的限制与条件。我们将一个主题服务抽象成一个五元组:
Topic={Description,Bindings,Purpose,Category,Constraints}
·Description:一个文本类型的主题服务描述;
·Bindings:服务支持的绑定协议集合
·Purpose:描述了服务的一组操作的各自的操作目标
·Category:描述了服务的种类以及操作的类别
·Constraints:服务所要求的限定条件及主题策略
以上五种信息都是一个Web服务所具有的最基本的信息,用它们作为一个TGN的主题描述可以帮助服务的发布者和请求者快速定位到相应的TGN。在服务发现的过程中,首先判断一个TGN中是否具有以此五种属性为参考的匹配信息,如果没有发现相应的匹配的服务信息,则不用再对此TGN中所提供的服务进行深度匹配处理,反之则做进一步的服务匹配处理,这种方式有效地排除了与服务注册中心中海量注册服务的逐一匹配处理和盲目的服务探求行为,提高了服务发现的准确度和效率。
传统的Web服务采用WSDL描述服务,然而WSDL不具有显示的语义描述功能,因而本文采用OWL-S描述Web服务[3]。OWL-S是一种基于OWL的 Web服务本体,它通过三个子模型Service Profile、Process Model和Grounding完整地描述一个 Web服务[3]。其中,Service Profile用来描述服务的功能,以便服务发现。
Web服务从本质上来说是一种远程方法(过程)的调用处理,因而服务发现中的匹配问题就是判断服务所定义的一组操作(operations)之间是否存在合理或可接受的匹配[4]。匹配的规则分为语法层次匹配和语义层次匹配。语法层次的匹配包括:① 操作模式(mode)的匹配,它用于判断服务所包含的操作是否互相兼容。② 所绑定的协议(bindings)之间的匹配,它用来判断服务之间所使用的协议是否兼容;语义层次的匹配包括:① 消息(messages)之间的匹配,它用于判断诸如消息的参数个数、数据类型、事务的角色以及用于描述数量单位是否兼容等;② 操作的语义(semantics)之间的匹配;③ 服务的质量(qualities)是否匹配;④ 服务的完整(soundness)性要求是否匹配。其中,服务的完整性要求的检查属于服务组合范围,在此我们不做讨论。
定义 一个操作是一个如下的七元组:
Operation=(Description,Mode,In,Out,Purpose,Category,Quality)
其中:
·Description:是一个对操作描述的文本;
·Mode:用来描述操作的模式,可以取值为“oneway”、“notification”、“solicit-response”和“request-response”中的一个;
·In和Out用来描述操作的输入与输出;
·Purpose用来描述操作的事物目标;
·Category:用来描述操作的类别,即操作所属于的域;
·Quality:描述操作所限定的质量限制。
假设两个操作分别为:
op1=(D1,M1,In1,Out1,P1,C1,Q1)和op2=(D2,M2,In2,Out2,P2,C2,Q2),
则两个操作之间匹配可以描述为:
OperationMatchable(op1,op2):-
ModeMatchable(op1,op2)AND MessageMatchable(op1,op2)AND
OperationMatchable (op1,op2)AND Qualitative-Matchable(op1,op2)AND
CategoryMachable(op1,op2)
未来的互联网是面向软件和面向服务的,Web服务将在人们的生活和工作中发挥着越来越重要的作用,用户可以随时发布自己的服务功能,也可以随时享用他人提供的服务。本文提出了一种基于带有超节点的P2P的Web服务架构,它既可以帮助用户自动地将所发布的服务定位到相应主题的“组”和“社区”中,也可以自动地将用户对于服务的查询自动地定位到相应的主题“组”和“社区”中。由于使用了基于本体的OWL-S来描述服务内容,这将大大地提高服务发现与组合的自动化程度。由于篇幅所限,我们对一些问题并没有展开深入地讨论,比如服务匹配过程的详细算法、本体在服务发现中的推理演绎等。
[1]B.Yang and H.Garcia-Molina.Designing a Super-peer Network[C].Data Engineering Proceedings of 19th International Conference on,2003:49-60.
[2]N.Srinivasan,M.Paolucci and K.Sycara.Adding OWL-S to UDDI,implementation and throughput[EB/OL].2005.http://www.cs.cmu.edu/~softagents/papers/cr-swswspaper.pdf.
[3]D.Martin,M.Burstein,J.Hobbs,O.Lassila,D.McDermott,S.McIlraith,S.Narayanan,M.Paolucci,B.Parsia,T.R.Payne,E.Sirin,N.Srinivasan and K.Sycara.OWL-S:Semantic Markup for Web Services[EB/OL].2004.http://www.daml.org/services/owl-s/1.0/owl-s.html.
[4]B.Medjahed,A.Bouguettaya and A.K.Elmagarmid.Composing Web services on the Semantic Web[J].Vldb Journal,2003,12:333-351.
[5]岳 昆,王晓玲,周傲英.Web服务核心支撑技术:研究综述[J].软件学报,2004.
Building Web Service by Topic-Group
Chen Lei,Wu Haibo
(Department of Computer and Information Engineering,Huainan Teachers'College,Huainan 232001,China)
To overcome the drawbacks with the registration concentration,lack of semantic description in label and difficult automatic processing of the traditional Web service mechanism,a Web service mechanism based on Topic-Group is proposed.With the supernode-based peer-to-peer as the network structure,the OWL-S/UDDI as the service registration platform and the technology of the semantic web services,the traditional Web service mechanism is improved.The research has shown that the model can enhance the automatic processing abilities of registration,detecting and matching in the Web services.
Topic-Group;Peer-to-Peer;Web services;OWL-S
TP302
:A
:1673-1794(2010)05-0029-03
陈 磊(1980-),男,讲师,硕士,研究方向:Web知识表示。
安徽省高等学校优秀青年人才基金项目(2009SQRZ164);安徽省高等学校自然科学研究项目(Kj20091462)
2010-07-28