一种基于语义的Web服务组合框架的设计
2012-11-07谢晋雄
谢晋雄
英德市职业技术学校,广东 清远 513000
一种基于语义的Web服务组合框架的设计
谢晋雄
英德市职业技术学校,广东 清远 513000
引言
目前,越来越多的公司、企业将自己的各种应用以Web服务的形式发布在网上,而随着其应用的复杂性日益增强,单靠企业内部提供的业务功能越来越难以满足实际的需求。如果我们能够合理设计出一种基于语义的Web服务组合框架,把已经存在的简单的不能满足需求的服务组合成为全新的能够满足需求的服务,这对于降低公司运行成本、提高服务的使用效率,提升企业综合竞争力具有重要的现实意义[1]。
1 组合框架的设计思路
目前来讲,服务组合方法可以分为静态组合方法和动态组合方法两种。而动态组合方法在日益多变的网络服务环境中能够反映和满足用户的需求,鉴于此本文主要研究动态服务组合问题。下图1是本文设计的Web服务组合整体框架图,其主要包括服务的描述、服务的发布、消息的交互、服务的匹配和服务的装载等[2][3]。
图1 Web服务组合框架
图1各模块的功能如下:
协同工作管理器:是各设备之间进行通讯的中转站,实现对UDDI上各种服务的发布与更新的管理,完成层次结构生成协议的构造。
服务装载模块:主要负责调用系统设备提供的各种服务以响应用户的个性化需求。此模块在这个系统中处于核心地位。
流程定义文档:完成业务流程组合过程中所需的各种语义需求描述,有了它,服务在组合过程就有了语义,能够更快找到目标服务。
UDDI:服务发布中心和管理中心,保存了系统发布的所有服务,并管理着这些服务,使之形成相应的服务列表,使得在服务组合过程,方便这些服务被服务装载模块调用。
组合服务引擎:在服务匹配阶段,服务引擎将流程定义文档中的Web服务作为目标,从UDDI上的候选服务中查找匹配的服务,形成服务组合实例。通过使用OWL逻辑推理,组合服务引擎可以对使用不同语法和不同模型抽象的候选服务与请求之间进行基于语义的匹配。
消息交互模块:是系统上下模块间进行信息交互的中介。工作时,此模块根据业务功能的需求,在建立相应组合规则的基础上判断当前的服务组合结果是否满足用户的要求,如果得到的结果与所需的结果不一致时,消息交互模块立即通知服务装载模块,然后调整服务组合方案。
2 服务发布管理方法
一般来讲,传统的服务组合平台其服务发布方式不外乎有两种:一是功能分散化,要求各个设备自己去找到满足需求的业务;二是功能集中化,即让某一管理控制中心去管理系统上的所有资源,由它统一去响应客户需求。但是,一般在网络服务环境中绝大部分计算设备是由多种不同计算资源构成,它们之间存在很大的差异性,且由于这些设备具有可移动性和服务的动态性等特点,采用传统的服务组合方式再也难以满足要求。鉴于此,本文提出一种层次结构的服务组织方式来进行服务组合,能很好地克服了网络服务环境存在的问题。
2.1 设备性能差异分类
根据网络服务环境中设备的性能差异,在这里我们将它划分为四个级别:低级L1、初级L2、中级L3和高级L4。
低级设备:表示服务不具备直接发布服务能力的设备,它必须借比它更高级别的设备的协助才能完成业务功能的需求。如简单的传感器,传统的打印机等。
初级设备:表示具有软件模块宿主计算能力的设备,能够直接向外提供服务。如智能传感器。
中级设备:这些设备一般具有可移动性,不仅可以直接向外提供服务,还有发布服务的功能。如手提电脑、智能手机等。
高级设备:跟中级设备有相同的功能,不同之处是其计算能力更强,且一般作为固定设备,没有什么特殊情况不予以移动。如服务器。
2.2 组合框架的生成协议
根据上节给出的设备划分标准,可以构造出一个层次结构的服务组织方式:当一台设备A进入到服务系统中时,首先向系统发布广播消息INFO_BROADCAST(包含设备A的分类级别L(A)),等待周围系统的服务设备作出回应。设备B收到的设备A发来的广播消息后,会跟自身的分类级别L(B)进行比较,若L(A)
图2 实例生成协议时序图
层次结构的生成的原则是:任一设备有且只有一个父节点,当某一个设备节点已经有了一个父设备节点之后,就必须拒绝其他上级设备节点发来的INFO_INVITE邀请消息,并回复一个INFO_NACK消息告知对方自己已经有父节点了。
2.3 服务查询与组合
服务装载模块(Service loading Module)是工作在中级和高级级别设备上的软件模块(服务使用者直接面对的模块),中级设备上的服务装载模块查询服务域包括其同级节点加上其父节点的服务管理域。而高级设备上的服务装载模块查询服务域是所有的高级设备节点上的服务管理域。下面我们来看一下服务管理域和服务查询域的定义。
服务管理域:包括设备本身及其子节点设备发布的所有服务。这些服务都存储UDDI中,每个中级和高级级别的设备都通过UDDI来管理服务发布的描述信息,以响应服务的查询请求。当设备节点需要新增或者删除服务时,可分别通过向上级设备节点发送INFO_ADD消息和INFO_REMOVE消息。
服务查询域:服务装载模块向UDDI发出请求后,UDDI返回的查询结果范围即是服务查询范围。服务装载模块在进行服务匹配的时候,首先要通过流程定义文档中的用户需求描述同服务系统中所能实际提供的各种服务进行比较和匹配,然后返回UDDI可能的查询结果。
网络服务环境下服务组合的查询具有位置相关性。比如在层次结构的服务组合框架下,不同级别设备上运行的服务装载模块程序在进行服务查询和组合时,首先查询该设备上的UDDI上的服务记录,也就是服务管理域。若在UDDI上没有找到可组合的服务时,就将查询范围扩散到该设备节点的服务查询域。
2.4 服务变动与更新
网络服务环境一般具有动态性的特点,如何维护服务环境的变化减少对系统的影响有重要的意义。环境中的服务可能由于设备的移动性,如用户的PDA或手提电脑从一个地方移动到另外一个地方,或是由于移动设备出现电源供应不足的情况,而停止向外提供服务。由此可见,网络服务环境下的服务变动和更新一般可分为两种情况:1).设备由于地方的转移而出现的服务变动和更新;2).设备由于外在的某种原因(如突然断电)而不能持续提供服务。
第一种情况主要是指一些具有移动特性的中级级别的设备。它的父设备节点是动态变更的,它会定时发送消息INFO_HELLO来检测自身的位置发生变动的情况,然后决定变更与否。另外,它在层次架构中的位置也不是一成不变的,若有来自不同级别设备节点的响应消息INFO_HELLO速度比它快,它便退出当前位置(退出后变成了孤立节点),然后重新发送广播消息INFO_ BROADCAST寻找父节点[6]。
第二种情况设备的变动和更新主要从它的生命周期时间来看。设备一旦注册,系统都会赋予它一个生命周期时间,当超过生命周期时间后,设备就会发送INFO_CKECK消息检测自身设备节点的是否有效。如果收到父设备节点返回的INFO_CHECK消息,则恢复原来的生命周期时间,继续提供服务;若没有收到父设备节点返回的INFO_CHECK消息,就认为与它连接的父设备节点已经离开或者失效。然后像第一种情况一样,然后发送广播消息INFO_ BROADCAST寻找父节点。
3 结语
面对日益复杂的网络服务环境,孤立的简单的单个服务已在很大程度上不能满足我们的需求。本文首先分析了现行网络服务环境的基本情况,然后给出了一种层次结构的基于语义Web服务组合框架的设计以及较详细分析与框架紧密相关的一些问题,这对开发一个语义Web组合系统有很好的借鉴意义。
[1]郑增威.吴朝晕.普适计算综述[J].计算机科学,2003,30(4):18~29
[2]郑笛,王俊.普适计算环境下基于中间件的上下文质量管理框架研究[J].计算机科学,2011.11
[3]徐毅.普适环境下的语义Web服务组合框架的研究与实现[硕士论文],2007.10
[4]郭颂,柳春华.语义Web服务组合实现框架研究.信阳师范学院学报[J],2011.10,4(24):36~40
[5]高俊,沈才梁.一种面向服务体系结构的服务组合方案求解方法.计算机应用研究[J],2011,11(28):41~46
[6]Guo S,Sun X Y.The mediation of data heterogeneity in Web Service composition[C]// IEEE International Conf.on Internet Technology and Application(TAP 2010)2010:567~570
A Design on Semantic Web Service Composition Framework
根据Web服务组合的特点,设计了一种层次结构的基于语义的Web服务组合框架,给出了该框架的服务发布管理方法和层次结构生成协议,详细分析了该层次结构的生成过程以及服务组合框架对服务的查询、组合和更新等的运行原理。
Web服务;语义;Web ;服务组合 ;层次结构
According to the feature of web service composition, designed a hierarchical structure based on semantic web service composition framework, given out the method of service issue management and generate protocol of hierarchy structure, detailed analysis the generate process of the hierarchy structure and the principle of service query、composition and update.
Web Service; Semantic Web service composition; hierarchical structure
10.3969/j.issn.1001-8972.2012.14.041
谢晋雄,大学本科,讲师,研究方向主要为计算机网络技术,语义Web服务技术。