




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南京邮电大学硕士研究生学位论文万维网服务的事务处理模型的研究和实现 摘要 目前基于万维网服务的网络应用集成技术成为研究热点,这些网络应用可能跨越多个 组织,系统部件随时可能不可用,并不断有新的服务提供者出现,如何将事务处理技术合理 应用于这种分布、动态、自治的开放松耦合环境中是一项非常有意义的研究课题。 i b m 和m i c r o s o f t 发布了万维网服务协同( w e bs e r v i c e sc o o r d i n a t i o n ) 规范以及万维网 服务事务( w e bs e r v i c e st r a n s a c t i o n ) 规范,它们负责协同整个业务流程中多个万维网服 务的协同与合作。但是在w s c o o r d i n a t i o n 和w s - t r a n s a c t i o n 所定义的框架中,采用补偿操 作作为商务事务处理的恢复机制过于单一,尤其是某服务没有对应的补偿操作时,事务只 能彻底回滚,导致恢复代价太大。因此我们需要对这个框架进行扩充,使之能够较高效解 决万维网服务中商务事务处理的恢复问题。 : 本文的主要贡献在于扩展了w s t r a n s a c t i o n s 规范的框架,提出了万维网服务环境中 基于功能替代的协同机制及以此为基础的事务处理模型w s t s m 。事实证明,使用这种 商务活动协同协议尽管在时间和资源上多了一定的开销,但有效的减少了回滚率并且提高 了事务处理的成功率,避免了事务处理重启所带来的更多的时间和资源上的开销。同时本 文还提出了w s t s m 模型的实现,分析了各个组件的功能和组件之间的联系。最后,本 文总结了所提出的万维网事务事务处理模型的优点和缺陷,以及需要进一步开展的研究工 作。 南京邮电大学硕士研究生学位论文 万维网服务的事务处理模型的研究和实现 a b s t r a c t a tp r e s e n t ,t h et e c h n o l o g yo fi n t e g r a t i n gn e t w o r ka p p l i c a t i o nb a s e do nw e bs e r v i c e s b e c o m e sar e s e a r c hf o c u s t h ep r e s e n tn e t w o r ka p p l i c a t i o ne n v i r o n m e n tm a ys p a nm u l t i p l e o r g a n i z a t i o n s ,s y s t e m a t i cc o m p o n e n t sm a yu n u s a b l ea ta n yt i m e ,a n dn e w s e r v i c e sp r o v i d e rm a y a p p e a rn o wa n dt h e n h o wt or a t i o n a l l yu t i l i z et r a n s a c t i o n st e c h n o l o g yi nd i s t r i b u t e d ,d y n a m i c , a u t o n o m i c ,o p e n ,l o o s l yc o u p l e de n v i r o n m e n ti sav e r ym e a n i n g f u li s s u e i b ma n dm i c r o s o f tp u b l i s ht h es p e c i f i c a t i o n so fw e bs e r v i c e sc o o r d i n a t i o na n dw e b s e r v i c e st r a n s a c t i o n ,w h i c ho nd u t yo fc o o r d i n a t i o na n dc o o p e r a t i o ni nm a n yw e bs e r v i c e si n w h o l eb u s i n e s sp r o c e s s h o w e v e r ,i nt h i sf r a m e w o r kd e f i n e db yw s c o o r d i n a t i o na n d w s t r a n s a c t i o n ,t h er e c o v e rm e c h a n i s md e p e n d i n go nt h ec o m p e n s a t i o no p e r a t i o n i sm u c h m o n o t o n o u s ,e s p e c i a l l yw h e n t h e r ei sn oc o m p e n s a t i o no p e r a t i o nw i t hr e g a r dt os o m es e r v i c e , t r a n s a c t i o nc a no n l yw h o l l yr o c kb a c ka n dr e s u l ti nc o s t l yw a s t i n g t h e r e f o r ew es h o u l de x t e n d t h i sf r a m e w o r kb yw h i c hw ec a ne f f i c i e n t l ys o l v et h er e c o v e r yp r o b l e m so fb u s i n e s st r a n s a c t i o n t h ec o n t r i b u t i o no ft h et h e s i sm a i n l yl i e si ne x t e n d i n gt h ef r a m e w o r ko fw s - t r a n s a c t i o n s s p e c i f i c a t i o n sa n dp u t t i n gf o r w a r dan e wc o o r d i n a t i o nm e c h a n i s mi n t h ep e r s p e c t i v eo f f u c t i o n a ls u b s t i t u t i o n b a s e do nt h i s ,t h et h e s i sc o n s t r u c t sab u s i n e s st r a n s a c t i o nm o d e ln a m e d b yw s - t s m i ti sp r o v e dt h a tt h i sb u s i n e s sa c t i v i t yc o o r d i n a t i o np r o t o c o lc o u l de f f e c t i v e l y l e s s e nt h ep r o b i l i t yo fr o l lb a c ka n di n c r e a s e st h es u c c e s s f u lp r o b a b i l i t y , a l t h o u g hi tb r i n g s a b o u tm o r ec o s ti nt i m ea n dr e s o u r c e a tt h es a m et i m et h i st h e s i sp r o v i d e st h ei m p l e m e n t a t i o n o fw s t s ma n da n a l y z e st h er e l a t i o na m o n gf u n c t i o n sa n dc o m p o n e n t s f i n a l l y , t h et h e s i s d r e wac o n c l u s i o no nt h ea d v a n t a g ea n dd i s a d v a n t a g ea sf o rt h ew e b b u s i n e s st r a n s a c t i o nm o d e l a n dp o i n to u tt h ef u t u r ew o r k st ob ed o n e h 南京邮电大学硕士研究生学位论文 缩略语 缩略语 2 p c 二阶段提交协议( t w o p h a s ec o m m i tp r o t o c 0 1 ) a c i 卜原子性,一致性,隔离性,持久性( a t o m i c i t y ,c o n s i s t e n c y ,i s o l a t i o n , d u r a b i l i t y ) a t 原子事务( a t o m i ct r a n s a c t i o n ) b a 商务活动( b u s i n e s sa c t i v i t y ) b a e s 商务活动协同协议( b u s i n e s s a g r e e m e n t w i t he q u i v a l e n t s e r v i c e s ) b a p 卜商务活动( 协同协议) p e t r i 网( b u s i n e s sa c t i v i t yp e t r in e t ) b a p n r 卜p e t r i 网a t p n 的可达树( r e a c h a b ilit yt r e eo fb a p n ) b t p _ 商业事务协议( b u s i n e s st r a n s a c t i o np r o t o c 0 1 ) c c _ 事务语境( c o o r d i n a t i o n c o n t e x t ) 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 ) s o a 卜简单对象访问协议( s i m p l eo b j e c ta c c e s sp r o t o c 0 1 ) u d d 工统一描述、发现和集成( 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 ) w s c _ 万维网服务协同( w s c o o r d i n a t io n ) w s t 万维网服务事务处理( w s t r a n s a c t i o n ) w s c a 卜万维网服务复合应用模型架( w e bs e r v i c e sc o m p o s i t ea p p li c a t i o n f r a m e w o r k ) w s c f - 万维网服务协同框架( w e bs e r v i c e sc o o r d i n a t i o nf r a m e w o r k ) w s c o n t e x t 万维网服务语境( w e b s e r v i c ec o n t e x t ) w s d l 万维网服务描述语言( 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 r 卜一万维网服务资源框架( w e bs e r v i c e s r e s o u r c ef r a m e w o r k ) w s t x 卜万维网服务事务管理( w e bs e r v i c e st r a n s a c t i o nm a n a g e m e n t ) 4 9 南京邮电大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究 工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的 地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包 含为获得南京邮电大学或其它教育机构的学位或证书而使用过的材 料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了 明确的说明并表示了谢意。 研究生签名: 互笆i 客日期:立:生:2 南京邮电大学学位论文使用授权声明 南京邮电大学、中国科学技术信息研究所、国家图书馆有权保留 本人所送交学位论文的复印件和电子文档,可以采用影印、缩印或其 他复制手段保存论文。本人电子文档的内容和纸质论文的内容相一 致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布 ( 包括刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权 南京邮电大学研究生部办理。 研究生签名: 垒兰l :坌 导师签名 南京邮电大学硕士研究生学位论文 第一章引言 1 引言 1 1 研究背景 万维网服务( w e bs e r v i c e s ) 正在成为基于因特网新一代的网络计算平台,它提出了 一种面向服务的分布式计算模式,具有自包含、自描述、模块化的特点。应用万维网服务 技术,可以方便地实现因特网上跨平台、语言独立、松散耦合的异构应用的交互和集成。 基于万维网服务的互操作,令事务处理系统面临着重大难题,因为它们的松耦合接 口可被映射到具有完全不同的事务处理协议与模型的不同系统上。这些不同的系统在与万 维网服务组合使用时,即使在发生操作系统、硬件、网络或应用故障的情况下,一般仍被 期望可以可靠地向他们的使用者及以来他们的业务返回可预期的结果。因此,对于基于 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 bs e r v i c e s t r a n s a c tio n s ) 是一个关键方面。 i b m 和m i c r o s o f t 于2 0 0 2 年8 月发布了万维网服务协同( w e bs e r v i c e sc o o r d i n a t i o n ) 规 范 4 以及万维网服务事务处理( w e bs e r v i c e st r a n s a c t i o n ) 规范 5 ,被统一称为 w s - t r a n s a c t i o n s 规范,它们负责协同整个业务流程中多个万维网服务的协同与合作。2 0 0 3 年9 月该规范被更新,在这次更新中,万维网服务事务处理规范分离为万维网服务原子事 务处理( w e bs e r v i c ea t o m i c t r a n s a c t i o n ) 和万维网服务商务活动( w e bs e r v i c e b u s i n e s s a c t i v i t y ) 规范。w s - t r a n s a c t i o n s 规范支持扩展协同和可挂接的( p l u g g a b l e ) 协 同服务这有利于为处理各种事务处理需求( 比如两阶段提交、补偿、商务流程事务处 理) 而驱动不同的协议。 w s t r a n s a c t i o n s 规范在解决商务活动的问题中使用补偿事务的概念,补偿事务为松耦 合环境的万维网服务商务活动提供了放松的原子性和一致性。然而通过补偿回滚己提交的 事务代价很大,特别是在商务活动执行快结束的时候;另一方面,通过事务处理的补偿并不 能完整地维护全局事务处理的一致性;再者,有些事务处理不具有补偿的特性。因此,我们 需要尽可能地提高商务活动的成功率,减少补偿事务处理的发生。 本文的目标在于设计和实现一个面向万维网服务的事务处理控制系统,该系统一方面 能与采用w s - t r a n s a c t i o n s 规范实现的系统实现互操作,另一方面与w s t r a n s a c t i o n s 规范 相比,该系统能提高商务活动执行的成功率。 由于参与事务处理的服务发生故障而导致全局事务处理失败的情况经常发生,在实际 南京邮电大学硕士研究生学位论文 第一章引言 的万维网环境下,与该服务相同的服务在有多个,既然存在这样的选择,那么在一个事务 处理中,某个子事务处理失败,不应该取消整个事务处理,要检查是否有可以替代的子事 务处理,如果没有可以替代的子事务处理,则取消整个事务处理。 基于上述观点,本文以w s t r a n s a c t i o n s 规范为基础,对其框架进行具体的分析与研 究,并在此基础上对其进行扩展,本文提出了基于等价服务的商务活动的协同协议,为了 提高事务处理成功率,该协议使用了并行模型,即每一个子事务处理由一个功能等价服务 组来完成;一个功能等价服务组中的所有成员并行地执行同一个子事务处理。如果某个成 员能够成功完成并反馈可提交报文c o m m i t t a b l e ,该功能等价服务组就被称为是可提交的, 该组的其它成员都被立即放弃。 这种模型一方面大大减少了由“回滚”或者“补偿 所产生的代价。另一方面提高了 事务处理执行的成功率,提高了事务处理的应变能力,进而提高系统的性能。 1 2 研究现状及本文研究目标 本论文主要工作是分析当前万维网服务处理环境对事务处理的需求,根据万维网服务 和事务处理的相关知识,参考万维网服务规范和厂商产品,设计了基于w s t r a n s a c t i o n s 规范扩展的新模型,该模型定义了商务活动的一个新的协同协议,该协同协议应用于万维 网服务环境下的对系统成功率要求较高的领域,提出基于等价服务并行执行子事务处理的 机制,最后对该模型进行了实现。 总结本文的主要创新点,包括以下几点: ( 1 ) 对w s - t r a n s a c t i o n s 规范的特点和不足进行的详细的分析,提出了基于 w s - t r a n s a c t i o n s 规范扩展的模型w s - t s m ,该模型提出了一个基于等价服务的 商务活动协同协议b a e s ,使用该协议能提高系统执行的成功率。 ( 2 ) 利用p e t r i 网对该模型进行了正确性验证。 ( 3 ) 设计了一个原型系统,并且通过仿真实验验证了原型系统设计是可行的。 1 3 相关工作 目前面向万维网服务的事务处理控制研究方面已出现了多个具有代表性的研究项目和 原型系统,这些项目与原型系统通常基于s a g a s 模型 2 模型,引入补偿机制,在失效的情况 下保证补偿的正确性,或者通过其他可选路径继续向前执行。 2 南京邮电大学硕士研究生学位论文第一章引言 l i m t h a n m a p h o n 1 6 提出了将资源预留协议( t e n t a t i v eh o l dp r o t o c o l ,t h p ) 和事务处理补 偿相结合的方式进行万维网服务组合,还提出了多个交易伙伴( 万维网服务) 之间协商的 算法。 s a m ib h i r i 等【1 3 】对万维网服务的事务处理行为进行描述,设计师可表达用户的事务处 理需求,在这些基础上,该文还定义了事务处理交互模式,并且采用一些事务处理规则对 万维网服务组合进行验证。 美国佐治亚大学研制的m e t e o r 1 8 系统可以在w e b 或c o r b a 环境下运行。它在恢复处理 上充分考虑了分布式环境中的各种故障可能对系统造成的影响,但是对于具有多级事务特 性的工作流任务处理的研究明显不足,例如并发控制对恢复的影响,错误恢复机制等也同 样没有得到统一的解决 w e b t r a n s a c t 1 5 是个事务处理性万维网服务服务复合模型,它提出了一个名为 2 l g u a r a n t e e d t e r m i n a t i o n 的正确性标准来放松事务处理的原子性即在越过第一个不 可补偿的服务前,保证已执行的服务都能补偿;执行过该服务之后,保证存在一条路径可 以执行成功。 w s t x 3 0 是一种事务处理性万维网服务复合支持框架,它注意到了应用语义在事务处 理放松原子性中的需求。w s t x 通过个称为o u t c o m ec o n d i t i o n 的概念来解决。o u t c o m e c o n d i t i o n 是一个字符串,将每个服务的状态通过a n d ,o r 和n o t 等运算符组合起来,每个 服务只有成功或失败两种状态,成功为t r u e ,失败为f a l s e ,当o u t c o m ec o n d i t i o n 计算结 果为t r u e 时满足放松的原子性。 当前主要的面向万维网服务的事务处理规范除原子事务之外,都定义了自己的放松的 事务处理模型,如w s - t r a n s a c t i o n s 规范 5 中的w s b u s i n e s s a c t i v i t y ,b t p 规范 8 中的 c o h e s i o n ,w s - t x m 规范 3 8 中的t x l r a ,t x b p 等。但这些事务处理模型只是定义了事务 处理参与各方的报文交换协议,并没有涉及服务复合层的处理,用户仍需要在代码中手 工进行每个服务的提交、重试、补偿等工作。 1 4 论文结构 本文主要分为五章,具体的划分如下: 第一章,论述了研究的背景,提出了要解决的问题,并给出了解决问题的思路以及 要达到的目标,同时对一些和本文相关的工作进行了一些比较,并给出了论文的章节安排。 第二章,介绍一些背景知识。包括事务处理基本概念,万维网服务的概念,传统事 南京邮电大学硕士研究生学位论文第一章引言 务处理模型和高级事务处理模型等方面的内容。最后介绍了目前面向万维网服务的事务处 理规范b t p 规范 8 、w s t r a n s a c t i o n s 规范 4 ,5 ,6 ,7 以及w s - c a f 规范 3 的主要内 容和优缺点分析。 第三章,提出了为减少事务处理恢复代价和提高系统成功率的,应用于万维网服务 环境领域的,基于w s t r a n s a c t i o n s 规范扩展的协同模型w s t s m 。该模型提出了基于等 价服务的商务活动协同协议,并且利用p e t r i 网对其进行描述,然后利用p e t r i 网可达树 对模型进行了理论验证。 第四章,论述了原型系统实现。对实现的各个组件的功能以及它们之间的交互进行 了描述。设计了一个仿真环境,验证了原型系统的设计是有效且可行的。 第五章,总结全文,给出本文的创新点和应用价值,并且针对目前的不足,对下一 阶段的工作进行了展望。 4 南京邮电大学硕士研究生学位论文第二章万维网服务的事务处理技术 2 万维网服务的事务处理技术 本章主要介绍与本论文相关领域的知识。包括事务处理基本概念,基于数据库的高 级事务处理模型的特征、优缺点比较,万维网服务技术概要,还对万维网服务环境下的事 务处理协议和规范做了介绍。 2 1 事务处理基本概念 事务处理最早源于d b m s ,是保证共享数据的并发访问一致性和失效恢复正确性的关键 技术。经过3 0 余年的完善和发展,已成为现代信息技术的一个重要里程碑。并发控制和恢 复是事务处理的两个核心技术,随着网络的出现,事务处理技术从集中走向分布。 2 1 i 什么是事务处理 事务处理是构成一个逻辑工作单元的操作集合。事务处理通常由高级数据操纵语言或 编程语言书写的用户程序的执行所引起。事务处理由事务处理开始与事务处理结束之间执 行的全体操作组成。 为了保证数据的完整性,数据库系统需要维护事务处理的a c i d 特性,事务处理也可以 被看作具有以下特性a c i d 特性的操作的集合。 原子性( a t o m i c i t y ) :一个事务处理的状态的改变是原子的要么都发生要么都不 发生。这些改变包括数据库的改变、报文以及对转换器的操作。 一致性( c o n s i s t e n c y ) :隔离执行事务处理时( 即,在没有其他事务处理并发执 行的情况下) 保持数据库的一致性。 。 隔离性( i s o l a t i o n ) :尽管事务处理是并发执行的,但看起来是单个执行的,即 对于一个事务处理t ,任何其它事务处理要么在t 之前执行,要么在t 之后执行,但 不会既在t 之前又在t 之后执行。 永久性( d u r a b i l i t y ) :一旦一个事务处理成功完成( 提交) ,它对状态的改变不 会受到其它失败的影响。 2 1 2 并发控制和恢复 并发控制机制的作用是控制事务处理的并发执行,保证并发执行的正确性。并发控制 南京邮电大学硕士研究生学位论文第二章万维网服务的事务处理技术 机制一般利用锁、时标、串行化图等手段保证事务处理的一致性和隔离性。 控制机制可分为两大类:悲观控制和乐观控制。悲观控制要求在执行一个事务处理的数 据访问之前要实现它与其它并发事务处理的同步,保证可串行性。乐观控制在事务处理 执行一个操作时不保证可串行性,当这些事务提交时再检查这些并发事务处理是否存在冲 突,如果没有冲突则事务处理提交,否则事务处理回滚。 在事务处理执行过程中,任何偶然的故障( 包括系统故障、磁盘介质故障和事务处理 故障等) 都可能导致事务处理的失败,使数据库处于不一致的状态。 恢复机制的作用就是当发生故障而使数据库处于不一致状态时,将数据库回复到一个 一致性状态。 恢复机制一般采用日志( 1 0 9 ) ,重做( r e d o ) 和撤消( u n d o ) 等技术,从而保证了事务处理 的原子性和持久性。 2 2 高级事务处理模型 一些高级事务处理模型a t m ( a d v a n c e dt r a n s a c t i o nm o d e l ) 是为了解决执行周期长的 事务处理( l o n gr u n n i n gt r a n s a c t i o n ) 问题而提出的,它们从不同程度上放宽t a c i d 特 性,在保证系统的正确性和一致性的同时,使得复杂应用更具有可用性。这些高级事务处 理模型常用于分布式计算环境下。 我们将对嵌套事务处理( n e s t e dt r a n s a c t i o n s ) 模型 11 、开放嵌套事务处理( o p e n n e s t e dt r a n s a c t i o n s ) 模型 1 1 ,1 2 3 ,s a g a s 事务处理模型 2 和分支汇合事务处理 ( s p l i t - j o i nt r a n s a c t i o n s ) 模型 2 1 做一个简单的回顾。 嵌套事务处理模型 嵌套事务处理( n e s t e dt r a n s a c t i o n s ) 模型 1 1 用于提高了子事务处理的并行性和减 少失败时的恢复粒度。它把一个事务处理分解为多个子事务处理,同时子事务处理也可以 继续分解成为更细的子事务处理,由此形成一棵“事务处理树”。树根被称为顶级事务处 理,对应于全局事务处理,它是事务处理树中所有子事务处理的边界,具有传统事务处理 的所有特性。 嵌套事务处理的行为被归结为如下三点: 提交规则子事务处理只有在其父事务处理开始后才可以开始并提交,而父事务处理 只有在所有的子事务处理全部提交后才能提交,但任何子事务处理只有在根事务处理提交 之后才能作出使结果永久化的最终提交。 6 南京邮电大学硕士研究生学位论文第二章万维网服务的事务处理技术 回滚规则如果一个( 子) 事务处理回滚,它的所有子事务处理都必须回滚,而无论 子事务处理是否处在本地提交状态。 可见规则如果子事务处理完成本地提交,那么所有子事务处理的变化对于父事务处 理是可见的。所有父事务处理拥有的对象对于子事务处理都是可见的。兄弟子事务处理的 变化对于彼此都是不可见的,因为它们是同时执行的。 开放嵌套事务处理 开放嵌套事务处理( o p e nn e s t e dt r a n s a c t i o n s ) 模型 1 2 扩展了传统事务处理的隔 离性( i s o l a t i o n ) 需求,无论状态如何或父事务处理的最终结果如何,子事务处理将可以 独立的中止或提交。而但一旦父事务处理退出,子事务处理将做回滚操作或产生相应补偿。 同时将子事务处理提交结果向高层事务处理开放,因此,开放嵌套事务处理采用的是无保 : 护的行为。 s a g a s 事务处理 链式事务处理( c h a i nt r a n s a c t i o n s ) 是将一个长事务处理分解成代码片断序列 s 1 ,s 2 ,s i l ,这些序列链接在一起,其中每一个片断是一个子事务处理 2 8 。 s a g a s 事务处理模型 2 是一个基于补偿的方法来解决长事务处理( l r t ) 的事务处理模 型,是由g a r c i a - m o l i n a 和s a l e m1 9 8 7 年第一次提出,这个概念从两方面对链式事务处 理进行了扩充: 1 ) 它定义了一个链事务处理作为控制单元; 2 ) 它使用多级别事务处理中的补偿概念来确保整个链的原子性。 在s a g a s 模型中,它是a c i d 子事务处理集合s l ,s 2 ,s n 的集合,每个事务处理s i 有一 个补偿事务处理c s i ,这个补偿事务处理语义上解除s i 的执行效果。事务处理的原子性的 实现方法是一旦当前执行的事务处理回滚时,就开始执行补偿序列。每一个子事务处理被 允许单独提交,并立即释放其占用的资源( 数据) ,提高了资源的利用率,从而减少了长事 务处理中资源被占用的时间,同时也增强了系统的事务处理能力。 s a g a s 模型的不足之处是要求应用开发者同时提供补偿事务处理:每一个子事务处理 都必须能够补偿。但在实际应用中,有些事务处理是不可补偿的。另外,如果s a g a s 的任 何中间的子事务处理失败了,此前己提交的子事务处理都将被撤销。 分支汇合事务处理 分支汇合事务处理( s p l i t j o i nt r a n s a c t i o n s ) 2 1 模型是由美国哥伦比亚大学的 g k a i s e r 和c p u 提出的,是针对“末端开放( o p e n - e n d e d ) 的活动而专门设计的。所谓“末 7 南京邮电大学硕士研究生学位论文 第二章万维网服务的事务处理技术 端开放是指活动具有不可确定的执行时间、不可预知的发展方向、与其他并发的活动进 行交互等特点。这种高级事务处理模型通过动态重构正在进行的事务处理,可以解决多个 用户间的合作问题。“分支命令把一个正在进行的事务处理分成两个事务处理,“汇合 命令可以把两个事务处理合并成一个事务处理。分支汇合事务处理模型实现了一种多用 户的合作行为,通过“分支”和“汇合能够把部分事务处理的处理工作分配给某一合作 者。另外,如果分支后的某一个事务处理能够立刻提交,则将增加系统的并发处理能力。 分支汇合事务处理模型也存在一些问题,如:如何保证分支后的两个事务处理能够有效, 如何定义资源的分配等。 2 3 万维网服务技术 本节介绍万维网服务的概念,万维网服务协议栈以及万维网服务的体系架构等方面的 内容。 2 3 1 万维网服务协议栈 万维网服务作为一种新兴的万维网应用模式,是一个崭新的分布式计算模型,是万维 网上数据和信息集成的有效机制。 万维网服务具有广泛的适应性和应用背景,而且万维网服务的很多相关问题仍处在研 究过程中,w 3 c 给出的万维网服务的定义是:万维网服务就是用于支持可互操作的机器与 机器之间进行网络交互的软件系统,它有一个由w s d l 所描述的接i z l ,其他系统通过s o a p 报文与之进行交互。 为了完成在松散耦合的环境下的对象访问,以及在基本对象访问之上的事务处理、工 作流、安全机制等。实现一个完整的万维网服务体系需要有一系列的协议规范来支撑。 图2 1 展示了整个万维网服务技术体系一万维网服务协议栈。 工作流层 服务发现层服 服务发布层管务 安全 服务描述层 理质 报文层 且 里 网络层 图2 1 万维网服务协议栈 8 南京邮电大学硕士研究生学位论文第二章万维网服务的事务处理技术 最简单的堆栈情况可以只包含三层:网络层中使用h t t px m l ;报文层中使用s o a p ;服务 描述层使用w s d l 。这也是所有的企业内部或公共w e b 服务进行互操作都必须支持的基本协 议堆栈。 中间部分是目前开发的面向万维网服务的相关标准协议,包括服务调用协议s o a p ,服 务描述协议w s d l 和服务发现集成协议u d d i 以及服务工作流描述语言w s f l ( w e bs e r i v c e f lo wl a n g u a g e ) w s f l 等。 而上层部分描述的是更高层的待开发的关于路由、可靠性以及事务处理等方面的协议。 右边部分是各个协议层的公用机制,这部分包括安全和管理的协议或机制。 2 3 2 万维网服务体系架构 万维网服务的体系结构一般是基于万维网服务提供者、万维网服务请求者、万维网服 务中介者三个角色和发布、发现和绑定三个动作构建的。简单地说,万维网服务服务提供 者就是万维网服务服务的拥有者,它耐心等待为其他服务和用户提供自己已有的功能;万 维网服务服务请求者就是万维网服务服务功能的使用者,它利用s o a p 报文向万维网服务提 供者发送请求以获得服务;万维网服务服务中介者的作用是把一个万维网服务服务请求者 与合适的万维网服务提供者联系在一起,它充当管理者的角色,一般是u d d i 。 这三个角色是根据逻辑关系划分的,在实际应用中,角色之间很可能有交叉:一个万维 网服务服务既可以是万维网服务服务提供者,也可以是万维网服务服务请求者,或者二者 兼而有之。 图2 - 2 显示了万维网服务角色之间的关系:其中,“发布”是为了让用户或其他服务知 道某个万维网服务的存在和相关信息;发现,是为了找到合适的万维网服务;“绑定 则 是在提供者与请求者之间建立某种联系。 图2 2 面向万维网服务的体系架构 9 南京邮电大学硕士研究生学位论文第二章万维网服务的事务处理技术 2 3 3 万维网服务的关键技术 数据表示:蹦l 可扩展标记语言x m l ( e x t e n s i b l em a r k u pl a n g u a g e ) 1 0 ,是一种使用者可以用来创 建自描述标记的语言。它由万维网协会( w 3 c ) 创建,用来克服h t m l ( 超文本标记语言, h y p e r t e x tm a r k u pl a n g u a g e ) 的局限。和h t m l 一样,x m l 基于标准通用标记语言s g m l ( s t a n d a r dg e n e r a li z e dm a r k u pl a n g u a g e ) 。x m l 是s g m l 的一个子集,是为w e b 设计的。 其目的在于使得在w e b 上以现有h t m l 的使用方式提供,接收和处理通用的s g m l 成为可能。 x m l 的设计既考虑了实现的方便性,同时也顾及了与s g m l 和h t m l 的互操作性。 一个格式正规的x m l 文档通常由三个部分组成: 1 ) 一个可选的序言。 2 ) 文档元素,为文档的主体,由一个或多个元素组成。其形式为一个可能也包含字符 数据的层次树。 3 ) 可选的尾部,其内容包括注释、处理指令和域紧跟元素树后面的空白。 报文交互:s o a p 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 0 1 ) 简单对象访问协议 3 1 ,是在分散或分布式 的环境中交换信息的简单的协议,是一个基于x m l 的协议,它包括四个部分:s o a p 封装 ( e n v e l o p e ) ,封装定义了一个描述报文中的内容是什么,是谁发送的,谁应当接受并处理 它以及如何处理它们的框架;s o a p 编码规则( e n c o d i n gr u l e s ) 用于表示应用程序需要使用 的数据类型的实例;s o a pr p c 表示( r e m o t ep r o c e d u r ec a l lr p c ) ,表示远程过程调用和 应答的协定;s o a p 绑定( b i n d i n g ) ,使用底层协议交换信息。 , 一个s o a p 报文是一个x m l 文档,它包括一个必有的s o a p 封装,一个可选的s o a p 头和一个 必需的s o a p 报文体。s o a p 报文依赖于j ( m l 命名空间和x m ls c h e m a 定义语言。请求响应模式 构成了s o a p 报文的交换模式。通常,s o a p 客户请求被封装在一个h t t pp o s t 包中。 描述:w s d l 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 ) 万维网服务描述语言口是一个x m l 应用, 它将万维网服务描述定义为一组服务访问点,客户端可以通过这些服务访问点对包含面向 文档信息或面向过程调用的服务进行访问( 类似远程过程调用) 。w s d l 首先对访问的操作和 访问时使用的请求响应报文进行抽象描述,然后将其绑定到具体的传输协议和报文格式 l o 南京邮电大学硕士研究生学位论文第二章万维网服务的事务处理技术 上以最终定义具体部署的服务访问点。相关的具体部署的服务访问点通过组合就成为抽象 的万维网服务。 由于通信协议和报文格式在w e b 技术集合里己经达到了标准化,我们知道在通常的开发 过程中,对于对象的接口一定具备相应的s d k 描述文档,万维网服务也是一种对象,只不 过它是被部署在万维网上而已。很自然的,我们也完全需要有对万维网服务这个对象的界 面的s d k 描述文档。然而这两者又不尽相同,由于目前在w e b 上的应用己经完全接受了x m l 这个基本的标准,基本上所有新出台的技术都是基于x m l 标准的,而且万维网服务的目标 是即时装配,松散耦合以及自动集成的,这意味着s d k 描述文档应当是具备被机器识别的 能力的。w s d l 定义了一套基于x m l 的语法,将万维网服务描述为能够进行报文交互的服务 访问点的集合,从而满足了这种需求。w s d l i 艮务定义为分布式系统提供了可机器识别的s d k 文档,并且可用于描述自动执行应用程序通信中所涉及的细节。 w s d l 文档将万维网服务定义为服务访问点或端口的集合。在w s d l 中,由于服务访问点 和报文的抽象定义已从具体的服务部署或数据格式绑定中分离出来,因此可以对抽象定义 进行再次使用:报文,指对交换数据的抽象描述;而端口类型,指操作的抽象集合。用于 特定端口类型的具体协议和数据格式规范构成了可以再次使用的绑定。将万维网访问地址 与可再次使用的绑定相关联,可以定义一个端口,而端口的集合则定义为服务。因此,w s d l 文档在万维网服务的定义中使用下列元素: 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 描述了一个访问入 口的请求响应报文对。 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 :相关服务访问点的集合。 注册查找:u d d l 统一描述、发现和集成协议( 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 ya n d i n t e g r a t i o n ) 标准 2 0 的诞生是其奠基者们( i b m ,m i c r o s o f t 和a r i b a ) 不断努力的结果。 南京邮电大学硕士研究生学位论文 第二章万维网服务的事务处理技术 从最初的3 6 个,到现在己经有超过2 5 0 个公司和机构签署了“在将来支持u d d i 协议并加 入t u d d i 的大团体u d d ic o m m u n i t y 。特别的是,组织中的会员正慢慢地跨越了公司自身发 展策略的界限,例如,作为直接竞争的双方,像i b m 和c o m m e r c eo n e ,m i c r o s o f t 和s u n , 都一起携手参与了u d d i 计划。 u d d i 是一套基于万维网的、分布式的、为万维网服务提供的信息注册中心的实现标准 规范,同时也包含一组使企业能将自身提供的万维网服务注册以使得别的企业能够发现的 访问协议的实现标准。万维网服务是下一代的互联网,它允许在w e b 站点上放置可编程的 元素,使得能进行基于万维网的分布式计算和处理。u d d i 注册中心的创建目的就是为促进 企业的万维网服务的发展及为企业发现适当的万维网服务。同时,u d d i 与s o a p ,w s d l ,x m l 等是一个不可分割的技术体
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 乳制品产业链整合创新创业项目商业计划书
- 福建省宁德市福鼎市2026届九年级英语第一学期期末调研模拟试题含解析
- 2025至2030全球与中国西服定制服务行业市场调研及市场规模报告
- 培训师课件繁琐
- 2026届上海市建平西学校化学九年级第一学期期中检测模拟试题含解析
- 2025山东核电校园招聘考试模拟试题及答案解析
- 建筑施工防中暑培训课件
- 浙江部分地区2026届九上化学期中监测试题含解析
- 培训师专用课件下载
- 2025-2030肉牛养殖区域集群发展比较优势及产业协同效应分析
- 2025-2026学年人民版小学劳动技术六年级上册教学计划及进度表
- 新学期三年级班主任工作计划(16篇)
- 接种疫苗预防流感课件
- 游戏体验寻规律(教学设计)-2024-2025学年人教版(2024)小学信息技术五年级全一册
- 基于plc的恒压供水控制系统设计
- 环保设备加工处理方案(3篇)
- 《成人重症监护病房口腔护理专家共识》解读课件
- 2025中小学生法制知识竞赛题库及答案
- 恶性间皮瘤护理查房
- 2025新版劳动合同范本
- 喷锚支护施工技术
评论
0/150
提交评论