




已阅读5页,还剩64页未读, 继续免费阅读
(计算机软件与理论专业论文)基于tla的owls+web服务验证与组合.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 随着以w e b 服务为基础的面向服务的体系结构的发展,如何有效的联合自治的、分布 的、不同功能的w e b 服务构建新的企业业务应用成为新的热点问题。利用w e b 服务组合技 术,企业业务应用可以获得极人的灵活性。然而,w e b 服务组合技术的研究刚刚起步,如 何使w e b 服务真正进入实用阶段,使之实现跨组织,跨管理域的系统集成和自动交互,还 面临很多问题。有些已经解决,另一些则研究尚不充分,比如w e b 服务如何组合,能否自 动组合,组合的正确性验证,以及如何利用模型检测技术来解决诸如服务组合状态的终止性 和可达性等问题。 针对上述不足,本文引入了一种时序逻辑t l a ( t e m p o r a ll o g i co f a c t i o n s ) ,用作w e b 服务的验证与组合,主要包括:1 ) 验证已存在的o w l s 描述的服务组合流程;2 ) 提出w e b 服务的t l a 规范,并利用t l a 的一阶逻辑特性,实现服务组合流程的自动生成与验证。本 文首先提出了一种o w l s 流程的t l a 模型,并开发自动转化验证o w l s 流程的_ r :具,实 现服务组合的自动验证。然后,引入w e b 服务的自动机模犁,提出单个w e b 服务的t l a 规范,以及组合服务的t l a 规范。最后, 以t l a 的一阶逻辑部分,实现w e b 服务的选择、 细合与验证。 关键字: w e b 服务,t l a ,w e b 服务组合,w e b 服务组合的验证 a b s t r a c t a b s t r a c t w i t ht h ee v o l u t i o no fs e r v i c e o r i e n t e da r c h i t e c t u r e ,h o w t o s u p p o r t f o r c o m p o s i t i n g d i s t r i b u t e da n da u t o n o m o u sw e bs e r v i c e si n t ob u s i n e s sa p p l i c a t i o n sh a sb e c o m eak e ya r e ai nt h e s 0 1 a r ee n g i n e e r i n gr e s e a r c h f l e x i b i l i t yo fb u s i n e s sa p p l i c a t i o n s w i l lb eo b t a i n e dt h r o u g h u t i l i z i n gw e bs e r v i c e sc o m p o s i t i o nt e c h n o l o g i e s h o w e v e r , a tt h i ss t a g e ,t h er e s e a r c ho nt h e s e e m e r g i n gt e c h n o l o g i e sd o s en o ts o l v et h en e c e s s a r yp r o b l e m st ob u i l dw e bs e r v i c ec o m p o s i t i o n , e s p e c i a l l yi nw e bs e r v i c ec o m p o s i t i o nm o d e l i n g ,c o m p o s i t i o nv e r i f i c a t i o n ,e x e c u t a b l es e m a n t i c s a n ds u p p o r t i n gs y s t e m s i nt h i sp a p e r , at e m p o r a ll o g i cn a m e dt l a ( t e m p o r a ll o g i co fa c t i o n s ) i s i n t r o d u c e dt os o l v et h ep r o b l e mo fc o m p o s i t i o na n dv e r i f i c a t i o n i nt h i sp a p e r t w om a i np r o b l e m sa r es o l v e d ,i n c l u d i n g :1 ) v e r i f y i n gt h ee x i s t i n gs e r v i c e c o m p o s i t i o nd e s c r i b e db yo w l s ;2 ) p r o p o s i n gt l as p e c i f i c a t i o no fw e bs e r v i c e sc o m p o s i t i o n , w i t ht l aa n di t so n eo r d e rl o g i cp r o p e r t y , g e n e r a t i n gt h es e r v i c ec o m p o s i t i o na n dv e r i t y i n gi t a u t o m a t i c a l l y f i r s t l y , t h ep a p e rp r o p o s a l sat l a m o d e lo fo w l - sp r o c e s s ,a l s oa na u t o m a t i ct o o l i sd e v e l o p e dt oc o n v e r ta n dv e r i f yt h eo w l sp r o c e s s s e c o n d l y , b a s e do nt h ea u t o m a t am o d e lo f w e bs e r v i c e s ,t l as p e c i f i c a t i o n so fs i n g l es e r v i c ea n ds e r v i c ec o m p o s i t i o na r ep r o p o s e d a tl a s t , m a k i n gu s eo ft l a a n di t so n eo r d e rl o g i cp r o p e r t y , an e wa p p r o a c ho fs e l e c t i n g c o m p o s i t i n ga n d v e r i f y i n gw e b s e r v i c e si sp r e s e n t e d k e yw o r d s :w e bs e r v i c e s ,t l a ,w e bs e r v i c e sc o m p o s i t i o n ,v e r i f i c a t i o n o fw e bs e r v c i e s c o m p o s i t i o n 图表目录 图表目录 图2 1w e b 服务体系架构模型一5 图2 2s o a p 消息的封装模型6 图2 3w s d l 文档结构一7 图2 _ 4w e b 服务体系架构与相关规范8 图2 5o w l s 的组成部分1 0 图2 6b p e l 4 w s 封装示意图1 2 图3 1t l a 符号及其a s c i i 码表示对照l8 图4 1p r o c e s s 的类与属性2 2 图4 2o w l s 流程模型的树形结构描述2 5 图4 3o w l s 流程的常规流程图表示2 6 图4 - 4s e q u e n c e 2 6 警 4 - 5s p l i t 2 7 l 訇4 6s p l i t + j o i n 2 7 l j4 - 7c h o i c e 2 7 i jz l 一8r e p e a t 2 7 鞫4 - 9l f t h e n e l s e 2 8 图4 1 0 系统功能模块划分3l 图4 1 1p a r s e r 模块处理结果3l 图4 1 2c h a n g e r 模块处理结果3 l 图4 13s e q u e n c e 结构处理3 3 图4 1 4s p l i t + j o i n 控制结构处理3 3 图4 1 5 正确组合流程的验证输出3 4 图4 1 6 存在死锁的组合流程的验证输出3 5 图4 1 7 服务组合系统活性验证输出3 5 图5 - l 商品信息奄询w e b 服务的自动机模型3 8 图5 2i n q u i r e b y b a r c o d e 服务检验结果4 2 图5 3 汇率换算w e b 服务的自动机模型4 4 图5 4 商品信息查询与汇率换算服务的s e q u e n c e 组合4 4 图5 5 多个w e b 服务s e q u e n c e 组合的自动机模型4 6 图5 - 6 西个w e b 服务并行的自动机模型4 7 图6 1 生成服务组合方案的性能5 6 图6 - 2 组合服务的验证输出5 6 。 图6 3 死锁系统的验证输出5 7 图6 - 4 系统活性属性验证一5 7 图6 5 系统活性属性验证二5 8 图6 - 6 系统活性属性验证三5 8 表2 1 各种方法满足服务组合需求的比较一1 4 表4 1o w l s 控制结构简述2 4 表6 1 描述w e b 服务场景的部分谓词5 2 v i 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表或撰写过的研究成果,也不包含为获得东南大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 研究生签名:垄整日期:过p 多,哆 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位 论文的复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人 电子文档的内容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论 文被查阅和借阅,可以公布( 包括刊登) 论文的全部或部分内容。论文的公布( 包 括刊登) 授权东南大学研究生院办理。 期:姥p 么r - ) i i i 第l 章绪论 1 1 研究背景 第1 章绪论 互联网的出现与演进不断改变着人们的生活。当人们试图在网络平台上寻求一个复杂宏 大问题的解决方案时,发现解决问题的思路与网络还朱出现的早时非常相似把问题分解 成一些小而相关的子问题,以便更有条理地管理与实施。而每个子问题的解决模块就是一个 服务( s e r v i c e ) ,这就是所谓的面向服务( s e r v i c e o r i e n t e d ) 。当这种做法被抽象成一种方法论时, s o a ( s e r v i c e o r i e n t e da r c h i t e c t u r e ) 的概念被提出了。值得注意的是,w e b 服务只是s o a 的一种实施方式,两者不能划上等号。 在s o a 中,每个服务都是应用开发流程中的基本元素。w e b 服务是平台和网络独立的, 因此为了能够在s o a 环境中进行互操作,每个服务都必须包含机器可读的档案,一般分为 三类:描述( s e l e c t i o n ) 、发现( d i s c o v e r y ) 和通讯( c o m m u n i c a t i o n ) 。为此,w 3 c 等组织制定了一 系列w e b 服务标准,如w s d l ( w e bs e r v i c ed e s c r i p t i o nl a n g u a g e ) 用于服务描述, u d d l ( 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 yi n t e g r a t i o n ) 用于服务发现,s o a p ( s i m p l eo b j e c ta c c e s s p r o t o c 0 1 ) 用于通讯。 为了满足现实中复杂的用户需求,简单的服务必须适当地进行组合( 合成) 。这种开发 方式迅捷、复用性高、耦合性低且易于管理,而这止是s o a 的精髓所在。然而,w e b 服务 组合的需求与传统的基于组件( c o m p o n e n t b a s e d ) 的软件开发方式不尽相同。w e b 服务之间仅 可以互相访问描述大致功能的w s d l 文档;服务的执行也在各自的容器中,往往被防火墙 或者某些网络边界隔开。于是,行之有效的w e b 服务组合有儿点必须考虑:连通性( 能够选 取并调用等待组合的w e b 服务) ,非功能服务质量属性( 执行时间、费用等属性) ,正确性( 能 够验证组合服务的性质,如:上作流) 以及执行时间复杂性。 与w e b 服务的描述、发现和通讯不同,w e b 服务的组合还没有一种公认的完善解决方 案。第一代w e b 服务组合语言,i b m 的w s f l ( w e bs e r v i c e s f l o wl a n g u a g e ) 与b e a 的 w s c i ( w e bs e r v i c e sc h o r e o g r a p h yi n t e r f a c e ) 是相互不兼容的。第二代服务组合语言,比如 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 nl a n g u a g ef o rw e bs e r v i c e s ) ,综合了w s f l 、w s c i 与 微软的x l a n g 规范。其他,又有o 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 s ) 与p e t r in e t s 等 方法,各具优点义有各自的局限性。如何解决w e b 服务组合中的一系列问题,是目前学术 界与工业界研究的热点。 1 2 研究现状 近年来,w e b 服务的理论和技术取得了长足的发展,除了既成的标准( 如 s o a p , w s d l ,b p e l 4 w s ) ,工业界开发了很多与w 曲服务相关的技术( 如i b m 的w e b s p h e r e t o o l k i t ,s u n 的o p e nn e te n v i r o n m e n ta n dj i n i t mn e t w o r k ,m i c r o s o r 的n e t 和n o v e l l 的 o n en e ti n i t i a t i v e s ,h p 的e s p e a k 等) 。同时,相关的课题也正处于研究之中,比如 d a m l s o w l - s 1 ,2 ,3 ,4 】,s w s l ( s e m a n t i cw e bs e r v i c e si n i t i a t i v e ) 的成果【5 】,a u t o m a t a - b a s e d m o d e l sf o rw e bs e r v i c e s 6 ,7 ,8 】,w s m o ( w e bs e r v i c em o d e l i n go n t o l o g y ) 9 ,10 ,l l 】等。 如何使w e b 服务真正进入实用阶段,使之实现跨越组织,跨越管理域的系统集成和白 东南大学硕十学位论文 动交互,还面临很多问题。有些已经解决,另一些问题则是新的 1 2 】,比如w e b 服务如何组 合,能否臼动组合,组合的正确性验证,以及组合服务是否与期望中的服务等价等问题。为 了解决服务组合中存在的这些问题,主要有两种思路。一类是流程组合的思想,如b p e l 4 w s 描述语言,这类方法的建模和验证一般使用时序逻辑、p e t r i 网和进程代数等形式化方法; 另一类是借助人:j :智能的思想,如语义w e b 。在w e b 服务合成的解决方案中,时序逻辑的 方法引入了时间因素,更容易表示同步与异步的概念,对丁二描述并发系统很有优势。因此, 基于时序逻辑进行w 曲服务组合的研究具有独特的意义。 t l a ( t e m p o r a ll o g i co f a c t i o n s ) 13 】由l e s l i el a m p o r t 提出,结合了时序逻辑与传统逻 辑,能够准确地描述系统行为,有着较强的描述能力和推理能力。使用t l a 建模时,将系 统的动作( 行为) 分解为有序的状态集合,再将状态的变化规则描述为相应的逻辑公式。本 文基丁t l a ,并结合o w l s 描述语言,研究并讨论了服务组合及其验证问题。 1 3 研究内容与贡献 本文的主要内容是用动作时序逻辑( t e m p o r a ll o g i co f a c t i o n ,简称t l a ) 对w e b 服务 的描述、组合以及验证问题进行研究。时序逻辑方法尤其适合描述并发和实时系统,因此, 在开放的w e b 服务环境中,基于时序逻辑研究服务组合很有探索意义。由于t l a 描述的系 统都可用一个t l a 公式表示,从而模型性质的验证范围较其他形式化方法更为j “泛。只要 能写成t l a 公式的性质都可以用t l a 的模型检验器t l c ( t l am o d e lc h e c k e r ) 进行验证。 t l c 采用多线程并发检验的方法加快验证速度,并利用磁盘技术来缓解状态爆炸问题。所 以,和其它验证一f :具相比,t l a 不用像s p i n 那样担心无法处理实时,像u p p a a l 那样担 心表达能力有限和内存消耗过大,使用t l a 进行描述并验证具有一定优势。t l a 的语法和 形式化语义比较简单,这种简单灵活的自定义特性赋予t l a 很强的描述能力,它在原理验 证和实际应用上已有着出色的表现【1 4 ,1 5 】。本文选取了在学术界颇具影响力的服务组合描述 语言o w l s 作为研究的基础,其基于本体的语义推理能力在作者看来是极富i 特力的自动组 合方式。然而,o w l s 的服务描述模式,究其本质,依然不是完全形式化的表示方法。为 了精确地描述与验证w e b 服务组合模型,本文首先提出了o w l s 服务组合流程的t l a 描 述方法,使用t l c 对该t l a 描述进行验证,包括安全性、活性与公平性;并研究了将o w l s 流程模型转化为t l a 描述的方法,进而设计实现了自动转换1 :具,这大大增加了论文研究 一f :作的实用性与现实意义。然后,基于服务组合场景的复杂性,以及充分利用t l a 之时序 特性,论文进一步探索了w e b 服务组合的t l a 模犁,更精确完整地描述w e b 服务组合场 景,并以t l a 的一阶逻辑含义实现w e b 服务的自动选择、组合与验证。通过检验w e b 服 务组合的t l a 模型,可以在较小的粒度层面推演系统的行为,论证模型的正确性,发现系 统行为不完整,死锁,缺少同步等。 在课题研究过程中,作者围绕w e b 服务组合课题的理论与实现技术开展了一系列学习、 研究与探索,主要内容可以概括为两部分: 第一,对于已经存在的w e b 服务组合方式,使用t l a 进行验证; 第二,通过建立w e b 服务的t l a 描述模型,实现w e b 服务的自动选择、组合与验证, 即生成组合方式并验证之。 具体地说,研究内容包括: 1 t l a 的学习与研究; 2 o w l s 服务组合流程的t l a 描述; 3 o w l s 流程描述转化为t l a 描述的研究与探索; 4 开发相应上具实现o w l s 流程模型到t l a 描述的自动转换与验证; 2 第l 章绪论 5 研究并提出w e b 服务的t l a 模型; 6 t l a 结合一阶逻辑推理实现w e b 服务的自动选择、组合与验证。 相比各种w e b 服务组合与验证的方法,模式检验在组合验证与自动组合两方面独具优 势 2 9 1 。然而,关于w e b 服务组合与验证的模式检验方法的研究尚处于开始阶段,有很多问 题急待研究。本文的主要贡献在于:以t l a 为基础,提出了一种检验o w l s 流程模型的 方法,并开发了相应的自动转化与验证工具;同时,基于w e b 服务组合自动机模型的相关 工作,提出一种新的描述w e b 服务与w e b 服务组合的新方法,并结合t l a 的一阶逻辑特 性,实现w e b 服务的自动组合与验证。本文的t 作是模式检验应用于w e b 服务相关课题的 一次独特尝试,具备相当的理论与实践价值,取得了良好的效果,证明模式检验在w e b 服 务领域是一种切实可行的方法。 1 4 论文结构安排 第一章绪论,阐述了论文的研究背景,提出了当前w e b 服务组合与验证中亟待解决的 问题。第二章,介绍了w e b 服务组合的一些关键概念、技术与标准,以及已有的组合方式, 并对它们从服务组合需求的角度进行了比较,从中可以看出t l a 模式检验方法的优势。第 三章,介绍了t l a 及相关概念。第四章,提出了如何用t l a 描述o w l s 流程模型,开发 o w l - s 到t l a 的自动转化: 具,并给出实验数据和结论。第五章,提出了w e b 服务的t l a 描述模型,并在此基础上详细讨论了如何对w e b 服务的t l a 描述模犁进行组合,即服务组 合的t l a 规范。第六章,利用t l a 的一阶逻辑特性,提出w e b 服务选择与组合方法,并 给出相应的实验与分析。第七章,总结全文工作,并提出进一步研究工作的方向。 3 东南大学硕上学位论文 2 1 w e b 服务 第2 章研究基础 w e b 服务从广义上讲可以理解为一种通过互联网进行数据及功能共享的技术,狭义上 可以理解为一种通过互联网及标准接口进行调用的构件。2 0 0 2 年4 月,w 3 c 给出了一个相 对清晰的定义:“w e b 服务是一种通过u r i 标识的软件应用,其接口及绑定形式可以通过 x m l 标准定义、描述和查找,并能通过x m l 消息及互联网协议与其它应用的直接交互”。 2 1 1w e b 服务概述 w e b 服务是一种自包含、自描述、模块化的程序,它吸收了分布式计算,g r i d 计算和 x m l 等各种技术的优点,通过采用w s d l ,u d d i 和s o a p 等基1 :x m l 的标准和协议, 解决了异构分布式计算以及代码与数据重用等问题,具有高度的互操作性,跨平台性和松耦 合的特点,引起了世界范围内学术界和一r 业界的极大兴趣 1 6 ,1 7 ,1 8 ,1 9 】。 首先,w e b 服务是可重用的软件模型,w e b 服务是对软件开发中面向对象设计的发展 和升华。基于组件的模型允许开发者重用其他人创建的代码模块,组合或扩展它们,形成新 的软件。 其次,这些软件模块是松散耦合的。传统的应用软件设计模式要求各个单元之间紧密连 接,这种连接形成的复杂性要求开发者必须对连接的两端元素有完全的了解和控制能力,而 且这种连接一旦建立后,很难从中把一个元素取出,用另外一个元素代替。相反,在松耦合 的系统中,只需要简单的协调,并允许自由地配置。 第三,从语义上看,w e b 服务封装了离散的功能。一个w e b 服务就是一个白包含的“程 序”,完成单个的任务。w e b 服务使- 【 j 其他软件可以理解的方式描述自身的输入和输出,因 此其他软件知道它能做什么,如何调用它的功能以及返同什么样的结果。 第四,w e b 服务可以在程序中访问。和w e b 网站或桌面程序不同,w e b 服务不是为直 接与人交互设计的,它们不需要有图形化的用户界面。w e b 服务是在代码级别一r 作的,它 们被其它程序凋用,并与其它程序交换数据。不过,w e b 服务最终的目的还是形成一个能 够与用户交互的应用程序。 最后,w e b 服务是在i n t e r a c t 上发布的,w e b 服务使用现有的广泛使用的传输协议,比 如h t t p ,使用与传输w e b 内容相同的、并,“泛使用的协议,不需要调整现有的i n t e m e t 架构,w e b 服务就可以通过防火墙进行通信。 2 1 2w e b 服务体系架构 w e b 服务的体系架构如图2 - l 所示,它由三种参与者和三种基本操作构成 2 0 】。三种参 与者分别是: 服务消费者( s e r v i c ec o n s u m e r ) :它是最终的服务使用者,通过发起对服务 代理的奄询,传输绑定服务,并最终执行服务功能。 服务提供者( s e r v i c ep r o v i d e r ) :它是提供最终w e b 服务的供应商,他实现了 4 第2 章研究基础 服务,并放置在服务器上供别人调用。 服务代理( s e r v i c er e g i s t r y ) :它是服务发现的支持者,包含一个可用服务的 数据库,并允许服务使用者杏找服务提供者接口。 w e b 服务体系架构中的三种操作分别是: 发布( p u b l i s h ) :为了使服务可访问,需要发布服务描述以使服务消费者发现 和调用。 查找( f i n d ) :服务消费者定位服务,通过查询服务代理来找到满足其需求的 服务。 绑定( b i n d ) :检索服务描述之后,服务消费者根据服务描述信息与服务提供 者的服务绑定,调用服务。 图2 1w e b 服务体系架构模型 服务提供者将他的服务用w s d l 描述,然后发布到服务代理上:服务代理采用u d d i 标准来支持服务查找:当服务消费者需要调用该服务时,它首先通过服务代理奄找该服务, 得到该服务的描述和调用信息,然后根据这些信息与服务提供者绑定,去调用它发布的服务; 服务消费者,服务代理和服务提供者之间通过s o a p 消息来传递信息。下面分别对上述规 范,s o a p ,w s d l 和u d d i 作简要的介绍。 2 1 3w e b 服务相关规范 目前围绕着w e b 服务的发布、查找、绑定各大标准化组织和厂商不断地制定相关标 准规范,其中主要包括三个规范:s o a p ,w s d l 和u d d i 。 2 1 3 1s o a p 由于互联网的异构性,导致跨平台的应用程序在数据共享方面的能力非常有限,因此一 直以来人们都在努力建立有关数据格式和数据交换方面的标准,希望能在互联网环境下无缝 地集成垮平台的服务,实现不同系统间的自由通信和数据共享,而s o a p 正是实现这个目 标的核心协议。 s o a p ( s i m p l eo b j e c t a c c e s sp r o t o c o l ,简单对象访问协议) 为在一个松散的、分布的环 境中使用x m l 对等地交换结构化的和类型化的信息提供了一个简单且轻量级的机 l i t l 2 1 。 s o a p 本身并不定义任何应用语义,如编程模型或特定语义实现等,它只是定义了一种简单 的机制,通过一个模块化的包装模型和对模块中特定编码格式的数据的重编码机制来表示应 用语义。s o a p 的这项能力使得它可以被很多类型的系统用于从消息系统剑r p c ( r e m o t e p r o c e d u r ec a l l ) 的延伸。 s o a p 由以下四部分组成: 5 东南大学顾十学位论文 s o a p 信封( s o a p e n v e l o p e ) :它构造定义了一个整体的表示框架,用于描述 消息内容和处理方法。 s o a p 编码规则( s o a pe n c o d i n gr u l e s ) :定义了一个数据的编序机制,通过这 个机制来定义应用程序中使用的数据类型,并用于交换这些数据类型的实例。 s o a pr p c 表示( s o a pr p cr e p r e s e n t a t i o n ) :它定义了一个用于表示远程过 程调用和响应的规则。 s o a p 绑定( s o a pb i n d i n g ) :定义一个使用底层传输协议来完成结点间交换 s o a p 信封的规则。 为简化规范,这四个部分在功能上是正交的。特别的,封装和编码规则是被定义在不同 的命名空间( n a m e s p a c e ) 中,这有利丁二通过模块化获得简明性。s o a p 规范中最重要的是 它的消息传输机制。一个s o a p 消息其实就是一个x m l 文档,它包括一个必有的s o a p 封 装,一个可选的s o a p 头和一个必有的s o a p 消息体。s o a p 消息依赖fx m l 命名空间和 x m ls c h e m a 定义语言。 s o a p 消息模型如图2 - 2 所示: s o a p 信封 s o a p 报头 l 撮文条昆 i 撮义条层 s o a p 报俸 报文条目 撮文条目 图2 - 2s o a p 消息的封装模型 简单的说,s o a p 提供了完全独立于平台的访问服务、对象和服务器的技术。通过s o a p , 你将能够查询服务、调用服务、与服务通讯并处理服务,而不去关心远程系统的位置、所在 的操作系统或平台剑底怎样。s o a p 本身提供了与w e b 服务交换信息的方法,但是没有提 供查找w e b 服务的方法。 2 1 3 2w s d l w s d l 2 2 】( 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 e b 服务描述语言) 是一种x m l a p p l i c a t i o n ,它将w e b 服务定义为服务访问点或端口的集合,客户端可以通过这些服务访问 点对包含面向文档信息或面向过程调用的服务进行访问( 类似远程过程调用) 。w s d l 首先 对访问的操作和访问时使用的请求响应消息进行抽象描述,然后将其绑定到具体的传输协 议和消息格式上,以最终定义具体部署的服务访问点。相关的具体部署的服务访问点通过组 合就成为抽象的w e b 服务。 6 第2 章研究肇础 w s d l 文档将w e b 服务定义为服务访问点或端口的集合,在w s d l 中,由于服务访问 点和消息的抽象定义已从具体的服务部署或数据格式绑定中分离出来,冈此可以对抽象定义 进行再次使用。其中,消息指对交换数据的抽象描述,而端口类型指操作的抽象集合。用于 特定端口类型的具体协议和数据格式规范构成了可以再次使用的绑定。将w e b 访问地址与 可再次使用的绑定相关联,可以定义一个端口,而端口的集合则定义为一个服务。 w s d l 文档在定义w e b 服务时使用下列的几个元素( 如图2 3 所示) : 类型( t y p e s ) :w e b 服务和服务用户间交换的消息的数据类型 消息( m e s s a g e ) :通信消息的数据结构的抽象定义 操作( o p e r a t i o n ) :对服务中所支持的操作的抽象描述 端口类型( p o r t t y p e ) :映射到一个或多个端口操作的抽象操作集合 绑定( b i n d i n g ) :针对端口类型所定义的操作和消息,定义具体的端口类型被 映射到特定的传输协议的过程和传输的数据格式规范 端口( p o r t ) :绑定网络地址,从而定义一个服务的访问点,也就是提供服务 的目标地址 服务( s e r v i c e ) :一组与w 曲服务定义相关联的服务访问点的集合 2 1 3 3u d d i 图2 - 3w s d l 文档结构 借助于s o a p 和w s d l 能够解决应用之间的消息通信和功能接口描述的问题,但w e b 服务作为集成异构应用的手段,还必须提供一种有效的机制用于互联网环境中信息的发布和 检索,使得应用之间能够相互发现、彼此了解各自的需求和能力,进而实现应用的集成和互 操作。 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 ,i n t e g r a t i o n ,统一描述、发现和集成) 规范, 作为互联网环境卜服务描述、发现和集成机制,为电子商务应用和服务发现提供标准的信息 格式 2 3 1 。 u d d i 是一套基于w e b 的、分布式的、为w e b 服务提供信息注册中心的实现标准规范, 同时也包含一组使企业能将自身提供的w e b 服务注册以使得别的企业能够发现的访问协议 的实现标准。它构建丁网络传输层和基于x m l 的s o a p 消息传输层之上。 在u d d | 中,其核心是一个物理分布、逻辑集中的注册中心,它从概念上是一个云状结 7 东南大学硕上学位论文 构,由很多提供u d d i 登记服务的操作入口点所组成的一个集群。从注册中心的外部来看, 它对于用户来说是一个完整的服务。由不同的u d d | 操作入口点充当注册中心的访问入口。 同时,u d d i 提供两种有效的机制保证注册中心查询操作和数据的一致性。第一种机制 是奄询分发和重定向,即当一个操作入口点除了完成本地杏询外,还将查询请求分发和重定 向到其他所有操作入口点,并将所获得的奄询结果与本地结果整合后一起返回给查询者:第 二种机制是数据复制与同步,即当一个操作入口在执行更改数据操作时,还需要将该操作分 发和重定向到其他操作入口点以同步地执行数据更新。因此,在一个u d d | 操作入口点上进 行查询操作就等同于对整个u d d i 注册中心进行查询。 2 1 4 w e b 服务小结 w e b 服务包含了上面介绍的一系列协议和标准,他们相互依赖,密切协作,形成一个 、 完整的体系架构。图2 4 把w e b 服务的相关规范与w e b 服务的体系架构结合了起来,w e b 服务消费者到u d d i 注册中心寻找自己需要的服务,u d d i 指向具体的服务提供者,然后服 务消费者通过s o a p 协议和w e b 服务提供者进行交互。u d d i 中存在的是服务都是w s d l 描述的。 2 2w e b 服务组合 图2 4w e b 服务体系架构与相关规范 w e b 服务为分布式应用提供了集成和交互机制。w e b 服务实现与w e b 服务接口的分离, 促使基于w e b 服务的应用成为松耦合、面向构件、跨语言、跨平台的实现。这些特性,使 得它非常适合于当今商务应用的集成,应用越来越广泛。 然而单一的w e b 服务功能毕竟简单有限,难以满足实际应用中多种多样的需求,冈此 有必要对现有的单个的w e b 服务进行组合,以生成功能更复杂,更强人的w e b 服务来支持 各种应用需求。 2 2 1w e b 服务组合概述 所谓w e b 服务组合,指的是根据用户需要将多个自治的w e b 服务,经过服务发现及 接口的集成来提供新的、功能更强大的w e b 服务,从而为消费者提供增值的服务。参加组 合的服务称为基本服务,组合后的新服务称为组合服务。 8 第2 章研究基础 为了分散和简化应用逻辑,提供服务可重用性,单个的w e b 服务都不可能做得非常复 杂,冈此现实中的复杂服务的应用需要组合多个简单的w e b 服务。然而异构系统中运行在 不同平台之上的w e b 服务可能以不同的方式创建、用不同程序语言实现、由不同供应商提 供的,服务的请求需要根据特定的应用背景和需求进行合理的服务组合。 2 2 2w e b 服务组合的概念与特点 w e b 服务组合作为w e b 服务一项重要的增值功能,为服务的重用与自动化集成提供了 应用基础。由丁目前对于w e b 服务组合没有统一的定义,学术界以及工业界的研究开发人 员从不同的角度和侧重点对此进行了研究与定义。 2 4 从结构与技术角度强调,服务组合是 将相对简单的服务组合为复杂服务的技术。 2 5 从动态过程的角度强调,服务组合是通过动 态发现、集成,并按特定的顺序执行已存在的服务来创建新的客户服务,以满足客户的需求 的过程。【2 6 从t 作流的角度强调,服务组合是根据一个明确的过程模型,将不同企业提供 的w e b 服务互相连接以实现商务协作的活动。【2 7 从企业功能的角度认为,w e b 服务组合是 企业将来源于不同单位的基本服务集成起来为客户提供一个增值服务的能力,它除了共享企 业间的业务过程管理需求并提供组合服务的安全性、可靠性与可扩展性外,还需要处理组合 过程中服务调用的顺序、服务间的数据流以及事务处理等。f 2 8 1 从服务组合计划的角度强调, 服务组合是指对丁给定的一些服务以及需要达到的目标或任务,如何发现一个组合的服务来 实现这一目标。冈此可以把w e b 服务组合看成是一个软件合成的问题,或者是一个计划与 计划执行的问题,它主要依赖于如何表示服务。 从软件体系结构生命周期的角度,服务组件组合( s c c ) 是根据系统体系结构的框架与演 化,将已有的服务组件与连接件按照一定的要求与规范进行粘合,从而自动地实现新的软件 系统的过程,它满足如下的映射关系: s c c :i r t c 且i f _ t f 其中:限一系统初始需求的概念集合,即 n h r ,o 翩) ,广相应的系统需求:t c 系统目标的概念集合,即弛h t c ,0 渤) ,c 广_ 相应的系统目标概念;坍初始时期 望的体系结构;搿l 系统实现的目标体系结构。这表明w e b 服务组件的组合,是在系统 的初始期望体系结构框架向目标体系结构框架的动态演化过程中,将满足系统目标概念的服 务组件按照一定的合成逻辑与约束条件组装,从而实现向系统初始需求概念的映射。 上述关于w e b 服务组合的描述虽然侧重不同,但仍可以看出,w e b 服务组合应该具有 以下的一些特点 a 层次性与可扩展性,即由小粒度的服务组合成大粒度的服务的特性: b 动态与白适应性,w e b 服务组合是一个动态、自适应的过程,它在标准协议的基础上, 根据客户需求,对封装特定功能的现有服务进行动态地发现、组合与管理; c 提高了组合与交易过程的自动化程度; d 提高了软件生产率; 根据上述的定义与特性,本文对w e b 服务组合给出以下更为通用的定义:通过i n t e m e t 将分布在不同环境、平台或者公司之间已经存在的w e b 服务,按照一定的规则动态地发现 并组装成为一个增值的、更大粒度的服务或者系统,以满足用户的复杂需求,并提高软件生 产效率的过程。 2 2 3 w e b 服务组合的需求 分布式系统的复杂性以及日益增加的企业联合壁垒,在硬件、操作系统以及应用层等方 面影响着s o c ( s e r v i c e o r i e n t e dc o m p u t i n g ) 的演进。现代操作系统可以视为相互协作服务 9 东南大学硕,卜学位论文 的集合,而本文把焦点放在应用层上。从开发者的观点来看,w e b 服务组合提供了复用的 可能性:从片j 户的观点出发,则提供了对各种复杂服务的无缝访问。 w e b 服务组合的需求与主流的基丁二组件的软件开发有所不同,s o c 的应用开发者与用 户只要访问w s d l 的初步功能描述,而无需直接访问文档与源代码。w e b 服务在由防火墙 或者其他的企业联合边界分离出的不同的容器中执行。因此,服务组合机制必须满足几
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025江西南昌市劳动保障事务代理中心招聘外包保洁员2人模拟试卷及完整答案详解一套
- 2025凯里学院第十三届贵州人才博览会引才28人模拟试卷完整参考答案详解
- 2025安徽国泰化工有限公司招聘12人笔试题库历年考点版附带答案详解
- 2025年枣庄市妇幼保健院公开招聘备案制工作人员(23人)模拟试卷附答案详解(黄金题型)
- 2025兵器装备集团湖南云箭春季校园招聘笔试题库历年考点版附带答案详解
- 2025中智集团总部企业管理部公开招聘1人笔试题库历年考点版附带答案详解
- 2025租房合同范本参考-租客与房东之间的协议模板
- 2025合同范本解除劳动合同协议书
- 2025个体商户租赁合同协议书范本
- 2025医疗器械采购协议(临床使用)
- 高中化学鲁科版必修第一册第一章认识化学科学第二节研究物质性质的方法和程序课时练习
- 2024版人教版英语初一上单词默写表
- 双下肢乏力护理查房
- 医保飞行检查培训课件
- 工程结算审核服务方案技术标
- 公司驾驶业务外包管理办法
- 店中店合作协议
- AKAIEWI5000电吹管快速入门(中文说明书)
- 炉外精炼-RH读本
- 部编版语文小学五年级下册第一单元集体备课(教材解读)
- 模具设计与制造授课全张课件
评论
0/150
提交评论