已阅读5页,还剩66页未读, 继续免费阅读
(信号与信息处理专业论文)分支网点智能管理系统.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文摘要 随着t c p i p 协议族的广泛使用,网络管理变得越来越重要。长期以来,人 们一直在使用传统的简单网络管理协议s 皿来进行网络管理。这种方式虽然 在很长时间内、很大程度上满足了用户的管理需求,但也存在不可忽略的弊端。 网络设备的p 地址是传统网络管理的关键因素。当这一因素处于不稳定的 状态时,就会给管理带来很大的难度。随着网络接入设备日益增多,人们也越来 越渴望网络管理的新手段。 本文在分析当前网络管理的缺陷的基础之上,提出了一种设备主动访问服务 的管理模式,即分支网点智能管理系统( s i m s ) 。它成功地解决了设备i p 地址不 固定给传统网络管理带来的麻烦,是传统网络管理的有效补充。b i m s 利用 s o a p 协议来制定网络设备与服务器之间的交互消息,通过h 1 1 口进行报文传输, 成功地突破了n a t 网关等的限制,实现对设备配置文件和软件映像文件的有效 管理。 本文首先介绍了网络管理的现状,然后介绍了相关的理论基础以及t r 0 6 9 协议。在分析t r 一0 6 9 协议的基础上,提出来b i m s 协议,并重点介绍了b i m s 协议中采用的安全方法。本文最后两章介绍了b i m s 服务器和设备间的各种交互 流程的设计、设备端实现的总体框架以及安全方法的实现。 关键词:网络管理分支网点智能管理系统简单对象访问协议可扩展标识语 言数据加密标准b a s e 6 4 编码摘要算法 a bs t r a c t t h en e t w o r km a n a g e m e n ti s b e c o m i n gm o r ea n dm o r ei m p o r t a n tw i t ht h e c o m p r e h e n s i v ea p p l i c a t i o no ft c p i p w ea l w a y su s et r a d i t i o n a lm e t h o d s ,s u c ha s 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 ,t om a n a g et h ed e v i c e sw h i c hc o n n e o tw i t h i n t e m e t i th a sm e tt h eu s e r s r e q u i r e m e n t si nal o n gt i m ea n dw i t hah i g hd e g r e e b u t i ta l s oh a sd e f e c t st h a tc a n n o tb ei g n o r e d t h ei pa d d r e s so fd e v i c e si st h ek e yf a c t o rf o rt r a d i t i o n a ln e t w o r km a n a g e m e n t 谬乃翎i ti si nu n s t a b l es t a t u s 。t h e r ew i l lb es o m ep r o b l e m sw i t hn e t w o r km a n a g e m e n t , w ea l ly e a mf o rn e wm e a n sw h i c hc a ns o l v e t h o s ep r o b l e m s b a s e do na n a l y s i so fd e f e c t si nc u r r e n tm a n a g e m e n t ,t h ep a p e rp u t sf o r w a r da m a n a g e m e n tm o d et h a tc a l l e db r a n c hi n t e l l i g e n tm a n a g e m e n ts y s t e m ( b i m s ) ,w i t h w h i c ht h ed e v i c e sc a nv i s i tt h es e r v e r sa c t i v e l y b i m sf i n d sas o l u t i o nt ou n s t a b l ei p a d d r e s sa n di sav a l i dc o m p l e m e n to ft r a d i t i o n a ln e t w o r km a n a g e m e n t i tm a k e s i n t e r - m e s s a g e sw i t hs o a p , w h i c ha r eu s e db e t w e e nd e v i c e sa n ds e r v e r s ,t r a n s m i t t e d b yh t t p b i m ss u c c e s s f u l l yb r e a k st h r o u g ht h el i m i t a t i o no fn a tg a t e w a y , a c t i v e l y m a n a g e s t h ec o n f i g u r a t i o nf i l e sa n ds o f t w a r ef i l e si nt h ed e v i c e s 。 i nm yp a p e r , if i r s t l yi n t r o d u c ec u r r e n ts t a t u so fn e t w o r km a n a g e m e n t ,t h e n p r e s e n ts o m et h e o r i e so ft h eb a s i ct e c h n o l o g i e sa n dt h ep r o t o c o lo ft r - 0 6 9r e l a t e d w i t hb i m s 。ia l s os p e c i f yt h es e c u r em e t h o d su s e di nb i m s 。f i n a l l y , ip r e s e n tt h e i n t e r - f l o w sb e t w e e nd e v i c e sa n ds e r v e r s ,t h ef r a m e w o r ko fb i m si nd e v i c e s ,a n d e s p e c i a l l yt h ei m p l e m e n to f t h es e c u r em e t h o d s k e yw o r d s :n e t w o r km a n a n g e m e n t ,b i m s ,s o a p , x m l ,d e s ,b a s e 6 4 , m d 5 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得叁鲞蠢堂或其他教育机构的学位或证 书面使用过的材料。与我一弱工作的阍志对本研究所骰的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位论文作者签名:焉户斌 签字髓期:z 卯7 年卫胃,墨 学位论文版权使用授权书 本学位论文作者完全了解墨叠基鲎有关保留、使用学位论文的规定。 特授权墨鎏盘堂可以将学位论文的全部或部分走容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者躲嘟斌 签字日期:爻卯7 年入月fe l 导师签名: 僚酪乏 签字日期:铆7 年月杉 e l 第一章绪论 1 1 本文研究的背景及意义 第一章绪论 上个世纪7 0 年代,随着t c p i p 协议族的广泛使用,网络管理成为了一件大 事。在8 0 年代未和9 0 年代初,网络迅速发展,许多子网数目的增多使监视网络 活动成为一种必须。网络管理系统中最重要的部分就是网络管理协议,它定义了 网络管理器与被管代理间的通信方法。 在网络管理协议产生以前的相当长的时间里,管理者要学习各种从不同网络 设各获取数据的方法。因为各个生产厂家使用专用的方法收集数据,相同功能的 设备,不同的生产厂商提供的数据采集方法可能大桶径庭。在这种情况下,制定 一个行业标准的紧迫性越来越明显。 首先开始研究网络管理通信标准问题的是国际上最著名的国际标准化组织 i s o ,他们对网络管理的标准化工作始于1 9 7 9 年,主要针对开放系统互连o s i 七层协议的传输环境而设计。i s o 的成果是公共管理信息服务c m i s 和公共管理 信息协议c m i p 。c m i s 支持管理进程和管理代理之间的通信要求,c m i p 则是提 供管理信息传输服务的应用层协议,二者规定o s i 系统的网络管理标准。 随后,i n t e m e t 工程任务组i e t f 为了有效地解决i n t e r n e t 上的路由器管理问 题,决定采用基于o s i 的c m i p 协议作为i n t e m e t 的管理协议。但由于新协议迟 迟未能出台,i e t f 决定把已有的简单网关监控协议s g m p 进一步修改后,作为 临时的解决方案。这个在s g m p 基础上开发的解决方案就是著名的简单网络管 理协议s n m p ,也称s n m p v l 。 近年来,简单网络管理协议s n m p 发展迅速,已经超越传统的t c p f l p 环境, 受到更为广泛的支持,成为网络管理方面事实上的标准,目前已发布了s n m p v 3 版本的管理协议。随着网络的发展以及网络管理概念的深入,大多数公司已经开 始大力发展简单网络管理系统。 在国外,支持s n m p 的产品中最流行的是i b m 公司的n e t v i e w 、c a b l e t r o n 公司的s p e c t r u m 和h p 公司的o p e n v i e w 。除此之外,许多其他生产网络通信设 备的厂商,如c i s c o 、c r o s s c o m m 、p r o t e o n 、h u g h e s 等也都提供基于s n m p 的实 现方法。国内很多网络通信设备厂商也积极推出s n m p 网络管理业务,如华为、 华为三康、中兴以及港湾等网络通信设备公司。 第一章绪论 现在,随着w e b 的流行和技术的发展,许多公司在s n m p 基础之上,开始研 发基于w e b 的网络管理模式【1 1 ( w e b - b a s e dm a n a g e m e n t ,w b m ) 。基于w e b 的网络 管理模式的实现有两种方式。第一种方式是代理方式,即在一个内部工作站上运 行、b 服务器( 代理) ,浏览器用户与代理通信,同时代理与端点设备之间通信, 网络管理软件负责将收集到的网络信息传送到浏览器( w 曲服务器代理) ,并将 传统管理协议( 如s m 衄) 转换成w e b 协议。第二种实现方式是嵌入式。它将w e b 功能嵌入到网络设备中,每个设备有自己的w e b 地址,管理员可通过浏览器直接 访问并管理该设备。 不论是简单网络管理协议,还是基于w e b 的网络管理模式,对网络设各的 管理都是由网络管理端发起的。在目前的i n t e m e t 网络中,我们对任何服务器或 者设备的任何访问都是基于t c p 口协议的,也就是说,我们必须通过服务器或 者设备的i p 地址才能对它们进行有效的访问。 随着因特网以及其它通信网络的迅速发展,越来越多的数据通信设备必将遍 及全球的各个角落,通信网络的发达,给我们带来方便的同时,也带来了设备管 理的诸多不便。例如,边远山区中的设备,我们怎样才能保证它正常运转,且能 够正常的享受软件的升级呢? s n m p 管理方式能解决大部分设备的管理,这些设备共同的特点就是拥有固 定的或者长时间不变的口地址。这种管理方法利用c l i e n t s e r v e r 模式,由服务 器端主动发起管理请求,设备作为客户端被动的接受服务器的管理。这就要求 s 旧网管知道被管设备的口地址,并且可以主动向设备发起请求并建立网络 连接。如果被管理设备的d 地址不固定,就增加了主动管理的难度:如果被管 理设备位于d h c p 服务器或者n a t 网关后面,网管根本无法对这些设备进行管 理。这些无法管理的设备就形成了s n m p 管理的盲区,我们将这些设备称之为 边缘设备。 i 扫d s l 论坛【2 】所开发的c p e ( c u s t o m e rp r e m i s e se q u i p m e n t ) 广域网管理协议 【3 】,提出了一种用于管理家庭设备的协议体系。该协议明确规定了用户c p e 和自 动配置服务器a u t o - c o n f i g u r a t i o ns e r v e r ( a c s ) 都可以主动向对方发起访问,这虽 然能解决部分问题,如c p e 主动访问a c s 以获得更新,但对于i p 不固定的c p e 来 说,a c s 若是主动访问就会遇到跟s n m p 管理一样的问题。 为了有效的解决这些边缘设备的管理问题,本文提出了一种解决这些盲区设 备的方法一一分支网点智能管理系统( b i m s :b r a n c hi n t e l l i g e n tm a n a g e m e n t s y s t e m ) 。 第一章绪论 1 2 分支网点智能管理系统概述 1 2 1b i m s 简介 b i m s 全称为b r a n c hi n t e l l i g e n tm a n a g e m e n ts y s t e m ,即分支网点智能管理系 统。它是一种被动网络管理方式,网管设备作为服务器端,被管理设备作为客户 端,是一种典型的c l i e n t s e r v e r 模式。b i m s 通过一个固定的、全网唯一的设备 d 来区分设备,取代s n m p 通过d 地址区分的方式。客户端和服务器通过承载 在h r 丌p 上的b i m s 接口协议进行通信。 由于服务器端一般在公网上,且具有相对固定邛地址,b i m s 解决方案采取 客户端主动上报的方式:被管理设备主动访问服务器,上传配置文件信息和映像 文件信息;服务器端通过事先做好升级和备份策略,被管理设备获取这些策略后 更新相应的配置文件和映像文件,从而实现对边缘设备的管理。 1 2 2b i m s 主要功能 1 1 自动升级设备的配置文件 b i m s 服务器端需要给其管理的设备关联待升级的配置文件, b i m s 服务器时会下载该文件。 2 ) 自动升级设备的映像文件 b i m s 服务器端需要给其管理的设备关联待升级的软件映像文件, b i m s 服务器时会下载该文件。 设备访问 设备访闯 3 ) 监控设备的启动配置文件和当前运行配置 b i m s 支持监控设备的启动配置文件和监控设备当前运行配置的功能,并且 支持在需要的情况下强制设备恢复基线配置。 4 ) 各种触发访问b i m s 服务器的方式 b i m s 设备端主要支持以下几种方式访问b i m s 服务器: 设备启动后主动访问b i m s 服务器功能; 通过命令行触发设备立即访问b i m s 服务器; 定时主动访问b i m s 服务器功能; 按照一定时间间隔周期性的主动访问b i m s 服务器功能。 第一章绪论 1 2 3b i m s 的主要组成部分 b i m s 系统由三个部分部分组成:设备侧、传输网络以及网关侧,如图1 - 1 所示。 粤留 设冬主动发起请象鱼雪 卜:! 孓叫碉 、 铭琵 路由器暖少 1 h t t p 协议 卜 q l l 冈;圜n a t 网关 一 预部署的设备配置 学圆 。服务器做出回应 i 致i 据j 库i b 盈徽 弋r - j 交换机l j 、,- 、- - _ _ _ _ _ , 网管侧 图1 - 1b i m s 系统模型 b i m s 设备侧主要指的是那些位于d h c p 服务器以及n a t 网关后边的网络 设各集合。这些网络设备可能是路由器,也可能是交换机,它们处于网络连接的 边缘,没有固定的口地址。具有b i m s 功能的设备会在一定条件的触发下,对 b i m s 服务器进行访问,并携带必要的映像文件信息以及配置文件信息。 传输网络主要是指i n t e r n e t 网络,因为多数网络设备都连接在i n t e r n e t 上。 在传输网络中,使用超文本传输协议传输b i m s 设备帮b m s 服务器发出的消息。 b i m s 服务器主要是指设备中保存的也( u n i f o r mr e s o u r c el o c a t o r ) 所指 定的网络服务器。网络服务器收到设备发来的消息后,首先通过判断设备的唯一 m ,来判断设备的各种权限。然后对消息进行解析,并判断设备所需要的升级信 息,汇总信息后通过传输网络发送给相应的设备。 1 3 本文主要研究工作 本文主要实现分支网点智能管理系统设备侧的各种消息组成以及发送消息、 接收并解析消息、消息的加密解密功能。 1 3 1 设备发送消息功能 b i m s 设备在一定的触发条件下,读取设备当前的配置文件并形成摘要,读 取当前的映像文件并形成摘要将这些摘要组合成b i m s 服务器笼够解析的消 息,并进行相应的认证加密处理,将消息发送给b i m s 服务器。 第一章绪论 b i m s 设备在收到服务器的响应消息后,按照消息中的指定的处理方式执行, 执行成功或者失败后,向b n 订s 发送相应信息的功能。 1 3 2 设备解析消息功能 b i m s 设备收到b i m s 服务器发来的消息后,能够正确的解析出消息的内容, 并调用相应的函数处理该消息。 1 3 3 设备对b i m s 消息的加密解密功能 出于安全考虑,根据用户的设定,b i m s 设备可以对所要发出的消息进行加 密处理,对所收到的b i m s 服务器消息可以完成解密。 本课题的系统是在w i n d o w s 平台上,利用c 语言来完成的,并利用单元测 试工具等对代码进行了测试,保证它的正确性。然后利用v x w o r k s 编译工具形 成最终的设备软件映像文件。 l 。4 本章小结 本章首先介绍了网络管理协议发展背景和现状,提出了目前存在的问题。接 着提出了该问题的解决办法,并通过系统模型对分支网点智能管理系统b i m s 的 各组成部分做了介绍。 第二章分支网点智能管理系统理论支持 第二章分支网点智能管理系统理论支持 2 1c p e 广域网管理协议t r - 0 6 9 前已述及,c p e 广域网管理协议是由d s l 论坛所研发的,它主要提供了对 下一代网络中家庭网络设备进行管理配置的通用框架和协议,用于从网络侧对家 庭网络中的网关、路由器、机顶盒等设备进行远程集中管理。这些设备不论是在 最开始安装的时候还是在后期运行中的业务配置变更或是出现故障需要维护的 时候,都需要通过管理接口对设备进行配置或是诊断。现阶段的设备大都提供在 l a n 侧的管理配置接口和界面,因此传统的做法是运营商的维护人员上门进行 安装或调试设备,通过l a n 侧管理接口做一些设备配置或故障诊断的工作。但 是,这种一对一的人工服务方式显然运行效率不高而且需要花费大量的人力。随 着运营商家庭网络业务的开展,将会有大量的设备需要安置在用户家中,采用过 去人工方式对这些设备进行维护和管理将会成为一个巨大的负担。 t r - 0 6 9 协议正是为了解决这个问题而设计的。在t r - 0 6 9 所定义的框架中, 主要包括两类逻辑设备:受管理的用户设备( c p e ) 和管理服务器( a c s ) 。在 家庭网络环境下,需要从网络侧进行配置和管理的设备,一般都是与运营商业务 直接相关的设备,比如家庭网关、机顶盒、p 电话终端等。而所有与用户设备 相关的配置、诊断、升级等工作均由统一的管理服务器a c s 来完成。 2 1 1t r 0 6 9 协议主要功能 对于用户设备来说,t r 0 6 9 协议主要完成以下四种功能: 一是用户设备自动配置和动态的业务配置。对于a c s 来说,每个用户设备 可以在协议中对自己作出标志( 例如型号、版本等) ,根据可设定的规则,a c s 可以对某一个特定用户设备下发配置,也可以对某一组用户设备下发配置。c p e 可以在开机后自动请求a c s 中的配置信息,a c s 也可在任意需要的时刻主动发 起配置。通过该功能可以实现用户设备的“零配置安装”功能,或是可以从网络 侧控制业务参数的动态改变。同时,允许用户将来扩展当前版本中没有的服务和 处理能力。 二是对用户设备的软件、固件的管理。t r 0 6 9 的协议提供了对用户设备中 第二章分支网点智能管理系统理论支持 的软件、固件进行管理和下载的功能。a c s 可以识别用户设备的版本号,决定 是否远程更新用户设备的软件版本( 部分更新可有c p e 发起) ,并且在更新完成 后能够得知是否成功。协议还提供了一种有符号的数字文件格式,它用来保证下 载用户指定的文件或者带有安装说明的文件包中所有文件的完整性。 三是对用户设备的状态和性能进行监测。t r 0 6 9 定义了a c s 对用户设备的 状态和性能进行监控的手段,即由c p e 向a c s 提供监控所需的状态参数和性能 参数。协议中定义了一系列标准的参数,还提供了标准的语法,运营商可以定义 额外的参数。另外,也定义了c p e 必须马上向a c s 报告的系列情况。 四是对通信故障的诊断。t r - 0 6 9 还定义了可以用户端自我诊断和报告的能 力,c p e 可以为a c s 提供有用的信息使a c s 能够判断连接和服务问题。例如在 a c s 的指示下,用户端可以通过p i n g 或其它手段检查用户端与网络业务提供点 之间的连通性、带宽等,检测结果返回给a c s 。这样,运营商通过在远端操作, 就可以对用户申告的设备故障进行简单定位,并作相应的处理。 2 1 2t r 0 6 9 协议的结构 c p e 广域网管理协议有以下几个部分组成【3 1 ,每一个部分都分别应用了不同 的标准协议,如图2 1 所示。 c p e a c sm a n a g e m e n ta p p l i c a t i o n 7 ”删u 赠、! 。一。:、鼍粤移一一7 。 ;1 。r p cm e t h o d s 7 ”;_ ”二:v 一。1 避孕7 。i 妒“,岍屯2 “t 一“ ,茹“名 ,。 s o a p,。 h 丌p “ s s l ,t l s t c p ! i p 图2 - 1t r - 0 6 9 协议的组成部分 c p e a c sa p p l i c a t i o n : c p e 和a c s 上应用了c p e 广域网管理协议的管理 软件。t r 一0 6 9 协议中不具体规定管理软件的设计方法。 r p cm e t h o d s :c p e 广域网管理协议定义的具体的r p c ( r e m o t ep r o c e d u r e c a l l ) 方法。这些方法具体参见参考文献3 的附录,包括定义的那些a c s 可以通 过参数相关的r p c 方法访问的c p e 参数。网关设备具体的参数定义参见参考文 第二章分支网点智能管理系统理论支持 献3 的附录b 。 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 语言的标准语法结构。使用s o a p l 2 ,参见参考文献 4 。 h t t p :超文本传输协议h t t p1 1 ,参见参考文献5 。 s s l t l s :标准因特网传输层安全协议。此安全层建议使用,而不是必须使 用。参见参考文献6 。 t c p i p :标准t c p i p 协议。参见参考文献7 。 2 1 3t r 0 6 9 协议的管理机制 1 ) 参数管理 r p c 方法定义了一些管理参数机制,使a c s 能够读或写这些参数,以达到对 配置c p e 运行参数和监控c p e 状态和统计数据的目的。每一个参数由名称和取值 两部分组成。名称甩来区分不同的参数,它的组成是分等级的,中间用圆点( ) 隔开,参数的取值是一些定义好的数值【3 】o 参数的取值类型可以定义为只读( r e a d - o n l y ) 或读写( r e a d w r i t e ) 。a c s 读取只 读类型的参数,就能判断该c p e 的特性、获取c p e 的当前状态以及收集统计信 息等。而读写型参数使得a c s 可以设定c p e 的许多方面的操作规则。 由于允许c p e 使用可选参数,允许运营商自定义参数,所以协议支持a c s 发现c p e 中特殊参数的功能,这也是为了将来更好的扩展功能。 2 ) 文件传输 r p c 方法定义了文件传输机制,以满足各种目的的文件上载和下载功能, 例如,设备映像文件升级、配置文件更新等。 当由a c s 发起文件传输请求时,c p e 提供要传输文件的位置,用h t t p ( 或 者h t t p s 、f t p 、t f t p ) 传输协议将文件发出,并通知a c s 传输是否成功。 部分文件传输请求可以由c p e 发起,a c s 在接收到请求后组建回应消息, 要求c p e 按照同a c s 发起请求一样的步骤进行文件传输。 3 ) c p e 初始化的交互通知 r p c 方法允许c p e 在一些情况下向相关a c s 发出通知,并且保证此交互过 程在一定时间内必须发生。c p e 发起的交互过程可以在c p e 初始化安装时发生, 也可以周期性的发生,还可以再发生某些时间后发生。a c s 必须注意c p e 发来 的事件信息,以建立进一步的连接。 不论是哪种方式,c p e 都会用生产厂商信息以及序列号来唯一标识自己,使 第二章分支网点智能管理系统理论支持 得a c s 能够知道c p e 类型已做出相应的回复。 4 ) 异步a c s 初始化的交互通知 自动配置业务的一个重要方面就是a c s 异步通知c p e 配置变更。这使得自 动配置机制能够满足准实时的更新配置业务。例如,这使得一个终端用户可以马 上享受a c s 消息中涉及业务,而不用等到下一个通知周期间隔的到来。 c p e 广域网管理协议给予a c s 在任何时间要求c p e 建立连接的权利,同时 也允许c p e 在轮流检测a c s 所发起的连接请求。协议并不依赖于c p e 轮流检测 或者建立持久稳固的连接以提供异步通知。 2 2x 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 的缩写,全称为可扩展性标记语言。在 19 9 6 年1 1 月波士顿s g m l ( s t a n d a r dg e n e r a l i z e dm a r k u pl a n g u a g e ) 年会上,新的 数据描述语言x m l 公布于世,并向w 3 c ( w o r l dw i d cw e bc o n s o r t i u m ) 正式提案 i s 。w 3 c 组织于1 9 9 8 年2 月正式发布了关于x m l 的标准。 相对于h t m l ,x m l 只是s g m i 衍生出来的一种文件格式,但是x m l 免除了 s g m l 的复杂却仍保持其威力,这使s g m l 的优秀品质能直接地用在w e b 开发上, 让使用者可以很容易地定义属于自己的文件类型,程序设计员也能在更短的时间 开发x m l 相关应用程序【8 1 。同时w 3 c 组织制定x m l 的初衷是:定义一种互联网 上交换数据的标准。w 3 c 采取了简化s g m l 的策略,在s g m l 的基础上,去掉语 法定义部分,适当简g d t d ( d o c u m e n tt y p ed e f i n i t i o n ) 部分,并增加了部分互联 网的特殊成分。因此,x m l 也是一种标记语言,基本上是s g m i 的一个子集,x m l 继承了s g m l 具有的可扩展性、结构性和可校验性【1 0 1 。 x m l 是一个开放式的标准,它包括三个相互联系的标准:x m l 、x s l 和 x l l ( e x t e n s i b l el i n k i n gl a n g u a g e ,可扩展的链接语言) 。这三个标准相辅相成, 使x m l 语言在数据标记、显示风格和超文本链接方面功能强大,对数据交换十 分有利。 2 2 1x m l 语言的数据模式 x m l 文档有格式良好和有效性约束两种性质。格式良好适合于所有的x m l 文档,即满足一定标准中对于格式的规定。而当x m l 文档满足一定的语义约束 则称该文档为有效的x m l 文档。下面简单介绍两种常用的模式i n , 1 2 : 第二章分支网点智能管理系统理论支持 1 ) d t d :d a t at y p ed e f i n i t i o n x m l 的语法是通过文档类型定义d t d 来描述的。d i d 描述了什么是有效的 标记,并进一步定义x m l 文档的结构,即定义页面的元素、元素的属性以及元 素和属性之间的关系。一个d t d 描述了标记语言的语法和词汇表,形成了一系 列正则式,解析器将这些正则式与x m l 文件内部的数据模式相匹配,从而判别 该x m l 文档是否有效。但是对于一个复杂的x m l 文档要编写一个能排除所有 无效组合而允许所有有效组合的d t d 文档是非常困难的。 2 ) 飙s c h e m a 为了弥补d t d 的不足,w 3 c 提出了x m ls c h e m a 。x m ls c h e m a 的新特性 使得x m l 不再用特定的形式化语言来定义。它支持了更多的数据类型,如数字 型、布尔型、整型和日期时间等等。它对属性进行分组,使属性的应用多样化。 并且还增加了对名字空间的支持,可以有效地利用x m l 的继承性和重用性。 由于d t d 发展较早,相对比较成熟,所以在短期内d t d 还有其存在的优 势。但是d t d 存在一些局限性,而s c h e m a 使用x m l 语法克服了这些不足,可 以给出x m l 文档的详细明确的定义,更好的保证了x m l 文档的有效性和严谨 性。 2 2 2x m l 语言的a p i 接口 围绕) m 几出现的应用编程接n ( a p a p p l i c a t i o np r o g r a m m i n gi n t e r f a c e ) 对于 x m l 应用开发来说无疑是十分重要的。应用开发者可以使用这些标准的接口来 获得和设置x m l 文档中的元素、属性、数据内容等。在这些x m l 的应用编程接 口中,最重要的是w 3 c 制定的d o m 和s a x 1 3 】。 1 ) d o m ( d o c u m e n to b j e c tm o d e l ) d o m 即文档对象模型,提供了一种可以用于不同环境和应用中的标准程序 接口,可以用任何语言来实现d o m 接口。利用对象把文档模型化,这些模型不 仅描述了文档的结构,还定义了模型中的对象的行为。在d o m 中用对象模型来 描述文档的逻辑结构,对象模型要实现用来表示和操作文档的接口、接口的行为 和属性以及接口之间的关系及互操作。在d o m 中,文档的逻辑结构类似一棵树。 文档、文档中的根、元素、元素内容、属性、属性值等都是以对象模型的形式表 示的。d o m 中还包含注释、处理指令、文档类型、实体、实体引用、7 名空间、 事件、样式表等多种对象模型。利用d o m ,程序开发人员可以动态的创建文档, 遍历文档结构,添加、修改、删除文档内容,改变文档的显示方式等。 2 ) s a x ( s i m p l ea p if o rx m l ) 第二章分支网点智能管理系统理论支持 s a x 是一种“事件驱动 的x m l 软件开发包接口。s a x 用基于事件的方 式来处理x m l 文档,使用s a x 的过程有两步:首先用户使用s a x 的a p i 来定 义元素标记事件,然后启用解析器来解析x m l 文档。当解析器遍历x m l 文档 时遇到用户定义过的元素标记事件时产生事件,该事件将驱动应用调用相应的程 序去处理该特定的元素。否则,解析器继续解析。基于事件的方法使s a x 为应 用开发者提供了处理特定元素的方法,而不必要求在应用层次处理之前预先建好 元素,处理过程实时进行。这对需要处理元素子集或处理大规模x m l 文档时特 别有效,否则建立大量对象时会耗费大量内存。 s a x 用于顺序读取文档,速度快,但不能回退,使用不方便,面d o m 是基 于树的对象模型,一次读取整个文档,面向对象,使用方便,但占用更多资源, 不适合用于较大的儿文档。 2 2 3x m l 语言的特点 x m l 语言具有以下四个特点【1 0 】: 1 ) 简单性 x m l 为程序员和文档作者提供了一个友好的环境。x m l 的严格定义和规则 集使人类和机器都能更容易地阅读文档。x m l 文档语法包含一个非常小的规则 集,使开发者能立刻开始工作。x m l 文档建立在基本嵌套结构的一个核心集的 基础之上。当一层又一层的细节被增加,使结构变得越来越复杂时,作者或开发 者只需要为内部结构的复杂化付出非常少的努力。这些基本结构可以被用来代表 复杂的信息集合,而不需要改变结构自身。 2 ) 可扩展性 x m l 在两个意义上是可扩展的。首先,它允许开发者创建他们自己的d t d , 有效地创建可被用于多种应用的“可扩展的”标志集。其次,使用几个附加的标 准,就可以对x m l 进行扩展,这些附加标准可以向核心的x m l 功能集增加样 式、链接和参照能力。作为一个核心标准,x m l 为可能产生的别的标准提供了 一个坚实的基础。 3 ) 互操作性 x m l 是使用纯文本格式描述的,可以在多种平台上使用,而且可以用多种 工具进行解释。因为文档的结构是相容的,所以解释它们的语法分析器就可以以 较低的费用建立。x m l 支持用于字符编码的许多主要标准,允许它在全世界许 多不同的计算环境中使用。x m l 对j a v a 进行了很好的补充,许多早期的x m l 开发是用j a v a 进行的。一个用于语法分析器的普通的应用程序接口x m i ,的 第二章分支网点智能管理系统理论支持 简单a p i ( s a x ) ,可以免费获得。也可获得用c + + 、c 、j a v a s c r i p t 等编写的语法 分析器。目前,x m l 语法分析器的开发集中在免费的插件上,这些插件为x m l 应用提供了语法分析能力,极大地降低了使用x m l 建立实际应用的费用。 4 ) 开放性 x m l 标准在w e b 上是完全开放的,可以免费获得。w 3 c 组织的成员己经 较早地得到了这些标准,不过一旦此标准完成了,结果就是大家都可获得的。 x m l 文档自身也较为开放,任何人都可以对一个结构良好的x m l 文档进行语 法分析,如果提供了d t d ,还可以校验这个文档。虽然开发者可以建立语意模 糊的d t d ,或以自己的方式加密数据,但他们将会失去使用x m l 的许多好处。 沮。并不禁止创建私有格式,但它的开放性是它最大的优点之一。 2 3s o a p 技术 随着计算机技术与互联网技术的高速发展,软件需要完成的工作越来越复 杂,其规模也日益扩大,开发人员之间协同合作的必要性已不言而喻。组件概念 的提出与应用,虽然可使完成专门任务的软件块被无限重用,但缺乏统一的组件 技术标准不能保证其兼容性和互换性。目前己存在的生成软件组件的标准及相应 技术,如组件对象模型、公共对象请求代理体系结构和远程数据服务等,它们以 分布式网络结构为基础,不同组件可通过网络相互调用来构建各自的软件。然而, 这些技术在实现中受到平台的限制和防火墙的约束,从而制约了其应用范围的扩 大。事实上,这些技术更适合于局域网。要在整个互联网范围内实现程序间的远 程调用和信息传递,挖掘出现有技术的核,t l , 概念,将其规范为简单普通的协议并 成为工业标准,这正是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 0 1 ) 要解决的问题。 s o a p ,全称为简单对象访问协议,它的定义为:s o a p 是一种轻量级协议, 用于在分散型、分布式环境中交换结构化信息。s o a p 利用x m l 技术定义一 种可扩展的消息处理框架,它提供了一种可通过多种底层协议进行交换的消息结 构。这种框架的设计思想是要独立于任何一种特定的编程模型和其他特定实现 的语义。s o a p 可以和许多传输协议( 如t c p 、h t t p 、s m t p 等) 一起使用,但 在s o a p l 2 中只描述了怎样使用h t t p 以及h t t p 的扩展框架来传递s o a p 消息。 它主要包含以下三个部分【l4 】: 一个打包模型:s a o p 的封装。 一种对信息迸行串行化的机$ 4 - s o a p 信息编码规则。 一个r p c 机制:s o a p 中的r p c 表示法。 第二章分支网点智能管理系统理论支持 2 3 1s o a p 的封装 s 心的封装( e n v e l o p ) 闱定义了一个描述消息中的内容是什么,是谁发送的, 谁应当接受并处理它以及如何处理它们的框架。一切s o a p 信息都是x m l 文档, 它们必须有一个s o a p 信封和一个信息体,还可以包括一个信息头。如图2 - 2 所 示。 图2 - 2s o a p 消息的封装模型 1 ) s o a p 信封 s o a p 信封即为s o a pe n v e l o p e ,其中e n v e l o p e 是s o a p 信息中最为外层的 包容元素,是表示该消息的x m l 文档的顶级元素。在s o a p l 1 中,这个元素 在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 n a m e s p a c e 下。它必须遵守以下语 法规则: 这个元素的名字永远是信封:e n v e l o p e 。 每个s o a p 信息必须包含有这个元素并把它作为最外层的包容元素。 这个元素可以由名字空间声明并附带其他属性。包容在此元素内的所有 属性都必须有名字空间方面的限定。e n v e l o p e 元素还可以包含子元素, 这些子元素也要有名字空间限定,而且他们后边必须紧跟s o a pb o d y ( 信息体) 元素。 2 ) s o a p 信息头 s o a p 信息头即为s o a p h e a d e r ,可以出现在信息里,也可以不出现。这个 可选项提供了这样一种机制:s o a p 信息可以通过信息头把关于s o a p 信息的信 第二章分支网点智能管理系统理论支持 息传递给其他信息。如果s o a p 信息头出现在s o a p 信息里,那么它必须是s o a p e n v e l o p e 的第一个元素。什么时候需要用信息头昵? 最常见的情况是用s o a p h e a d e r 来进行身份验证,或者用它来提供对通信过程的管理。对没有提供返回 路径的协议( 如f t p ) 来说,h e a d e r 还可以用来协调响应的返回路径。 s o a p 消息头必须遵循以下语法规则: 一个头条目必须能被识别,包括名称空间u r l 和局域名称。 s o a p 的e n c o d i n g s t y l e 属性可用来表明头条目的编码方式。 s o a p 的m u s t u n d e r s t a n d 和a c t o r 属性指出如何处理该条目及由谁来处 理。 消息头的内容( 有时称为消息头的值) 由消息头元素的模式( s c h e m a ) 决 定的。这意味着消息头可以包含任何x m l 格式的信息,这可看作是 s o a p 作为一个基于x m l 协议的优势的例证。 3 ) s o a p 信息体 s o a p 信息体即为s o a pb o d y ,可以看作是s o a p 的内容核心。是s o a p 信息中的必需元素而且是s o a p 封装元素的直接子元素。它包含着准备发送给接 收方的具体信息内容。如果存在s o a p 信息头元素,那么它必须紧跟其后,否则 就是s o a p 封装元素的第一个直接子元素。s o a p 信息体也可包括一些信息体条 目,它们都是s o a p 信息体元素的直接子元素。它最初是为了处理r p c 和返回 出错信息而安排的。但自从它出现之日起,人们就开始利用它来传递其他类型的 数据。当然,也可以通过b o d y 元素来执行r p c 。 2 3 2s o a p 信息编码规则 s o a p 信息编码规则定义了用以交换应用程序定义的数据类型的实例的一 系列机制,它基于一个简单公共的类型系统,而这个系统是程序语言、数据库和 半结构数据中类型系统的公共特性的泛化。其默
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年铁岭市清河区幼儿园教师招聘笔试备考题库及答案解析
- 2026年北京市房山区幼儿园教师招聘笔试备考题库及答案解析
- 2026年浙江省嘉兴市街道办人员招聘考试模拟试题及答案解析
- 2026年黄石市黄石港区街道办人员招聘考试模拟试题及答案解析
- 2026年广东省梅州市幼儿园教师招聘笔试参考题库及答案解析
- 2026七年级道德与法治下册 青春激情燃烧热望
- 2026年来宾市兴宾区街道办人员招聘笔试参考试题及答案解析
- 系统分析与设计 课件全套 第1-7章 系统分析与设计基础 - 面向DevOps的系统开发
- 2025年山西省临汾市幼儿园教师招聘笔试试题及答案解析
- 2026年宜春市袁州区幼儿园教师招聘笔试备考试题及答案解析
- 基于多技术融合的地铁站冷水机组故障检测与诊断模拟深度探究
- 小学语文场景式教学设计案
- 2025年医院医务人员医药领域腐败问题集中整治廉洁从业承诺书
- DB51∕T 3199-2024 市(州)、县(市、区)标杆政务大厅建设规范
- 珠海市高新区华发开发工程涉输油管道迁改工程项目环境影响报告书
- 立体几何中的截面问题(附答案解析)-全国高考数学一轮复习(提高版)
- 服装面料图案搭配课件
- 2025至2030年中国电子雷管行业市场深度分析及投资策略咨询报告
- 医学教育中的人文关怀与伦理教育融合
- 国家民政部所属单位招聘笔试真题2024
- DB51 T1996-2015四川公路工程超声回弹综合法 检测结构混凝土强度技术规程
评论
0/150
提交评论