




已阅读5页,还剩65页未读, 继续免费阅读
(计算机软件与理论专业论文)用动作时序逻辑(tla)进行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 服务的行为表示上,仍缺乏一个清晰的语义和概念化的模型。 本文分析了服务组合的相关解决方案,比较了它1 门满足服务组合正确性、安全性、自动组合等需求的情况。 针对这些方法在满足组合需求问题上的不足,本文引入了一种基于模型检验机制的动作时序逻辑( t e m p o r a l l o g i co f a c t i o n ,简称t l a ) 对w e b 服务的描述和组合问题进行研究。 本文基于有限状态自动机( f i n i t es t a t ea u t o m a t a ,简称f s a ) 理论,将w e b 服务建模成一个有限状态 自动机,首先针对w s d l 在服务行为描述方面的缺陷对w s d l 进行扩展,并提出了从扩展的w s d l 语言 到n a 语言的转换算法,从而用1 i a 对服务f f , - j 行为进行形式化的描述和规范,为描述w e b 服务提供了一 个新的方法和途径。然后,本文讨论了在动作时序逻辑中,服务组合时各组件服务的有限状态自动机的组 合方式,以及伴随着服务组合,单个服务的t l a 规范如何组合以形成复合服务的a 规范的问题,并在 此基础上,提出了实现t i a 规范正确组合的算法思想。 关键词:w e b 服务组合,1 i a ,w s d l ,有限状态自动机 东南大学硕士学位论文 a b s t r a c t i n r e c e n ty e a r s ,t h ef a s td e v e l o p m e n to 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 eb a s e do nw 的s e r v i c e sp r o v i d e sa u s e f u ls o l u t i o no fs h a r i n gd a t af o rt h ea p p l i c a t i o no ft h ei n t e m e t w 曲s e r v i c e sc o m p o s i t i o np r o v i d e sh u g e f l e x i b i l i t 、,f o rb u s i n e s sa p p l i c a t i o n s h o w e v e r , t h er e s e a r c h e so nt h ew 曲s 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 sh a v e j u s ts t a r t e d ,s o ,h o wt os o l v et h ep r o b l e m so fi n t e r o p e r a t i o n , i n t e g r a t i o na n dc o l l a b o r a t i o no fw e bs e r v i c e s b e t w e e nh e t e r o g e n e o u sa p p l i c a t i o n so ru n d e rl o o s e c o u p l e de n v i r o n m e n te f f e c t i v e l y , h a sb e c o m et h ef o c u so f r e c e n ts o f t w a r et e c h n o l o g i e sr e s e a r c ha th o m ea n da b r o a d c u r r e n t l y , m a n yd e s c r i p t i o nl a n g u a g e sa n dc o m p o s i t i o nm e t h o d so fw e bs e r v i c e sh a v eb e e np r o p o s e df o r w c bs e r v i c e sc o m p o s i t i o n t h e s el a n g u a g e sm o d e la n ds p e c i f yw e bs e r v i c e sf r o md i f f e r e n tf a c e t s b u ta sf o rt h e i s s u eo fs e r v i c eb e h a v i o rr e p r e s e n t a t i o n , t h e ys t i l ll a c kac l e a rs e m a n t i c sa n dac o n c e p t u a lm o d e l t i l i sp a p e r a n a l y z e s s o m es o l u t i o n sf o rs e r v i c e sc o m p o s i t i o n , a n dc o m p a r e st h e mi nt h es i t u a t i o no fs a t i s f y i n gt h e r e q u i r e m e n t ss u c h 舔c o r r e c t n e s s ,s a f e n e s s ,a u t o m a t i cc o m p o s i t i o na n ds oo n t om a k eu pt h ed e f i c i e n c yo f s u c h m e t h o d si nc o m p o s i t i o nr e q u i r e m e n t s ,at e m p o r a ll o g i co fa c t i o n , s h o r tf o r1 l a ,b a s e do nm o d e lc h e c k i n g m e c h a n i s m ,i si n t r o d u c e di nt h i sp a p e r , f o rt h er e s e a r c ho nw e bs e r v i c e sd e s c r i p t i o na n dc o m p o s i t i o n 砸sp a p e ri sb a s e do nt h et h e o r yo ff i n i t es t a t ea u t o m a t a ( f s a s ) ,a n dm o d e l saw e bs e r v i c ea saf s a f i r s t l y , i te x t e n d sw s d lf o rd e s c r i b i n gt h eb e h a v i o r so fw e bs e r v i c e s ,a n dp r o p o s e sa l la l g o r i t h mf o rt r a n s l a t i n g t h ee x t e n d e dw s d lt o 删l a n g u a g e ;a c c o r d i n g l yp r o v i d ean e wa p p r o a c ht od e s c r i b ew e bs e r v i c e si naf o r m a l w a y t h e n , i td i s c u s s e st h ew a yo fc o m p o s i t i o no fe a c hc o m p o n e n ts e r v i c e sf s a a n dw i t ht h ec o m p o s i t i o n , h o w t oc o m p o s es u c hs i n g l es e r v i c e s 删s p e c i f i c a t i o nt oac o m p o s e ds e r v i c ei s 黝s p e c i f i c a t i o n , a n do nt h eb a s i so f w h i c h , i tp r o p o s e sa na l g o r i t h mt oc o m p o s et h e 删s p e c i f i c a t i o n sc o r r e c t l y k e y w o r d s :w e bs e r v i c e sc o m p o s i t i o n , 1 1 a ,w s d l ,f i n i t es t a t ea u t o m a t a 东南大学学位论文独创性声明 本入声明所里交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。 尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其它人已经发表或撰写过 的研究成果,也不包含为获得东南大学或其它教育机构的学位或证书而使用过的材料。与我 一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。 研究生签名:i :l 整)日期:世缝,马 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位论文的复印 件和电子文档,可以采用影印、缩印或其它复制手段保存论文。本人电子文档的内容和纸质 论文的内容相一致。除在保密期肉的保密论文外,允许论文被查阅和借阅,可以公布( 包括 刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权东南大学研究生院办理。 研究生签名: 盘i 叠导师签名:建5 1 虽一日期:巡3 第一章绪论 1 1 研究背景 第一章绪论 随着互联网技术的快速发展,基于互联网的应用模式也在不断演变。越来越多的企业和政府部门依赖 互联网发布信息与提供服务,并且构建跨企业的虚拟组织以实现大规模资源共享。同时互联网的发展对软 件技术与应用提出了新的要求,传统的分布式对象技术不能够很好的解决互联网环境下的松耦合协作问 题,如何解决因不同的企业之间进行业务集成时所面临的语言差异、平台差异、协议差异、数据差异,这 些是实现大范围的跨企业实体的商务应用的关键。 传统的互联网应用中,人们使用h t m l 来描述信息资源,但由于h t m l 不具有良好的扩展性,不利 于大规模商业活动的自动化操作,也不利于有效地利用互联网的资源,从而导致基于互联网的应用在进一 步深入发展时受到了很大的限制。x m l 技术的出现,很好地解决了跨平台和信息互操作的问题,但由于 传统的分布式对象、中间件技术都维护着相互独立的体系,以及其中客户端和服务器端的紧耦合性,使得 他们不能够适应动态发布服务的需求,也不能很好的实现动态、松耦合环境下的业务操作。 因此在这种情况下,w e b 服务的出现很好地满足这一需求,它正是借助x m l 作为统一的数据语言表 示。根据w 3 c 的定义: w e b 服务是一种通过u u 标识的软件应用,其接口及其绑定形式可以通过沮。 标准定义、描述和查找,并能通过x m l 消息及互联网协议与其它应用的直接交互”。从中我们看出它是传 统的组件技术在互联网应用环境下的延展,其目的和作用是提供一种统一的规范和技术,为i n t e r a c t 软件 应用提供统一的功能描述和功能共享机制。 为满足w 曲服务的这些技术需求,w 3 c 等国际标准组织制定了一系列w 曲服务规范,如w 曲服务描述 语言( 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 ,w s d l ) 【2 u j l 2 l 儿叫j ,通用描述、发现和集成( 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 ya n di n t e g r a t i o n ,u d d i ) j ,简单对象访问协议( s i m p l eo b j e c t a c c e s sp r o t o c o l ,s o a - p ) t 2 6 等等, 这些规范共同构成了w e b 服务的技术体系。 从表面上看,w 曲服务就是一个应用程序,它向外界提供一个可以通k 立w e b 调用的应用程序接口( a p i ) 。 从深层次上看,w 曲服务是一种新型的w e b 应用程序,它们是自描述,自包含、模块化的应用程序,这些 应用程序可以跨越w e b 进行发布、定位和调用【6 j 。 w e b 服务所执行的功能可以是从简单的请求到复杂的商业过程中的任何业务,一旦w e b 服务被部署, 其它的应用( 包括w e b 服务) 就能够发现并调用所部署的服务。从技术角度来看,w e b 服务描述了一系列 操作的接口,它使用标准的x m l 消息传递技术封装信息,并可经由网络访问这些接口和操作,完成特定 的任务。服务实现与服务接口的分离,促使基于w e b 服务的应用成为松耦合、面向构件等技术的实现。 1 2 问题的提出 在面向服务的计算( s o c ) 中,服务已成为w e b 应用中的最主要的元素1 1 6 1 。网络技术和因特网的广泛 应用方便了客户对w e b 服务的访问,也使得各个公司能够以非常灵活的方式合作,将他们的服务整合起来, 以提供更加复杂的、增值的产品和服务。b 2 b ( b u s i n e s s t o - b u s i n e s s ) 商务的发展也使得w 曲服务组合获得 了空前的关注,组合w 曲服务将成为企业间协作的主要方式。在商业领域中,企业之间可能需要形成联盟 以提供质量更好、功能更强的服务,也可能需要共享资源和数据。而采用w e b 服务组合技术就能够适应现 代商业动态多变的业务需求,能在数量众多、分布广泛的企业间自动组合、自动执行业务流程。 服务的协作和组合同时带来了很多问题和挑战,突出表现为服务的可组合性、同步性、协调性、正确 性验证等等瞄】。事实上,要以一种有效并且正确的方式处理这些问题,就需要形式化的方法来表示服务的 动态行为。近年来,人们已经提出相当多的服务描述语言,从不同方面对服务进行建模和规范,如w s d l , w s c i ,w s f l ,x l a n g ,b p e l 4 w s 等。w s d l 定义了服务做什么,却没有定义如何实现该服务。w s d l l 东南大学硕士学位论文 也没有表示消息交换的语义以及交换的正确顺序【1 1 1 。就w s c i ,w s f l ,x l a n g ,b f e i a w s 而言,它们都 是协调和协作语言,旨在规范组合多个服务时,服务之间如何协作以及协调中所需的逻辑状态。他们还构 造了时间模型,用于解决多个服务之间的相关性问题和异常处理。尽管这些语言从某方面处理了服务行为 的表示问题,也考虑到了时间约束。但是,它们仍缺乏一个清晰的语义,因此也不适用于概念层上的s o c 设计。 现有的w e b 服务技术和体系结构关注于如何开发使用x m l 技术和互联网的集成应用,其核心是用标 准的数据表达格式和协议来提供w e b 服务发布、定位和调用等交互功能。但是组合由各种不同的w e b 服 务提供者提供的w e b 服务,实现真正的跨企业边界集成业务流程,仅仅使用标准的数据表达格式和协议提 供简单的交互功能是远远不能满足的。 由于w 曲服务本身是无状态的,不能支持服务之间复杂的交互,而跨企业流程往往是一个长期的多方 的交互过程,因此需要其它技术把w 曲服务组合起来创建新的功能。但异构系统中运行在不同平台之间的 w e b 服务可能以不同的方式创建、用不同程序语言实现、由不同供应商提供的,这是因为w e b 服务处在一 个开放的、松耦合的环境中,以及w e b 服务的动态组合机制,服务的请求需要根据特定的应用背景和需求 进行合理的服务组合,这就决定了运行时w 曲服务动态发现、绑定、调用的特殊性。因此如何实现w e b 服 务组合成为w 曲服务领域的研究热点l j 4 儿驯。 1 3 国内外研究现状 随着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 曲服务组合进行了大量的研究,提出了多种w 曲服务组合方法 u 州,总的来说,工业界的方法侧重于提出组合描述语言,开发相关编辑工具和执行引擎;学术界的方法侧 重于从语义、智能规划等方面研究自动组合,并通过形式化方法验证组合系统的正确性。 为解决w e b 服务组合问题,一些研究者和系统开发商使用一些协议来组合w e b 服务,这些协议从不 同方面对服务进行建模和规范: w s c i ( w 曲s e r v i c ec h o r e o g r a p h yi n t e r f a c e ) 【4 】【2 9 】:是一种基于x m l 的接口描述语言,它描述了在 组合w 曲服务时协调交互的信息流,根据传输信息之间的时序和逻辑相关性来描述服务的可见行 为; - w s f l ( w 曲s e r v i c ef l o w l a n g u a g e ) 1 3 1 1 :它描述了如何组织或协调一系列的w 曲服务调用,使它 们成为个整体的工作流或业务流程,它以p e t r i 网为模型,是一种基于图论的建模方法; x l a n g ( e x c h a n g el a n g u a g e ) 【3 2 】:它主要描述了一个角色收发信息的内容和顺序,以及整个系 统所有角色之间的交互,用于服务的行为规范和协作规范,它的理论模型是进程代数的一种; b p e i a w s ( b u s i n e s sp r o c e s se x e c u t i v el a n g u a g ef o rw e bs e r v i c e ) 睇副:是一种定义业务流程和业务 交互协议的语言,支持面向过程的服务组合。它吸取了w s f l 与j a n g 两者的优点,将w s f l 基 于图论的流程描述和x l a n g 逅基于结构化的构造过程结合在一起; b p m l ( b u s i n e s sp r o c e s sm o d e l i n gl a n g u a g e ) 阱】:它描述业务流程中抽象流程和可执行流程等等; o w l s ( w e bo n t o l o g yl a n g u a g ef o rs e r v i c e ) 睇副i j 习:通过本体进行w e b 月t t 务自动组合。 另一些研究者从服务模型角度研究w e b 服务组合技术,如h p 实验室开发的服务组合平台e f l o w 3 , u n i v e r s i t yo f n e ws o u t hw a l e s 设计的w e b 服务组合原型系统s e l f s e r v 1 】【2 】,这些研究主要针对组合服务的 可配置性,以及从服务实现中分离出服务接口的技术,而对w 曲服务动态组合及语义关注不够。 w e b 服务组合是正在兴起的新技术,它将彻底改变提供电子商务和客户软件应用的方式,是国内外在 信息集成、软件工程等领域关注的焦点,也是w e b 服务技术的主要发展方向之一,w e b 服务组合的研究在 国内还刚刚起步。 2 第一章绪论 1 4 研究内容 本文的主要内容是用一种动作时序逻辑( t e m p o r a ll o g i co f a c t i o n ,简称t l a ) 对w 曲服务的描述及组 合问题进行研究。由于时序逻辑方法引入了时间因素,更容易表示同步和异步的概念,对于描述并发和实 时系统有更多的优势。因此,对开放环境中的w 曲服务,基于时序逻辑研究服务组合非常有探索意义。a 用来描述和推理并发系统,结合了标准时序逻辑和动作逻辑( l o g i co fa c t i o n s ) 的特点。虽然a 的语法 和形式化语义比较简单,但它的表达能力在原理验证和实际应用上都非常强大,有着较强的描述能力和推 理能力【8 】【9 1 。 由于w s d l 对服务的建模本质上是无状态的,因此本文首先基于有限状态自动机理论,对w s d l 进行 扩展,提出了一个概念化的表示服务行为的方法,使扩展后的w s d l f l 皂够描述服务的动态( 行为) 特性; 其次引入了1 l a 来形式化的描述和规范服务行为,并利用t l a 模型检验器1 1 c 【1 0 】对使用a 语言描述 的服务进行形式化验证;再次提出了从服务的概念化描述到形式化描述,即从扩展的w s d l 到1 l a 规范的 转换算法,为形式化的服务组合及模型检验作铺垫;最后基于服务的有限状态自动机模型,用a 规范对 服务组合进行描述,并利用描述的结果推演系统的行为,论证组合模型的正确性,如发现系统行为不完整, 死锁,缺少同步等。 在整个研究期间,我们对组合w e b 服务领域知识和实现技术方面开展了深入的研究和探索工作,并取 得了一定的进展和研究成果。本文的主要内容和贡献可以概括为以下几点: l 、对w e b 服务描述语言进行了广泛的分析与研究,提出了扩展静态的w s d l 以描述服务动态行为 的策略;基于有限状态自动机理论,提出了一个概念化的表示服务行为的方法。 2 、对t l a 在服务组合上的可行性应用进行了深入研究,用1 i a 形式化地描述并验证w e b 服务,为 描述w e b 服务提供了一个新的方法和途径。 3 、基于服务的有限状态自动机模型,对服务进行组合,通过对各个服务的t l a 规范按不同组合方式 进行组合和变换就得到了描述服务组合过程进行t l a 规范,并对之提出了相应的组合算法。 4 、针对上面的组合规范,我们用t l c 模型检验器遍历模型,检验规范是否成立,验证组合系统的安 全性、正确性、活性等问题。 5 、提出了从服务的概念化描述到形式化描述,即从扩展的w s d l 到t l a 规范的转换算法,并开发 相应原型系统实现该算法。 1 5 论文的结构安排 本文首先介绍了w e b 服务的基本概念和相关协议、规范,然后描述了现有的几种w e b 服务组合方法, 分析了其优缺点。在此基础上,进而引入了动作时序逻辑a 的概念,提出了用a 形式化描述、组合 及验证w e b 服务的思想,并对w s d l 进行了动态扩展,给出了从w s d l 到t l a 规范的转换算法和具体 的实现。论文共分为六章,组织结构如下: 第一章绪论 介绍了研究的背景,国内外的研究现状,本文的研究内容和论文的整体结构安排。 第二章研究基础 介绍了本文研究的w e b 服务的基本理论和基本技术架构,然后再介绍了当前主流的几种服务组合 方法,并对它们从服务组合需求方面进行了比较,从而看出1 1 a 应用于w e b 服务组合的优势所在, 并给出了用1 l a 做研究的原因。 第三章1 i a t l a 是用于描述和推理并发和实时系统的语言,本章介绍了t l a 的语法构成和语义含义等基本 概念,根据举例说明了,i l a 的一些重要属性,如停顿、公平性等,并简单介绍了1 1 a 的模型检验器 1 1 l c 。 第四章w e b 服务的形式化描述 3 东南大学硕士学位论文 基于有限状态自动机( f s a ) 理论,对w s d l 文档结构进行扩展,提出了一个概念化的表示服务 行为的方法,使扩展后的w s d l 语言能够表示w e b 服务所有的可见行为。然后用a 来描述和规范 一个w e b 服务,并用t l c 对服务进行验证,保证其安全性等属性,从而为w e b 服务的形式化建模与 描述提供了一条新的途径。 第五章w s d l 扩展到1 1 l a 的转换 本章对第四章提出的w s d l 扩展进行改进,将之转化为一系列表示单个动作的小自动机,然后将 小自动机组合成一个大的有限状态自动机f s a 。最后将f s a 模型转化为1 i a 文档,从而实现了w e b 服务的形式化描述和规范。 第六章用1 l a 进行w e b 服务组合的研究 本章对在不同组合方式下如何对t l a 规范进行组合作了详细的分析,并由特殊到一般地对两种 方式的组合做了泛化定义。另外对a 规范的组合提出了相应的组合算法。 第七章服务综合组合举例及其a 规范 具体讨论了将前一章的两种组合方式综合运用时,各组件服务的1 1 a 规范如何进行组合的问题, 提出了实现1 1 l a 规范中各部分正确组合的算法思想,并用t l c 对组合后的a 规范进行验证。 第八章结束语 总结了论文的主要工作,对w e b 服务组合问题进行了概括,并对下一步的研究作了展望。 4 第二章研究基础 2 1w e b 服务 第二章研究基础 w e b 服务从广义上讲可以将其理解为一种通过互联网进行数据及功能共享的技术,狭义上可以将其理 解为一种通过互联网及标准接口进行调用的构件。2 0 0 2 年4 月,w 3 c 给出了一个相对清晰的定义:v 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 等基于x m l 的标准和协议,解决了异构分布式计算以及代码与数 据重用等问题,具有高度的互操作性,跨平台性和松耦合的特点,引起了世界范围内学术界和工业界的极 大兴趣 6 】【3 4 】【3 5 】。 首先,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 服务是在i n t e m e 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 1 所示,它由三种参与者和三种基本操作构成1 3 6 3 。三种参与者分别是: 服务消费者( s e r v i c ec o r l s u i l l e r ) :它是最终的服务使用者,通过发起对服务代理的查询,传 输绑定服务,并最终执行服务功能。 服务提供者( s e r v i c ep r o v i d e r ) : 它是提供最终w e b 服务的供应商,他实现了服务,并放置 在服务器上供别人调用。 服务代理( 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 ) :服务消费者定位服务,通过查询服务代理来找到满足其需求的服务。 s 东南大学硕士学位论文 绑定( 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 i 3 w 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 对等地交换结构化的和类型化的信息提供了一个简单且轻量级的机制【2 6 1 。s o a p 本身并不定义任何应用语 义,如编程模型或特定语义实现等,它只是定义了一种简单的机制,通过一个模块化的包装模型和对模块 中特定格式编码的数据的重编码机制来表示应用语义。s o a p 的这项能力使得它可以被很多类型的系统用 于从消息系统到r p c 的延伸。 s o a p 由以下四部分组成: s o a p 信封( s o a pe 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 p b 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 消息依赖于x m l 命名空间和x m ls c h e m a 定义语言。 6 第二章研究基础 s o a p 消息模型如图2 2 所示: 图2 2s 心消息的封装模型 简单的说,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 ( w e bs e r v i c e sd e s c r i p t i l a n g u a g e ,w 曲服务描述语言) 是一种x m l a p p l i c a t i o n ,它将w 曲 服务定义为服务访问点或端口的集合,客户端可以通过这些服务访问点对包含面向文档信息或面向过程调 用的服务进行访问( 类似远程过程调用) 【3 0 1 。w s d l 首先对访问的操作和访问时使用的请求响应消息进行 抽象描述,然后将其绑定到具体的传输协议和消息格式上,以最终定义具体部署的服务访问点。相关的具 体部署的服务访问点通过组合就成为抽象的w e b 服务。 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 tt y p e ) :映射到一个或多个端口操作的抽象操作集合 绑定( b i n d i n g ) :针对端口类型所定义的操作和消息,定义具体的端口类型被映射到特定的 传输协议的过程和传输的数据格式规范 端口( p o r t ) :绑定网络地址,从而定义一个服务的访问点,也就是提供服务的目标地址 服务( s e r v i c e ) :一组与w e b 服务定义的关联服务访问点的集合 7 东南大学硕士学位论文 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 刀。 u d d i 是一套基于w e b 的、分布式的、为w e b 服务提供的信息注册中心的实现标准规范,同时也包含 一组使企业能将自身提供的w e b 服务注册以使得别的企业能够发现的访问协议的实现标准。它构建于网络 传输层和基于x m l 的s o a p 消息传输层之上。 在u d d i 中,其核心是一个物理分布、逻辑集中的注册中心,它从概念上是一个云状结构,有很多提 供u d d i 登记服务的操作入口点所组成的一个集群。从注册中心的外部来看,它对于用户来说是一个完整 的服务。由不同的u d d i 操作入口点充当注册中心的访问入口。 同时,u d d i 提供两种有效的机制保证注册中心查询操作和数据的一致性。第一种机制是查询分发和 复位向,即当一个操作入1 2 1 点除了完成本地查询外,还将查询请求分发和复位向到其它所有操作入口点, 并将所获得的查询结果与本地结果整合后一起返回给查询者;第二种机制是数据复制与同步,即当一个操 作入口在执行更改数据操作时,还需要将该操作分发和复位向到其它操作入口点以同步地执行数据更新。 因此,在一个u d d i 操作入口点上进行查询操作就等同于对整个u d d i 注册中心进行查询。 2 1 4w e b 服务小结 w 曲服务包含了上面介绍的一系列协议和标准。他们相互依赖,密切协作,形成一个完整的体系架构。 图2 4 把w e b 服务的相关规范与w 曲服务的体系架构结合了起来,w 曲服务消费者到u d d i 注册中心寻找自 己需要的服务,u d d i 指向具体的服务提供者,然后服务消费者通过s o a p 协议和w 曲服务提供者进行交互。 u d d i 中存在的是服务都是w s d l 描述的【3 7 1 。 8 第二章研究基础 2 2w e b 服务组合 图2 4w e b 服务体系架构与相关规范 w e b 服务为分布式应用提供了一个集成和交互机制。w e b 服务实现与w 曲服务接口的分离,促使基 于w e b 服务的应用成为松祸合、面向构件、跨技术的实现。这些特性,使得它非常适合于当今商务应用的 集成,应用越来越广泛。 然而单一的w e b 服务功能毕竟简单、有限,难以满足实际应用中的多种多样的需求,因此有必要对现 有的单个的w e b 服务进行组合,以生成功能更复杂,更强大的w e b 服务来支持各种应用需求。 2 2 1 w e b 服务组合概述 所谓w - e b 服务组合,指的是根据用户需要将多个自治的w e b 服务,经过服务发现及接口的集成来提 供新的、功能更强大的w e b 服务,从而为消费者提供增值的服务。参加组合的服务称为组件服务或基本服 务,组合后的新服务称为复合服务。 2 2 2w e b 服务组合需求 分布式系统的复杂性和越来越多的信任障碍已经影响了s o c 在硬件、操作系统和应用层的演化。虽 然现代操作系统也可以看作一系列协作的服务的集合,但我们仍将重心放在应用层。从开发者的前途考虑, 服务组合实现了重用的可能。从用户的前途考虑,它实现了无缝访问各种复合服务。 服务组合需求不同于那些主流的基于组件的软件的开发。在访问文件或代码时,s o c 应用开发者和用 户只能得到w s d l 的基本功能描述。服务在不同的容器中执行,由防火墙和其它信任障碍区分。一个组合 机制因此必须满足几个要求:连通性,非功能的服务质量属性,正确性和可扩展性。 每个组合方法必须满足连续性。通过可靠的连续性,我们可以确定那些服务被组合并推理输入和输出 信息。然而因为w e b 服务是基于信息传送的,所以开发者也必须确定非功能的q o s 属性,比如及时,安 全和可靠性。组合的正确性需要对被组合的服务的属性进行确认,比如安全性或可靠性。最后,因为复杂 的商业交易可能在一个复合的请求调用链包含多重服务,组合框架必须衡量被组合服务的数量。 我们可以举两个例子来说明这些需求是必需的。首先,假设我们有一个可信的和一个不可信的服务, 该服务的结构定义为可信。当我们按序组合这些服务时会发生什么? 这种组合是可信的,不可信的还是介 于两者之间? 我们要了解我们的应用程序是安全的和可靠的。当我们组合两个可信的服务是会发生什么? 我们假定可信服务的组合仍然是可信的吗? 另一个例子是组合的及时性。假设我们有一个简单的两个合作服务的握手例子,其中一个想要调用另 一个里的方法。客户服务希望在它可以申请( 调用一个方法) 时被通知,而提供者服务希望被通知客户想 9 东南大学硕士学位论文 要利用它的服务。如果它的开发者没有预先理解这个需求,组合将不会产生有用的或是希望的结果。 服务组合使得开发者和用户可以将一系列可用的基本服务合并起来,对它们进行排序,以最大程度满 足他们的问题需求,解决很复杂的问题。服务组合也促进了应用程序的快速开发,服务重用,和复合服务 的完成。然而,目前服务组合还没有被标准化,它也没有对每个服务组合方案必须满足的主要需求( 比如 可测量性,可靠性,正确性) 进行定义。因此,我们必须提出一种稳定并可靠的服务组合解决方案1 1 6 1 。 2 2 3w e b 服务的组合方法 w 曲服务的基本功能被完全开发后,服务组合的方法开始出现。因为第一代组合语言- m m 的w i e b 服务流程语言( w s f l ) 和b e a 系统的w 曲服务编排接口( w s c i ) 是不可兼容的,研究人员开发了第二代 语言,比如、b 服务业务流程执行语言( b p e i a w s ,或简称b p e l ) ,它以微软的x l a n g 规范结合了w s f l 和w s c i 的长处。但是,w e b 服务结构体系仍然缺少与聚合,协作,与合成过程相关的标准。当前,工业界 和学术界从不同角度对w 曲服务组合进行了大量的研究,提出了多种w 曲服务组合方法【i6 。,总的来说,学 术界的方法侧重于从语义、智能规划等方面研究自动组合,并通过形式化方法验证组合系统的正确性;工 业界的方法侧重于提出组合描述语言,开发相关编辑工具和执行引擎。这里
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论