




已阅读5页,还剩60页未读, 继续免费阅读
(模式识别与智能系统专业论文)基于web+services事务性组合研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
硕士论文 基于w e bs e r v i c e s 事务性组合研究 摘要 随着s o a p 等技术的发展与普及以及电子商务的迅速崛起,种新的开发基于 w e b 的应用模式正在迅速发展,这就是w e b 服务技术。它的出现改变了以往分布 式系统间的集成方式,它以x m l 作为数据交换标准,使用s o a p ,w s d l 以及u d d i 等协 议来描述、发布、发现和调用服务,使得运用不同分布式集成架构的系统之间可 以容易地相互沟通。 组合w e b 服务是将网络中存在的相关w e b 服务按某些规则组合起来,使它们 相互协同执行,构建大型的跨企业的b 2 b 应用,为网络中的用户提供更可靠、灵 活、有价值的服务。但是,目前的w e b 服务体系只提出基本的组合模型,并没有 对服务的事务性组合做详细的介绍。本文在对w e b t r a n s a c t “3 原型扩展的基础之上, 给出了基于事务的w e b 服务组合框架w s m t c 。文章从实现该模型的角度出发详细 分析了各个组合模块的组成及作用。最后介绍了w s m t c 在j 2 e e 项目f a c e 系统模 块中的应用。 关键词:组合w e b 服务,分布式事务,事务性协调,j 2 e e 技术 硕士论文 基于w e bs e r v i c e s 事务性组合研究 a b s t r a c t w i t ht h er 印i dd e v e l o p m e n to fb 2 be c o m m e r c e ,an e ww e b b a s e d a p p l i c a t i o np a t t e r n - - w e b s e r v i c e sa r i s e i t p r o v i d e s a u n i f y i n g p r o g r a m m i n gm o d e ls ot h a ta p p l i c a t i o ni n t e g r a t i o ni n s i d ea n do u t s i d et h e e n t e r p r i s e w e bs e r v i c e sb u i l do ne x i s t i n ga n de m e r g i n gs t a n d a r d ss u c ha s h r t p e x t e n s i b l em a r k u p l a n g u a g e ( x m l ) ,s i m p l eo b j e c t a c c e s s p r o t o c o l ( s o a p ) ,w e b s e r v i c e s d e s c r i p t i o nl a n g u a g e ( w s d l ) a n d u n i v e r s a l d 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 ) m a n y s t a n d a r d o r g a n i z a t i o n s h a v e p r o v i d e t h e i rs o l u t i o nt o t r a n s a c t i o ns u p p o r tf o rs e m a n t i cw e bs e r v i c e s ,b u ti nt h e i r s p e c i f i c a t i o n d o n td i s c u s sa b o u tt r a n s a c t i o n s u p p o r t o f w e bs e r v i c e s c o m p o s i t i o n i nt h i s p a p e r , if i r s t i n t r o d u c es o m eb a s i c p o i n t s a b o u tw e bs e r v i c e sa n di t s , t r a n s a c t i o nb e h a v i o r s s e c o n d l y , is t u d yw e b t r a n s a c tm o d e la n dg i v e a a p p l i c a t i o nf r a m e w o r kw s m t c f i n a l l y , it e s to u rf r a m e w o r ki nf a c e s y s t e m a n d p r e s e n ts o m ep o i n t sn e e d e d t ob ei m p r o v e d 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 ,d i s t r i b u t e dt r a n s a c t i o n ,t r a n s a c t i o n c o o r d i n a t i o n ,j 2 e e i i 6 2 3 1 2 声明 本学位论文是我在导师的指导下取得的研究成果,尽我所知,在 本学位论文中,除了加以标注和致谢的部分外,不包含其他人已经发 表或公布过的研究成果,也不包含我为获得任何教育机构的学位或学 历而使用过的材料。与我一同工作的同事对本学位论文做出的贡献均 已在论文中作了明确的说明。 研究生签名:l 睾蓬垒删年月g 日 学位论文使用授权声明 南京理工大学有权保存本学位论文的电子和纸质文档,可以借阅 或上网公布本学位论文的全部或部分内容,可以向有关部门或机构送 交并授权其保存、借阅或上网公布本学位论文的全部或部分内容。对 于保密论文,按保密的有关规定和程序处理。 研究生签名:聋堑二凼) 、妒+ 年钼驴日 堡主丝奎 苎王竺! ! ! ! ! ! ! ! 皇丝壁望鱼堑塞 1绪论 1 1 研究背景 从来没有任何事物像互联网那样,对人类的活动产生如此深刻的影响,无论 是政府、企业,以及个人,莫不如此。与此同时,i t 工业也正面临一场变革一传 统应用向基于i n t e m e t w e b 的服务模式转化。 翻开历史,我们可以看到互联网的形成和发展就是以分布性、开放性和平台 无关性为基础,这是i n t e m e t 与生俱有的属性。随着互联网应用的发展,以引入了 诸如r p c c o i v i c o r b a 等技术,但这些技术在实际应用中,又存在很多不足和局 限。它们特定的协议也难以通过防火墙,因而不适于在w e b 上的应用开发。为了 进一步开发基于w e b 的应用,提高不同技术之间的互操作性,w e b 服务此时就呼之 而出。 这种基于x m l 的w e b 服务是当今i t 业界的焦点所在,它的主要目标就是在现 有的各种异构平台的基础上构筑一个通用的与平台无关、语言无关的技术层,各 种不同平台之上的应用依靠这个技术层来实施彼此的连接和集成。要实现这一目 标就需要提供可靠的消息机制、完整的事务处理的保证。 事务处理作为w e b 服务的关键技术之一,决定着它是否能被广泛的采用。事 务在w e b 服务中可能跨几个小时,跨多个企业之间,与传统事务处理系统很大的 差别。到2 0 0 3 年8 月,w e b 服务事务处理领域有两大标准相竞争:o a s i t 业务 事务处理协议( b u s i n e s st r a n s a c t i o n sp r o t o c o l ,b t p ) 和w e b 服务事务处理 ( w s t r a n s a c t i o n ) 规范。虽然两个规范之间有着许多共同点,但它们都缺少w e b 服务组合事务处理的解决方案。 j 2 e e 是目前企业w e b 服务平台市场的重要应用框架( a d p l i c a t i o n f r a m e w o r k ) ,针对分布式n 层( n t i c r ) 应用、设计、集成、性能、安全性和可靠性 等诸多方面为用户提供了总体的指南和规范。基于这些指南和规范,技术提供商 提供了相应的平台、工具和编程环境。在具体的应用框架中,包括了针对应用的 表现层服务、服务器端进程、会话管理、商业逻辑框架、应用数据缓存、应用逻 辑、持久化性、事务、安全和日志服务等。w e b 服务f o rj 2 e e 部署模型定义了w s d l 文档的处理方法, w s d l 文档的服务和x m l 信息模型到j 2 e e 组件的映射等,但 是对事务处理的研究不多,本文将重点讨论有关基于5 2 e e 组合w e b 服务事务协调 方面的内容。 要主丝奎 苎兰坠! ! ! 竺堡! ! 皇墨竺望鱼! ! ! l 1 2 课题来源 在上面的课题背景下,本人参加了中国科学院f a c e 项目( 国家创新工程项目 编号:k z c x z 一4 0 8 ) 系统的设计与开发。该系统的作为一个国际性合作实验项目, 具有数据独立和数据共享的双重属性。由于其实验数据的不规则性和数量较大, 要求f a c e 系统数据处理具有较高的稳定性与灵活性。为了能够和其它研究单位的 f a c e 系统的数据交换,基于j 2 e e 的w e b 服务组合技术被应用,组合的事务性也被 强烈要求,也就是本文中w s m t c 框架产生的原因。 本人自从2 0 0 3 年上半年参与课题以来,查阅了大量相关文献,系统学习了x m l 、 s o a p 、u d d i 、w s d l 等w e b 服务相关知识以及的技术规范。在实际设计开发过程中, 积极认真地开展工作,结合所学知识成功地设计了基于j 2 e e 的w e b 服务组合技术 的f a c e 系统,并给出了组合服务事务协调框架w s m t c ;成功地将此模型运用于 f a c e 系统的某些功能模块中,使该系统由传统的内部网络向开放式的通用信息平 台迈出了一大步。 1 3 研究内容 本文在对已有研究成果的深入研究基础上,理清了w e b 服务的关键技术的发 展脉络,并对w e b 服务事务处理作了详细分析,给出了基于组合w e b 服务的事务 协调框架w s m t c 。本人主要完成的工作有以下几方面: 1 、阐述了w e b 服务的概念、体系结构和相关技术,并对w e b 服务的优点和存 在的缺陷进行了分析; 2 、介绍了传统事务机制相关知识,详细分析了分布式事务及w e b 服务事务处 理的几种情况; 3 、详细介绍基于组合w e b 服务事务协调框架w s - m t c 的产生背景、体系结构、 模块设计等方面的知识; 4 、从w e b 服务及w s m t c 应用的角度出发,介绍它们在f a c e 系统中的应用并 对框架的不足提出分析和期望。 1 4 论文结构 本文共分为六章: 第一章:绪论。首先介绍了本课题的背景和课题来源,说明了本人在课题中 硕士论文基于w e bs e r v i c e s 事务性组合研究 所做的实际工作和进行的理论研究,最后列出了论文的组织结构。 第二章:w e b 服务概述。介绍w e b 服务的概念和体系结构,并且分析当前w e b 服务使用的关键技术。 第三章:w e b 服务事务处理。介绍事务行为的基础,分布式事务处理以及w e b 服务事务处理过程中可能存在各种事务机制。 第四章:基于组合w e b 服务事务协调模型。介绍了该模型的体系架构,并且 对各模块的设计和工作流程详细讨论。 第五章:w s m t c 在f a c e 信息系统中的应用。介绍w e b 服务及w s m t c 框架如 何在f a c e 系统中某些功能模块中被具体应用。 第六章:总结。文章首先总结该框架的必要性,然后分析框架存在的不足处, 并对不足提出了期望。 硕士论文 基于w e bs e r v i e 2 s 事务性组合研究 2w e b 服务概述 2 1w e b 服务的定义与特征 w e b 服务“”作为一个崭新的分布式计算模型,它封装了单个实体并发布到网络 上以供其它程序调用。w e b 服务从广义上可以将其理解为一种通过互联网进行数据 及功能共享的技术,狭义上可以将其理解为一种通过互联网及标准接口进行调用 的构件,是现有分布对象技术的延伸。 w e b 服务是一种通过u r i 标识的软件应用,其接口及绑定形式可以通过x 齄l 标准 定义、描述和检索,w e b 服务能够通过x m l 消息及互联网协议完成与其他软件应用 的直接交互。 从外部使用者的角度而言,w e b 服务是一种部署在w e b 上的对象组件,它具 备了以下的特征; 1 、完好的封装性 w e b 服务既然是种部署在w e b 上的对象,自然具备对象的良好封装性,对于 使用者丽富,他只能看到该对象提供的功能列袭丽看不到具体的实现细节。 2 、松散耦合 这一特征相对于传统的对象组件技术,传统的应用软件设计要求各个单元之 间紧密连接。当一个w e b b 艮务的实现发生变更的时候,调用者是不会感到这一点的。 对于调用者来说,只要w e b 酲务的调用接口不变,w e b f l 鼹务的实现任何变更对他们 来说都是透明的,甚至是当w e b n 务的实现平台发生彻底的改变,用户都可以无需 所知道。对于松散耦合而言,尤其是在i n t e r n e t 环境下的w e b 服务而言,需要有一 种适合互联网环境的消息交抉协议。丽基于h t t p 的x m l s o a p 正是目自f 最为适合的 消息交换协议。 3 、使用协约的规范性 这一特征从对象而来,但相比一般对象其界面规范更加规范化,易于机器理 解。首先,作为w e b 服务,对象界面所提供的功能应当使用标准的描述语言来描 述( 比如w s d l ) ,由标准描述语言描述的服务界面应当是能够被发现的,因此这 一描述文档需要被存储在私有的或公有的注册库里面。同时,使用标准描述语言 描述的使用协约将不仅仅是服务界弱,它将棱延伟到w e b 服务的聚合、跨礴e b 服 务的事务、工作流等,而这些又都需要服务质量的保障。其次,我们知道安全机 制对于松散耦合的对象环境的重要性,因此我们需要对诸如授权认证、数据完整 性( 比如签名机制) 、消息源认证以及事务的不可否认性等运用规范的方法来描述、 4 硕士论文 基于w e bs e r v i c e s 事务性组合研究 传输和交换。最后,在所有层次的处理都应当是可管理的,因此需要对管理协约 运用同样的机制。 4 、使用标准协议规范 作为w e b 服务,其所有公共的协约完全需要使用开放的标准协议进行描述、 传输和交换。这些标准协议具有完全免费的规范。以便由任意方进行实现。一般 而言,绝大多数规范将最终由w 3 c 或o a s i s 作为最终版本的发布方和维护方。 5 、高度的可集成能力 由于w e b 服务采用简单的、易理解的标准w e b 协议作为组件界面描述和协同 描述规范,完全屏蔽了不同软件平台的差异,无论是c o r b a 、d c o m 还是e j b 都可 以通过这一种标准的协议进行互操作,实现了在当前环境下最高的可集成性。 2 2w e b 服务体系结构 2 2 1w e b 服务模型 w e b r 务提供了在松藕合环境下完成应用之间互操作与集成的技术框架。以 x m l s o a p u d d i 为主干的技术赋予t w e b 服务与传统分布式技术所不同的架构模 型。w e b 服务的体系结构是基于三种角色( 服务提供者、服务请求者和服务注册 中心) 之问的交互,它是种s o a ( 面向服务的体系结构,s e r v i c eo r i e n t e d a r c h i t e c t u r e ) 架构。如图“示: 图2 2 1 1w e bs e r v i c e 体系架构模型 该应用模型中涉及三种角色:服务提供者、服务请求者和服务注册中心。 服务提供者( s e r v i c ep r o v i d e r ) :服务的所有者,托管被访问服务的平台,提 供服务的具体实现。 硕士论文 基于w e bs e r v i c c $ 事务性组合研究 服务请求者( s e r v i c er e q u e s t o r ) :服务的使用者,寻找并调用服务,或者启 动与服务交互的应用程序。服务请求者角色可以由浏览器来担当,由人或没有用 户界面的应用程序( 如另外一个w e b 服务) 来控制。 服务注册中心( s e r v i c er e g i s t r y ) :这是可搜索的服务描述注册中心,服务 提供者在此发布他们的服务描述。在静态绑定开发或者动态绑定执行期间,服务 请求者查找服务并获得服务的绑定信息( 在服务描述中) 。对于静态绑定的服务 请求者,服务注册中心是体系结构中的可选角色,因为服务提供者可以把描述直 接发送给服务请求者。同样,服务请求者可以从服务注册中心以外的其他来源得 到服务描述。 同时在该模型中提供了三种基本操作完成应用之间的交互: 发布: 创建服务后,就可以在业务注册表中发布。该注册表包含有关服务和创建 程序的完整信息,容器将该服务发布在其所属业务类别下的注册表中。 十查找: 服务请求程序通过服务提供商提供的接口,在服务注册中心查询所要求的 服务类型。对于服务请求者,可能会在两个不同的生命周期阶段中牵涉到 查找操作:在设计时,为了程序开发而检索服务的接口描述;而在运行时, 为了调用而检索服务的绑定和位置描述。 调用: 通过服务引用调用服务,结合洲l 和i f f t p ,使用s o a p 实现数据传输。到达这 一步骤时,订阅者已经将所选服务绑定到应用程序中。然后,订阅者就可 以调用服务并获取所需的结果。 w e b 服务体系结构有趣的部分就是用于数据传输和应用程序通信的技术。 由于这些技术都已标准化并已被业界所接受,所以只要遵守标准,开发人员可 以采用任何语言在任何平台上开发和应用自己的逻辑。 2 2 2w e b 服务协议栈 w e b 服务中的服务提供者、服务使用者、服务注册中心之间互操作所需要的绑 定、查找、发布三个操作要求一个包含每一层标准的w e b 服务协议栈。图2 2 2 1 展示了w e b 服务的协议栈,协议栈中上层依靠下层提供的功能,垂直条的要求表 示每层必须满足。 w e b 服务协议栈的最底层是网络层。w e b 服务要被服务请求者调用,就必须是 可以通过网络访问的。i n t e r n e t 上可以公用的w e b 服务使用普遍部署的网络协议。 6 堡主丝兰 苎主翌些! ! ! 坚! 皇鱼壁望鱼! ! ! l h t t p 凭借其普遍性,成为了i n t e m e t 可用的w e b 服务真正的标准网络协议。w e b 服 务还可以支持其它网络协议,包括s m t p 和f t p 。内部网域可以使用可靠消息传 递和调用基础结构,如m q s e r i e s 和c o r b a 等等。 下一层是基于x m l 的消息传递,它表示使用x m l 作为消息传递协议的基础。 选择s o a p 作为x m l 消息传递协议有很多原因: 1 它是使用x m l 传送以文档为中心的消息以及远程过程调用的标准化封装 机制。 2 s o a p 很简单;它基本上是一个用x m l 信封作为有效负载的h t t pp o s t 。 3 s o a p 比对x 札简单的h t t pp o s t 更受青睐,因为它定义了一个标准机 制,这个机制将正交扩展( o r t h o g o n a le x t e n s i o n ) 合并为使用s o a p 报头 和对操作或函数进行标准编码的消息。 4 s o a p 消息支持w e b 服务体系结构中的发布、查找和绑定操作。 图2 2 2 1w e b 服务协议栈 服务描述层实际上是描述文档的一个协议栈。首先,w s d l 是基于x m l 的服 务描述的真正标准。这是支持可互操作的w e b 服务所需的最小标准服务描述。 w s d l 定义了服务交互的接口和结构。要指定业务环境、服务质量和服务之间的关 系,我们还需要另外的描述。w s d l 文档可以由其它服务描述文档来补充,从而描 述w e b 服务的这些更高级的方面。例如,描述业务环境除了使用w s d l 文档,还 要使用u d d i 数据结构。w e b 服务流程语言( 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 服务被定义为可以通过s o a p 从网络进行访问,并由服务描述表示, 所以该协议栈中的前三层需要提供或使用w e b 服务。最简单的协议栈将包括网络 层的h t t p 、x m l 消息传递层的s o a p 协议以及服务描述层的w s d l 。所有企业或 公用w e b 服务都应该支持这种可互操作的基础协议栈。w e b 服务,特别是企业内 部或专用w e b 服务,能够支持其它的网络协议和分布式计算技术。 协议栈的最下面三层确立了保证一致性和互操作性的技术,而它们上面的两 层,即服务发布和服务发现,可以用多种解决方案来实现。 任何能够让服务请求者使用w s d l 文档的操作,不管它处于服务请求者生命 周期的哪个阶段,都符合服务发布的标准。该层中最简单、最静态的示例就是服 务提供者直接向服务请求者发送w s d l 文档。这被称为直接发布。电子邮件是直 接发布的载体之一。直接发布对静态绑定的应用程序来说很有用。另外,服务提 供者还可以将描述服务的文档发布到主机本地w s d l 注册中心、专用u d d i 注册 中心或u d b i 运营商节点。 因为w e b 服务如果没有被发布就不能被发现,所以说服务发现依赖于服务发 布。该层的各种发现机制和一组发布机制互相平行。任何允许服务请求者获得对 服务描述的访问权,并在运行时使应用程序能够使用该服务描述的机制都符合服 务发现的标准。最简单、最静态的发现的示例是静态发现,其中服务请求者从本 地文件获取w s d l 文档。这通常都是通过直接发布获取的w s d l 文档,或者前面 查找操作的结果。另外,也可以通过使用本地w s d l 注册中心、专用u d d i 注册 中心或u d d i 运营商节点在设计时或运行时发现服务。我们将在“服务发现”部 分更详细地讨论各种不同的服务发现机制。因为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 s f l 用于描述这些交互。 要使w e b 服务应用程序满足当今电子商务的迫切需求,就必须提供企业级基 础结构,包括安全性、管理和服务质量。这几个垂直条在协议栈的每一层都必须 得到解决。每一层的解决方案可以彼此独立。随着w e b 服务范例的采用和发展, 将会出现更多此类垂直条。该协议栈的最下面几层表示基础w e b 服务协议栈,它 们相对于协议栈中上面几层来说更成熟,也更标准。w e b 服务的成熟和采用将会 带动协议栈中上面几层和垂直条的开发和标准化。 硕士论文 基于w e bs e r v i c e s 事务性组合研究 2 3w e b 服务的关键技术 2 3 1 统一的数据表示:x m 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 ) ,中文名称为可扩展标记语言,是w 3 c 的 x m l 工作组定义的。这个工作组是这样描述该语言的:“x m l 是标准通用标记语 言针对应用的一个子集,或者说是s g m l 的一种受限形式”。其目的在于以现有 的h t m l 为基础,使在w e b 上提供、接收和处理通用的s g m l 成为可能。 x m l 是基于文本的,它与h t m l 的不同就是x m l 用于数据描述。x m l 由 许多存储单元构成,这些存储单元称为实体。实体又由解析数据和未解析的数据 组成。解析数据由字符组成,其中一些字符组成字符数据,另一些字符组成标记。 标;己中包含了对文档存储格式和逻辑结构的描述。x m l 同时提供了用于约束存储 格式和逻辑结构的相应的机制。 x m l 文档结构分为逻辑和物理两种。从物理的角度上看,文档由称为实体的 存储单元组成。逻辑上而吉,文档由声明、元素、注释、字符引用和处理指令组 成,所有这些都在文档中用显式标记指明。逻辑和物理结构必须按照格式良好的 解析实体中所描述那样严格地的嵌套。 x m l 文档具有一个简单而格式正规的层次树结构,每个文档都有一个而且只 有一个根节点,它被称为文档实体或文档根。这个节点可能包含p i 和,或注释,而 且总是包含子元素树,它们的根被称为文档元素。这个元素是这个树中其他所有元 素的父元素,而且它可能不包含在其它任何元素当中。由于文档根和文档元素并 不是一回事,所以最好不要把文档元素看作是“根元素”( 即使它是子元素树的根) 。 一个格式正规的x m l 文档通常( 但不是必须) 由三个部分组成: 一个可选的序言。 文档的主体,由个或多个元素组成,其形式为一个可能也包含字符数据 的层次树。 可选的尾部,其内容包括注释、处理指令和或紧跟元素树后面的空白。 2 3 2 开放的通信协议:s o a p s o a p 作为一种简单的轻量级信息交换机制,提供了在松散的、分布的环境中 利用x m l 对等地交换结构化和类型化信息的方法。s o a p 只是一种简单机制的定 义而不涉及到具体的应用语义,如编程模型、实现技术等,应用语义的表示通过 硕士论文 基于w e bs e r v i c e s 事务性维台研究 一个模块化的包装模型和对模块中特定格式编码的数据重编码机制来实现。s o a p 的这项能力使得它可被很多类型的系统用于从消息系统到r p c ( r e m o t ep r o c e d u r e c a l b 的延伸。传送信息的基本单元承载体就是s o a p 消息,s o a p 消息是从发送方 到接受方的种传输方法,一般会和实现模式结合,例如请求响应。s o a p 的实 现可以被特殊网络系统的特有特征来优化。 s o a p 的中心任务是如何把一个s o a p 消息传到目的地( w e b 服务) ,在发送 者和目的地之间可能有一些中间节点。 从总体上看,s o a p 的结构( 如图2 3 2 1 ) 包括以下几个要素: s o a pr p cp r e s e n t a t i o n ( s o a pr p c 表示) 是一个用于表示远端过程调用和 响应的约定,利用x m l 的可扩展性和可伸缩性来包装和交换r p c 调用。 目前通过绑定各种已有的i n t e r n e t 协议,譬如h t t p 、s m t p 、p o p 3 等, 利用这些协议的调用响应机制,完成s o a p 的调用和响应。 s o a pm e s s a g e ( s o a p 消息) 是用于传输应用八1 3 调用信息的承载体,尤 其是b 2 b 应用调用。从根本上来看,s o a pm e s s a g e 是从发送方到接受 方的一种传输方法。在b 2 b 应用中,s o a p 消息是b 2 b 应用调用信息的 基本承载体。 s o a p 信封( e n v e l o p ) ,它构造定义了一个整体的s o a p 消息表示框架,可用 于表示消息中的内容是什么,是谁发送的,谁应当接受并处理它,以及这 些处理操作是可选的还是必须的等。 s o a ph e a d e r 提供了一个可伸缩的机制用于在分散的模块化扩展s o a p 消息,而通讯双方并不需要有预先的约定知识。 s o a pb o d y 元素提供一个简单的用于与消息的最终接收者交换必须处理 的信息的机制。在s o a pb o d y 中可以描述应用入口调用和响应的各种数 据信息。 无论s o a p 是与哪种协议绑定,消息都可以通过消息路径( m e s s a g ep a t h ) 来指 定路线发送,消息路径机制使消息在到达最终目的地之前可以在一个或多个中间 节点上处理。这是一个非常有用、且极其适合分布式计算环境的一个机制。这样 一种机制可以实现基于模块化服务设计基础的b 2 b 商务流程实现,通过松藕合模 块的统一集成获得良好的系统体系和功能实现。 0 硕士论文 基于w e bs e r v i c e s 事务性组合研究 图2 3 2 1s o a p 消息封装模型 2 3 3 一致的描述接口:w s d l w e b 服务和客户之间的协定必须是程序级的,它的主要功能是实现程序与 程序之间的交互与理解,这就需要这个协定遵守规范的格式。使用规范的术语。 w s d l 正是应这种需求而产生的规范,使用这种规范描述某个w e b 服务的文本将 是这个服务的服务说明。该w s d l 文件可以被程序以可读的方式接收并解析出其 中的信息。 w s d l ( w e b 服务描述语言) 是描述w e b 服务接1 3 的x m l 格式,定义了服务器支持 的操作集合以及请求服务时客户必须使用的格式。w s d l 文档是对一个w e b 服务位 置、协议和接口的详细且明确的说明,它由w e b 服务的开发者提供,现在已经有 这样的工具用以自动根据代码生成w s d l 文档了。 w s d l 文档的根元素为 ,其中包括多个子元素。这些子元素总体 上分为两大类:一类构成了w e b 服务的抽象定义,另类位于文档的后半部分, 它们构成了w e b 服务的具体说明。抽象部分以独立于平台和程序语言的方式来描 述w e b 服务,比如w e b 方法的参数类型:后一部分指定w e b 服务的具体内容,比 如传输协议。 抽象定义部分包括以下3 个元素: t y p e s :独立于机器和程序语言的类型定义,使用某种类型系统。 m e s s a g e s :包含方法参数或消息文档说明,使用t y p e 所定义的类型来定义 整个消息的数据结构。 p o r t t y p e s :使用m e s s a g e s 部分的消息定义来描述方法的签名( 操作名称、 堡主笙奎 茎主些! ! 1 2 1 1 望皇墨丝塑鱼竺塑 输入参数和输出参数) 。 具体的说明部分包括其他2 个元素: b i n d i n g :特定端口类型的具体协议和数据格式规范的绑定,指定 p o r t t y p e s 部分中每个操作的绑定信息。 s e r v i c e s :相关服务访问点的集合,指定每个绑定的p o r t 地址。 一个w s d l 文档可以没有t y p e s 部分,但如果有,只能有一个,其它4 个部分 可以有一个或多个,也可以没有。 抽象定义和具体说明二者之间既具有一定的独立性,又具有很强的关联性。 独立性表现在抽象定义不涉及任何具体的机器、平台、语言信息,是w e b 服务的 一个最通用部分的表述,同样,抽象部分可以和不同的具体的部分相结合使用。 关联性表现在具体说明部分依靠抽象部分定义,也就是说具体说明部分必须使用 抽象定义中的内容,在指定绑定和地址信息时,所针对的操作就应该是抽象部分 已经声明过的。在抽象定义和具体说明的内部各元素之间也有着紧密的关系。 w s d l 设计理念完全继承了以x m l 为基本的w e b 技术设计原则:开放。w s d l 利 用扩展的方法使用其它类型定义语言,从而允许多种网络协议和消息传输格式。 软件工程中软件复用技术也被用于w s d l 的设计中,比如前面提到抽象定义和具体 说明等。 2 3 4 发布和检索机制:u d d i w e b 服务是下一代的w w w ,它允许在w e b 站点上放置可编程的元素,使得 能进行基于w 曲的分布式计算和处理。u d d i 注册中心的创建目的就是为促进企 业的w e b 服务的发展及为企业发现适当的w e b 服务。 u d d i 项目鼓励w e b 服务相互操作和相互采用。它是一种工商界居于领先地 位的企业之间的伙伴关系,这种关系最早是由i b m 、a r i b a 和m i c r o s o f t 建立的。 现在参加的公司已逾3 0 0 家。u d d i 提供了一组基于标准的规范,用于描述和发 现服务,还提供了一组基于因特网的实现。u d d i 继续快速发展,并赢得了业界 的支持。这规范之所以发展很快,是因为有快速实现在背后提供支持,不仅证 明了思想,而且为进一步完善规范提供了丰富的实践基础。 统一描述、发现和集成协议( 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 ) 是一套基于w e b 的、分布式的、为w e b 服务提供的信息注册中心的实 现标准规范,同时也包含一组使企业能将自身提供的w e b 服务注册,使得别的企 业能够发现的访问协议实现标准。 u d d i 解决了企业遇到的大量问题。它能帮助拓展商家到商家( b 2 b ) 交互的 1 2 硕士论文 基于w e bs e r v i c e s 事务性组合研究 范围并能简化交互的过程。对于那些需要与不同顾客建立许多种关系的厂家来说, 每家都有自己的一套标准与协议,u d d l 支持一种适应性极强的服务描述,几乎 可以使用任何接口。u d d i 规范允许企业在注册中心中发布它所提供的服务,这样 发现企业及服务就变得高效而且简单了。 u d d i 包含于完整的w e b 服务协议栈之内,而且是协议栈基础的主要部件之 一,支持创建、说明、发现和调用w e b 服务。u d d i 构建于网络传输层并基于 s o a p 的x m l 消息传输层之上。诸如w e b 服务描述语言( w e bs e r v i c e s d e s c r i p t i o nl 龃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 服务及其 接口使用。您可以通过添加分层的功能搭起整个基础,比如使用w e b 服务流程语 言( w e bs e r v i c e sf l o wl a i i g u a g e ,w s f l ) 的w e b 服务工作流描述、安全性、管 理和服务质量功能,从而解决系统可靠性和可用性问题。 图2 3 4 1u d d i 服务注册流程 u d d i 注册中心包含了通过程序手段可以访问到的对企业和企业支持的服务 所做的描述。此外,还包含对w e b 服务所支持的因行业而异的规范、分类法定义 ( 用于对于企业和服务很重要的类别) 以及标识系统( 用于对于企业很重要的标 识) 的引用。u d d i 提供了一种编程模型和模式,它定义与注册中心通信的规则。 u d d i 规范中所有a p i 都用x m l 来定义,包装在s o a p 信封中,在h r r p 上 传输。u d d i 消息的传输通过h t t p 从客户机的s o a p 请求传到注册中心节点, 然后再反向传输。注册中心服务器的s o a p 服务器接收u d d is o a p 消息、进行 处理,然后把s o a p 响应返回给客户机。就注册中心条例而言,客户机发出的要 硕士论文 基于w e bs e r v i c e s 事务性组合研究 修改数据的请求必须确保是安全的、经过验证的事务。 图2 3 4 1 说明了如何往u d d i 注册中心送入数据,顾客又如何能发现和使 用这一信息。u d d i 注册中心建立在顾客提供的数据的基础之上。要使数据能在 u d d i 中物尽其用需要几个步骤。如第l 步中所示,在软件公司和标准组织定义 关于在u d d i 中注册的行业或企业的规范时,开始向注册中心发布有用的信息。 这些规范叫做技术模型或者更常见的说法是t m o d e l 。 在第2 步中,公司还会注册关于其业务及其提供的服务的描述。如第3 步 中所示,u d d i 注册中心会给每个实体指定一个在程序中唯一的标识符,叫做唯 一通用标识符( u n i q u e u n i v e r s a li d e n t i f i e r ,u u i d ) 键,从而能随时了解所有这些 实体的情况。u u i d 键必须是唯一的,并且在一个u d d i 注册中心中从来都不会 变化。这些键看上去像格式化好的十六进制随机字符串。可以利用这些键来引用 与之相关联的实体。在一个注册中心中创建的u u i d 键只在该注册中心的上下文 中有效。 在第4 步,诸如电子交易场所和搜索引擎等其它类型的客户机与商业应用程 序( 例如,基于工作流聚合起来的w e b 服务) 使用u d d i 注册中心来发现它们 感兴趣的服务。接着,另外的企业就可以调用这些服务,简便的进行动态集成, 如第5 步中所述。 2 4 小结 本章主要围绕w e b 服务的概念和关键技术展论述,以加深对w e b 服务的理 解,为w e b 服务运行管理平台的设计和实现提供相关的理论基础和技术背景。本 章首先给出了w e b 服务的定义及其特征,指出在当前互联网环境下的w e b 服务 是一种完成应用集成和互操作的行之有效的手段;然后分析了w e b 服务的关键技 术,明确了这些技术在构建互联网应用中所发挥的重要作用,阐明了w e b 服务在 互联网环境下的交互模式。 1 4 硕士论文 基于w e bs e r v i c e s 事务性组合研究 3w e b 服务事务处理 事务的概念来源于业务过程。在许多情况下我们都希望能够确保在一个过程 中执行的所有操作是完全成功的。在集中式系统中,事务被广泛用于服务器端和 数据库系统。控制数据的操作。随着分布式计算的发展,事务在分布式计算领域 中也得到了广泛的应用,是构造可靠性分布式应用程序的关键。在以分布式处理 为基础的w e b 服务中的事务与集中式系统中的事务有着许多相同和不同点,本章 将就这些区别来解释w e b 服务的事务机理。 3 1 事务行为的基础 3 1 1 事务的属性 从应用的角度看,事务是健壮的服务器端开发所必须的一种关键性服务。如果 使用妥当,事务可以使您的关键任务预期地运行在个企业级环境中。事务是一 种允许您编写健壮的代码的高级编程规范。当执行永久性的操作时,事务是一种 非常有用的结构。 事务是指一个操作集合,保证把系统的菇享状态从一个一致的状态转换到另 一个一致的状态。事务是一个工作单元( u n i to f w o r k ,u o w ) ,包含了多个操作, 要么每个部分操作都执行,要么全部操作都不执行。事务有以下四个特性( 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 f i o n ) 能够保护同时进行的事务,使它们彼此无法看到对方的中间 结果。一个没有执行完的事务不能将其中间结果给其它事务使用保证了并发执 行的事务顺序执行,而不会导致系统状态不一致。 稳定性( d u r a b i l i t y ) 保证了事务完成后所作的改动都会被持久化,即使是发生 灾难性的失败,可恢复性资源保存了一份事务日志,如果资源发生故障,可以通 过日志来将数据重建起来。 l5 堡圭丝壅 苎主些! ! ! 唑! ! 皇墨丝望盒! ! ! ! 一 不但在单事务执行时要满足a c i d 属性,在事务并发执行时也要满足a c i d 属 性;不但在系统正常时,事务要满足a c i d 属性,在系统发生故障时也要满足a c i d 属性。保证事务在并发执行时满足a c i d 属性的技术称为并发控制;保证事务在 故障时满足a c i d 属性的技术称为恢复。 一个事务开始运行后,可能有两种结束情况: ( 1 ) 成功执行完所有操作,并保存所有操作结果,这种结束情况称为事务 交付( c o m m i t ) 或事务提交。 ( 2 ) 事务运行后遇到系统故障或因某种原因不能继续进行下去而停止运行, 这种结束情况称为事务中止( a b o r t ) 或事务撤消。 一个事务开始运行后,其结果如何是难以预测的。为了保障系统赋予事务的 a c i d 特性,必须记载事务的状态,供系统分析和处理。下面是事务执行过程可能 涉及的某些状态: 开始( b e g i n t r a n s a c t i o n ) :开始执行。进入活跃状态。 读、写数据( r e a d ,w r i t e ) :事务进行读、写数据的操作仍处于活跃状态。 结束( e n d t r a n s a c t i o n ) :事务完成了所有读、写操作,执行完最后一个语句。从 用户看来,事务似乎己完成它的使命。但从系统看来,事务的工作虽
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司债转股合同协议书模板下载
- 2025-2030中国城市青年住房租赁市场消费行为调查报告
- 2023-2025年高中英语 Unit 4 History and Traditions Video Time 说课稿 新人教版必修第二册
- 质量安全认证题库及答案解析
- 河北农行岗前培训考试及答案解析
- 并行计算成果报告
- 如何在职场中避免犯错
- 人机交互设计理念考验
- 心理康复医学综合知识报告
- 四六级阅读理解技巧总结
- 企业环保督察迎检工作指南培训
- 2025年共青团入团考试测试题库及答案
- (高清版)DZT 0261-2014 滑坡崩塌泥石流灾害调查规范(1:50000)
- 《古筝的艺术流派》
- 徐州的传统民俗
- DDI高绩效辅导经典课程讲义
- 公共秩序部车辆管理办法
- 服装企业生产工序分析
- 我的暑假生活PPT模板
- DB11-T 775-2021多孔混凝土铺装技术规程
- Q∕GDW 11612.42-2018 低压电力线高速载波通信互联互通技术规范 第4-2部分:数据链路层通信协议
评论
0/150
提交评论