(计算机科学与技术专业论文)基于ocl的web服务组合形式化约束研究.pdf_第1页
(计算机科学与技术专业论文)基于ocl的web服务组合形式化约束研究.pdf_第2页
(计算机科学与技术专业论文)基于ocl的web服务组合形式化约束研究.pdf_第3页
(计算机科学与技术专业论文)基于ocl的web服务组合形式化约束研究.pdf_第4页
(计算机科学与技术专业论文)基于ocl的web服务组合形式化约束研究.pdf_第5页
已阅读5页,还剩59页未读 继续免费阅读

(计算机科学与技术专业论文)基于ocl的web服务组合形式化约束研究.pdf.pdf 免费下载

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

文档简介

中文摘 要 摘要 当前流行的w e b 服务和w e b 服务组合真正进入实用阶段还面临着诸多问题。 h 前,语法层次和语义层次的组合方法仍处于初级阶段,这两科- 方法都缺乏严格 的形式化语义支持,容易出错且不容易检测;这两种方法的组合语言均以w s d l 标准为基础,侧重于服务问的消息传递,缺乏对w e b 服务行为的有效约束,容易 导致组合后系统行为与设计阶段的系统行为相偏离,还可能导致系统动态演化过 程中的行为不一致。对象约束语言o c l 作为u m l 标准的一部分,是可以用来描 写清晰、明确风格的表达式的标准语言。本论文将o c l 引入到w e b 服务组合过程 中,为w e b 服务组合增加语义信息。 本论文首先对日前困内外的研究现状和研究成果进行了分析,在简要介绍w e b 服务、w e b 服务组合及o c l 的相关理论和相关技术之后,深入研究w e b 服务组 合中- - u j 日- * 匕i 存在的不匹配和异常情况,将o c l 的形式化描述方法应用剑w e b 服务组 合中,针对服务问的端口类型、端口个数、分支结构、互斥和互补等情况进行约 束,对服务组合进行约束检测以减少这些彳i 匹配和异常情况的发生。根据对象约 束语言在w e b 服务中的形式化描述,设计和实现了对象约束语言在w e b 服务组合 语言可视化编辑器中翻译执行。 对w e b 服务组合增加的形式化约束有利于提前发现w e b 服务组合中可能存在 的异常情况,是提高w e b 服务组合执行的成功率和增强用户满意度的关键,对服 务组合的正确运行具有十分重要的意义。 关键词:w e b 服务组合;o c l ;形式化约束 英文摘要 r e s e a r c ho nf o r m a lc o n s t r a i n t so f0 c l b a s e d ,e bs e r v i c e c o m p o s i t i o n a b s t r a c t c u r r e n t l y , w e bs e r v i c ea n dw e bs e r v i c ec o m p o s i t i o n st u r ni n t op r a c t i c a ls t a g eo f t h er e a li ss t i l lf a c e dw i t hm a n yp r o b l e m s a tp r e s e n t ,c o m b i n a t i o nm e t h o d so fs y n t a x l e v e la n ds e m a n t i cl e v e la r es t i l li ni t se a r l ys t a g e s 。t h e s et w om e t h o d sa r et h el a c ko f s t r i c tf o r m a ls e m a n t i c st os u p p o r t ,f a l l i b l ea n dn o te a s i l yp r o n et oe r r o rd e t e c t i o n ;t h e s e t w om e t h o d sa r eb o t hi nw s d l l a n g u a g es t a n d a r d s ,f o c u so ni n t e r s e r v i c em e s s a g i n g , t h el a c ko fe f f e c t i v ew e bs e r v i c e s c o m p o s i t i o nb e h a v i o rc o n s t r a i n t se a s i l yl e a dt ot h e d e v i a t i o nb e t w e e ns y s t e mb e h a v i o ro fd e s i g np h a s ea n ds y s t e mb e h a v i o ra f t e rt h e c o m b i n a t i o n ,a l s om a yl e a dt ot h ee v o l u t i o no fs y s t e md y n a m i cb e h a v i o ri n c o n s i s t e n t o b j e c tc o n s t r a i n tl a n g u a g ea sas t a n d a r dp a r to fu m lc a nb eu s e dt od e s c r i b ec l e a ra n d s p e c i f i ce x p r e s s i o n o c l ,t h i sp a p e rw i l lb ei n t r o d u c e dt ot h ep r o c e s so fw e bs e r v i c e s c o m p o s i t i o nt oi n c r e a s et h es e m a n t i ci n f o r m a t i o n , f i r s t l y , t h i st h e s i sa n a l y s e st h er e s e a r c hs i t u a t i o n sa n dr e s u l t sa th o m ea n da b r o a d , a f t e rab r i e fi n t r o d u c t i o nt ot h eb a s i ct h e o r ya n dc o r r e l a t i v et e c h n o l o g yo fw e b s e r v i c e , w e bs e r v i c ec o m p o s i t i o na n do b j e c tc o n s t r a i n tl a n g u a g e ,t h i st h e s i sm a k e saf u r t h e r r e s e a r c ho nt h ee x c e p t i o n sa n dd i s m a t c hs t a t e st h a t m a yh a p p e n e di nw e bs e r v i c e c o m b i n a t i o n b a s e do nt h ed i f f e r e n ts t a t e s ,s u c ha st h ep o r tt y p e ,p o r tn u m b e r , b r a n c h s t r u c t u r e ,m u t u a l l ye x c l u s i v ea n dc o m p l e m e n t a r ys t a t e s ,t h ef o r m a lc o n s t r a i n t sa r eg i v e n t od e c r e a s et h eu n e x p e c t e dc o n d i t i o n si nc o m b i n a t i o n so fs e r v i c e s f i n a l l y , t h ef o r m a l c o n s t r a i n t so fo c l b a s e dw e bs e r v i c ea r ed e s i g n e da n di m p l e m e n t e di nag r a p h i c w e bs e r v i c e0 r c h e s t r a t i o nt 0 0 1 t h ef o r m a lc o n s t r a i n t sf o rw e bs e r v i c ea r eb e n e f i tt oi m p r o v es u c c e s s r a t eo fw e b s e r v i c ec o m p o s i t i o n a le x e c u t i o na n dt oe n h a n c et h eu s e rs a t i s f a c t i o nd e g r e e a n di th a s v e r yi m p o r t a n ts i g n i f i c a n c et oc o r r e c to p e r a t i o no fw e bs e r v i c ec o m p o s i t i o n k e yw o r d s :w e bs e r v i c ec o m p o s i t i o n ;o c l ;t h ef o r m a lc o n s t r a i n t s 大连海事大学学位论文原创性声明和使用授权说明 原创性声明 本人郊霞声明:本论文足在导师的指导下,独立进行研究工作所取得的成果, 撰。r ;成硕上学化论义 :基王q l 的型星坠目睦签组金2 丝式丝约塞! 珏宜: 。除论文 q ,已经注明引用的内容外,对沦文的研究做出重要贡献的个人和集体,均已在义 中以明确方式标明。本论文中不包含任何未加明确注明的其他个人或集体已经公 丌发表或未公7 1 :发表的成果。本声明的法律责任由本人承担。 学位论义作者签名: 学位论文版权使用授权书 小学位论文作者及指导教! j i | j 完全了解大连海事大学有关保留、使用研究牛学 位论文的规定,即:大连海事大学有权保帮并向幽家有关部门或机构送交学化论 文的复f i j i - i 平1 1f u 子版,允许沦文被查阅和借阅。本人授权大连海市人学可以将本 学位论义的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或扫 捕等复制手段保存和汇编学位论文。同意将本学位论文收录到中h 优秀博硕士 学f 移沦义全义数据库( 中幽学术期l :i j ( 光微版) 电了杂志社) 、t | l 吲学f 讧论 文全义数据库( 中幽科学技术信息研究所) 等数据库巾,并以电子出版物肜式 j 版发行和提供信息服务。保密的论文在解密后遵守此规定。 本学位论文属于:保密口在年解密后适用本授权+ f 5 。 不保密留( 请在以e 方框内打“” ) 论文作者签名:撇导师签名:了砝够 日期:叫年多月矽日 基于o c l 的w e b 服务组合形式化约束研究 第1 章引言 1 1 选题依据 随着i n t e m e t 在各个领域应用的普及和深化,人们迫切需要能够方便地实现在 i m e m e t 上跨平台、语言独立、松散耦合的异构应用的交互和集成。分布式对象计 算由于实现了对象之间的透明互操作,近年来得到了长足的发展。w e b 服务作为 一利,新的分布式计算模型,能够在各种异构平台的基础上构筑一个通用的、与平 台无关的、与语言无天的技术层,使各种不同平台之上的应用方便地连接和集成。 w e b 月艮务是封装成一个单一实体并通过网络发布给其它程序使用的一系列功能集。 它足自包含、自描述、模块化的应用,可以发布、定位以及通过w e b 渊用。w e b 服 务可以执行从简币的请求到复杂商务处理的主要功能。一旦部署完成,其他w e b 服 务应用程序可以发现并调用它部署的服务。因此,w e b 服务足构造开放的分布式 系统的基础模块,允许所有的企业和个人快速、廉价的建立和部署全球性的应用。 在这种背景下,w e b 服务数量同益增长,随之而来的i u j 题足,在浩如烟海的w e b 服务海洋中找到适合自己的服务越来越州难。 为了使用w e b 服务封装成的单一实体,需要进行w 曲服务组合,将分布在不 同主机上的多个单一的w 曲服务根据一定的用,- 需求按照w e b 服务组合的方式构 建成满足要求的复合服务。然而,如何使w e b 服务和w e b 服务组合真j 下进入实用 的阶段,使组合过程中w e b 服务实现跨组织、跨管理域的系统集成和自动交互, 还面临着诸多的问题,其中一些问题是在传统的中问件应用中得到解决,而另外 一些则是新问题,比如w e b 服务如何组合、组合过程中服务的选择、组合中的异 常和不匹配等i u j 题,这些问题有待继续研究。 总结当前主流的服务计算模型,其服务计算方法主要分为语法方法、语义方 法和形式化方法三类,其中语法方法强调的足服务组装中的工作流过程,语义方 法旨在自动化服务组装全过程,形式化方法侧重于服务组装的j 下确性验证。f | 前, 语法层次和语义层次的组合方法仍处于初级阶段,都存在一定程度的缺点或不足: 这两种方法的组合模型大都缺乏严格的形式化语义支持,容易出错且不易检测; 另外,这两种方法的组合语言均以w s d l 标准为基础,侧重于服务问的消息传递, 缺乏对w e b 服务行为的有效约束,容易导致组合后系统行为与设汁阶段的系统行 第1 章引言 为相偏离,还可能导致系统动态演化过程中的行为不一致。袱铡用户需求找到的 w e b 服务是甭在组合过程中能够实现组装,各个服务之问输入和输m 的参数类,纵 输入和输出的参数个数、服务执行前条件是否满足、服务执行后状态是否j 下确等 各种i u j 题在w e b 服务组合过程中一直存在,目前解决相关问题常用的方法是使用 针对w e b 服务组合的各种验证方法,文献中对控制流和数据流进行建模,并对 s p i n 进行验证,但其数据流建模过程过于简单,无法验证输入输出的类型足甭匹 配。 为此,本义引入u m l 中的对象约束语言( o c l ,o b j e c tc o n s t r a i n tl a n g u a g e ) 用这种形式化描述语言对w e b 服务组合过程进行形式化的约束,以减少w e b 服务 组合过程中可能出现的问题,并将对w e b 服务组合的这些形式化约束在可视化 w e b 服务组合语言编辑器中设计实现。 1 2 课题来源 本论文的理论基础来源于国家自然科学基金项目“面向分布式软件丌发的软 构件协同计算模型及形式化验证”( 编号:6 0 5 7 3 0 8 7 ) 。该基金项r 的一个研究重 点足“面向分布式软件丌发的软构件协同计算模型”。针对这。研究重点,课题组 提出了一个“基于过程网络的服务协同计算模型( c c m ) ”0 本论文的实例模型来源于大连丌发区财政局基建资金管理系统。该系统的主 要功能是微据大连了l :发区财政局基建处不同部门的分: ,提供不同的服务模块。 同时4 i 同的服务模块之问并不是完全独立的,而是通过服务模块之问的参数传递 进行消息传递。 1 3 国内外研究现状 近年来,随着w e b 服务技术的快速发展使得利用w e b 服务组合米满足应用的 需求成为可能。w e b 服务越来越受到人们的关注,加上支持w e b 服务的企业级半 台的不断成熟和完善,越来越多的企业和组纵积极参与到软件服务化( s o f t w a r ea sa s e r v i c e ,s a a s ) 的行列中来,纷纷将其业务功能和组件包装成标准的w e b 服务,这 些服务经服务注册中心发布,成为在网络上共享的服务,以达到业务扩腱和发展 潜在客户的目的。但是网络上的存在的大多是功能单一、结构简单的w e b 服务, 还远远不能满足服务使用者实际的需要,在这种需求刁i 断强化的基础上w e b 服务 摹于o c l 的w e b 服务组合形式化约束研究 组合越来越受到业界的重视。 但是在w 曲服务组合过程中,还存在各种亟待解决的问题,本文将u m l 标 准中的对象约束语言o c l 应用到w e b 服务组合的建模过程中,使w e b 服务组合 在建模过程巾史多的加入语义信息,以减少由于对需求理解偏差造成的不正确问 题在后续阶段的扩大化,并将语义信息应用到服务组合过程中。 目前两个主流的服务组装描述语言:b p e l 4 w s ( b u s i n e s sp r o c e s se x e c u t i o n l a n g u a g ef o rw e bs e r v i c e ) 幂uo w l s ( s e m a n t i cm a r k u pf o rw e bs e r v i c e ) 。w e b 服务 的业务流程执行语言b p e l 4 w s 建立在w s d l 基础之上,它的优点足支持服务组 合上下文描述,缺点是对服务行为约束和属性描述缺乏支持;而o w l s 是基于本 体的服务描述语言,它的优点是引进本体描述w e b 服务功能和行为语义,支持部 分服务组装上下文描述,缺点足对w e b 服务的行为约束和非功能属性描述是部分 的、非完备的,而且语言比较复杂,普通用户不易掌握。 综合以上两种辛流服务组装描述语言的缺点,目前服务组合语言主要缺乏语 义的支持。本论文将对象约束语言o c l 语占引入w e b 服务组合中,对服务组合进 行形式化约束。困内已有学者将o c l 用于实时服务构件语义特征的描述【2 。对于 构件的描述主要包括构件的语法、语义和语境等信息,这方面研究目前主要采用 的方法有:自然语言,可扩展标记语言x m l 和体系结构描述语言a d l 等。网络 中许多构件之问存在一定的关系,相互之间相互影响,为保证构件的有效性、可 用性和一致性,北京邮电大学的会仙力提出一种基于对象约束语言o c l 的服务构 件特征语义描述模型( c f p m ) ,对构件特征见的各种关联和依赖关系进行了分类并 引入对象约束语言进行了形式化的描述【2 。 论文的实现部分主要是在可视化w e b 服务组合语言编辑器中增加对o c l 语言 的翻泽部分。对于o c l 工具目前有许多不同的工具,这些工具主要功能是:语法 分析、类型检查、逻辑一致性检查、代码生成、动态检验不变量、动态验证前置 和后置条件及测试自动化。 以下是几种典型的o c l 工具: 1 m o d e l r u n l 4 5 j m o d e l r u n 由b o l d s o f l 公司研发,用于验证模型。该工具能够对模型的巾的 o c l 表达式进行语法检查和类型检查。可对创建的对象执行模型的约束。使用该 第1 章引言 工具定义o c l 表达式既可以手工写入也可以为保证表达式的j f 确性使用该:j :具提 供的选项。o c l 表达式分析器是m o d e l r u n 的一部分,不能使用它作为模型独立 的工具。 2 o c lc o m p l i e r 【4 5 1 o c lc o m p l i e r 是为分析u m l 中的表达式而设计的一个应用。如果给定模型 的一个o c l 约束,o c lc o m p l i e r 作为一个独立的工具可以进行以下1 :作:o c l 表达式的语法检测;用于模型的约束一致性检查;同一模型中约束的不棚容性枪 查。o c lc o m p l i e r 用于r a t i o n a lr o s e 作为一个桥梁,将模魁翻译成它能分析的形 式化方式。 3 u s e t 4 5 j u s e 是由b r e m e n 大学m a r kr i c h t e r s 丌发的一种o c l :【具,能够对u m l 和 o c l 表达式进行语法检查,还可用o c l 检查系统状态等,该工具覆盖了u m l 语 言的主要特征,主要组成是一个模拟器和一个o c l 解释器。 以上几种:i :具主要是针对o c l 表达式的语法和一致性检畲。本论文的实现主 要是将o c l 与w 曲服务组合进行结合,将o c l 的解释工作放到的w e b 服务组合 可视化编辑器中。 1 4 论文主要研究内容 论文在分析了现阶段的w e b 服务、w e b 服务组合技术及对象约束语言o c l 的基础上,对w e b 服务组合的基本理论和对象约束语言做了深入的研究和实践工 作,将两者进行了有效的结合。主要工作包括: ( 1 ) 分析w e b 服务组合的背景、现状和发展。 主要研究本课题涉及到的w e b 服务和w e b 服务组合相天理论,包括w e b 服务 的荩本概念、体系结构及其特点,阐述w e b 服务组合的基本理论等,为l - 一步工 作奠定皋础。 ( 2 ) 深入研究对象约束语言o c l 的结构和使用方法 总结对象约束语言的基本组成元素和书写规范,详细研究对象约束语吉o c l 在u m l 中的使用,包括o c l 的基本数据类型、集合类型、每利- 集合类型对应的 操作等方面。 茎主旦竺兰竺鉴! 竖墨丝全丝垄垡竺墨婴塑 ( 3 ) 使用对象约束语言对w e b 服务组合进行形式化约束。 为减少w e b 服务组合过程中的异常和不匹配等情况,将对象约束语占o c l 引 入w e b 服务组合中,使用该语言对组合进行形式化约束,增加语义信息。这避包 含八种约束分别足:非关联性约束,是指用于服务组合的w e b 服务的端口类型和 端u 个数符合预期状态;前驱后继约束,是指用于服务组合的具有前驱后继关系 的服务之间的端口类型和端口个数要匹配;分支约束,是针对服务组合过程中出 现分支情况,包括全包含约束和不重复约束两种;互斥约束,是指为保证服务组 合的正确进行,约束有瓦斥关系的两个对象不会同时存在;互补约束,是指保证 有兀补关系的两个对象在服务组合过程中同时存在;父子约束,是指有父子关系 的两个服务之间应满足予服务最少及父子服务之问的端u 匹配;重数约束,是指 从数量上约束服务组合的对象之间的关系;可替换性约束,是指在w e b 服务组合 的重配胃过程中需要满足的重配置条件。 ( 4 ) 对象约束语言在w e b 服务组合语言可视化编辑器中的翻译执行。 将形式化约束真正的应用到实际的建模环境中,在已有的w e b 服务组合语言 可视化编辑器中将o c l 语言用已有的j a v a 包对其进行解释翻译,将形式化约束表 达式应用剑可视化编辑器中。 1 5 论文的组织与结构 第l 章为引言,详细i 割述本论文的选题背景和选题意义,分析国内外的研究 现状,简要介绍本论文的研究内容和研究方法。 第2 章研究w e b 服务组合的基本理论及相关技术。介绍w e b 服务的笨本概念 及其体系架构,w 曲服务组合的基本概念和研究领域。 第3 章研究对象约束语言o c l 。重点介绍对象约束语言的基本语法和使用。 第4 章定义形式化约束过程中使用的概念,将对象约束语言o c l 中的相关概 念应用到w e b 服务组合中。分析组合过程中可能出现的异常和不匹配情况,并使 用对象约束语言o c l 约束w e b 服务组合,增加语义信息。 第5 章用对象约束语言o c l 进行的形式化约束表达式在w e b 服务组合语言可 视化编辑器巾的翻译执行。 第6 章总结与展望。总结本论文的主要工作,对下一阶段的工作提出展望。 基于o c l 的w e b 服务组合形式化约束研究 第2 章w e b 服务组合的基本理论 2 1w e b 服务的基本概念及特征 自从w e b 服务产生以来,对w e b 服务就有不同的理解和概念描述。简单的理 解w e b 服务就足分散在网络上的不同主机上的提供某一功能的功能程序,它对外 提供程序接口和功能描述,需要相关服务的用户根据需要选择提供方提供的接口, 进而对程序进行调用,满足功能需求。当前对w e b 服务没有标准的定义。 ( 1 ) 被广泛接受的定义足w 3 c 组织2 0 0 4 年初在w e b 服务体系结构( w e b s e r v i c ea r c h i t e c t u r e ,w s a ) 中对w 曲服务的定义: 定义3 1 ( w e b 服务1 ) :w e b 服务是一个软件体系结构,被设计来支持网络上机器 之间的可互操作的交互,它有一个清晰的、机器可读的、通用的标准描述,其他 系统以孩描述中说明的方式与它交互,具体使用s o a p 消息以及其他w e b 相天标 准,具有完全丌放、松散耦合、标准协议规范和高度可集成能力等特征。 ( 2 ) m i c r o s o f t 对w 曲服务的定义【3 2 】: 定义3 2 ( w e b 服务2 ) :w e b 服务是一个向其它应用提供数据和服务的应用逻辑巾 元。应用程序通过无处不在的w e b 卧议和数据格式访问w e b 服务,如h t t p 、x m l 和s o a p ,而无需关心每个w e b 服务是如何实现的。 ( 3 ) s u n 对、e b 服务的定义【4 6 】: 定义3 3 ( w e b 服务3 ) :w e b 服务是软件构件。这类构件具有被发现、可组合和重 组合的特性,用于解决用户的问题或要求,j a v a 语言和x m l 是w e b 服务的最重 要技术。 w 曲服务是一种部署在w 曲上的对象组件,它具有以下特征2 】【1 6 l : ( 1 ) 完好的封装性:w e b 服务作为是一种部署在w e b 上的对象,自然也具备 对象的良好封装性。对于使用者而言,它能且仅能看到该对象提供的功能列表。 ( 2 ) 松散耦合:这一特征来源于对象组件技术,当一个w e b 服务的实现发生 变更的时候,调用者不会感觉到这一点。对于调用者来说,只要w e b 服务的调用 接i _ j 不变,w e b 服务实现的任何变化对他们来说都足透明的。甚至当w e b 服务的 实现平台从j 2 e e 迁移剑n e t 或者反迁移时,用户对此都一无所知。 ( 3 ) 使用协约的规范性:首先,w e b 服务对象界面所提供的功能应当使用标准 第2 章w e b 服务组俞的基本理论 的描述语言。其次,由标准描述语。- , 5 描述的服务界面应当是能够被发现的,凶此, 这一描述文档需要被存储在私有或公共的注册库晕面。最后,所有层次l 二的处理 都应当是可管理的,凶此,需要对管理协约运用同样的机制。 ( 4 ) 使用标准协议规范:作为w 曲服务,其所有公共的协约完伞需要使用丌 放的标准协议进行描述、传输和交换。一般而言,绝大多数规范将最终由w 3 c 或 者o a s i s 作为最终版本的发布方和维护方。 ( 5 ) 高度町集成能力:由于w e b 服务采用简单的、易于理解的标准w e b 协议 作为组件对外接f j 描述和协同描述规范,完全屏蔽了一i 同软件平台的差异,凶此, 无论是c o r b a 、d c o m 还是e j b ,都i j 丁以通过这一种标准的协议进行互操作,实 现了在当前环境下的最高的可集成性。 2 2w e b 服务体系结构 义献| 3 i 描述了、e b 服务基本体系结构,概括米说,w e b 服务体系结构包括三 种基本角色和三种基本操作。下面分别对这三种角色和三种操作进行简要介绍。 三种角色分别足: ( 1 ) 服务使用者。服务使用者是一个应用程序,一个软件模块或需要别的服务 为其提供服务的服务。服务使用者在使用w e b 服务前先向服务注册中心发出请求, 获得w e b 服务提供者的地址和服务接口信息之后,再使用标准协议( 如s o a p 协 议) 与服务提供者建。矗:连接并进行通信。 ( 2 ) 服务提供者。服务提供者是一个可以通过网络寻址的实体,它将自己的服 务和接 1 通过统一的标准( 如x m l ) 描述并发布到服务注册中心,使服务使用者 能够通过服务捕述,了解和请求服务提供者提供的服务,服务提供者接收和执i j : 服务使用者的服务请求。 ( 3 ) 服务注册中心。服务注册中心是服务发现的支持者,存储服务提供者发布 - n t - 3 :册中心的服务,服务使用者可以通过请求使用服务注册中心的服务。 w e b 服务体系结构中的每个实体都扮演着三种角色中的种,三者之i l i j 的关 系如图2 1 所示。 基于o c l 的w e b 服务组台形式化约柬研究 嘲2lw e b 服务体系结构 f i g2 ia r c h i t e c t u r eo f w e bs e r v i c e 三种操作分别是: ( 1 ) 发布( p u b l i s h ) 。发布是服务提供者将自己所提供的服务通过服务注册中心 发布,提供服务的描述和接r 7 。通过服务注册中一i i , 发布的服务j 能被服务使用者 发现。 ( 2 ) 发现( f i n d ) 。发现是服务使用者通过服务注册中心查找已注册的服务提供 者提供的服务并调用需要的服务来满足自己的需求。 ( 3 ) 绑定( b i n d ) 。绑定是服务使用者通过服务注册中心发现了自己调用的服务 之后,卣接与服务提供者提供的服务发生关系,这种关系就是服务绑定,调用发 现的服务。 以上就是三种角色和三种操作。服务提供者通过u d d l 进行注册,将自己提 供的服务注册到服务注册中一t l , 以便使用者使用;服务使用者通过u d d i 查找发现 自己需要的服务,再与服务提供者绑定,使用服务;服务使用者通过u d d i 查找 到自己需要使用的w e b 服务之后通过服务提供者用w s d l 描述的服务接口和功能 识别需要的服务的功能,并通过s o a p 协议与服务提供者建立连接,并调用服务 提供者提供的服务。通过这一过程可见w e b 服务中的关键技术有:s o a p 、w s d l 、 第2 章w e b 服务组合的基本理论 u d d i 。下一节分别介绍了这三个关键技术。 2 3w e b 服务关键技术 2 3 1s o a p s o a p 【4 】:s o a p ( s i m p l eo b j e c ta c c e s sp r o t o c a l ,简单对象访问协议) 技术有助 于实现人量异构程序和平台之间的瓦操作性,从而使存在的j 哑用能够广泛地被用 户所访问。s o a p 是把成熟的基于h t t p 的w e b 技术与x m l 的灵活性和可扩展 性组合在了一起。 s o a p 以x m l 形式提供了一个简单、轻量的用于在分散或分布环境中交换结 构化和类型信息的机制。s o a p 本身并没有定义仟何应用程序语义,如编程模型或 特定语义的实现;实际上它通过提供一个有标准组件的包模型和在模块中编码数 据的机制,定义了一个简单的表示应用程序语义的机制。这使s o a p 能够被用于 从消息传递到r p c 的各种系统。 s o a p 包括三个部分内容,分别是s o a p 封装结构、s o a p 编码规则和s o a p r p c 表示。 s o a p 封装结构定义了一个整体框架用来表示消息中包含什么内容,谁来处理 这些内容以及这些内容是可选的或是必需的。 s o a p 编码规则定义了用以交换应用程序定义的数据类型的实例的一系列机 制。 s o a pr p c 表示定义了一个用来表示远程过程调用和应答的协定。 虽然这三个部分都作为s o a p 的一部分一起描述,但它们在功能l 二是相交的。 特别的,封装和编码规则是在不同的域名中定义的,这种模块性的定义方法增加 了简紫性在s o a p 封装,s o a p 编码规则和s o a p r p c 协定之外,这个规范还定义 了荫个协议的绑定,描述了在有或没有h t t p 扩展框架【6 】的情况下,s o a p 消息 如何包含在h t t p 消息中被传送。 2 3 2w s d l w s d l 文档将w e b 服务定义为服务访问点或端口的集合。在w s d l 中,由 于服务访问点和消息的抽象定义已从具体的服务部署或数据格式绑定中分离出 来,因此可以对抽象定义进行再次使用:消息,指对交换数据的抽象描述;而端 摹于o c l 的w e b 服务组合形式化约束研究 u 类型,指操作的抽象集合。用于特定端u 类型的具体协议和数据格式规范构成 了可以再次使用的绑定。将w e b 访问地址与可冉次使用的绑定相关联,町以定义 一个端口,而端【j 的集合则定义为服务。因此,w s d l 文档在w e b 服务的定义中 使用下列元素: t y p e s :数据类型定义的容器,它使用某种类型系统( 一般地使用x m ls c h e m a 中的类型系统) 。 m e s s a g e :通信消息的数据结构的抽象类型化定义。使用t y p e s 所定义的类型 来定义整个消息的数据结构。 o p e r a t i o n :对服务中所支持的操作的抽象描述,一般单个o p e r a t i o n 描述了一 个访问入【- l 的请求u l _ i j 应消息对。 p o r t t y p e :对于某个访问入口点类型所支持的操作的抽象集合,这些操作可以 由。个或多个服务访问点来支持。 b i n d i n g :特定端e l 类型的具体协议和数据格式规范的绑定。 p o r t :定义为协议数据格式绑定与具体w e b 访问地址组合的单个服务访问点。 s e r v i c e :相关服务访问点的集合。 w s d l 文档结构如图2 2 所示。 端u ( p o r t ) 消息( m e s s a g e ) 操作( o p e r a t i o n ) 端u 类犁( p o r t t y p e ) 数据类型( d a t a t y p e ) 绑定( b i n d i n g ) 图2 2w s d l 文档结构 f i g 2 2a r c h i t e c t u r eo fw s d ld o c u m e n t 其中,t y p e s 是一个数据类型定义的容器,包含了所有在消息定义中需要的 x m l 元素的类型定义,m e s s a g e 具体定义了在通信中使用的消息的数据结构, 笙! 童! ! ! 竖箜塑佥塑壁奎堡堡 m e s s a g e 元素包含了一组p a r t 元素,每个p a r t 元素郜足最终消息的一个组【成部分, 每个p a r t 都会引用一个d a t a t y p e 来表示它的结构。p a r t 元素不支持嵌套( 可以使用 d a t a t y p e 来完成这方面的需要) ,都是并列出现。p o r t t y p e 具体定义了一种服务访 问入口的类趔,何渭访问入口的类型昵? 就足传入传出消息的模式及其格式。一 个p o r t t y p e 可以包含若干个o p e r a t i o n ,而一个o p e r a t i o n 则是指访问入口支持的一 种类型的调用。在w s d l 罩呖i 支持四种访问入口调用的模式: ( 1 ) 请求模式 ( 2 ) 响应模式 ( 3 ) 请求h 向应模式 ( 4 ) 响应请求模式 2 3 3u d di u d d i ( u n i v e r s a ld e s c r i p t i o n ,d i s c o v e r y , a n di n t e g r a t i o n ,u d d i ) 是统一描述、 发现和集成的意思。w s d l 用米描述w e b 服务的相关信息,而w e b 服务,f :发商还 需要一个方法将自己丌发的w e b 服务进行发布,广而告之。于是,统一描述、发 现和集成协议u d d ij 立运而,卜。u d d i 是一个跨产业、跨平台的开放性架构,它可 以帮助w e b 服务开发商在i n t e m e t 上公布自己推出的w e b 服务。简单的说,w e b 服务是一种开发的规范,使得通过网络可以对基于规范开发的各种应用进行调用、 整合,从而在瓦联网上完成更复杂的任务,u d d i 就足w e b 服务的服务中介。 图2 3 是u d d i 的分层w e b 服务协议栈1 5 】: 基于o c l 的w e b 服务组合形式化约束研究 7 u d d i j 一 剧2 3 简单w e b 服务协议栈 f i g 2 3s i m p l ew e bs e r v i c es t a c k 如图2 3 所示,u d d i 包含于完整的w e b 服务协议栈之内,而且是协议栈基 础的主要部件之。,支持创建、说明、发现和调用w e b 服务。 u d d i 构建丁网络传输层和基于s o a p 的x m l 消息传输层之 二。诸如 w 曲服务描述语言( w e bs e r v i c e sd e s c r i p t i o nl a n g u a g e ,w s d l ) 之类的服务描述 语言提供了统一的x m l 词汇( 与交互式数据语言( i n t e r a c t i v ed a t al a n g u a g e , i d l ) 类似) 供描述w e b 服务及其接口使用。您l 丁以通过添加分层的功能搭起整 个基础,比如使用w 曲服务流程语言( w e bs e r v i c e sf l o wl a n g u a g e ,w s f l ) 的 w e b 服务工作流描述、安全性、管理和服务质量功能,从而解决系统可靠性和可 用性问题。 2 4w e b 服务组合 随着w e b 服务技术的h 益发展,越来越多的通用、易用的w e b 服务共享到了 网络上。f h 是这螳币个的w e b 服务远远刁、= 能满足服务使用者的需求,往往需要将 已有的多个w e b 服务组合起来,使已有的w e b 服务更加允分的得到共享并提供更 加强大的功能,加快系统,f :发的速度,快速满足服务使用者的需求。 笙! 童坠! ! ! 箜塑! 鱼塑堡奎壁笙 w e b 服务组合并不是一个孤立的问题,它包含了w e b 服务发现、w e b 服务组 合、w e b 服务组合验证、w e b 服务组合的执行与监控、w 如服务组合安全和事务 管理等关键问题。 目前,w e b 服务组合的执行与监控已成为w e b 服务的一大难点问题。组合服 务如同个极度松散耦合的分布式应用系统,该系统在地域上的分散程度是一般 分布式系统所彳i 及的,而且该系统的每一个外部服务对于组合服务而言均是透明 的,加之网络环境高度的复杂性和动态性,使得如何保证w e b 服务组合稳定可靠 的执行与监控成为一大难点问题i 。 对于w e b 服务而言,它是一种存在于分布式环境中的应用程序,这种分布式、 异构的本质使其安全性变得更加复杂,对于w e b 服务组合安全和事务管理的需求 也就更加迫切。 2 4 1 服务组装模型 当前流行的服务组装模型【2 3 1 按照是否支持语义信息分为基于语法的模型和基 于语义的模型;按照是否支持运行时组装分为静态组装模型和动态绢装模型。基 于语法的模型t 要依据x m l 标准对服务进行描述和组装,例如b p e l 4 w s 2 4 1 、 w s f l 2 引、以及b p m l l 2 6 1 等;基于语义的模型采用皋于本体的推理米实现服务组装, 依靠人:r 智能米自动化检索、编排和组装服务。静态组装是指设计阶段组装,足 在需求明确的情况下进行,完全按照需求进行组装,这种组装方式小适合需求频 繁变化的情况;动态组装是在运行时组装,能够根据需求进行纽装,能够自动产 生组装计划,可以适应静态纽装不能适应的需求变化的情况,减少了设计阶段的 任务,支持敏捷软件开发。 各种标准或方法2 7 1 在研究中所关心的两个主要方面是:一是消息传递或动作 执行;二是服务行为建模,包括建模单个w e b 服务的行为和服务组装后的行为。 按照行为建模方式的不同,将行为模型分为三类:一是基于消息的模型,二足基 于活动的模型,三是基于时间的模型。 2 4 2 服务组装方法 当前工业界和学术界都提出了众多的w e b 服务组合方法,。町以根据不分类 标准进行分类。根据w e b 服务组合实现方式可以分为服务编制( o r c h e s t r a t i o n ) 和服 兰竺兰! :堕鉴! 竖堑丝垒垄垄些竺窭竺壅 务编排( c h o r e o g r a p h y ) 两火类。这两大类的区别:服务编制需要一个总控制流程来 控制涉及到的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 服务组合方法的技术或理论基础【l 丁以服务 分为基_ r j i :作流的服务组合和基于人工智能的服务组合。 2 5 本章小结 随着w e b 服务十h 关标准的持续完善和支持w e b 服务的企业级软件平台的不断 成熟,i n t e r n e t 上涌现出越米越多的服务。如何将这些服务有效地继承起来,实现 更为复杂的,功能更为丰富的大规模服务也h 趋重要。但要实现服务的自动、高 效的服务组合,真j 下将服务组合技术应用到实际的b 2 b 电子商务、企业应用集成 - 丌发,并且成为最终的企、【k 增值服务的解决方案,还有很多问题需要解决。 基于o c l 的w e b 服务组合形式化约束研究 第3 章对象约束语言o o l 3 1o o l 概述 o c l ( o b j e c tc o n s t r a i n tl a n g u a g e ) 对象约束语言是一种形式化语言,它最初是 用米描述u m l 中附加的约束关系,从而进一步精确的表示u m l 模型。o c l 是 u m l 标准的一部分。建模人员可以用它来对模型的约束信息进行描述,其研究的 目的就足把u m l 语言的易用性和形式化方法的精确性结合到一起。 3 1 1o o l 的产生 对象约束语言( o c l ,o b j e c tc o n s t r a i n tl a n g u a g e ) 1 6 1 是用于在u m l 模型中描述 表达式的一种形式化语言。1 9 9 5 年在i b m

温馨提示

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

评论

0/150

提交评论