




已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京邮电大学硕士研究生毕业论文 智能客户端技术在网络管理系统中的应用 摘要 现如今的网络管理系统大多是基于b s 或c s 架构的。虽然技术已经很成熟,但是 这两种架构有其自身的缺陷,与b ,s 、c s 架构相比,智能客户端技术具有非常明显的 优势,它集合了胖客户端和瘦客户端技术的诸多优点,在技术上包含许多先进性,使得 网络管理系统的性能大为提高。 本文首先简要介绍了智能客户端的概念以及其主要的特点,并将智能客户端与传统 客户端应用程序( 瘦客户端,胖客户端) 作了全面的比较。随后,本文又介绍了实现智 能客户端的几项关键技术。紧接着,本文介绍了智能客户端技术所应用于的网络管理系 统原型,并着重介绍了如何设计智能客户端体系结构,之后详细重点说明了如何实现在 线与离线的无缝连接,客户端的部署与更新以及应用程序的安全性设计。其中重点讲解 了如何以面向服务的策略实现偶尔连接,以及基于n e tf r a m e w o r k2 0 实现客户端程序 的智能部署和更新。 关键词智能客户端瘦客户端胖客户端网络管理面向服务 北京邮电大学硕士研究生毕业论文 t h ea p p l i c a 叮0 no fs m a r tc l i e n ti nt h es y s t e m0 f n e t w o r km a n a g e m e n t a b s t r a c r t h e p u r p o s e0 ft h i sd e s i g ni s t 0d e v e l o pas m a na i e n td e m ob a s e do nt h es y s t e mo f n e 咐o r km a m g e m e n t s i i l c ct h et e c h n i q u eo ft r a d i t i o n a lc l i e n t sh 硒b e e np u ti n t op r a c t i c e v e f yw e l l ,ls t u d i e dt h ea d v a n l a g 鼯o fs m a j ta i e n ti nc o n t r a s tw i t ht r a d j t i o n a lb 熔锄dc s c l i e n t s ,p l u sld e s j g n e dt h ei n v o i v e df u n c t i o n sa n di n l p l e m e n t e dt h e m t 1 l ef i r s tp a r t0 ft h ep a p e ri st oi n t r o d u c et h ec o n c e p to fs m a nc l i e n t 锄di t sp r i m a r y f e a t u r e s ,o nt h eg r o u n do fw h j c hic o m p a r es m a nc l i e n tw i t ht h et r a d i t i o n a lc i i e n t s ( t l l i n c l i e n t ,f a tc l j e n t ) 舶ma n 笛p e c t st oe m p h a s i z et h ea d v 锄t a g e st h a ts m a i tc l i e n ti i l l l e r i t s 仃o m1 1 l i nc l i e n ta n df a tc l i e n t f o u o w i n gt h ef i i s tp a r t ,t h ep a p e rs t a t e st h ek e yt e c h n i q u e s r e l a t e dt os m a nc l i e n td e s i 印a n e r t h a t ,t h ep a p e ri l l t r o d u c e st h eo s sm o d e lw h i c ha p p l i e s t h es m a nc l i e n t ,粕dip u tm o r ca 能n t i o n 伽t h ed e a lo fd a t a a n dt h e n ,t h ep a p e fd i s p l a y st h e f o l l o w e di t e m si i ld e t a i l s :t h ec 0 皿e c t i o no f c o 仃e s p o n d i n gd a t a b a s e s ( i n c l u d i n g u s e r i n f o 彻a t i o na n dl o c a ld a t am e m o r y ) ,t h ei m p l e m e n t a t i o no fs e 锄l e s sc o n n e c t i o nb e 觚e e n o n l i n ea n do f n i n e ,t h ed e p l o y m e n ta n du p d a t eo fc l i e n ta n dt h es e c u t yd e s i g na sw e n o fa l l t h ec o n t e n t s ,ia t t a c hi m p o n a n c et ot h ee x p l a n a t i o no fh o wt oi m p l e m e n tt h e0 c c a s i o n a l c o n n e c t i o nf i l n c t i o nc o n f o m i n gw i t ht h es e r v i c e - o r i e n t e ds t r a t e g y 锄dh o wt od e p l o y 卸d u p d a t et h cs o f 时a r eb a s e do nm i c r o s o f t n e tf r a m e w o r k 2 o k e yw o r d ss m a nc l i e n t 1 n h i nc l i e n t f a tc l i e n t s e i c e 0 r i e n t e d 北京邮电大学硕士研究生毕业论文 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究成果。尽 我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不包含其他人已经 发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他教育机构的学位或证书 而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确 的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:笪址日期:独! 竺l 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即:研究生 在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保留并向国家有 关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借阅;学校可以公布学 位论文的全部或部分内容,可以允许采用影印、缩印或其它复制手段保存、汇编学位论 文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在年解密后适用本授权书。非保密论文注释: 本学位论文不属于保密范围,适用本授权书。 本人签名:! 盔垒 导师签名: 北京邮电大学硕士研究生毕业论文 1 1引言 第一章绪论 网络管理系统的主要功能包括网络集中监视或集中监控管理、网络性能管理与资源 优化、网络组织调度、网络故障管理、配置管理等,是保证通信网络高效、可靠、经济 和安全运行的重要基础。 现有的网络管理系统大部分是在c s 模式下设计实现的,在应用程序的部署和版 本升级都有很多的困难,这就导致软件更新周期的延长。而智能客户端技术引进了b s 模式的特点,解决了如上的困难并很好整合了b s 与c s 的优点,使网管系统具有更 好的可操作性和更丰富的用户体验,尤其是简化了客户端应用程序的部署与升级,进而 增加了网管产品的企业竞争力。 1 2国内外研究及发展现状 自从2 0 0 3 年微软提出新的开发模式智能客户端技术后,已经有众多的软件开 发商采用这种新的技术来开发企业应用。国外起步较早,国内的起步虽然稍后,但是发 展很快,现已有不少案例进入了商业应用阶段,例如: 国家计生委主持开发和实施了计生委生殖健康计划生育管理系统,整个系统是用智 能客户端技术来设计和实现的,系统运营范围覆盖了全国2 0 多个省和1 0 0 多个乡。 掌上天气预报系统。这是智能客户端技术在手机上的一个应用,它由客户端和服务 器端构成,应用c o m p a c tf r 锄e w o r k 进行开发,使用w e bs e r v i c e 开放接口通讯,是手 机上移动开发的典型应用f 。 无线视通能够为最终用户提供从电视信息服务、通知与提醒,乃至娱乐互动交流的 全新电视体验,具有良好的市场前剽1 1 。 就目前的o a 系统而言,虽然已经有一些基于智能客户端技术的电子政务、电子公 务等o a 系统,但多数的o a 系统还是采用b s 架构。原因很简单,这种架构只需要在 服务器端部署和升级,而客户端使用的是通用浏览器,不必开发专门的客户端软件,大 大节省了开发的成本。 因此,要选择正确的应用程序体系结构,必须考虑许多因素。如果需要向各种外部 受众提供面向外界的应用程序,则瘦客户端体系结构通常最为适当;而对于需要与其他 客户端应用程序或硬件集成或者对它们进行协调,或者需要脱机工作或通过响应迅速的 用户界面提供高性能功能的内部应用程序而言,智能客户端体系结构通常最为适当。 本文从网络管理系统的实际应用出发,研究如何将智能客户端技术的许多优点应用 到洌络管理系统当中。 北京邮电大学硕士研究生毕业论文 1 3研究内容及意义 与b s 、c s 架构相比,智能客户端技术具有非常明显的优势,智能客户端技术集 合了胖客户端和瘦客户端技术的诸多优点,摒弃了两者的缺点,在技术上包含许多先进 性。而本文将着重研究三个方面的优势:本地数据的安全性、具备离线连接操作能力、 智能部署和自动更新。为体现这三方面的优势,必须解决以下几个关键技术问题: 如何判断网络是否脱机? 在脱机时,如何将应用程序中的数据进行缓存,从而保证应用程序在脱机情况 下仍然可以正常运行? 当网络由脱机状态转换为联机时,如何将数据回传到服务器,实现客户端和服 务器数据同步? 解决了这些问题,就可以很好的体现智能客户端技术的优势,而应用了智能客户端 技术的网络管理系统也将显示出新的特性: 继承b s 架构的特点,开发出丰富的用户界面; 支持偶尔连接的应用程序开发,可以灵活选择在线脱机的工作方式,数据在本 地进行缓存,而且在脱机时应用程序可以使用本地资源; 可以灵活地调用w e b 服务,而且由于使用帅协议,通过s o a p 进行传输, 因此可以轻易跨越防火墙; 通过加密和签名技术,避免数据在传输时被恶意修改,因此安全性能得到进一 步提升; 自动地部署和升级应用程序。 虽然使用智能客户端技术不能获得比基于浏览器的应用程序便宜的部署成本,但 是,通过生产效率的提高,智能客户端有可能节省大量开发成本,相对而言,少量的部 署成本就不成问题了。 1 4论文组织结构 本论文的组织结构如下: 第二章,研究智能客户端的先进技术 第三章,介绍智能客户端在自动电话网管理系统中的应用 第四章,介绍客户端部分应用智能客户端的关键技术的实现 第五章,总结 2 北京邮电大学硕士研究生毕业论文 第二章智能客户端先进技术研究 2 1智能客户端介绍 智能客户端是新的客户端软件,它结合了胖客户端与瘦客户端的优点,同时又摒弃 了两者的缺点,是客户端技术未来的发展趋势。下面首先介绍传统的客户端形式。 2 1 1胖客户端 胖客户端是相对于瘦客户端一一即基于w e b 的应用程序而言的,它是在客户机器上 安装配置的一个功能丰富的交互式的用户界面。胖客户端模式将应用程序处理分成了两 部分:由用户的桌面计算机执行的处理和最适合一个集中的服务器执行的处理。一个典 型的胖客户端包含一个或多个在用户的p c 上运行的应用程序,用户可以查看并操作数 据、处理一些或所有的业务规则同时提供一个丰富的用户界面做出响应,服务器负 责管理对数据的访问并负责执行一些或所有的业务规则。胖客户端通常可以提供高质 量、响应迅速的用户体验,并且具有良好的开发人员和平台支持,但它也有显而易见的 缺点。 优点: 用户体验丰富; 开发效率高,组件可复用; 可以使用本地资源,从而程序的响应快。 缺点: 在客户端留下的痕迹较重: 部署、更新困难; 容易产生“d l l 一地狱,这是胖客户端应用程序的致命弱点。 2 1 2 瘦客户端 瘦客户端技术是基于浏览器的,其应用程序在w r e b 服务器上部署和更新,解决了 胖客户端部署、更新困难的难题。但瘦客户端应用程序必须有网络连接,当用户断开连 接时就无法访问应用程序,这便会降低程序的可用性。 优点: 使用浏览器,因此应用程序留在客户端的痕迹轻; 应用程序部署容易,只需在w e b 服务器上进行; 业务逻辑更改容易; 缺点: 3 北京邮电大学硕士研究生毕业论文 用户体验差,不能设计丰富的u i ; 应用程序开发复杂,并且不可复用; 过分依赖网络,程序在脱机状态下无法使用; 响应速度慢; 2 1 3 智能客户端 微软对于智能客户端( s m a j tc l i e n t ) 的定义是这样的:易于部署和管理的客户端应 用程序,通过统筹使用本地资源和到分布式数据资源的智能连接,提供适应的、快速响 应的和丰富的交互式体验。与b s 或c s 相比,智能客户端具有明显优势。 优点: 无缝的离无接触部署:安装时只要将一个主程序文件下载到本地,直接运行即 可,无须改变注册表或共享的系统组件,其他应用组件将在第一次运行时自动 下载。 动态加载应用组件:应用程序的各个构件之间的相互调用并不采用直接引用的 方式,而是采用动态加载,即需即装的方式,这样就有效地降低了对系统资源 的消耗。例如:应用软件开发商可根据企业应用系统的公共接口进行开发,然 后将应用组件发布在企业的服务器上,客户端应用程序将自动发现并加载该应 用组件。线支持:智能客户端应用程序尽管使用网络加载程序集,但加载之后, 程序集便被缓存到了本地。当用户至少启动了一次应用程序后,其基本组件就 被下载到本地缓存中了,所以用户可以离线运行程序。在数据的操作上,智能 客户端可以灵活地在应用程序内部处理数据。根据不同的突发情况,用户可以 选择使用本地数据或连接到服务端数据库,以使客户端在任何条件下都能够运 行,而不依赖于网络连接是否可用。这就不需要像b 俗一样,与网络保持实时 的连接,数据交换要反复的刷新页面。 自动更新:智能客户端应用程序版本的升级非常简单只需将新版本的程序 发布在服务器上,软件访问服务端,能自动检测版本号,从而更新关键组件, 实现升级。 三种客户端模式的比较如图2 1 所示【6 j : 4 北京邮电大学硕士研究生毕业论文 f a t 图2 1 智能客户端与传统客户端对比 2 2智能客户端的数据处理 2 2 1 数据类型 智能客户端通常处理两种类别的数据: 只读引用数据:只读引用数据是不能由客户端更改并且被客户端用于引用目的 的数据h 1 。因此,从客户端的观点看来,该数据为只读数据,并且客户端不会 对其执行更新、插入或删除操作。 瞬态数据:瞬态数据既可以在服务器上更改,也可以在客户端上更改。通常情 况下,瞬态数据作为用户输入和操作的直接或间接结果而发生更改。在此情况 下,在客户端或服务器进行的更改都需要在某个时刻进行同步。 在本文所介绍的系统中主要采用瞬态数据在具体实施中,需要跟踪对瞬态数据 进行的任何客户端更改。在与服务器同步数据之前,任何的瞬态数据都是未确认的。这 意味着瞬态数据在本地需要被缓存,等待与服务器进行交互。此外,未确认的数据不能 作为重要决策和其他本地的数据基础。 2 2 2 数据缓存 智能客户端通常需要在本地缓存数据( 无论是只读引用数据还是瞬态数据) 。通过 5 北京邮电大学硕士研究生毕业论文 缓存数据,可以改善应用程序的性能并提供脱机工作所需的数据。进行缓存时一般采取 以下两种缓存机制: 短期数据缓存:在内存中缓存数据对性能有益,但不能持久,因此可能需要在 重新运行应用程序时重新导入数据。 长期数据缓存:通过在持久性媒体( 如独立存储或本地文件系统) 中缓存数据, 可以在没有连接到服务器时使用应用程序1 2 j 。 在大多数的应用智能客户端技术的设计中都会选择将长期存储与短期存储结合起 来以改善性能:在线时程序调用远端数据采用短期存储;离线时程序使用本地数据,而 本地的数据都是长期缓存的。在访问数据的处理上,确保仅将用户有权访问的数据提供 给客户端,并且在客户端缓存的敏感数据要进行认真处理以确保安全。 2 2 3数据并发 数据能够由多个客户端进行更新的方法称为“数据并发”。处理数据并发一般采用 以下两种方法: 保守式并发: 保守式并发允许一个客户端保持数据上的锁,以禁止任何其他客户端修改数据,直 至该客户端自己的更改完成为止。在这种情况下,如果另一个客户端尝试修改数据,则 在锁的拥有者释放该锁之前,这些尝试将失败或者被阻止。保守式并发可能有问题,因 为单个用户或客户端可能由于疏忽而长时间地保持锁定。所以,该锁可能会妨碍重要资 源( 如数据库行或文件) 及时得到释放,从而严重影响应用程序的可伸缩性和可用性。但 是,当需要完全控制对重要资源所做的更改时,保守式并发可能是适当的。 开放式并发 开放式并发不会锁定数据。要判断是否实际需要更新,可以将原始数据随更新请求 和已更改的数据一起发送。随后,将针对当前数据检查原始数据,以查看是否同时对原 始数据进行了更新。如果原始数据和当前数据匹配,则执行更新:否则,拒绝请求,并产 生开放式失败。要优化该过程,可以在数据中使用时间戳或更新计数器,而不必发送原 始数据,此时只需要检查时白j 戳或计数器。丌放式并发提供了一种良好的机制,可用来 更新不会非常频繁更改的主数据,如客户的电话号码或地址。开放式并发允许每个客户 端读取数据,在发生更新的概率小于读取操作的情况下,开放式失败的风险或许是可以 接受的。在数据频繁更改以及开放式更新可能经常失败的情况下,开放式并发可能并不 适合。 在大多数智能客户端方案( 包括客户端将要脱机工作的方案) 中,开放式并发是j 下确 的方法,因为它允许多个客户端同时使用数据,而不会不必要地锁定数据和影响所有其 他客户端。 6 北京邮电大学硕士研究生毕业论文 2 2 4 实现方法 在本文所介绍的系统中采用的实现方法是使用a d o m 玎数据集来管理数据。 2 2 4 1用d a t a s e t s 合并数据 d a l a s c t s 具有将d a t a s e t 、d a t a t a b l e 或d a t a r o w 对象的内容合并到现有d a t a s e t s 的 能力。对于跟踪在客户端上进行的更改以及与服务器的已更新内容进行合并而言,该功 能十分有用。图2 2 显示的是一个从w 曲s e r v i c e 请求更新的智能客户端【刚。 图2 2 通过使用d a t a s e t s 合并客户端上的数据 在上例中,当数据包被返回到客户端时,用于在客户端上以本地方式创建一个新的 d a t a s e t 。 2 2 4 2提高d a t a s e t s 的性能 d a t a s e t s 通常包含大量数据,如果通过网络传递这些数据,则可能导致性能问题。 因此,需要使用d a t a s e t s 上的g e t c h a n g e s 方法,来确保只在客户端和服务器之间传送 在d a t a s e t s 中更改过的数据。如图2 3 所示: 7 北京邮电大学硬士研究生毕业论文 的数据更改 图2 3 将客户端的数据更改同步到远程数据库 可以将g e t c h a n g e s 方法用于需要脱机工作的智能客户端应用程序。当应用程序重 新联机时,开发者可以使用g e t c h a n g e s 方法确定哪些信息已经更改,并且随后与 w 如s e i c e s 进行通讯,将更改提交给数据库。 2 3偶尔连接 2 3 1 偶尔连接概述: 如果应用程序无法及时地通过网络与服务或数据交互,却能够继续工作,然后在以 后某个时间在后台更新网络资源,更新可以马上进行,也可以在数天甚至数周以后进行, 这就是偶尔连接的应用程序。它可以提高用户的生产率和工作效率,并且提高应用程序 的可用性。 要给予应用程序完整的偶尔连接功能,需要提供一种基础结构,使用户能够在脱机 时工作。该结构应该包括脱机工作所需要的数据缓存,还应该包括用户工作详细信息的 存储,以便用来联机时将客户端与网络资源同步。 2 3 2 偶尔连接设计策略 在设计偶尔连接的智能客户端应用程序的体系结构时,有两种方法:以数据为中心 和面向服务。 使用以数据为中心的方法,应用程序具有一个在客户端上本地安装的关系数据库管 理系统( r d b m s ) ,并且使用该数据库系统的内置功能将本地数据更改传回服务器,处理 同步过程,并检测和解决任何数据冲突。 使用面向服务的方法,应用程序将信息存储在消息中,并且当客户端脱机时,将这 些消息排列在队列中。在重新建立连接以后,排队的消息将被发送到服务器进行处理, 这也是本文重点讨论的方法。 8 北京邮电大学硕士研究生毕业论文 对于面向服务的方法而言,客户端可以与需要的任何服务交互。而且,客户将致力 于服务请求本身,而不是对本地保存的数据进行直接更改。另一个优点是在客户端上不 需要本地数据库。 当应用程序必须i i l t e m e t 和i n t r 柚e t 环境中工作,而且客户端在防火墙外部与企业服 务交互,如果使用面向服务的策略,可以避免由于某种原因而必须在防火墙中打开特定 的端口。可以在客户端上使用与服务器上不同的数据架构,并且在客户端传输数据,客 户端和服务器可以独立地更新客户端和服务器组件。 面向服务的方法最适合于需要与许多不同服务交互的智能客户端。因为消息的有效 负载被封装,所以传输层可以改变,而不会影响消息的内容。 2 4部署和更新 2 4 1 部署 当开发者部署智能客户端应用程序时,可以有多种选择: 无接触部署; 带有应用程序更新存根的无接触部署; 从文件共享运行代码; x 1 c o p y ; w i j l d o w s 安装程序软件包。 每种方法都有其相应的优缺点,它们的综合比较如表2 1 所示: 无接触部署带有应用程序更新从文件共享运行 x c o p y w i n d o w s 安装 存根的无接触部署代码 程序软件包 可靠的脱机访问 否 是 否 是是 完全信任应用程要求客户端安全 是 要求客户端安全 是 是 序功能策略更改策略更改 非超级用户安装是取决丁应用程序的是 是 取决于应用程 要求序的要求和应 用程序分发初 制 对系统影响小是取决于应用程序的是 是 取决于应用秸 要求序的要求 w i n d o w s 外壳否否否否是 程序集成 无限制的安装否否否否是 9 北京邮电大学硕士研究生毕业论文 事务性安装否是否 否 是 需要修改客户端是是是 否否 的m 强安全策 略 表2 1 各种部署方式的比较 从以上比较可以看出,从文件共享运行代码、x c o p y 、w i n d o w s 安装程序软件包这几 种部署方式都属于传统应用程序的部署,其存在如下问题:客户端应用程序容易被破坏、 安装客户端应用程序困难且成本比较高。无接触部署虽然可以基本解决欧传统应用程序 部署方式所产生的问题,但是其也存在一个先天性的问题就是难于实现丰富的客户端体 验。在本文后半段所提及的c 1 i c k o n c e 技术则可以很好的解决这个问题。 2 4 2 更新 在最初部署开发者的智能客户端应用程序之后,开发者的工作尚未完成。过一段时 间之后,随着开发者升级应用程序功能并且修复缺陷或解决安全漏洞,应用程序将需要 更新。 根据具体情况的不同,开发者可以使用也可以不使用与部署智能客户端应用程序的 方法相同的方法来更新它。例如,如果开发者最初使用w i n d o w s 安装程序软件包来部 署应用程序,则可以使用自动更新来部署更新。开发者的环境的具体情况通常将决定哪 种更新方法最为适合。 部署更新时的一个常见要求是能够联合更新基础结构,以便多个更新不用在由单个 实体控制的单个服务器上竞争。使用该方法,还可以通过减轻单个服务器或服务器场的 负载,提高更新基础结构的性能和可伸缩性。 在部署应用程序的更新时,开发者具有下列选择: 无接触部署; 自动更新; 从文件共享获取更新; x c o p y 更新; w i n d o w s 安装程序软件包部署。 表2 2 概述了可用于更新应用程序的选择以及每个选择所支持的功能。 无接触部署更带有应用程序从文件共享获x c o p y 更新 w i n d o w s 安装 新更新存根的自取更新程序更新 动更新 非超级用户更是取决于应用程是 否 取决于应用程 新序的要求序的要求和应 l o 北京邮电大学硕士研究生毕业论文 用程序分发机 制 集中式更新管是是是否取决于应用程 理 序分发机制 在运行应用程是是否否否 序时下载更新 联合的更新基 否 是 否否 是 础结构 逐个用户组是是否否取决于应用程 进行更新序分发机制 事务性更新 否 是否否是 内置的版本控 否否否 否是 制支持 表2 - 2 智能客户端应用程序的更新方法 在大多数情况下,部署应用程序的最佳选择是使用w i n d o w s 安装程序软件包,或者 使用无接触部署和应用程序更新存根的组合。开发者将需要考虑在部署应用程序之后如 何有效地维护该应用程序以及部署更新。同样,在大多数情况下,最佳选择很可能是、 w i n d o w s 安装程序或由应用程序本身控制的自动更新。 2 5安全性问题 智能客户端是分布式应用程序。在服务器端,需要采用一种方法来保护网络、服务 器本身及其应用程序;在客户端,应集中于利用平台( 其中包括操作系统和 m i c r o s o f t m 玎f r a m e w o r k ) 的安全特性、客户端代码可以执行的特权操作( 代码访问安 全) 。在保护智能客户端时,考虑安全性包括以下几个方面: 身份验证这唯一地标识了客户端应用程序的用户,从而只有经过认可的用 户才能访问应用程序的全部或部分; 授权这确定唯一标识的用户可以执行的操作。这些操作可以是任务,也可 以是对授予经过身份验证的用户访问权限的资源进行的操作【4 j : 数据验证这确保只有适当的和有效的数据才能被应用程序接受。如果允许 任何用户输入而不首先验证数据,则攻击者就可以通过插入恶意的输入来危及 应用程序的安全1 5 j : 异常管理这确保应用程序适当地处理异常和失败,并且向用户返回友好的 非敏感信息。异常详细信息可以记录到应用程序日志中。 北京邮电大学硕士研究生毕业论文 第三章智能客户端技术在自动电话网管理系统中的应用 3 1系统设计的背景 本文所介绍的智能客户端技术在网络管理系统中的应用是基于一个具体的网络管 理系统的,即为自动电话网管理系统。这个系统原本是基于躺架构的,预期在好几个 省市使用,所以其部署和更新则需要花费大量的人力和物力,使系统的可用性大打折扣。 为此,引入了智能客户端技术,针对其中两个功能一一拨打测试实时监视和测试结果综 合统计分析显示功能进行了重新开发,以期验证引入智能客户端技术的网络管理系统是 否优于基于c s 架构的网络管理系统,如果验证成功,就可以将智能客户端技术应用于 整个自动电话网管理系统,以使得系统更加灵活可用。 为了让读者更加清晰的了解,本文先简要介绍一下自动电话网管理系统的总体架 构。 3 2自动电话网管理系统总体架构 自动电话网管理系统是对自动电话网网络运行和网络资源的自动化统一集中管理。 其完成的主要功能为: 1 ) 建立了针对全网电话的监控管理系统,实现对自动电话网运行状态,通话质量、 整体性能的实时监控和智能化的综合评估,实现对系统设备的有效管理; 2 ) 建成了网管监控系统应用数据库,以确保对系统各类运行信息( 性能、故障、 告警、配置等信息) 、原始资源信息的有效存储和综合查询、统计、分析;并可 实现多方式显示数据结果; 3 ) 提供完善的网管功能,包括故障管理、性能管理、配置管理、安全管理和系统 维护等主要功能。此外,还包括数据统计分析和网络拓扑动态显示等辅助功能; 4 ) 提供完整的事务流程管理,生成自动电话网各种业务所需的报告和交互。 自动电话网管理系统原本是基于c s 架构的系统,使用人员的主控制界面采用 w i n f o 珊的方式。改进后的系统具有开放的软件系统,服务器端采用w 曲s e r v i c c ,有标 准的格式和协议来支持。通过一致的接口方式向客户端提供服务,提高了系统的安全性 和可靠性。改进后的系统模型体系结构如图3 1 所示,智能客户端通过s o a p 消息与 w 曲s e r v i c e 进行交互。当从w 曲方法返回一个复杂数据类型,如一个d a t a s e t 时,会经 历一个称为x m :串行化的过程,在此过程中一个对象被转换为代表它的x m l 字符串。 w 曲s e r v i c c 提供必要的服务,对外提供一个统一的接口,通过对接口的调用,便可实 现定制的服务。服务调用是通过s o a p 消息进行的,复杂的数据类型通过x m l 串行化 的过程返回给客户。 北京邮电大学硬士研究生毕业论文 图3 1 模型的体系结构 在自动电话网管理系统客户端的部分主要重用并扩展了n e t 所提供的u p d a t e r a p p l i c a t i o nb l o c k ( u a b ) 等应用程序模块,图3 2 显示了客户端的设计结构。 北京邮电大学硕士研究生毕业论文 肿界面层 口业务逻辑层 。数据处理层 回 图3 - 2 客户端设计结构 在这一体系中,共封装了五个组件,其具体功能是:a u t o d i a l 是用户界面和u a b 的 前端支持;b l l ( 业务逻辑处理) 为业务逻辑处理组件,实现系统主要的业务逻辑处理 任务:c h a n g p a t h 用于实现系统配置文件的路径变更;d a t a s e r v i c e 用于数据操作和对 象实体映射处理;d a t a m o d e l 是数据s c h e m a ,采用强类型d a t a s e t 实现。从图中可以看 出,客户端部分采用了多层系统的结构,是系统的灵活性和可扩展性都得到了提高。并 且,采用多层结构,可以使得系统可以在用户需求变更的情况下保持较强的适应性。 在用户界面层a u t o d i a l 部分使用了三个m i c r o s o f ta p p l i c a t i o nb l o c k s ,分别是 u a b ,d a a b ( d a t aa c c e s sa p p l i c a t i o nb 1 0 c k ) 和e m a b ( e x c e p t i o nm a n a g e m e n t a p p l i c a t i o nb l o c k ) ,用来实现应用的自动更新,数据访问以及异常处理。a u t o d i a l 的结构图如图3 3 所示。 1 4 北京邮电大学硕士研究生毕业论文 图3 3a u t o d i a l 结构图 在用户界面层中,使用u a b 可以实现对n e t 应用智能更新支持,u a b 为应用提供 了下载,验证和后置处理机制。通过u a b 提供的接口,我们可以轻易对u a b 根据自己 需要进行扩展。 d 虬蛆是一个m 玎组件,它包含了优化的数据访问代码向s q ls e e r 数据库发布 命令,使用n 钆蛆能够减少创建、测试和维护数据库访问所需要的自定义代码。使用 钆蛆可以有效维护代码的统一性,提高应用开发的速度。 3 3设计面向服务的智能客户端体系结构 智能客户端应用程序设计的最终目标是要将胖客户端的传统优点与瘦客户端应用 程序的可管理性优点结合起来,但是要完全实现智能客户端应用程序的优点,特别是实 现离线可用,就需要在设计之初考虑客户端与服务器之间的网络通讯方法以及许多体系 结构的问题。 面向服务架构( s o a ,s e r v i c co r i e n t e d a r c h i t e c t u r e ) 是一种新兴的系统架构模型, 其主要概念是针对企业需求组合而成的一组软件组件。组合的元素通常包括:软件组件、 服务及流程三个部分。s o a 是当今软件开发的重要技术,通过s o a ,异构的系统整合 将变得容易,程序的复用性也将得到提高。智能客户端可以利用网络存取外部资源,它 与s o a 结合在服务器端和客户端采用合适的机制和方法,才能够发挥智能客户端的最 北京邮电大学硕士研究生毕业论文 大效能。 3 3 1智能客户端通信策略 在w i n d o w s 体系中,设计智能客户端可有多种连接外部资源的方式,如n e t e n t e 甲r i s es e r v i c e s 、m 玎r e m o t i n g 、消息队列和w 曲s e i c e s 。几种通讯方式各有优点, 本文仅讨论系统所应用的w e bs e i c e s 方式,对其它几种方式不做叙述。 w ,e bs e r v i c e s 主要目的是用来在两个不同的应用程序之间,使用某种协议好的通讯 协议来进行数据的交换。使用w 曲s e r v i c e s 可以整合多重环境与不同系统,这些系统不 会被特定的网页或是作业平台所限。对使用者而言,信息的存取将随手可得,不会被限 制在单一网页的浏览。对网络管理系统而言,信息与系统的整合将更加容易。 w 曲s e r v i c e s 是一个非常松散耦合的、分布式的体系结构,从应用程序的任意层都 可以访问,图3 4 是w e bs e r v i c e s 的体系结构图。 图3 4w e bs e r v i c e s 体系结构 w e bs e r v i c e 是生成大多数智能客户端应用程序的最佳方法,高度的互操作性使得 骱bs e r v i c e s 能够与各种各样的应用程序通讯。使用广泛采用的标准意味着它们通常 1 6 北京邮电大学硕士研究生毕业论文 只须进行最低限度的额外配置就可以通过网络基础结构和防火墙。 w e bs e r v i c e s 具有支持集成、可扩展、强大的行业支持、定义明确的标准、与供应 商语言无关和安全等优点,因此,它是用于将智能客户端应用程序连接到服务的最佳 机制。围绕w e bs e r v i c e s 通讯生成的体系结构可以在连接的环境和脱机环境中很好地 工作,并且支持能够自我描述且独立的粗粒度、无状态消息。对于i n t e r n e t 协议的依 赖使得客户端能够广泛发给i n t e r n e t 上的每个人。智能客户端可以充分的运用网络和 w e bs e r v i c e s 存取各种外部系统的资源。图3 5 显示了智能客户端与w e bs e r v i c e s 整合的架构。 p 阳 l 能客户端 囱 箩 臼 f 丽;臼9 臼 1 7 北京邮电大学硕士研究生毕业论文 3 3 2服务导向启用离线功能 在智能客户端应用程序中,有两个方法可以启用脱机功能:以数据为中心的方法和 面向服务的方法。由于系统设计所采用的主要是面向服务的方法,因此对以数据为中心 的方法就不再赘述了。 采用服务导向模式,客户端最主要是使用w e bs e r y i c e s 和后端服务器系统沟通, 主要是通过x m l 格式的s 0 a p 讯息达成数据的交换,如图3 6 所示。通常在这种架构中 的客户端会在本机中保存软件的数据和状态,一旦需要的时候,便会对w e bs e r v i c e s 发出存取数据库的要求,而关于数据的所有异动都是交由w e bs e r v i c e s 代为处理的。 图3 6 服务导向模式 智能客户端可以通过服务请求与网络上的服务进行交互,这些服务可能作为w e b 服 务来实现,或者通过某种其他机制来实现,但是该方法的基本特征是:客户端并没有与 它使用的服务紧密结合在一起,客户端和服务是彼此独立的。 在此方法中,客户端可以自由地与所需的任何服务进行交互。此外,客户端将重点 放在服务请求本身上,而不是放在对本地保存的数据进行直接更改上。服务请求可能会 导致客户端或服务器上的状态更改,但这些更改只是服务请求的副作用。 面向服务的方法包括以下特点: 1 ) 脱机逻辑封装在客户端上; 2 ) 客户端数据架构可以不同于服务器上的架构; 3 ) 自定义的业务逻辑可决定冲突检测和解决; 4 ) 实现面向服务的方法需要更多的设计和编码。 北京邮电大学硕士研究生毕业论文 使用服务导向模式的好处是一旦数据库的数据表定义或存取数据库的程序有所变 更时,也只需变更w e bs e r v i c e s 实际的撰写内容,无须变更客户端的程序。同时,由 于采用了w e bs e r v i c e s ,系统的整体架构是松散耦合的,只要确保客户端和服务器彼此 的服务接口没有变更,便可以在需要的时候修改服务器端存取数据库的程序代码,而不 致影响到客户端的部署及软件功能。 在使用服务导向模式时需要注意以下几点情况: 1 ) 数据异动同步处理:通常在智能客户端都会存有本机的快取数据,当客户端在 联机状况要求服务器端更新回传数据时,可能会遇到本机快取数据和远程数据 库不同步的问题,因此在设计服务导向架构的数据库存取服务组件时,需要特 别处理这种情形的发生。 2 ) 异步呼叫数据:由于智能客户端是通过网络呼叫w e bs e r v i c e s 请求数据,因此 客户端在等候数据处理完毕前通常是无法进行任何其它动作的,针对这个问题 可以使用异步存取数据模式的方法来处理,以便客户端在等候w e bs e r v i c e s 回传数据的期间,还可以进行其它的操作。 3 3 3服务代理机制 上一节阐述了采用服务导向模式启用离线功能,其中使用w e bs e r v i c e s 与服务器 进行交互。离线功能应包括把对服务器的请求指令保存,再等到系统联机时再发送请求, 对此采用队列技术来保存这些请求。在执行请求的过程中,必须使用异步通讯的机制, 避免造成客户端界面失效。在传统的w e bs e r v i c e s 调用过程中,系统会自动生成远程 w e bs e r v i c e s 的代理类,然后通过直接调用代理的方法完成远程调用,这样的运行方式 如图3 7 所示。 惑 智能客户端 瞄 应用程序 l 飞羧瀚缓戮缓渤糊 图3 - 7 传统方式调用w e bs e f v i c e s 1 9 北京邮电大学硕士研究生毕业论文 这种方法时客户端直接使用一个类进行调用,或直接在程序界面上调用。这种方法 不利于从应用程序中分离与w e bs e r v i c e s 交互的代码,也不利于添加离线特征,不方 便异步调用。 改进的方法是在调用代理类前增加一层服务代理,用于封装与w e bs e r v i c e s 交互 的代码,使之充分从用户界面分离,如图3 8 所示。 图3 8 代理方式调用w e bs e r v i c e s 使用服务代理机制来调用w e bs e r v i c e s 可从应用程序中分离出调用代码,重要的 是可以根据具体情况实现基类s e r v i c e a g e n t 。在基类的实现中,可以加入离线的特征, 如缓存数据、存储服务请求到队列中等待。综上所述,服务代理机制为服务导向程序启 用离线功能带来了便利。 3 4本章小结 本章中,作者首先介绍了用于实现智能客户端技术的网络管理系统环境一一自动电 话网管理系统,然后又介绍了面向服务的智能客户端体系结构的设计,其中主要阐述了 智能客户端的通信策略、如何用服务导向启用离线功能以及服务代理机制。在下一章中, 作者将详细介绍智能客户端的关键技术在自动电话网管理系统中的实现。 2 0 北京邮电大学硕士研究生毕业论文 第四章客户端部分关键技术的实现 为了体现智能客户端技术相对于c s 的优势,必须在自动电话网管理系统中实现无 缝连接和自动部署与更新的功能,为此,本章将就如何实现这些功能展开详细叙述。 4 1本地数据处理 4 1 1 检索登陆用户信息 在设计将智能客户端技术应用于自动电话网管理系统时,将网络管理系统中的用户 信息存储在本地的数据库里,当用户进入登陆界面并输入网管的用户名和密码时,由一 个事件触发将在本地用户信息库里搜索和所输入信息一致的项,如果存在该项则进入下 一界面,如果不存在则提示用户所输信息有误。 具体实现时,使用了a d o n e t 数据集中的d a t a s e t 来处理用户信息,并使用 s q l c 0 n n e c t i o n 来创建与本地数据库的连接,代码示例如下: p r i v a t e d a t a s e td s =n e w d a t a s e t o ; p r i v a t e d a t a t a b l e m y l a b l e ; s q l c 0 衄e c t i o nc o 仰e c t i o n = n e ws q l c o 曲e c t i o n ( d a t a b a s e ) c 0 衄e c t i o n o p e n o ; 实现匹配用户信息的代码如下: f o r ( i i l ti - 0 ;i m y t a b l e r o w s c o u n t ;i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 作战环境试题及答案
- 监察委面试题及答案
- 现代测井考试题及答案
- 地勘院面试题及答案
- 2025年合肥市和平小学第二小学教师招聘考试试题(含答案)
- 台球职业测试题及答案
- 热风技术考试题及答案
- 校园伴舞基础知识培训总结课件
- 2025年贵港市平南县事业单位选调小学教师考试笔试试题(含答案)
- 维生素基础知识练习题(附答案)
- 隔离开关设备检修(接触网技能培训课件)
- 龙虎山正一日诵早晚课
- 微积分的力量
- 中国股票市场投资实务(山东联盟)知到章节答案智慧树2023年山东工商学院
- 安徽宇邦新型材料有限公司年产光伏焊带2000吨生产项目环境影响报告表
- 号线项目tcms便携式测试单元ptu软件使用说明
- 艺术课程标准(2022年版)
- 癫痫所致精神障碍
- 卫生部手术分级目录(2023年1月份修订)
- 电荷及其守恒定律、库仑定律巩固练习
- YY 0666-2008针尖锋利度和强度试验方法
评论
0/150
提交评论