




已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 简单网络管理协议( s n m p ) 作为事实上的工业标准得到了众多厂商的支持, 并在大多数的网络设备和系统中得以实施。但是开发基于s n m p 的网络管理应 用通常需要领域知识较强的开发人员,导致开发大规模的网络管理应用需要花费 较大的代价。 近来,把x m l 相关技术用于网络管理得到了广泛的研究,并且被推荐作为 当前网络管理的一个补充或者替代。对于网络管理中的结构化的管理数据,x m l 可以提供强大的建模能力。同时由于x m l 的广泛使用,管理系统可以很容易的 通过已有的a p i 和软件来实现。 s o a p 为在一个松散的、分布式的环境中使用x m l 对等的交换结构化和类 型化的信息提供了一个简单且轻量级的机制。使用s o a p 来传递x m l 格式的各 种管理信息成为一个自然的选择。 本文根据已有的基于x m l 的网络管理的研究成果,提出了基于s o a p 的网 络管理系统。在基于s o a p 的网络管理系统中使用x m l 作为管理数据的编码格 式,使用s o a p h t t p 作为传输机制,使用w s d l 定义管理操作。由于x m l 和 s o a p 规范存在大量的实现,同时x m l 和s o a p 也已经得到了越来越广泛得应 用,这使得开发大型的网络管理应用得到了大大的简化。 关键词:网络管理,s o a p ,x m l ,网元管理 a b s t r a c t s i m p l en e t w o r km a n a g e m e n tp r o t o c o l ( s n m p ) i st h em o s tw i d e l yd e p l o y e d m a n a g e m e n tt e c h n o l o g yf o ri n t e r n e tm a n a g e m e n t b u ti ti sc o s t l y , t i m e c o n s u m i n g , a n dd i f f i c u l tt od e v e l o pl a r g es c a l em a n a g e m e n ta p p l i c a t i o nb e c a u s eo ft h en e e do f s p e c i a l i s t 。 r e c e n t l y ,x m l * b a s e dn e t w o r km a n a g e m e n t ,w h i c ha p p l i e sx m lr e l a t e d t e c h n o l o g i e st on e t w o r km a n a g e m e n t ,h a sb e e np r o p o s e d a sa na l t e r n a t i v eo r a c o m p l e m e n tt ot h ee x i s t i n gn e t w o r km a n a g e m e n t x m lp r o v i d e sp o w e r f u lm o d e l i n g f e a t u r e sf o rs t r u c t u r e d m a n a g e m e n ti n f o r m a t i o n i nn e t w o r km a n a g e m e n t t h e n e t w o r km a n a g e m e n ta p p l i c a t i o nc a nb ee a s i l yi m p l e m e n t e du s i n gs t a n d a r da p ia n d f r e e l ya v a i l a n es o f t w a r e s o a pi sal i g h t w e i g h tp r o t o c o lf o re x c h m l g eo fi n f o r m _ a t i o ni nad e c e n t r a l i z e d 。 d i s t r i b u t e de n v i r o n m e n t i ti sag o o dc h o i c et ou s es o a pt oe x c h a n g em a n a g e m e n t i n f o r m a t i o ne n c o d e di nx m l 。 t h i st h e s i sp r o p o s e ds o a p - b a s e dn e t w o r km a n a g e m e n ts y s t e mb a s e do nt h e r e s u l to fr e s e a r c ho fx m lb a s e dn e t w o r km a n a g e m e n t x m li su s e dt oe n c o d e m a n a g e m e n ti n f o r m a t i o na n ds o a po v e r 珏搬pi su s e da st r a n s p o r t a t i o np r o t o c o l 。 w s d li su s e dt od e f i n em a n a g e m e n to p e r a t i o n b e c a u s eo fp l e n t yo fi m p l e m e n t a t i o n o f x m la n ds o a ps p e c i f i c a t i o na n dw i d eu s a g eo f x m la n ds o a ri ti sm o r ee a s i l y t oi m p l e m e n tn e t w o r km a n a g e m e n t a p p l i c a t i o n k e yw o r d s :n e t w o r km a n a g e m e n t , s o a p , x m l n e t w o r ke l e m e n t m a n a g e m e n t 基于s o a p 的网络管删系统研究 1 1 研究动机 第一章绪论 简单网络管理协议( s n m p ) 是目前广泛使用的一种网络管理协议【lj ,它得 到了众多厂家的支持和广泛的应用,已经成为网络管理领域一种事实上的工业标 准。 但是在开发基于s n m p 的网络管理应用的时候存在以下几个问题: 、在基于s n m p 的网络管理系统中,管理信息结构t s m i ) 提供了一种描 述和命名被管理对象的机制。s m i 使用a n s1 定义管理信息的语句和形式。管 理信息库( m i b ) 根据s m i 对被管理对象提供了更详细的描述。目前已有众多 的管理信息库,包括因特网标准管理信息库、远程监视管理信息库和大量的由网 络设备商为其产品特别定义的私有的管理信息库。由于使用a n s 1 表示的数据 是以二进制格式存取的,可读性较差,只能由软件处理转换为可渎的形式。而目 存在着众多的管理信息库。 s n m p 没有提供通用数据库接口。 s n m p 缺乏统一的展示管理数据的方法。 这几个问题使得使得开发人员需要花费较大的代价来开发针对大规模的网 络管理应用。 x m lr 2 1 是目前比较普遍的用于描述数据和交换数据的标准方式。x m l 本身 可以作为一种用来制定具体应用语言的元语言,具有较强大的自描述能力。x m l 具有结构性,可以方便有效的表示树形结构化数据,这就使得x m l 可以作为表 述数据的手段。x m l 的数据表示基于简单的文本格式,这使得生成、读取和处 理数据都非常简单。x m l 是由一系列相关的规范组成,这些规范包括x m l s c h e m a 【3 i 、d o m 4 1 、s a x e ”、x p a t h 6 1 、x s l 7 】平x s l t f 8 1 等等,并且这些规范都 存在大量的实现。这些规范和实现可以充分利用到网络管理中: 管理数据可以使用x m l 文档来表示。 可以使用x m ls c h e m a 来定义管理数据的结构信息和语法格式。 可以使用d o m 和s a x 来存取管理数据。 可以使用x p a t h 表达式来定位管理数据文档中的子项。 可以使用x s u 处理和转换管理数据。 基于这些已有的规范和实现可以大大的简化网络管理系统的开发难度。 s o a p j 为在一个松散的、分布式的环境中使用x m l 对等的交换结构化和类 型化的信息提供了一个简单且轻量级的机制。通过s o a p 编码规则,可以把x m l 第1 页 基于s o a p 的嘲络管理系统研究 格式的管理数据封装成s o a p 消息,通过s o a p 协议进行传输。通过s o a pr p c 可以调用高层的管理操作。由于s o a p 规范中并没有定义底层的传输机制,因此 s o a p 可以与多种底层的传输协议进行绑定。目前最常用的是s o a p h t t p 绑定, h t t p 协议是目前部署最为广泛的协议,所以s o a p 可以应用到多种不同的系统 中。另外,在s o a p 出现之前,存在这三神构建分布式应用的技术:c o r b a 、 d c o m 、j a 、,ar m i ,这些协议都以自己的方式解决问题,但他们之间没有一个 很好的兼容机制。s o a p 的出现使得这些标准的互通成为可能,从而更好的构建 分布式应用。 1 2 技术背景 目前将x m l 和w e bs e r v i c e s 技术应用到网络管理领域得到了广泛的研究, 众多的企业、标准机构、学术和论坛组织都在这方面做了大量的工作。本节将对 于这方面的研究成果给出介绍。 1 2 。1x m l 和s n m p 的集成 1 2 _ 1 1m i b 到x m l 的转换 j r m a r t i n f l a t i n 的管理信息模型:j e m a r t i n - f l a t i n 提出了将s n m pm i b 转换为x m l 的两种转换方法:模型层( m o d e l ,l e v e l ) 的转换和元模型层 ( m e t a m o d e l 1 e v e l ) 的转换t l o l 。在模型层的转换中,每一个d t d 对应于一个特定 的s m m p m i b ,在d t d 中的x m l 元素和属性与s n m p m i b 中的变量是同名的。 在元模型层的转换中,d t d 适用与所有的s n m pm i b s 。在j e m a r t i n f l a t i n 的文 章中并没有给出一个完整的转换算法,只是给出了几个简单的例子。 f s t r a u s s s 的l i b s m i 【1 t l :k s t r a u s s 设计了一个用来存取s m im i b 信息的 库:”l i b s m i ”,使用该库可以将s n m pm i b 转换成其他语言的表示形式。通过库 中的”s m i d u m p ”导出工具可以将m i b 模块转换为x m ls c h e m a 。通过该库转换生 成的x m l 只是保留了原m i b 的总体框架,并没有包括所有的信息。 j l y o o n 等的转换算法l i2 j :j h y o o n 等提出了一个详细的转换算法,该算 法是一种模型层的转换算法。每个s n m pm i b 文件都转换成一个对应的x m l s c h e m a 文件。j h y o o n 等实现了一个转换器用来验证该算法。 1 2 2 2x m i d s n m p 网关 为了能够在基于x m l 的网络管理系统中管理已有的配备了s n m p 技术的网 第2 页 基于s o a p 的劂络管理系统研究 络设备,人们对x m l s n m p 网关进行了大量的研究。 j e n sm a i l e r 的s n m p x m l 网关【1 = j 】:j e n sm f i l l e r 通过j a v as e r v l e t 技术实现 了一个s n m p x m l 网关。使用该网关可以通过u r l 来获取x m l 文档。通过在 u r i c 中使用类似与x p a t h 的表达式来定位m i b 中的对象。网关的工作过程如下: 当一个要被导出的m i b 模块被传到m i b d u m p 的时候,首先初始化一个s n m p 对 话,然后通过一系列的g e t n e x t 操作从a g e n t 处取出数据。m i b d u m p 收集这些数 据并根据预先定义的x m ls c h e m a 生成相应的x m l 文档。 a v a y a 实验室的研究:a v a y a 实验室为s n m p 设备开发了一个基于x m l 的 管理接口 1 4 1 。他们的实验原型包括三个部分: 一个将s n m pm i b 定义自动转换成x m ls c h e m a 的工具。 一个基于x m l r p c 的消息协议。该消息协议通过x m ls c h e m a 定义了 一系列的命令( g e t ,s e t , l i s t ,c r e a t e ,d e l e t e ) 。通过这些命令来对s n m p 设 备的m m 信息进行存取。该协议通过基于x p a t h 的标识符来标识m i b 变量。 一个实现该消息协议的适配器。 p o s t e c h 的研究:p o s t e c h 根据他们提出的转换算法设计了x m l s n m p 网关, 并提出了多种基于x m l 的管理器和网关之间的交互转换方法。主要有以下三 种:基于d o m 、基于h t t p 和基于s o a p 的交互转换方法。并对这三种方法进 行了比较。 目前,x m l s n m p 网关技术还处在研究阶段。 1 2 2 管理架构 w i m a :j p m a r t i n - f 1 a t i n 提出了w e b b a s e di n t e g r a t e dn e t w o r km a n a g e m e n t a r e h i t e c t u r e ( w i m a ) ”。在w i m a 中,j p m a r t i n f l a t i n 首次提出了将x m l 用于 集成的网络管理。j r m a r t i n - f l a t i n 使用j a v a 技术实现了一个基于w i m a 的原型 一j a v am a n a g e m e n tp l a f f o r m ( j a m a p ) 。通过该原型j r m a r t i n f l a t i n 验证了在分布 式和集成网络管理中使用x m l 所带来的好处。x m l 可以作为各种管理信息模 型的中嵋j 形式,并且可以提供更高层次的语义。但在w i m a 中仅仅给出了信息 模型和通信模型。 x n m :p o s t e c h 提出一个使用嵌入式w e b 服务器的基于x m l 的网络管理 架构i j “。该架构通过在嵌入式w e b 服务器中加入相关的x m l 处理功能扩展而 来。x n m 使用x m l 来表示管理数据,使用h r r p 协议在管理器和a g e n t 之间传 输管理数据。j 5 g - n m 使用d o m 处理管理数据,使用x p a t h 来进行管理数据的定 位。在x n m 中使用h t t p 作为通信机制,缺乏良好的通信模型定义。 第3 页 基于s o a p 的网络管理系统研究 1 2 3 基于w e bs e r v i c e s 的网络管理 i r t f n m r gm e e t i n g ”1 :i n t e r n e tr e s e a r c ht a s kf o r c e ( i r t f ) 下属的n e t w o r k m a n a g e m e n tr e s e a r c hg r o u r i ( n m r g ) 致力于将新技术应用于i n t e m e t 网络管理的 研究。目前,n m r g 正在研究将w e bs e r v i c e s 应用于i n t e r a c t 网络管理所带来的 优点和不足。在2 0 0 3 年的会议中,与会者讨论了一系列的w e bs e r v i c e s 相关技 术,包括s o a p 、w s d l 和u d d i ,并把这些技术和s n m p 技术进行了比较。n m r g 在这方面的研究还处在早期阶段,还没有产生实质性的成果。 o a s i s 的管理协议【1 8 】:o a s i s 是一个致力于安全、w e bs e r v i c e s 、x m l 、企 业事务和电子出版等方面标准研究的论坛。o a s i s 的管理协议技术委员会 f m a n a g e m e n tp r o t o c o lt e c h n i c a lc o m m i t t e e ) 的目标是开发出一系列的开放的管理 协议。通过这些协议提供一个在分布式环境中监控网络元素的基于w e b 的机制。 浚机带蚰函盖了多种业界接受的标准,包括o p e nm o d e li n t e r f a c e ( o m i ) 、x m l 、 s o a p 、d m t fc i m 和d m t fc i m 操作。委员会在2 0 0 3 年5 月发布了一个管理 协议规范,但他们在这方面的工作也还处于早期阶段。 1 2 4 基于x m l 的网络管理的标准化进程 目前,d m t f 和i e t f 正在致力于基于x m l 的网络管理的标准化工作。 w b e m :w e b b a s e de n t e r p r i s em a n a g e m e n t ( w b e m ) ”由d m t f 发起。w b e m 包括一系列多企业网络管理进行协同管理的相关技术。w b e m 定义了一个称作 公共信息模型( c o m m o ni n f o r m a t i o nm o d e l ) 的信息模型【2 ( ”。c i m 提供了一个面向 对象的对管理对象进行建模的设计。这些管理对象代表了网络中实际的资源。 c i m 提供了一个对网络中所有资源进描述的简单机制。w b e m 还定义了网络中 组件如何交互的系列的操作。d m t f 通过蛆ls c h e m a 定义了c i m 到x m l 的映射和c i m 在h t t p 上的操作规范。c i m 类和实例都必须是遵循该s c h e m a 的有效的x m l 文档。w b e m 目前正在进行更新使之包括新兴的技术例如s o a p 。 i e t f 的n e t c o n f t “1 :在2 0 0 2 年7 月召开的第5 4 届i e t f 会议上,与会者提 出了x m l c o n f 。与会者讨论了网络配置管理的需求以及s o a p 、w b e m 、 s y n c m l 和j u n o s c r i p t 如何被用来满足这些需求。x m l c o n f 展示了基于x m l 的网络配置的基本概念和需求。在2 0 0 3 年5 月,i e t f 成立了n e t c o n f 工作组 州e t w o r kc o n f i g u r a t i o nw o r k i n gg r o u p ) ,n e t c o n f 深化了x m l c o n f 的工作。工 作组负责制定适合对网络设备进行配置管理的协议。n e t c o n f 协议使用x m l 作 为数据的编码格式,使用r p c 作为通讯机制,并定义了管理操作和消息格式。 n e m o n f 协议在概念上分为四层:内容层、操作层、r p c 层和传输层。n e t e o n f 第4 页 基于s o a p 的网络管理系统研究 协议考虑了和三个不同的应用层协议进行绑定以便进行数据的传输和操作的实 现,这三个应用层协议分别是:s s h 、b e e p 和s o a p h t t p 。在n e t c o n f 中没有 定义管理信息的信息模型。 1 3 本文的工作 本文工作的主要内容是:针对基于s n m p 的网络管理系统中,开发大型网络 管理应用中存在的丌发专业性强,丌发花费较大,集成较难的问题,根据已有的 基于x m l 的网络管理的研究成果,提出了基于s o a p 的网络管理系统( s o a p b a s e dn e t w o r km a n a g e m e n ts y s t e m ,s b n m s ) 。在基于s o a p 的网络管理系统中使 用x m l 作为管理数据的编码格式,使用s o a p h t t p 作为传输机制,使用w s d l 定义管理操作。为了能够更好的集成已有的配备了s n m p 技术的网络设备和网 络组件,文章根据j h y o o n 的转换算法0 2 1 ,给出了一个更详细准确的将s n m p m i b 定义转换成x m ls c h e m a 的算法。由于x m l 和s o a p 规范存在大量的实现, 同时x m l 和s o a p 也已经得到了越来越广泛得应用,这使得开发大型的基于 s o a p 的网络管理应用得到了大大的简化。本文还实现了一个使用基于s o a p 的 网元管理系统。最后,总结了本文的工作,并提出了今后进一步的工作。 1 4 本文的组织 本文共分为五章: 第一章:绪论。介绍了本文的研究动机和技术背景。 第二章: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 的网络管理系统的信息模型、系统操 作和组彩 结构给出了详细的设计。 第四章:基于s o a p 的网元管理系统的实现。本章根据第四章的设计,使用 开源的开发工具实现一个基于s o a p 的网元管理系统。并对该实现进行了分析。 第五章:总结与展望。对本文的工作进行总结,并提出今后进一步研究的方 向。 第5 页 基于s o a p 的网络管理系统研究 第二章x m l 和s o a p 本章将对x m l 技术和s o a p 技术进行介绍。在基于s o a p 的网络管理系统 中使用x m ls c h e m a 定义了管理信息模型,使用x m l 作为管理数据的编码格式, 使用w s d l 定义了系统操作,使用s o a p h t t p 作为系统中实体的通讯机制。 本章将对这些相关技术进行比较详细的介绍。 2 1x m l 技术 x m l 是计算机技术上的一大突破,x m l 是w 3 c 制定的用于描述数据文档 中数据的组织和安排结构的一种规范,是s g m l 的一种简化版本。x m l 着重描 述的是文档的内容,它的特长在于描述任意层次结构的数据,或赋予原本杂乱无 章的信息一种清晰而通用的结构,使数据在网络上进行交流和处理更加方便快 捷。x m l 真正实现了内容和显示的分离,加大了数据存取的灵活性和可重用性。 ”2 j x m l 的本质的一种“元语言”,它让用户为多种文档定义自己的标记语 言,它可运行在任何平台和操作系统上,从本质上看,x m l 和h t m l 都是由 s g m l 派生来的,但是x m l 是一种元标记语言,而h t 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 要比 h t m l 强大得多,它不再是固定的标记,而是允许定义数量不限的标记来描述文 档中的资料,以及允许嵌套的信息结构。它解决了h t m l 不能解决的两个问题: 即i n t e r n e t 发展速度快而接入速度慢的问题,以及可利用的信息多而难以明确找 到自己需要的信息的问题。与h t m l 相比,x m l 具有以下几点技术优势: 很强的可扩展能力。 强大、灵活、高效的表达数据内容的能力。 允许用户创建自己的标记语言。 具有平台和语言无关的特点,适合在i n t e r n e t 上传送。 x m l 将数据和对数据的处理分开。 2 1 1x m l 基本概念 1 9 9 8 年2 月,x m l l 0 成为了w 3 c 的推荐标准,其规范主要是由采用扩展 巴克斯诺尔范式( e b n f ,e x t e n d e db a c k u sn a u rf o r m ) 定义的语法标识组成, 下面详细阐述一下x m l 的各个组成部分。 第6 页 基于s o a p 的网络管理系统研究 2 1 1 1 基本组成部分 x m l 基本组成部分由序言、元素、实体属性构成。 序言部分指出现在文档的开始标签或根元素之前的信息,由它们提供有关 x m l 文档总体情况的信息,例如字符的编码方式、所指定的样式单等等。序言 为x m l 解析器和应用程序提供了一些处理线索。序言由几部分组成:一个可选 的x m l 声明,可能紧跟若干个注释、处理指令( p i ) 、空白字符,其后可能有 一个可选的文档类型说明。由于这些内容都是可选择的,这就意味着序言部分可 以被省略。 元素是x m l 文档内容的基本单元,它的语法格式如下: 文本内容 元素是由起始标签、元素内容和结束标签组成。用户把要描述的数据对象放 在起始标签和结束标签之间,元素还能包含其他元素。计算机在处理该文档的数 据时,根据文档中用“ ”括起来的标记( 也就是标签) 所界定的元素, 得到文档的树形层次结构。 x m l 文档被定义为一系列字符,x m l 文档处理软件可以从头到尾进行处理。 但是x m l 还可以使用非线性方式组织文本,把文本分成许多块,再由语法分析 器重新组织成线性结构。这种“文本块”构件就称为“实体”。每个实体都有名 字。你可以在文档某处插入一个“实体引用”来使用某个实体,x m l 文档处理器 将会用实体本身来替换实体引用。实体提供了对文本进行复用和维护的一个重要 途径。 x m l 元素的起始标记可以具有零个或多个属性,一个属性是一个名字一值对。 属性的语法是一个名字( 使用与x m l 元素名字相同的字符集) 后跟一个等号( = ) , 再跟一个引号括起来的值。x m l 技术规范要求将值用单引号或双引号括起来, 引号前后应相匹配。 2 1 1 2x l v i l 名称空间( n f i m e s p a c e s l x m l 文档的一个重要性质就是它们可以组合创建新文档,这是重用x m l 的 最基本的机制。不幸的是,简单组合往往会引起识别冲突问题。但在程序中区分 它们并不是一件简单的事情,特别是在文档结构很复杂的时候。因此需要有一种 简便的方式来处理这种情况,x m l 名称空间的设计就是在这种背景下产生的。 x m l 名称空间是解决多义性和冲突问题的方案 4 1 ,它的设计思想很简单:如 果每个x m l 词汇都有一个独一无二的标识符来代表,并且和其中的元素、属性 名字连在一起使用,则不会出现上述问题,因为每个词汇都被它独特的标识符给 确定了。 第7 页 基于s o a p 的阚络管理系统研究 对于标识符,x m l 名称空间使用统一资源标识符( u n i f o r mr e s o u r c e i d e n t i f i e r s 。u r i ) ,u r i 可以是定位器、名字或二者的结合。u r i 定位器即所谓的 统一资源定位器( u n i f o r mr e s o u r c el o c a t o r , u r l ) ,是所有使用w e b 的人都熟悉 的术语。u r l 是一个串,如h t t p :w w w p u r c h a s e s i t e c o r n z i p 。 2 1 2d t d 和x m ls c h e m a d t d 和x m ls c h e m a 用来对x m l 文档进行定义,本小节将对d t d 和x m l s c h e m a 进行介绍。 2 1 2 1d t d 一篇x m l 文档由标记和内容组成,看起来和h t m l 文档很相似。元素是 x m l 最主要的标记,与h t m l 本质的不同是x m l 中元素没有预定义,而是由 用户对自己文档中使用的元素进行定义,这就需要加入“文档类型定义”( d t d ) 。 通过d t d ,一方面用户可以在文档中定义自己的标记,另一方面分析器也可以 得到关于文档内容和结构方面的元信息。这样,x m l 文档就具有了可扩展性、 结构性和可验证性,与d t d 相结合的文档是从基本的x m l 标记向前迈进了巨 大的一步,d t d 使文档结构得到确认,它大大减少了需要在x m l 应用程序中编 写的应用确认的定制代码量。不过,d t d 仍有一些明显的不足: d t d 不使用x m l 语法。 d t d 是在名字空间存在之前设计的,并没有好的措施来处理名字空间。 d t d 没有数据类型,只有一个可用的数据类型:t e x t ,没有办法对类 型进行限韦0 。 d t d 没有提供足够的可重用性和可扩充的能力。 d t d 模型有时会显得太严格,尤其是关于子元素的顺序方面。 由于这些原因,简单对象访问协议( s o a p ) 协议中明令禁止使用d t d 来定 义文档结构。为了解决d t d 固有的问题,w 3 c 从1 9 9 8 年开始制订用以替代d t d 的s c h e m a ( 模式) 规范。模式除了解决上述的d t d 缺陷之外,还具有其它一些 特征。它和w 3 c 的另一个名称空间规范( n a m e s p a c e s ) 一起使用,使x m l 文 档更具灵活性。 2 1 。2 。2x m ls c h e m a x m l 模式( s c h e m a ) 最基础的概念是:模式是描述( 约束) 一组x m l 文档 实例的文档【6 1 。x m l 模式本身就是一个x m l 文档,这一点非常重要,因为这就 第8 页 基于s o a p 的网络管理系统研究 意味着x m l 应用程序很容易查询模式。x m l 模式运行利用仅供应用程序使用 的信息修饰模式一一例如,可以给每个元素类型添加相关的机密等级,并在应用 程序中利用该信息觉得应该向特定的用户显示哪些信息。同d t d 相比,x m l 模 式具有以下优点: x m ls c h e m a 利用n a m e s p a c e 将文档中特殊的结点与s c h e m a 说明相联系, 一个x m l 文件可以有多个对应的s c h e m a ,而一个x m l 文件只能有一个对应的 d t d 。 x m ls c h e m a 内容模型是开放的,可以随意扩充,而d t d 无法解析扩充 的内容。 d t d 只能把内容类型定义为一个字符串,而x m l s c h e m a 允许把内容类 型定义为整型、浮点型、布尔型或者其它的简单数据类型。在x m l 中,符合 x m l 语法规范的x m l 文档被称为是“良定义的”( w e l l d e f i n e d ) ,但只是格式 正规还是不够的,有时候它还需要满足一定的规则。既符合x m l 语法规范,又 符合它在文档类型声明中所宣称的d t d 或符合它所使用的模式的x m l 文档被 称为是“有效的”( v a l i d ) 。一个有效的x m l 文档只能包含d t d 或s c h e m a 中 规定的元素和属性,还要满足它们所确定的嵌套规则和数据类型。x m l 文档的 有效性是相对的,即相对于某个d t d 或s c h e m a 是有效的。利用d t d 或 s c h e m a 来检查x m l 文档的有效性就称为对x m l 文档的确认。 2 1 3x m l 编程接口 为了能够以标准化的形式处理x m l 文档,w 3 c 和x m l d e v 分别提出了 两个标准的应用程序接口:文档对象模型( d o c u m e n to b j e c t m o d e l :d o m ) :g lx m l 简单应用程序接1 :3 ( s i m p l e a p if o r x m l :s a x ) 。 2 1 3 1d o m d o m 是h t m l 文档以及x m l 文档的应用程序接口。w 3 c 提供了精确的、 语言无关的d o m 接口规范,可以用任何语言来实现d o m 接口。作为w 3 c 的 规范,d o m 提供了一种可以应用于不同环境和应用中的标准程序接口。它定义 了文档的逻辑结构,提供了对文档进行访问和操作的方法。利用d o m ,程序开 发人员可以动态的创建文档,遍历文档结构,添加、修改、删除文档内容,改变 文档的显示方式等等。可以这样说,文档代表了文档中的数据,而d o m 则代表 了如何去管理这些数据。d o m 实际上就是一种平台无关、语言无关的应用程序 接口( a p i ) ,它用对象模型来描述文档的结构。 d o m 包括核心、h t m l 和x m l 三部分。d o m 的核心部分建立了一套底层 第9 页 基于s o a p 的网络管理系统研究 的对象集,它可以表示任何结构化的文档。虽然在这套接口中可以通过其自身来 表示h t m l 和x m l 文档,但这个核心部分是一种操作文档内容的更紧凑、更精 简的设计。d o m 的基本对象有5 个:d o c u m e n t 、n o d e 、n o d e l i s t 、e l e m e n t 和 a t t r 。d o c u m e n t 对象表示文档树的根节点:n o d e 表示树中的一个节点,是x m l 对象模型访问数据的基本接口;n o d e l i s t 对象支持n o d e 对象的迭代和索引操作; e l e m e n t 对象代表的是x m l 文档中的标签元素,继承于n o d e ,也是n o d e 的最 主要的子对象;a t t r 对象代表某个标签中的属性。通过这些对象的方法和属性来 访问对象的实例,操纵对象的结构和数据,也能访问树中其他对象。h t m l 和 x m l 部分提供了高层的接口,通用作为更方便的文档视图。遵循d o m 规范开 发的x m l 解析器的使用流程是:首先初始化一个x m l 解析器,然后将一个x m l 文档提交处理。x m l 解析器处理后返回一棵d o m 树,对文档的所有操作都对 这棵d o m 进行。在这个过程中,对d o m 树的任何操作都必须遵循d o m 规范。 因此,遵循标准d o m 接口的x m l 解析器有很好的可重用特性。 2 1 3 2s a x s a x 是基于流的和事件方式来处理x m l 文档的编程接口。s a x 以事件驱 动,它并不需要一次性读入整个文档,而是以流的方式读入文档,文档的读入过 程就是文档的解析过程。使用s a x 首先需要使用s a x 的a p i 定义感兴趣的特 定元素,在解析器遍历x m l 文档的过程中,当遇到特定的元素标记,就会产生 事件,该事件会驱动应用调用相应的程序,处理特定的元素。s a x 对资源需求 较低,处理速度相对较快,而d o m 的功能更强大一些。所有d o m 和s a x 各 有千秋,在开发中可以互补。 2 。1 4 x s l 和x s l t x s l ( 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 ,可扩展样式语言1 是w 3 c 定义的用来在 x m l 数据理加入格式化信息的语言。x s l 定义了描述样式的词汇集。 x s l t ( e x t e n s i b l es t y t e s h e e tl a n g u a g et r a n s f o r m a t i o n s ) 是x s l 的一部分。x s l t 描 述了怎样把一个文档转化成符合x s l 定义的词汇集的文档。样式表使数据能够 基于数据的结构进行格式化,所以一个样式表可以用在许多类似的文档上。 一个样式表集合了一系列设计规则用于将信息从x m l 中提取出来,并将其 转换成h t m l 等其他格式。这种转换采用一种公开的方式,使其更加容易方便 的被程序员描述。x s l 凭借其可扩展性能够控制众多的标签,而控制标签的方 式也是多样的,这就给w e b 提供了高级的布局特性。例如旋转的文本、多列和 独立区域。x s l 支持国际书写格式,可以在一页上使用从左至右、从右至左和 第1 0 页 基于s o a p 的网络管理系统研究 从上至下的书写格式。 x s l 还可以在逻辑测试的基础上过滤输入数据,对数据重新排序。模板也 可以包含任意的标签( t a g ) 、格式指令或者数据。这样x s l 样式表就可以对输入 数据进行有效的转换。例如,可以用样式表来来创建一个银行账目表,按照余额 排序,透支的账目用红色显示,余额大的用绿色显示。还可以用一个样式表把同 样的数据转换为结构化向量图,以图形的形式表示这些数据。 2 1 5x p a t h x p a t h ( 扩展路径语言) 是一种用于对x m l 文档中的元素迸行定位的语言。 它由表达式组成。这些表达式分为几类,其中最重要的表达式是路径表达式。路 径表达式的值是一个节点集。例如,”是匹配于由单个根节点组成的节点集的 路径表达式,它是用于x s l t 模板规则模式部分中的x p a t h 语言的路径表达式。 2 。1 。6x m l 技术在网络管理中的应用 x m l 技术主要可以从以下几方面利用到网络管理中: 、管理数据可以使用x m l 文档来表示。x m l 文档是基于文本的,管理 数据以x m l 来表示,具有了较强的可读性,从而大大简化了开发难度。 、可以使用x m ls c h e m a 来定义管理数据的结构信息和语法格式。 、可以使用d o m 和s a x 来存取管理数据 、可以使用x p a t h 表达式来定位管理数据文档中的子项。 、可以使用x s i _ t 处理和转换管理数据。 2 2s o a p 技术 随着计算机硬件的发展,尤其是互联网的出现,软件需要完成的工作越来越 复杂,其规模也目益扩大,开发人员之间协同合作的必要性已不言而喻。组件概 念的提出与应用,虽然可使完成专门任务的软件块被无限重用,但缺乏统一的组 件技术标准则不能保证其兼容性和互换性。目前己存在的生成软件组件的标准及 相应技术有组件对象模型、公共对象请求代理体系结构和远程数据服务等,它们 以分布式网络结构为基础,不同组件可通过网络相互调用来构建各自的软件。然 而,这些技术在实现中受到平台的限制和防火墙的约束,从而制约了其应用范围 的扩大。事实上,这些技术更适合于局域网。 要在整个互联网范围内实现程序间的远程调用和信息传递,挖掘出现有技术 的核心概念,将其规范为简单普通的协议并成为工业标准,这正是s o a p ( s i m p l e 第1 1 面 基于s o a p 的网络管理系统研究 o b j e c t a c c e s sp r o t o c 0 1 ) 要解决的问题和目的。s o a p l 0 规范发布于1 9 9 9 年,主 要由m i c r o s o f t 公司发起。s o a p l 1 规范与s o a p l 0 规范相比没有太大的差别, 但框架不同,因为s o a p l ,1 是作为几家公司之间的一项合作成果于2 0 0 0 年3 越 被提交给w 3 c 的,这几家公司是i b m 、m i c r o s o f t 、d e v e l o p m e n t o r 、l o t u s 和 u s e r l a n d 。 s o a p 是一个基于x m l 的、在松散分布式环境中用于信息交换的轻型协议, 它由三部分组成:一个定义描述消息内容和消息处理方法的框架,一组用来定义 数据类型的编码规则和一个对远程过程调用和响应的约定。s o a p 可以和许多协 议一起使用,但在s o a p l 1 中只描述了怎样使用h t t p 以及h t t p 的扩展框架 来传递s o a p 消息。 与现有流行的分布式组件模型相比,s o a p 具有以下优点: 与d c o m 相比,s o a p 具有平台无关的特点。作为一种分布式的网络捆 绑协议,它可以广泛的应用于各种平台。 由于通信实现的方法不同,c o r b a i i o p 和d c o m 之间不能进行通信, 也就阻碍了它们的资源共享。而通过使用s o a p 不但可以实现c o r b a i i o p 和 d c o m 的通信连接,还能实现各种异构程序间的通信。 s o a p 将x m l 作为一个编码模式使用,允许服务提供者和服务客户经过 防火墙在i n t e m e t 进行通讯交互。防火墙能容易地识别内容类型是t e x t x m l 的 s o a p 包,并能基于h t t p 头过滤相关的接口和方法名。而c o
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 糖尿病患者术后饮食护理
- 门窗设计年终总结
- 广东省韶关市曲江区2023-2024学年高一下学期期中考试物理试题及答案
- 护士工作计划汇报
- 2025抵押担保贷款合同(房产抵押)
- 软件企业增值税即征即退政策解读
- 鲁班奖项目汇报
- 2025排水系统维护合同
- 公司宿舍安全培训课件
- 2025年全国成人高等学校招生考试(教育理论-专升本)考前冲刺试题及答案一
- 2025餐饮合伙经营合同协议书
- 《国家机构有哪些》课件
- 履约保函标准文本与应用示例
- 五年级数学口算训练题库及解题技巧
- 催化原理教学课件
- 2025下半年新疆生产建设兵团事业单位招聘(2398人)考试参考试题及答案解析
- 经桡动脉脑血管造影护理课件
- 2025年海南省公务员录用考试《行测》真题及答案解析(记忆版)
- 抗过敏药物合理应用专家共识(2025版)解读
- 电子产品出厂质量验收标准
- 厨房设备维护课件
评论
0/150
提交评论