




已阅读5页,还剩82页未读, 继续免费阅读
(计算机应用技术专业论文)dsl万维网配置管理协议研究与设计实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 与手动配置相反,自动配置是指网络终端为了从一个或者多个网络管 理域中得到配置信息而自动发生的动作。自动配置管理避免了用户为了使 用某种服务而不得不手动的配置一些信息,其最大的好处就是使得配置过 程简单化,同时也最大限度的减少了错误配置导致的问题。t r 0 4 6 终端配 置管理框架,是d s l 论坛提出的a d s l 终端管理框架。它采用了分层配置 的思想,上层的配置过程直接依赖于下层所提供的服务,整个配置过程遵 循一种瀑布流的配置方式,由底层到上层逐层配置,只有当下层配置完成 以后,才能够启动它的直接上层的配置过程。t r 0 6 9 万维网自动配置管理 框架,属于t r 4 6 定义的第三层复杂业务的自动配置部分,通过对一系列 功能特性的支持对c p e 进行管理,包括自动配置和动态业务发放,软固 件管理,状态和性能监控,诊断。 a d s l 作为主流的宽带接入方式,随着用户的不断增多,方便地实现 用户终端的数据配置、快速定位和排除故障的需求越来越显示出其重要性。 t r 0 6 9 作为一种先进的被动式管理模型与传统的t m n 管理模型不同,能 够更好解决网络接入供商和网络服务提供商分离的接入网模型,实现业务 的快速下发,自动配置和软固件升级。本课题设计在“a d s l 接入家庭网 关”中实现了对t r 0 6 9 配置网络管理框架的支持。 本文首先介绍了t r 0 6 9 配置管理系统研发的技术背景,阐述了相关技 术基础x m l 及s o a p 的基本概念。然后,分析了t r 0 6 9 的体系结构,事 务会话过程,安全性,配置效率以及会话交互模式,针对t r 0 6 9 配置效率 上的不足提出并描述了批量配置的概念,完善了t r 0 6 9 重新启动后的通知 机制。最后,详细描述了t r 0 6 9 协议栈和配置数据库的设计实现过程,着 重于基于性能考虑的设计思路,采用的数据结构和访问算法。对于数据库 增加了对可扩展性的考虑,且描述了对批量配置的支持。 关键词 自动配置( a u t o c o n f i g u r a t i o n ) ,远程方法调用( r p c ) ,可扩展性标 识语言( x m l ) ,简单对象访问协议( s o a p ) ,协议栈,配置数据库 a b s t r a c i a b s t r a c t a u t o - c o n f i g u r a t i o n ,a so p p o s e dt om a n u a lc o n f i g u r a t i o n ,c a nb ed e f i n e d a st h ep r o c e s so ft h eb n ta u t o n o m o u s l yt a k i n ga c t i o n si no r d e rt oo b t a i n c o n f i g u r a t i o ni n f o r m a t i o nf r o mo n eo rm o r ea p p r o p r i a t em a n a g e m e n tr e a l m si n t h en e t w o r k t h i sa l l o w st h eu s e ro ft h eb - n tt om a k eu s eo ft h es e r v i c e ( s ) h e h a sr e q u e s t e dp r e v i o u s l y a u t o c o n f i g u r a t i o na v o i d st h en e e df o rt h eb n t u s e rh a v i n gt oc o n f i g u r ei n f o r m a t i o nm a n u a l l yi no r d e rt om a k eu s eo ft h e r e q u e s t e ds e r v i c e k e ya d v a n t a g e so ft h ea u t o - c o n f l g u r a t i o np r o c e s sa r et h a ti t m a k e sl i f ee a s i e rf o rt h eu s e ro ft h eb n ta n dm i n i m i z e sc u s t o m e rs e r v i c e i s s u e sc a u s e db ym i s - c o n f i g u r a t i o n t h ec p ew a n m a n a g e m e n tp r o t o c o li s t h et h i r ds t a g eo f a u t o c o n f i g u r a t i o n d e f i n e di nt r 一0 4 6c o v e r s “a u t o c o n f i g u r e dc o m p l e xs e r v i c e s ”,i n t e n d i n gt os u p p o r tav a r i e t yo ff u n c t i o n a l i t i e st o m a n a g eac o l l e c t i o n o fc p ei n c l u d i n gt h e f o l l o w i n gp r i m a r y c a p a b i l i t i e s :a u t o c o n f i g u r a t i o na n dd y n a m i cs e r v i c ep r o v i s i o n i n g a sam a i n l yb r o a d b a n da c e s sw a y , a d s lw i l lb em o r ea n dm o r e i m p o r t a n tf o rt h er e q u i r e m e n to fc o n v i n i e n td a t ac o n f i g u r a t i o n ,q u i c kl o c a t i o n a n ds o l v e m e n to fm a l f u n c t i o n a so p p o s e dt ot r a d i t i o n a lt m nm o d e ,t r 0 6 9 c a ns e r v et h em o d eo fd i v i s i o no fn e t w o r ka c e s sp r o v i d e ra n dn e t w o r ks e r v i c e p r o v i d e ra n ds u p p o r tar a r i t yo ff u n c t i o n n a l i t i e si n c l u d i n ga u t o 。c o n f i r g u t i o n a n dd y n a m i cs e r v i c ep r o v i s i o n i n g ,a u t o u p g r a d eo fs o f t w a r e f i r m w a r e f i r s t l y , t h et e c h n o l o g yb a c k g r o u n do ft h er e s e a r c ha n dd e v e l o p m e n to f t r 0 6 9a n dr e l e a t e dx m la n ds o a pa r ed i s c r i b e di n t h i st h e s i s s e c o n d l y ,i g a v ea n a l y s i s o ft h es y s t e ma r c h e t e c t u r eo ft r 0 6 9 ,t r a n s a c t i o ns e s s i o n , s e c u r i t y ,c o n f i g u r a t i o ne f f i c i e n c ya n dm o d eo fi n t e r a c t i o n ,a l s ob r o u g h to u t a c o n c e p to fb a t c hc o n f i g u r a t i o na n dm a k ep r o g r e s s i nt h em e c h a n i s mo fr e s e t n i t i f i c a t i o n a tl a s t ,id e s c r i b e dt h ec o u r s eo fd e s i g na n di n p l e m e n to ft r 0 6 9 p r o t o c o ls t a c ka n dc o n f i g u r a t i o nd a t a b a s e ,g i v i n ge m p h s i so nd a t as t r u c ta n d a c c e s sa l g r i t h m i na d d i t h i o n ,e x t e n s i b i l i t yw a st a k e ni n t oc o n s i d e r a t i o nf o r d a t ab a s e 1 i a b s t r a c t k e yw o r d sa u t o c o n f i g u r a t i o n ,r e m o t ep r o c e d u r ec a l l ( r p c ) ,s i m p l e o b j e c t a c e s s p r o t o c o l ( s o a p ) ,p r o t o c o ls t a c k ,c o n f i g u r a t i o n d a t a b a s e 1 1 t 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研 究工作及取得的研究成果。据我所知,除了文中特别加以标注和 致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成 果,也不包含为获得电子科技大学或其它教育机构的学位或证书 而使用过的材料。与我一同工作的同志对本研究所做的任何贡献 均已在论文中作了明确的说明并表示谢意。 签名:孟碴日期:卯,辞,月日 关于论文使用授权的说明 本学位论文作者完全了解电予科技大学有关保留、使用学位 论文的规定,有权保留并向国家有关部门或机构送交论文的复印 件和磁盘,允许论文被查阅和借阅。本人授权电子科技大学可以 将学位论文的全部或部分内容编入有关数据库进行检索,可以采 用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定)、 签名:里! ! 至导师签名:盏兰盛 日期:蟛年月6e l 第一章研发背景概述 1 1 引言 第一章研发背景概述 a d s l 作为目前主流的宽带接入方式,随着其用户日渐增多,如何实 现宽带用户的快速布放,方便地实现用户终端的数据配置、快速定位和排 除故障,提高用户满意度和宽带网络的平均收益率,已经成为限制宽带接 入市场快速发展的重要运营问题。同时,目前基本采取人工的方式进行用 户的开户和故障处理,这需要大量的时间、物力和人力,从而导致开户速 度慢,故障处理困难,使宽带的运营成本居高不下。 d s l 终端具有数量巨大、地域上高度分散、厂家众多的特点,其管理 系统必须具有很好的开放性和标准性,以确保能够适应不同厂家的终端和 局端;同时,还必须具有很好的网络管理特性,以确保能够实现众多终端 的网络管理。 目前国内的终端管理一般采用t m n 的集中管理模式,采用标准的 s n m p 网络管理协议,对于目前国内网络接入和网络服务往往由同一家供 应商提供的环境是合适的。既能实现单个终端的网元管理,又能够简单的 实现终端的集中统一网管,克服了采用t e l n e t 或者w e b 方式只能实现 网元管理的局限性。由于s n m p 协议的管理协议和管理功能相分离的特点, 支持s n m p 协议的终端管理系统很容易集成其他厂家的终端管理系统或者 扩展支持管理其他厂家的终端,为运营商提供完整的对所有终端_ 致的终 端管理功能。由于终端管理的s n m p 报文是直接承载在h d l c 链路上, h d l c 通道是在每个终端激活后就存在了,不需预先配置;同时由于管理 通道不需要支持t c p i p 协议栈,也就没有终端i p 地址带来的问题和相应 的烦琐配置。因此使终端真正做到零配置,实现终端的集中配置、管理和 维护,大大简化了宽带开户的流程,节省了运维成本。 但是对于网络接入和网络服务分离的接入网模型( 目前,国外一般都 电子科技大学硕士论文 属于这种模型) ,s n m p 这种集中式的网络管理协议并不能满足要求,这就 需要一种新的管理模型。t r 0 4 6 终端配置管理框架,是d s l 论坛提出的 a d s l 终端管理框架。它采用了分层配置的思想,上层的配置过程直接依 赖于下层所提供的服务,整个配置过程遵循一种瀑布流的配置方式,由底 层到上层逐层配置,只有当下层配置完成以后,才能够启动它的直接上层 的配置过程。 t r 0 6 9 万维网配鼍管理框架是t r 0 4 6 终端配置管理框架的一部分,属 于t r 0 4 6 定义的分层配置模型中的最高层,负责复杂业务的配置和业务发 放,提供对一系列功能集的支持来管理一系列的终端,包括:自动配置和 动态业务发放,软固件管理,状态和性能监控,诊断。t r 0 6 9 允许远程配 置服务器通过不同的元素对终端或者终端的集合进行业务下发。发放机制 包括一些特殊的发放参数,允许在终端初始连接到宽带接入网络时对其进 行业务下发,且支持后续的重新下发。t r 0 6 9 提供了工具集对终端软硬件 镜像文件的下载进行管理,支持版本标识机制,文件下载的发起机制,下 载成功或者失败的通知机制。 t r 0 6 9 万维网配景管理框架是一种被动式的管理模型,与s n m p 主动 管理模式不一样,它不要求设备一直在线,也不需要检测终端设备是否在 线,所有的请求都由终端设备发起,服务器只是被动的处理请求,更能够 适应终端设备数量巨大,地域分散的特点,具有更好的鲁棒性和适应性。 1 2 国内外动态 d s l 论坛是一个非赢利的组织,致力于为d s l 网络系统的发展和研究 提供指导。d s l 论坛每年都要发布技术报告,t r 0 6 9 万维网络配置管理框架 是d s l 论坛去年发布的标准,协议标准本身还很不完善,很多公司和个人 已经加入到协议标准的完善过程中来,t r 0 6 9 协议标准的版本也在以每两 个月一个版本的速度在更新,新的版本中加入了新的内容,对以前版本存 在的问题或者不清晰的地方进行了更正或者补充。 华为公司的接入家庭网关是国内外第一款真正完全支持t r 0 6 9 配置 2 第一章研发背景概述 管理框架的产品,在开发产品的过程中,发现了协议中存在的一些模糊点, 对协议中存在的不足提出了一些补充建议,并且提出了原有协议中不存在 的新的配置观念。这些新的内容都已经提交了d s l 论坛,如果被论坛审核 通过,就将添加到协议标准中去,作为新的标准内容发布。 1 3 定义和约定 1 3 1 名词解释 c p e :c u s t o m e rp r e m i s ee q u i p m e n t ,用户端驻地设备 a c s :a u t o c o n f i g u r a t i o ns e r v e r ,自动配置服务器 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 ,可扩展标记语言 s o a p :s i m p l eo b j e c t a c e s sp r o t o c o l ,简单对象访问协议 r p c :r e m o t ep r o c e d u r ec a l l ,远程方法调用 d s l :d i g i t a ls u b s c r i b e rl i n e ,数字用户环路 a d s l :a s y m m e t r i cd i g i t a ls u b s c r i b e rl i n e ,非对称数字用户环路 s s l :s e c u r es o c k e tl a y e r ,安全套接层 1 4 相关技术 1 4 1 关于x m l 1 4 1 1x m l 概述 可扩展标记语言( e x t e n s i b l em a r k u pl a n g u a g e :x m l ) ,是种您 可以用来创建自己标记的标记语言。它由万维网协会( w 3 c ) 创建,用来克 服超文本标记语言( 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 提供了一种标记内容的方式,可以添加关于数据用途的信息。信 息使用x m l 存储之后,称为解析器的应用程序就能够可靠地提取相关信 息,并根据不同的需要处理。 3 一 电子科技大学硕士论文 1 4 1 1 1x m l 文档的组成部分 标记是左尖括号( ) 之间的文本。 元素是开始标记、结束标记以及位于二者之间的所有内容。 属性是一个元素的开始标记中的名称一值对。 1 4 1 1 2x m l 标准 x m l 文档的基本规则 名称空间规范 x m ls c h e m a 语言 文档对象模型( d o c u m e n t0 b j e c lm o d e l :d o m ) x s l 、x s l t 和x p a t h : x m l 数字签名( x m ld i g i t a ls i g n a t u r e ) 标准:它定义了用于数字签 名的x m l 文档结构。 x m l 加密( x m le n c r y p t l o n ) 标准:定义了如何加密x m l 文档的各 部分 链接和引用的标准( x l i n k 和x p o i n t e r ) :x l i n k 定义将不同资源链 接在一起的各种方法;x p o i n t e r 使用x p a t h 作为引用其它资源的方法。 它还包括对x p a t h 的一些扩展。 1 4 1 1 3x m l 技术特性 x m l 简化了数据交换。因为不同组织( 乃至同一组织的不同部门) 很少 就单一工具集形成标准,所以要使应用程序相互交流需要进行大量工作。 使用x m l ,每个实体可以创建单一的实用程序,该实用程序将该实体的 内部数据格式转换成x m l ,反之亦然。 x m l 支持智能代码。因为可以使x m l 文档结构化以标识每个非常 重要的信息片段( 以及这些片段之间的关系) ,所以可以编写无需人工干预 就能处理这些x m l 文档的代码。 x m l 支持智能搜索。尽管搜索引擎这些年在稳步改进,但从搜索中得 到错误的结果仍很常见。 第一章研发背景概述 1 4 1 1 4x m l 优点 纯文本:因此可用从文本编辑器直到可视化开发环境的任何工具创建 和编辑,这使得程序可以更简单。 可格式化:在显示形式很重要的时候,x s l 可指定如何显示数据。由 于数据和显示是分离的,甚至可以为同一数据指定不同的样式表用于不同 输出,并很容易在将来使用新的格式进行显示。 很强的链接能力:可以定义双向链接、多目标链接、扩展链接和两个 文档间的链接。 易于处理:x m l 对格式的定义更为严格,并具有层次结构,处理起来 更加容易。它是与厂商无关的标准,可以任选一个解析器来处理。 小结:h t m l 提供了查看数据的通用方法;x m l 则提供了直接在数据上 i 4 1 2 定义x m l 文档格式 表示数据的元素有两种方法: 使用文档类型定义( d o c u m e n tt y p ed e f i n i t i o n :d t d ) 。d t d 定义可以 在x m l 文档中出现的元素、这些元素出现的次序、它们可以如何相互嵌 套以及x m l 文档结构的其它详细信息。 使用x m l 模式( x m ls c h e m a ) 。模式可以定义您能在d t d 中使用 的所有文档结构,它还可以定义数据类型和比d t d 更复杂的规则。 s c h e m a 用x m l 的语法定义x m l 文档的结构,因此易于理解。 1 4 1 2 1 文档类型定义( d o c u m e n tt y p ed e f i n i t i o mo t d d t d 允许您指定x m l 文档的基本结构。 1 4 1 2 2x m l 模式( x m ls c h e m a ) 相比d t d 的几个优势: x m l 模式使用x m l 语法。换句话说,x m l 模式是个x m l 文档。 这意味着您可以象处理任何其它文档一样处理模式。例如,您可以编写一 个x s l t 样式表,该样式表将x m l 模式转换成具有自动生成的 j a v a s c r i p t 代码的w e b 表单,其中的j a v a s c r i p t 代码可以验证您输 入的数据。 5 电子科技大学硕士论文 x m l 模式支持数据类型。尽管d t d 确实支持数据类型,但很明显 这些数据类型是从发布的角度开发的。x m l 模式支持d t d 中的所有原 始数据类型( 诸如标识和标识引用之类的类型) 。它们还支持整数、浮点数、 曰期、时间、字符串、u r l 和其它对数据处理和验证有用的数据类型。 x m l 模式是可扩展的。除了x m l 模式规范中定义的数据类型以外, 您还可以创建自己的数据类型,并且可以基于其它数据类型派生出新的数 据类型。 x m l 模式有更强的表达能力。例如,您可以用x m l 模式定义任何 属性值不得超过2 个字符,或定义任何元素的值必须与正则表达式 o 一9 】 5 ) ( 一【o 一9 】_ ( 4 ) ) ? 相匹配。您无法用d t d 做这些事。 1 4 1 3x s l 、x s l t 和x p a t h 可扩展样式表语言( e x t e n s i b l es t y l e s h e e tl a n g u a g e = x s l ) :定义了 一组元素( 称为格式化对象) ,它们描述应该如何格式化数据。为清晰起见, 通常将该标准称为x s l f o 以和x s l t 进行区分。尽管它主要是设计用 于生成高质量的可打印文档,但您也可以使用格式化对象从x m l 生成音 频文件。 用于转换的可扩展样式表语言( e x t e n s i b l es t y l el a n g u a g e t r a n s f o r m a t i o n :x s l t ) :x s l t 语言用于转换x m l 文档到m l 文档或 h t m l 文档。x s l t 描述组t e m p l a t e 规则, 用来实现源文档到结果文 档之间的转换。 x m l 路径语言( x m lp a t hl a n g u a g e :x p a t h ) :描述x m l 文档中位置 的语法。您使用s l t 样式表中的x p a t h 来描述您希望转换x m l 文档 的哪个部分。x p a t h 也用在其它x m l 标准中,这就是为什么它是独立于 s l t 的标准的原因。 1 4 1 2x m l 应用 1 4 1 4 1r d f 资源描述框架( r e s o u r c ed e s c r i p t i o nf r a m e w o r k ,r d f 1 8 ) 是用 于编译元数据( m e t a d a t a ) 的x m l 应用程序。特别的,它更适合描述w e b 站点和网页。元数据是有关数据的数据。 6 第一章研发背景概述 1 4 1 4 2x h t m l 是w 3 c 将h t m l 重写为严格的x m l 所作的努力。x h t m l 加强了许多通 常与h t m l 有关的模糊之处。 1 4 1 4 3c d f 频道定义语言c d f 2 ( c h a n n e ld e f i n i t i o nf o r m a t ) 是定义频道的 x m l 应用程序。频道是一套自动推向订户的w e b 页面。c d f 文档列出待推出 的页面、推出的方式及频率等类似信息。用户可使用i n t e r n e te x p l o r e r 4 0 或其更高版本来订阅频道。 1 4 1 ,4 4v b l 矢量标记语言( v e c t o rm a r k u pl a n g u a g e ,简写为v m l 2 ) 是结合 矢量信息以c s s 标记的x m l 应用程序。采用c s s 标记描述矢量图形可嵌入 w e b 网页,从而取代用h t m l 的i m g 元素加载的g i f 及j p e g 位图图像。 1 4 1 3x m l 编程接口 1415 1 文档对象模型( d o c u m e n to b j e c tm o d e i :d o m ) 定义了如何将x m l 文档转换为驻留内存的树结构。d o m 为x m l 文档 的己解析版本定义了一组接口,用于存取和操纵x m l 文档。 d o m 把x m l 文档看作一棵树,提供些编程接口存取和操纵树,利用接口 定义语言( i d l ) 给出接口定义。i d i 类似c + + 语言,利用属性和方法的声 明来描述类,仅给出类型,不包括实现。d o m 的问题: d o m 构建整个文档驻留内存的树。如果文档很大,就会要求有极大的 内存。 d o m 创建表示原始文档中每个东西的对象,包括元素、文本、属性和 空格。如果您只需关注原始文档的- d , 部分,那么创建那些永远不被使用 的对象是极其浪费的。 d o m 解析器必须在您的代码取得控制权之前读取整个文档。对于非常 大的文档,这会引起显著的延迟。 1 4 1 5 2s a x s a x ( s i m p l ea p if o rj a v a ) :s a x 是基于事件的接口。当s a xp a r s e r 一7 电子科技大学硕士论文 编译文档时,将报告所遇到的事件( 例如:元素的开始与结束) 给应用程 序,由应用程序负责实现旬柄来处理不同的事件。s a x 提供了对x m l 文 档的简单存取, 不需要很大的内存空间用来存放整个文档对象。s a x 问 题: s a x 事件是无状态的。当s a x 解析器在x m l 文档中发现文本时, 它就向您的代码发送一个事件。该事件仅仅给您发现的文本;它不告诉您 什么元素包含那个文本。如果您想知道这一点,则必须自己编写状态管理 代码。 s a x 事件不是持久的。如果应用程序需要一个数据结构来对x m l 文档建模,则必须自己编写那样的代码。如果您需要从s a x 事件访问数 据,并且没有把那个数据存储在代码中,那么您不得不再次解析该文档。 s a x 不是由一个集中管理的组织控制的。 1 4 1 5 3j a x p ( j a v aa p i f o rx m lp a r s i n g 尽管d o m 、s a x 为大多数常见任务提供了标准接口,但仍有些事情是 它们不能解决的。例如,在j a v a 程序中创建d o m p a r s e r 对象的过程因 d o m 解析器的不同而不同。为了修正这个问题,s u n 发布了j a x p ( 用于x m l 解析的j a v aa p i ,j a v aa p if o rx m lp a r s i n g ) 。该a p i 为使用d o m 、s a x 和x s l t 处理x m l 文档提供了公共接口。 j a x p 提供的诸如d o c u m e n t b u i l d e r f a c t o r y 和d o c u m e n t b u i l d e r 之类的 接口为不同的解析器提供了一个标准接口。还有一些方法可以允许您控制 底层的解析器是否可以识别名称空间以及是否使用d t d 或模式来验证 x m l 文档。 1 4 2s o a p 简单对象访问协议 1 4 2 1s o a p 简介 1 4 2 1 1s o a p 的提出 s o a p 作为一种异质软件对象在网络上沟通的方法,最初是由微软提出 的。不过,它并没有和微软的任何技术捆绑在一起,而是作为一个开放的标准 提议。但是,实际上在最初的1 9 9 8 年的方案( n m i c r o s o f t ,u s e r l a n d 和 d e v e l 2 0 p m e n t o ri n c 共同制定) 中,强调了支持b i z t a l k 即微软s o a p 策略 8 第一章研发背景概述 的方法。当最初排斥该提议的i b m 加入以后,s o a p 协议才开始脱离最初的微 软“倾向”,变得更加开放。s u n 公司最初也排斥该提议,一直到2 0 0 0 年的6 月 才有所改变,低调的表示支持w o r l dw i d ew e bc o n s o r t i u m ( w 3 c ) 在2 0 0 0 年5 月确认的版本。其它一些bt ob 公司,女1 a r i b a ,c o m m e r c e o n ec o r p 和l o t u s , 也表示支持由w 3 c 提出的提议。 1 4 2 1 2h t t p + x m l = s o a p s o a p 是“第一个没有发明任何新技术的技术”。它通过定义一个关于 远程组件如何请求信息,以及如何描述递交的信息的标准,从而扩展了w e b 应用的用途。s o a p 是一个基于h t t p 和x m l 的请求响应r p c 协议( 虽然 s o a p l 1 规范中只定义了s o a p 与h t t p 绑定,但s o a p 亦可与其它协议结 合。它采用了已经广泛使用的两个协议:h t t p 和x m l 。s o a p 把x m l 的 使用代码化为请求和响应参数编码模式,并用h t t p 作传输。采用几行代码和 一个x m l 解析器,h t t p 服务器( 如m s 的i i s 或a p a c h e ) 立刻成为了s o a p 的o r b s ( s o a p 对象请求代理) 。s o a p 本身并没有定义任何应用程序语义, 如编程模型或特定语义的实现;实际上它通过提供一个有标准组件的包模型 和在模块中编码数据的机制,定义了一个简单的表示应用程序语义的机制。这 使s o a p 能够被用于从消息传递至u r p c ( 远程进程调用) 的各种系统。 1 4 2 1 3s o a p 规范 s o a p 的主要设计目标是简单性、可扩展性。 1 ) s o a p 信封( e n v e l o p ) 它构造定义了一个整体的s o a p 消息表示框架, 可用于表示消息中的内容是什么,是谁发送的,谁应当接受并处理它,以及这 些处理操作是可选的还是必须的等。 2 ) s o a p 编码规则( e n c o d i n gr u l e s ) 定义了一个数据的编码机制,通过 这样一个编码机制来定义应用程序中需要使用的数据类型,并可用于交换由 这些应用程序定义的数据类型所衍生的实例。 3 1s o a pr p c 表示( r p cr e p r e s e n t a t i o n ) 定义了一个用于表示远端过程调 用和响应的约定,例如,如何使用h t t p 或s m t p 协议与s o a p 绑定,如何传输 过程调用,在具体传输协议的哪个部分传输过程响应,如我们可以在h t t p 的 响应的时候传递过程响应。这三部分在功能上是彼此独立的。特别的,信封和 9 电子科技大学硕士论文 编码规则是被定义在不同i 拘x m l 名域( n a m e s p a e e ) 中,这样有利于通过模块 化获得定义和实现的简明性。 1 4 2 2s o a p 消息 1 4 2 2 1s o a p 的消息结构 s o a p 为在一个松散的、分布的环境中使用x m l 对等地交换结构化的和类型 化的信息提供了一个简单的轻量级机制。s o a p 消息的描述框架格式是以 s o a pe n v e l o p e ( s o a p 信封) 为根元素,内含s o a ph e a d e r 和s o a pb o d y 子 元素的这样一个x m l 文档。所有的s o a p 消息都是使用x m l 格式来编码的。 s o a p 应用程序在生成由s o a p 定义的所有元素和属性的时候,应该包含恰当 的s o a p 的名域。s o a p 定义了两个名域: 1 ) s o a p 信封的名域标识为 h t t p :s c h e m a s x m l s o a p o r g s o a p e n v e l o p e 2 ) s o a p 编码规则的名域标识为 h t t p :s c h e m a s x m l s o a p o r g s o a p e n c o d i n g 此外,s o a p 消息必须不包含d t d ,也必须不包含p i ( p r o c e s s i n g i n s t r u c t i o n s ) 。除s o a pm u s t u n d e r s t a n da t t r i b u t e 和s o a pa c t o r a t t r i b u t e 外,一般允许属性及属性值自由地选择是在x m l 实例中描述还是 在x m ls c h e m a 中描述。 1 ) s o a pe n v e l o p e s o a p 消息是由一个强制的s o a pe n v e l o p e 、一个可选的s o a ph e a d e r 和一 个强制i 拘s o a pb o d y 组成的x m l 文档。e n v e l o p e 是表示该消息的x 扎文档 的顶层元素: ( 1 ) 元素名为e n v e l o p e 。 ( 2 ) 该元素必须在s o a p 消息中出现,一般是根元素。 ( 3 ) 该元素可以包含名域声明和额外的属性。如果出现额外属性( 并非是 s o a p 规范预定义的属性) 和额外子元素,则必须使用名域修饰。并 且,e n v e l o p e 的直接子元素h e a d e r $ i 口b o d y 必须排列在最前面。s o a p 消息 必须有一个信封元素与名域“h t t p :s c h e m a s x m l s o a p o r g s o a p 1 0 第一章研发背景概述 e n v e l o p e ”关联。如果s o a p 应 用程序接收到的s o a p 消息中的s o a p 信封元素与其它的名域关联,则视为版 本错误,应用程序必须丢弃这个消息。如果消息是通过h t t p 之类的请求应 答协议收到的,应用程序必须回答一个s o a pv e r s i o n m i s m a t c h 错误信息。 2 ) s o a ph e a d e r h e a d e r 元素( 头元素) 编码为s o a p 信封元素的第一个直接予元素。头元素 的所有直接子元素称为条目。在s o a p 头中添加条目可实现在无须预先协定 的情况下,以分数但标准的方式扩展消息。s o a p 定义了很少的些属性来用 于指明谁可处理该特性以及它是可选处理的还是强制处理的。s o a ph e a d e r 的语法规则如下: ( 1 ) 元素名为h e a d e r 。 ( 2 ) 该元素可以在s o a p 消息中出现,但并不是必须出现。如果出现,该元素 必须是s o a pe n v e l o p e 元素的第一个直接子元素。 ( 3 ) 该元素可以包含一系列的h e a d e r 条目,这些条目都应当是h e a d e r 元素 的直接子元素。h e a d e r 的所有直接子元素必须有名域修饰。 ( 4 ) h e a d e r 条目自身可以包含下级子元素,但这些元素不是h e a d e r 条目,而 是h e a d e r 条目的内容。h e a d e r 条目的编码规则包括:一个h e a d e r 条目 由一个完整修饰的元素名( 包括名域u r i 和局部名) 来标识。s o a ph e a d e r 元 素的所有直接子元素都必须是完整修饰的:s o a pe n c o d i n g s t y l e 属性可 以用于指明条目的编码形式:s o a pm u s t u n d e r s t a n d 属性和s o a pa c t o r 属性可以用于指明如何处理条目和由谁来处理条目。s o a ph e a d e r 属性的设 置确定了s o a p 消息的接收者应该如何处理该消息。产生s o a p 消息的s o a p 应用程序应该仅使用s o a ph e a d e r 元素的直接子元素的s o a p h e a d e r 属性。 s o a p 消息的接收者必须忽略那些并非作为s o a ph e a d e r 元素的直接子元素 出现的s o a ph e a d e r 属性。s o a p a c t o r 全局属性可以用于指示头元素的接收 者。s o a pa c t o r 属性的值是一个u r i 。s o a pm u s t u n d e r s t a n d 全局属性用来 指示接收者在处理消息时这个条目是否必须处理。条目的接收者由s o a p a c t o r 属性定义。m u s t u n d e r s t a n d 属性的值是“1 ”或“0 ”,缺省s o a p m u s t u n d e r s t a n d 属性值为“0 ”。如果一个头元素的s o a p m u s t u n d e r s t a n d 属 性的值是“1 ”,那么条目的接收者必须或遵守语义并按照语义正确地处理: 1 1 电子科技大学硕士论文 或放弃处理消息。 3 ) s o a pb o d y s o a p b o d y 元素提供一个简单的用于与消息的最终接收者交换信息的机制。 使用体元素的典型情况包括配置r p c 请求和错误报告。体元素关注于数据本 身,即:远程方法名( 或响应名) 、请求或应答参数、序列化数据。体元素的 语法规则是: ( 1 ) 元素名为b o d y 。 ( 2 ) 该元素必须在s o a p 消息中出现,同时必须是s o a pe n v e l o p e 元素的一 个直接子元素。如果有头元素,它必须直接跟在s o a p 头元素之后。否则就必 须是s o a p 信封元素的第一个直接子元素。 ( 3 ) 该元素可以包含一系列的b o d y 条目,这些条目都应当是b o d y 元素豹直 接子元素。b o d y 的所有直接子元素必须有名域修饰。s o a p 定义了s o a pf a u l t 元素,它用来指示调用错误的信息。 b o d y 条目在语义上等同于a c t o r 属性为缺省值且m u s t u n d e r s t a n d 属性值为“1 ”的头条目。不使用a c t o r 属性则表示缺省的a c t o r 。s o a p 只 预定义了一个b o d y 条目:用于向调用方报告错误的b o d y 条目一f a u l t 。 b o d y 条目的编码规则包括:一个b o d y 条目由一个完整修饰的元素名 ( 包括名域u r i 和局部名) 来标志。s o a p b o d y 元素的直接子元素可是名域 修饰的:s o a pe n c o d 2 i n g s t y l e 属性可被用来表明b o d y 条目中使用的 编码规则。s o a pf a u lt 元素是用于在s o a p 消息中传输错误及状态信息。 它只能以体条目的方式出现,且最多只能出现一次。s o a p 错误元素定义了 四个子元素:f a u l t c o d e 元素给软件提供了一个识别此错误的算法机制: f a u l t s t r i n g 元素为一个错误解释,该元素与软件处理无关:f a u l t a c t o r 元素提供了在消息路径上是谁导致了错误发生的信息:d e t a i l 元素是用于 传输与b o d y 元素相关的应用程序特别的错误信息。 1 4 2 2 2s o a p 的消息交换 s o a p 消息从发送方到接收方是单向传送。s o a p 消息一般会和实现模式 结合,如请求响应。s o a p 的实现可由特殊网络系统的特有特征来优化 5 。如,通过h t t p b i n d i n g 将s o a p 响应消息通过h t t p 响应来传输,请求和 1 2 第一章研发背景概述 响应使用同一连接。一个s o a p 消息从始节点到终节点的过程中,可能沿着消 息路径经过一系歹u s o a p 中间节点。一个s o a p 中间节点是一个可以接收转发 s o a p 消息的应用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汽车指标转让协议与汽车按揭贷款合同3篇
- 工厂车间生产管理经营承包合同书3篇
- 医用纯水销售合同范本
- 快递代收点合同范本
- 聘用简单运营合同范本
- 焊工作业压力焊模拟题及答案
- 智博英语必做题目及答案
- 教师个人校本培训计划2025(5篇)
- 2025年生物心脏瓣膜试题及答案
- 2025年首调旋律听写题库及答案
- 《普通话》教学讲义课件
- 比喻(教学课件)
- 烧结基础知识课件
- 高中生物第一课-(共24张)课件
- 皮肤科质量控制指标
- 新教师跟岗学习实施方案
- 2022年高考全国甲卷:写作指导及范文课件16张
- 郭锡良《古代汉语》讲稿(不仔细看别后悔哦)
- 新媒体文案创作与传播精品课件(完整版)
- 齿轮制造工艺手册
- 8D培训教材(共37页).ppt
评论
0/150
提交评论