(计算机应用技术专业论文)web服务组合问题的研究.pdf_第1页
(计算机应用技术专业论文)web服务组合问题的研究.pdf_第2页
(计算机应用技术专业论文)web服务组合问题的研究.pdf_第3页
(计算机应用技术专业论文)web服务组合问题的研究.pdf_第4页
(计算机应用技术专业论文)web服务组合问题的研究.pdf_第5页
已阅读5页,还剩46页未读 继续免费阅读

(计算机应用技术专业论文)web服务组合问题的研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 摘要 w e b 服务组合作为一个正在兴起的研究方向,已经取得了许多研究成果。然而已有 的组合方法侧重于首先处理用户需求,产生w e b 服务组合方案,然后再对服务组合方案 进行验证,这些验证绝大部分又集中在候选服务利用率和系统开销上。对于组合方案在 执行时能否正常结束、是否是避免死锁的,并没有成熟的研究。由于w e b 服务组合涉及 大量的候选服务,服务组合方案被执行时如果陷入死锁,必然造成资源的极大浪费和许 多不必要的经济损失。因此设计一种w e b 服务组合方法,使之产生的组合方案是能够避 免死锁、正常结束的,显得意义尤为重大。 本文提供了一个能够处理普通候选服务集合,产生的组合方案能够避免死锁、正常 结束的w e b 服务组合系统。首先通过给出一个描述模型来阐述w e b 服务中的语法和语义 环境;在此基础上给出了一组匹配规则,可以精确地实现w e b 服务在组合方案中的定位; 在这两者的基础上,给出了一个w e b 服务组合算法,此算法可以产生避免死锁、正常结 束的w e b 服务组合方案,并通过分析证明了组合方案的结构良好性;最后对系统进行了 实现,通过实例运行展示了整个系统的过程和结果,进一步说明本系统能够通过处理普 通候选服务集合,产生避免死锁、正常结束的w e b 服务组合方案。 关键词:w e b 服务组合,帆一s ,结构良好,规则匹配,控制结构。 r e s e a i c ho n w 曲s e r “c e sc o m p o s i 伽n “c h 锄g b ( c 伽叩u t e r a p p l i c a t i t e c l l i l o l o g y ) d i r t e d b y x u j i 呵咖 a b s 订a i c t w e bs e n ,i c e sc o i n p o s i t i o 玛嬲ar i s 证gf i e l d ,h 嬲b e e na t 恤t i n gm u c ha 位e n t i o n h 0 、e i v e r m o s to fc o m p o s i t i o nm e t l l o d sf 0 c 璐h o wt 0p r o d u c ec o m p o s i t i o np l 觚f i r s t l 弘a n d 也 c h e c _ h n gm ep l 锄0 nu s i n ge 伍c i 跚c yo rs y s t e mc o s t 砧lo f t l l e mm ns h o r to f m e r c s e 锄c l l0 n w h e m e rt l l ec o m p o s i t i o np l 锄sp r o d u c e db yc o m p o s i 廿o n 溅dc 纽b e 触o fd e a dl o c k0 r t e 加:1 i 】怵en 0 咖a l l y i nr c s p l 瓶t h a tw e bs e r y i c e sc o m p o s i t i o n 坞q 嘶sc o m p o s i i 培m a n y c a l l d i d a t ew e bs e r 、,i c e s ,a n dw h c n 廿l ec 0 忸p o s i t i o np l 趾c a nn o tb e 丘c eo fd e a d1 0 c ko r t e 加恼1 a t en o n n a l l y ,舡l di tm u s tb r i i l go ng r e a to f 托m c ew a s t e 强dv a l u e1 0 豁t h e r c f b f e , d e s i 印_ i l l gac o m p o s i _ t i o nm 如0 dt 0p r o d u c e 也ep l a n w h i c hc 强b e 丘e eo fd e a dl o c ko r t e m i i 擒t e 珈) n n a l l y c o n l n b i l t e s 鲁e a t h lt l l i sp 印e r ,w e 西v eaw c b i c e sc o m p o s i t i o nm e 也0 d ,b yw t l i c h 也ep l 锄p r o d u c e 也 c a l lb e 缸eo fd e a dl o c k 粕dt c 加妇t en o m a l l y f i r s t l y ,w ep r o p o s eaw e bs e r v i c e sd e s c r i 埘o n m o d e l ,w k c h c a i ld e s 甜b ew e bs e r v i c e sb o mo ns ) ,n 缎锄ds e m 枷c 娜c tc o n 、,e i l i e n 廿y ;锄d 岫w e 咖a 口0 u po f 眦蛐m l e s ,b y 讹c hw e 咖咖ee a c hc a n d i 以t ew e bs e r v i c c 趾 耐e r i t a :t i o n 觚砚眦l y ;b 弱i n go nt 1 1 eb o 饥w e 西v eaw e bs e r 、,i c e sc o m p o s i t i o nm e t h o da n d p r o v et h a tt h ec o m p o s i t i o np l 觚p r i 删b yt h em 咖dc 驵b e 自o fd e a dl o c k 趾d t e m l i i w a :t en ( m :l a l l y ;f i r l a l l y ,w e 百v ea ni m p l 锄e n to ft l l es y s 胁a 1 1 ds h o wn l es y s 钯mb y r u 】:u 妇ga c l 嬲s i ce x 锄l p l e ,w h i c ht e s 毋t 1 1 a tm cc 伽l p o s i t i o np l 狃p r o d u c e db y 也es y 嗽啦c 姐 b e 舶e o f d e a d l o c k 锄d t e r l n i n 疵n 0 删l y k e yw o r d s : w e bs e r v i c 懿c o n 岬s i t i 呱o ,s ,w e l ls 仃u 咖媳r em 眦h i 唱c o 盯的ls 啪 关于学位论文的独创性声明 本人郑重声明:所呈交的论文是本人在指导教师指导下独立进行研究工作所取得的 成果,论文中有关资料和数据是实事求是的。尽我所知,除文中已经加以标注和致谢外, 本论文不包含其他人已经发表或撰写的研究成果,也不包含本人或他人为获得中国石油 大学( 华东) 或其它教育机构的学位或学历证书而使用过的材料。与我一同工作的同志 对研究所做的任何贡献均已在论文中作出了明确的说明。 若有不实之处,本人愿意承担相关法律责任。 学位论文作者签名:之亡扯 日期:m 年,月形日 学位论文使用授权书 本人完全同意中国石油大学( 华东) 有权使用本学位论文( 包括但不限于其印刷版 和电子版) ,使用方式包括但不限于:保留学位论文,按规定向国家有关部门( 机构) 送 交学位论文,以学术交流为目的赠送和交换学位论文,允许学位论文被查阅、借阅和复 印,将学位论文的全部或部分内容编入有关数据库进行检索,采用影印、缩印或其他复 制手段保存学位论文。 保密学位论文在解密后的使用授权同上。 学位论文作者签名:盔篁鱼 指导教师签名:幺盆丝孟匀 日期:口矿年,月历日 日期:。p 驴年叮月2 i 日 中国石油大学( 华东) 硕士论文 1 1 研究背景 第一章前言 1 1 1w e b 服务的发展 随着w e b 应用的不断发展,人们发现在w e b 应用和传统桌面应用之间存在很大的障 碍,人们不得不重复地将数据在w e b 应用和传统桌面应用之间迁移,这成为阻碍、衲应 用进入主流工作流的一个障碍。计算机的应用要满足自动化,在自动化流程之间的人工 流程会在不同程度上降低人们的积极性。 随着h n 柏1 e t 的发展,基于i i l :c e r n e t 的b 2 b 电子商务也不断发展。i n t e m e t 为各类型 的商业实体提供了发现新客户、供应流、新服务的各种机会,使他们利用h 她m e t 获得 了空前的安全经济回报,体现了i n t e n l e t 的巨大价值。然而目前绝大多数电子商务的应 用和基于w e b 的商业服务在处理购买者、供应商、交易市场和服务提供者之间的联系方 式上各不相同。如何将这些应用低代价方便的连接在一起,从而实现大范围的跨企业实 体的商务系统对接,成为i n t e m e t 开发的重大问题。 面对这些挑战,w e b 服务应运而生。w 曲服务的主要目标就是在现有的各种异构平 台的基础上构筑一个通用的与平台无关、语言无关的技术层,各种不同平台之上的应用 依靠这个技术层来实施彼此的连接和集成。与传统的、e b 应用最大的不同之处就是:传 统的w e b 应用技术解决的是如何让人来使用w e b 应用所提供的服务,而w e b 服务则要解 决如何让计算机系统来使用w e b 应用所提供的服务。 目前w 曲服务发展已经趋于成熟,有了相对完善的技术结构框架,并在应用领域广 泛普及。然而正是由于w e b 服务的广泛普及,当用户提出一个相对复杂要求( 需要完成 多个目标) 的时候,就会出现这样一种情况:任何单个的w 曲服务都无法完成这个复杂 目标,但这个目标所用的基本服务却都已具备,为解决这一情况,不得不继续w e b 服务 开发,而由于客户复杂要求各不相同,使得开发复杂度变得难以把握。因此充分利用已 有的服务,降低开发强度,使普通用户只要提出要求由第三方协助就可以知道用户的要 求能否用已有的、e b 服务实现,以及如何实现,成为、e b 服务发展的一个重要分支方向, 也就是w e b 服务组合方向。 1 1 2 发展中的w e b 服务组合 w 西服务组合是为了解决用户的复杂要求而产生的一个w 西服务研究分支,当已有 1 第一章前言 的单个服务无法满足用户提出的要求,而组合已有的w e b 服务有可能满足用户要求时, w e b 服务组合便担任其中组合者的角色。w r e b 服务组合是指面对用户提出的复杂要求, 经过对候选服务的处理,如果已有的w e b 服务经过组合能够满足用户的要求,则提供给 用户一个组合方案;如果经过组合无法满足用户要求,则由第三方系统提示用户要求无 法满足。 广义的曲服务组合包含以下几个阶段:、e b 服务发现,w 曲服务选择,w e b 服务 组合以及w e b 服务安全。其中w e b 服务发现用于按照某种要求在h t e 删上找出适合要 求的服务候选集合;w e b 服务选择是指对服务发现的结果进行处理,选择出最适合要求 的某个或某些服务;此处的服务组合是指对狭义的服务组合,它处理w c b 服务选择的结 果,根据用户的复杂要求,反馈一个组合方案或无法组合的结果:而w 曲服务安全则负 责安全监控。 本文中的w e b 服务组合是指相对狭义的w 曲服务组合,它是建立在w 曲服务发现和 w e b 服务选择的基础之上的,面对用户的复杂要求,通过处理候选服务集合,得出一个 服务组合方案并监控服务按照组合方案执行,或者反馈一个无法通过组合候选服务完成 要求的提示。w e b 服务组合发展至今已经出现了许多描述方法和组合模型,它们从不同 的角度,在不同的侧重点取得了比较理想的结果。 1 2 问题陈述 1 2 1 目前w e b 服务组合中存在的问题 如上文中提到的,尽管w e b 服务组合目前已经取得了一定的发展,但作为一个新兴 的研究方向,它仍处于研究讨论之中。 尽管目前的服务组合基于不同的描述模型,采用不同的处理过程,在一定的方面取 得了相对满意的成果,但总结起来目前的w e b 服务组合还存在以下问题; 目前的服务组合多是从特定的领域出发,对问题进行抽象和描述,最终得出组合方 案,由于组合方案是相对复杂的结构,方案中会出现多个选择或循环分支,这样当服务 按照某个分支进行组合时可能会出现死锁或死循环( 后面将死循环称为不能正常结束) 现象。目前的组合方法产生组合方案后基本都没有进行这方面的验证( 他们只是对组合 效率进行计算和验证,并没有考虑产生的组合方案是否会产生死锁以及是否会正常结 束) 。只有文献 1 】提出了进行结构良好的服务组合( 结构良好是指组合方案能够避免死 锁,且能够正常结束) ,但是文献【l 】提出的方法对组合方法实施的前提做出了限制,要 2 中国石油大学( 华东) 硕士论文 求组合方案中出现的控制结构必须在组合进行前已知。然而对于组合进行前已知候选 、衲服务控制结构的假设在很大程度上限制了组合方法的适用范围,因为在组合进行前 候选服务不可能知道其将与哪些服务进行组合以及参与何种控制结构。因此通过对普通 候选服务进行处理,从而得出能够避免死锁且能够正常结束的组合方案,是、e b 服务组 合中值得研究的问题之一。 1 2 2 解决的思路 s e m 枷cw 曲和本体论的发展使得人们可以借助其描述更加丰富的信息,日益完善 的工作流使得人们可以方便的控制信息的流向。文献【2 】利用p e t r i 网结合工作流给出了结 构良好的控制结构的概念,并指出只要是结构良好的控制结构一定是能够避免死锁、正 常结束的。文献【l 】利用这个结果设计了产生结构良好的服务组合方法,但是由于此组合 方法要求已知候选服务控制结构的前提,很大程度上限制了这种组合方法的适用范围。 因此,本课题的切入点就集中在以下3 个方面: 1 充分利用s e m a n t i cw e b 本体中表述能力强的优势,挖掘w e b 服务本身信息表述 具有伸缩性的特点,在w c b 服务表述中引入s e m a 确cw 曲的本体描述方法,使 之能够表达更加丰富的信息。 2 进一步借鉴已有的控制流研究成果,在组合过程中引入控制流控制结构,利用 已有的结构良好概念的成果,设计结构良好的w 曲服务组合。 3 充分挖掘w e b 服务描述的隐含信息,通过对1 中表述信息的处理,加以合理的 假设限制,获取潜在的控制信息,利用这些潜在信息在w 曲服务的动态组合中 获取控制结构,并结合这些控制结构来获取w 曲服务组合方案。 o w l 广s 【3 l 作为对w e b 服务的语义本体表述已经获得广泛认可,用它可以系统表述 w e b 服务的各种信息;w c b 服务本身除了功能性的描述,还有大量语义方面的潜在信息, 设计算法,通过处理这些潜在信息,可以在动态组合时得出服务的控制结构关系,然后 结合这些控制结构关系就可以得出服务组合方案。 1 3 主要工作 本文中,为了设计避免死锁并能够正常结束的w e b 服务组合方法,我们分析了、e b 服务描述本身的特点、本体语义表述在w e b 服务中的应用、工作流的特点以及工作流在 控制结构中的应用;提出了基于语义表述的w c b 服务描述模型。并在此基础上抽象出一 3 第一章前言 组规则来处理w e b 服务描述信息:然后设计一个算法,通过处理特定格式的服务描述来 获得结构良好的控制信息和w 曲服务组合方案。 1 4 论文的结构 第二章,着重介绍w e b 服务组合的国内外相关研究现状。 第三章,介绍了本文中涉及的w e b 服务组合的相关技术。 第四章,给出了一个基于规则匹配的w e b 服务建模方法。 第五章,详细阐述了本系统中的w e b 服务组合算法。 第六章,详细阐述了本文的核心算法,此算法可以产生结构良好的w e b 服务组合方 案以及控制结构集合,并针对编程实现后的实验结果进行了分析。 最后,第七章总结了本文的贡献,指出了现有工作的局限性和有待改进的方面。 4 中国石油大学( 华东) 硕士论文 第二章国内外相关研究现状 w 曲服务组合自u d d i 【4 】、w s d l 【5 1 、s o a p 【6 】一系列标准平台提出后,发展速度明 显加快。近几年来,在学术界和业界都提出了许多组合方法,在不同程度上实现了服务 组合。虽然他们是从不同的角度入手,但总结起来工作主要集中在以下两个方面:工作 流组合( w o r l m o wc o m p o s i t i o n ) 和人工智能动态规划。下面就分别进行介绍。 2 1 基于工作流的服务组合方法 工作流最初起源于使办公室内公文处理自动化的软件系统,其目的就是促进群体之 间的沟通及资源分配,以充分发挥群体的工作效率。它主要包括3 个要素: 路径:指资源的执行顺序。 规则:资源得以执行的条件判断依据。 角色:资源得以执行的功能代表。 此处引入的工作流的概念弱化了其角色因素,主要将路径和规则结合,得到一个可 执行的控制序列,后由控制结构将服务组件连接在一起。具体组合方法有:静态方法和 动态方法。 l静态方法:要求在组合进行前,前提给出抽象进程模型( 其中通常包含一系列 的任务和数据依赖集) ,由组合系统利用依赖集来完成任务集成。在这种情况下, 只有选择和绑定原子服务可以动态实现。如: e f l 耐7 1 是一个规范和管理服务组合的平台。通过一个模型图来对组合进行建 模,并定义节点间的执行顺序。这个图由人工建立,但可以动态更新。它包括 服务节点、决策节点和事务节点。服务节点表示原子服务或组合服务:决策节 点标明了可选的方法和控制执行流的规则,事务节点能够使服务进程发送和接 收多种事务模型。图中的弧代表节点间的执行依赖。进行组合时可以调用服务 发现功能实现模型图的动态更新。 m e t e ( 璐【8 1 提出服务组合由b p e l 定义的抽象进程产生,通过收集约束来产生可 执行进程并达到方案过滤的效果。如:某个约束可能会声明某个任务提供商更 受欢迎,从而选定相应的服务。 2动态方法:包括自动建立进程模型和选择原子服务。只要求前提给出原子服务 依赖( 为了更进一步优化组合,前提可以进一步给出一些非功能属性,如:反馈时 5 第二章国内外相关研究现状 间、服务价格等) 。如: p o l y m ) r l 灶cp 眦e s sm o d e l ( 多态进程模型) 网提出了一种组合定义语言( c s d l ) , 它区分服务中的激发服务和激发操作,提出适应性和动态性特点来满足快速进 化业务和服务执行,实现了基于状态机的动态服务组合。 2 2 基于人工智能动态规划的组合方法 人工智能动态规划( 舢- p l 锄i l i i 坞) 主要是利用p r c c o n d i 嘶o n ,e 毹鸭岫眦,o l l 印l u t 间的 匹配来激发状态的变化,最终由状态的变化来表示组合,通常问题会被描述成一个五元 组: s :所有的状态 s o :初始状态 g :目标状态 a :转换( 枷0 n ) t :s a s ,定义剃0 n 执行的前集和结果。 人工智能动态规划主要用d a m l s 来作为其描述语言。由d 触儿s 中的 s e v i c e p r o f i l e 来表达状态转换,眦o d i 以o n 提供服务激发的前提条件,e 位c t 提供服务运 行产生的结果。n 心亿+ o i l ( 用来建立d a m i ,一s 的语言) 使用描述逻辑作为其逻辑基础, 具有描述逻辑表达的能力。目前这方面的工作归结起来主要集中在以下方面。 2 2 1 情景演算 m c i i r a i c 1 0 】使用和扩展了g o l o g 来完成自动w 曲服务组建。g 0 l o g 是建立在情景演 算基础上的逻辑编程语言。作者通过提供高层的程序和客户约束来解决服务组合问题。 通过软件代理来进行w 西服务组合的发现、执行、组合以及互操作,用户的请求和约束可 以作为情景演算的f i r s t r d 髓l 趾g m g e 。它将w e b 服务分成两种类型:原子操作和复杂操 作。原子操作或者改变现有世界的状态或者收集知识代理的状态;复杂操作是多个a 晚0 n 的组合,代理知识基用情景演算语言提供、曲服务枷0 n 的p r e c 0 n d i 嘶o n 和e 舵c t 的逻 辑代码。代理则使用由服务概念和推理约束机制构成的编程语言结构,并用编程语言结 构将原子服务进行连接,最终完成服务组合。 2 2 2p d d l p d d l 被认为是状态模型的标准输入,在规划组合时d a m l s 常被译成p d d l 格式, 6 中国石油大学( 华东) 硕士论文 这样不同的组合可以进一步集成。 m c d e n n 0 0 1 1 】介绍了一种新的知识类型:砌u eo f 枷0 n ,从w e b 服务架构的角度, 这个特征能够区分信息转换和状态转换( 状态转换有服务执行导致) 。信息作为输入参数 是可重用的,因此数据值可以用于多个服务的执行。相对而言,状态转换可以看作就状 态被消费新状态产生。 2 2 3r m e - b a s e dp l 雒i l i i l g m e 由a h e d 【1 2 】提出了一种从高层声明描述的角度产生服务组合。此方法使用可组合性 规则判断两个服务是否是可组合的。组合分为四个阶段: 1 s p e c i f i c a t i o n 阶段:使用组合服务规范语言( c 伽叩o s i t i o ns e r v i c es p c c i f i c a t i o n l a i l 删对组合进行高层描述。 2 m a :t c h m a k i n g 阶段:使用可组合性原则合成满足用户要求的组合。 3 s e l e c _ t i o n 阶段:若在m 绯a k i n g 阶段产生多个方案,则在这个阶段根据某些 属性( 主要是非功能属性) 对方案进行选择。 4 g c n e r a t i o n 阶段:给请求组合方返回一个详细的组描述。 这其中可组合性规则是方案产生的核心问题,可组合性规则定义了w e b 服务的语法 和语义属性。语法属性包括操作节点规则和协议邦定规则。语义属性包括以下几个方面: 1 信息可组合性:定义一个服务的输出与另一个的输入是否是可组合的。 2 操作语义可组合性:定义d o m a i n 、c a t c g 嘶e s 、p u r p 0 ,来对操作属性进行判断。 3 质量可组合性语义:定义了用户的选择偏好( 主要考虑费功能属性) ,为组合选 择提供依据。 4 c o m p o s i t i o ns 0 咖d n 豁s :用来检测组合的合理性,作者提出了组合模板来定义服 务间的依赖性。 这种方法最大的贡献就在其可组合性规则上,它定义了在组合服务中可能用到的属 性,为其他的方法提供了参考。 s w o i m 【1 3 】没有使用当今服务描述的标准如:w s d l 和d a m l - s ,而是使用e r 模型来 定义w e b 服务。在s w o r d 中,服务有前集和后集进行建模,服务是由实体和关系组成 的w o r l d 模型,用h o m 皿e 进行描述:若前集为慨,则后集可达。只初始化开始和目 标状态,方案有专家系统产生。然而基于这种规则的方法有一个致命的弱点:当前集不 能唯一的确定后集时,会产生不确定的结果。 7 第二章国内外相关研究现状 l ( h a l “l 】提出了一种v j r n 】a le n t e r 】p r i ( 后面用v e 代替) 的概念,在这个基础上设 计了一种服务组合方法。先生成服务组合的主枝,然后分别生成分枝,最后实现主枝与 分枝的连接,完成组合方案。 2 2 4 其他的m p l 锄n i i 塔方法 s h o p 2p 川1 4 】通过使用d 心l s 描述,建立了一种h i 删c a l 陷k 卜e t w o r k l h l n ) 设计器。作者认为砌 np l a 衄蛐g 中的人物概念分解类似于d a m l s 进程 本体的组合进程分解,指出h t np l 锄e r 要比其他语言( 如g 0 l o g ) 更高效。作者给出 了从d a m l s 到s h o p 2 翻译的详细描述,绝大多数的控制结构都可以实现向s h o p 2 的直接转换。 s i 曲c t “1 5 】提出了一种半自动的组合方法。在进行服务组合时所有可能的候选服务 提供给使用者,由用户来决定使用哪一个服务;并由用户设计控制结构。这种方法虽然 避免了设计控制结构和服务匹配选择,却很大程度上增加了用户的负担。 2 3 研究现状小结 总的来说,目前在w e b 服务组合上,从不同的角度,基于不同的需求,已经出现了 许多方法。这些方法并没有对所建立的组合方案控制结构的结构良好性进行检测,而且 这些方法产生的组合方案既不能够保证避免进入死锁,也不能保证有确定的结束。只有 b m e d j a h c d 等【1 刁中提出了对组合产生的结果进行s o 硼血e s s 检测,虽然作者针对这种检 测还提出了组合模板的方法,但检测产生的s o u d n e s s 良好的组合方案并不一定具有结构 良好性。在b m e 由a h e d 等【1 习l i 觚咖z e n g 等【1 q 提出的组合方案中,都对组合的控制 结构做出了说明,然而这两者只支持s u c c e s s i o n 结构:l a l i d 【1 】提出的组合方法是基于良 好控制结构的,然而他的组合方法是建立在的基础上的,要求候选服务像同一个公 司的组件一样,携带自身可能参与的所有的控制结构,这在实际环境中面对彼此孤立的 服务,显然要求过于苛刻;另外,它也只能处理s e c c e 豁i 、c 0 坷u 硝0 n 、甑c l u s i o n 三种 控制结构,还是不能处理循环结构。 可见,在控制结构良好的前提下,建立一种适用性广泛的组合方法,仍是w e b 服务 组合中面临的挑战。 8 中国石油大学( 华东) 硕士论文 第三章w e b 服务组合相关技术发展 w r e b 服务技术支持自主软件和信息系统灵活动态的互操作,使得服务组合获得了很 大的发展,出现了一系列的平台标准如:s o a p ,w s d l ,b p e l ;在业界也出开发完成 了许多工具,如:i b m sw 曲s p h e r et 0 0 i 妣,s l l l l so p c nn e te n v 拍衄1 c m ,j “1 mn e t w o r k 技术,m i c r o s 0 付s n e ta n dn o v e l l s0 味n e ti i l i t i a t i v e s ,h p s 争s p e a k b e a sw i b l o g i c i n t e g r a 矗o n 等。这些研究成果都直接或间接的利用了r e b 服务规范,如:o w l - s 【4 】本体 规范【1 6 - 1 7 姗,以及基于自动机的模型【1 9 孤2 。但要真正实现自动组合管理收集起来的 服务还有很长的一段路要走。服务组合是建立在一系列的技术和规范基础之上得,下面 就对这些技术和规范作出简单的介绍。 服务组合产生最基本的标准平台就是s a o p 和w s d l ,他们更进一步的支持了在动 态前提下服务的整合,u d d i 的前景就是为了实现人工或自动化的服务发现。而b p e l 正是基于这些规范之上提出由人工实现服务组合的过程语言,可以通过它来协调异构服 务间的行为。o w 【广s 联盟【1 6 】以及语义w 曲团体提出了要提供机器可读的服务描述以及 自动化的服务发现、组合和管理。o w l s 是通过i o p e 来描述w e b 本体的一种语言,它 支持对r e a lw o d d 状态进行建模的机制,能够描述原子服务随着时间的改变如何影响那 些状态。 下面就通过w e b 服务组合的协议栈以及与本文相关的o w l s 【1 6 】规范以及b p e l 4 w s 技术做出详细介绍,首先简要阐述一下w 曲服务组合的协议栈。 3 1w e b 服务组合的协议栈 类似于w e b 服务的协议栈,w e b 服务组合的协议栈在w c b 服务协议栈的基础上又添 加了服务组合方面如今公认的一些规范,具体见图3 1 。 由图中可见,协议栈有以下几层构成:服务传输层( 即网络层) 、儿消息层、( 个 体) 服务描述层、w e b 服务组合层、c h 0 瑚呐层以及w e b 服务发现层。现分别介绍 如下: 9 第三章唧服务组合相关技术发展 娜1 竺l 脚匝至圃 细心细 亘圃匝亟蔓囹 删哟l 观l 赫 二夏茸匝亘巫国 d 蹈函脚lw - s 跣0 w 1 ,s & 慨n 妇1 x 呼厂赢r 副i o 稿a :g i l 瞎i l 黼醯 二二二垂熏亟堕二二 图3 一l 骶b 服务组合协议栈 矾p - lw 曲n r i c 鹤m p i 戗0 np m t 眦o is 纽c k 3 1 1 服务传输层 服务传输位于协议栈的最底层,负责在两个计算机间传送舭消息。常用的主要 有以下两种协议,其中又以h 1 四协议最为流行。 姗:最流行的传输工具,其特点是:简单、稳定、应用广泛,而且绝大多数 防火墙都支持m 传输,这使得r p c 或s o a p 消息都打包成m 1 p 消息以通 过防火墙。这虽然有利于集成应用软件,但同时也增添了安全隐患。 b e e p :相对于h 1 v r p ,另一个选择便是b 1 0 c k se 妯m s i b l ee x c h 趾g ep r i 咖c o l ( b e e p ) 。b e e p 是一个新的正t f ( i l l :c e n c t 工程任务组) 框架,适于建立新协议。 尤其是b e e p 建立在t c p 协议之上,有许多内置的特性,如初始的握手协议、 鉴定、安全、出错管理等。使用b e e p 可以为许多应用软件创建新的协议,包 括方便的消息交互、文件传输、组织和网络管理等。 需要指出的是s q 心消息不局限于任何传输协议,因此传输层协议的改变不会影响 s o a p 消息的可用性。 3 1 2 龇消息层 龇消息由于支持分布式系统间的数据共享,可以实现跨操作系统和编程平台间 的交互,因而在近几年发展迅速,出现了各种语言( 如:j a y a 、p d 、p 舛l o n 、c 稃、c 、 c + + 、r u b y 等) 的编译解析器,成为在网上开发消息系统的首选协议。下面就对两种最 常用的舭协议:。r p c 和s o a p 消息分别进行介绍。 帆1 冲c :这是使用舭消息来完成r p c 的简单协议。消息请求由m 进 行编码并由h 1 限p o s t 发送,帆回复镶嵌在h 下r p 中。由于x m l - r p c 是 中国石油大学( 华东) 硕士论文 独立于平台的,它允许多种平台间的交互。它与s 吼心消息最大的区别就是: 比s o a p 简单易学,但没有相关的服务描述语法。 s o a p 消息:是一个基于蹦l 的协议,用于计算机间的信息交换,主要通过 h ”m 传送r p c 。也是平台无关的,但支持服务描述语法。 3 1 3w e b 服务描述层 服务描述层在协议栈中由w s d l 、o w l ss e r v i c e p r o f i l e 和w s c l 【4 3 1 提供。它们可 以在实际应用中互相补充。 w s d l 在w e b 服务协议栈中充当描述层,能够对服务进行比较全面的描述,其 实质是用于描述w e b 服务接口的血文法。这个接口包含的信息有:所有对 外发布的功能、瓜。消息的所有数据类型信息、用作传输协议的绑定信息、用 于定位w e b 服务的定位信息。w s d l 并不局限于说明舭消息系统,还用来 描述s o a p 服务。通过w s d l ,客户端可以定位服务并激发可用的功能。通过 使用w s d l a w a 坨工具,可以实现进程自动化,便于在很少编写或不用人工编 写代码的情况下集成新的服务。然而w s d l 对服务的描述本质上是无状态的, 因此,w s d l 不能用来描述服务内部的状态。 o w l s 的s 贸啦e p r o 鑫l e 主要用来描述服务本体,它将s 酾c 印j c i l e 建模成服 务上层描述类型的超类。s e r 婚忸l ,r o f i l e 提供了一个方式来描述服务提供者提供 的服务和服务请求者所需的服务,它没有限定服务的表达形式,相反它可以通 过o w l 的子类来描述特定的服务。o w l s 提供了服务的一个可能的表达 p r o f i l e 类。p r 娟l e 将服务描述为一个具有三种类型信息的功能:哪个组织提供 了该服务,该服务提供什么功能,一组描述服务特征的属性。1 ) 提供者信息包 含了指向提供服务的实体的联系信息;2 ) 服务的功能描述根据服务产生的转换 进行表达。具体的,在p r o f i l e 中的描述包括了:服务的输入、输出;服务执行 的前置条件以及服务执行产生的预期的效果3 ) 用于描述服务特征的一组属性 可能包括:服务所属的种类;服务的质量评价,也就是服务质量。该属性最终 为用户所使用,并通过用户来进行验证。一个不限长度的服务参数列表,它可 以包含任何类型的信息。这些信息可能包括服务的最大可用时间,服务的位置、 可用性等。o w l s 还提供了用于表达这些参数的机制。正是由于o w l s 通过 i o p e s 对语义的支持,使得后面服务组合模型得以大范围的借用o w l s 描述 第三章w e b 服务组合相关技术发展 本体来对服务进行描述。 w s c l 通过定义全局输入输出队列来对服务或组合内部状态进行描述,它通过 定义一个有限的消息类型字母表( 实际上是通过它来表述c l o s e dw 砌d 假设) 和一个有限状态自动机f s a 圈来进行服务和组合描述。它可以与w s d l 搭配 使用,提供相对丰富的语义描述( 主要是指既能描述内部状态又能描述外部状 态) 。 3 1 4w e b 服务组合层 本层列出了两种如今组合最为常用的组合语言和工具:b p e l 和o w l s s e r v i c e m o d c l 。 b p e l 田1 定义了对w e b 服务进行编程和w e b 服务规范的语言。它成为服务组合 规范的主流依据之一,如文献【3 0 】定义了w e b 服务组合的2 种拓扑结构: p e e 咖- p e e f 和通过中间代理的h u b a n d - s p o k e ,代理在其中起着协调其他服务行 为的作用,相当于一个弱化的中心式服务器。b p e l 的主要目标是提供一种规 范代理服务行为的语言,而非一种普通意义上的编程语言。 o w 【广ss e n ,i c e m o d e l f l 6 】:对于服务如何工作而言,服务通常可以被看作是一个 过程( p 眦e s s ) 。o w o ss e 戤园矗。黼定义了s 舒,i c e m o d e l 的一个子类 p r o c e s s m o d e l 。后者集成了多个领域的工作,包括人工智能领域对于规划的标 准化工作、编程语言和分布式系统、已有的过程建模韵标准和工作流技术。因 而在o w l - s 中,对服务的工作机制的建模实际上就成为服务的过程建模。过 程o n 幻l o g y 中最主要的实体的类型是p r o c e 龉。o ,s 接受两种形式的p r o c e s s : 将一个输入集合变换到一个输出集合的p r o c e s s 和将一个状态变换到另一个状 态的p r o c e 豁。p r d c e s s 分为三种类型:a t c m i c 、s i m p l e 和c o m p o s 沁。a t o m i c p r 0 h 跖 可以直接被调用。它没有子过程,一步执行。从服务请求者看来,就是传递一 个输入消息,服务执行完毕后返回一个输出消息。s i m p l i l p r o c e 鹞是不可调用的, 也没有对应的g i 伽n d i n g ,但是它们和a t o m i c p r o c e s s 一样,被认为只有一个执 行步骤。s i i n p l e p m e 踮一般作为元素的抽象,它们或者提供了一些 a t o 嘶c p r o c e s s 的视图,或者是对c o l l 0 s i t e p r o c e 鼹的简化的表达。在前一种情 况下,s i i n p l c p t o c e s s 被认为是r c a l 砌b ya t o i i l i c p r d c e 鹳;在后一种情况下, s i i n p l e p r o c e s s 被认为是e x p 锄( 1 s t 0c 0 n l l ,0 s i 纠1 0 c c s s 。c o m p o s i t e p c e 豁能够被 1 2 中国石油大学( 华东) 硕士论文 分解为其他组合的或者非组合的p r o c e s s 。分解可以通过s e q l 旺烈c e 或者 礤- - n 也n e l s e 这样的控制结构来进行。分解还能够表现出特定的子过程是如 何接收不同的输入并且返回不同的输出的。在p r o c e s s 的顶层建模中,o w l - s 包括了一个控制结构的最小集合,包括了s e q u e n c e 、s p l i t 、s p l i t + j o i i l 、c h o i c e 、 u n o r d e r e d 、c o n d i 廿吼、m l k n e l s e 、i t e r a t e 、r e p e a t - w h i l e 、r 印e a t u i l t i l 。这 些控制结构为后面具体的组合方法提供了依据。 3 1 5c h o r e o 争a p h y 层 c h 0 咖笋a p h y 层主要是面向服务组件间的信息交互,它通过w s - c h 0 i e 0 鲫p h y ( w s c d l ) 渊对全局中各个组件间的交互进行了描述,主要包括:参与服务的角色; 服务间传递的信息;信息流的通道。它给后面的会话组合模型提供了基础。 3 2 6w e b 服务发现层 切) d i 在协议栈中充当发现层,其最先由m i c r o s o f i 、i b m 和觚b a 创立,用来充当 发布和发现服务的技术规范。其核心包括2 个部分: 切) d i 技术规范:它是建立商业和w e b 服务目录的技术规范,数据存储在一个 特殊的舭格式中。u d d i 规范包括查询已有数据和发布新数据的a p i 细节。 u d d i 商务注册:它是i j l ) d i 规范的可操作实现,由m i c r o s o f t 和m m 发布, 如今对外开放,可以任意查询已存在的u d d i 数据,而且允许公司进行注册。 切d d i 中的数据分为以下3 类: 白页:包括公司的通常信息,如:商业名、商业描述和地址。 黄页:包括对所提供的公司或服务的分类数据,如:产业、产品、标准划分的 地理编码。 绿页:包括w e b 服务的技术信息。如指向外部规范的指针和激发w e b 服务的地 址。 正是通过上述的机制对原子服务以及服务组合进行发布、注册和查找定位,从而实 现服务发现功能。 3 2w e b 服务的语义本体标注语言o w l s 3 2 1o w l 简介 o w l 是w 3 c 在总结s h o e 【2 5 1 、r d f ( s ) 阅、d 朋帆+ o i l 等w ,c b 本体语言开发经验 1 3 第三章嘞服务组合相关技术发展 基础上推出的标准化的w e b 本体语言,是) f ( s ) 的扩充。其语义基础是描述逻辑嗍。 描述逻辑是人工智能领域研究的分支,是一阶谓词逻辑的可判定子集。它通过提供定义 良好的语义和推理机制研究概念知识的表示问题,在知识表达能力和推理效率之间有一 个较好的折衷,因此适应表达、e b 知识。 o w l 可分为三个表达力递增的子语言:o w ll 沁、o w ld l 和o 、扎蹦l 。o w ll 沁 提供最小的表达能力和最强的语义约束,适用于只需要层次分类结构和少量约束的本体, 例如词典,因为其语义较为简单,o w ll 沁比较容易被工具支持。o w ld l 对应于描述 逻辑s h o i n 【2 7 】。它处于o w lf l l l l 和o w ll i t e 之间,兼顾表达能力和可计算性。o w ld l 支持所有的o 、l 构造子集,能够提供计算完备性和可判定性。o 、lf u l l 提供最丰富的 表达能力和最大的语法自由度,支持o w l 的全部语法结构,但不能保证可计算性。 o w l 主要由三种元素及其对应公理所组成:类、属性、个体。类提供了组织具有 相似特征资源的一种抽象方式,对于描述逻辑中的概念,每一个类联系到一个个体的集 合二外延,集合中的个体成为它的实例。可以通过指定一个类的名字说明一个匿名类 的外延来描述一个类。属性描述类间关系,可以理解为建立在类上的二元关系,对应于 描述逻辑中的角色。o w l 中有两类属性:对象属性和数据类型属性,前者表示个体间 的联系,后者表示个体的属性值。个体是类的成员,使用时将自己绑定到某个类上。 3 2 2o w l s o w l s 的前身是d 趟帆s 【3 1 ,2 0 0 4 年1 月初被w 3 c 采纳,其主要目标是使服务具 有极其可读性和易理解性! o w l - s 的主要任务如下: 自动服务发现:主要用于服务的自动定位。o w l s 提供了发布服务用途的机制。 通过o w l s 对服务的标记,可以将w c b 服务发现的信息变成计算机可处理的 语义标签。服务注册中心或者搜索弓l 擎通过匹配服务请求者的请求和标签中的 语义信息就能够实现服

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论