(应用数学专业论文)智能客户端技术在报名系统中的研究与应用.pdf_第1页
(应用数学专业论文)智能客户端技术在报名系统中的研究与应用.pdf_第2页
(应用数学专业论文)智能客户端技术在报名系统中的研究与应用.pdf_第3页
(应用数学专业论文)智能客户端技术在报名系统中的研究与应用.pdf_第4页
(应用数学专业论文)智能客户端技术在报名系统中的研究与应用.pdf_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

河南大学研究生硕士学位论文第1 页 摘要 随着市场需求的不断变化以及信息技术的迅速发展,传统的客户端开发技 术暴露了很多难以克服的缺点,系统功能单一、结构死板、难以部署和更新的 局限性阻碍了企业信息化的深入发展。为了克服这些缺点,企业界提出了很多 有意义的建议。其中微软提出在n e t 平台下的智能客户端就是一种非常具有代 表意义的客户端开发技术,这种技术在结合传统客户端开发技术优点的同时, 还克服了它们自身固有的缺点,从而成为下一代客户端开发技术的热点。 本文首先介绍了智能客户端开发技术产生的背景和特点,w e b 服务技术的 特点及其核心技术,然后详细分析了将智能客户端技术和w 曲服务技术完美结 合的面向服务的智能客户端技术的体系结构,重点分析了面向服务的智能客户 端开发技术实现的机制及其安全策略,最后结合河南省招生工作的特点,开发 了一套基于智能客户端的考生报名系统。 河南省普通高校成人招生报名系统的客户端充分利用了智能客户端开发技 术的原理,使之既有丰富的界面、快速的响应、支持离线工作的能力,又有在 线时能够利用w e b 服务技术与服务器进行交互、自动下载更新程序的特点。同 时,在结合河南省本省以及招生工作特点的前提下,系统对智能客户端的一些 关键技术进行了改进,从而使之更加灵活,更能适应招生工作的需求。主要改 进有以下几点: 1 、在数据处理中引进了超时机制,通过超时检查来判断上传是否成功,从 而避免出现某些数据一直处于上传状态而多次被上传的情况。同时,为了防止 同一个考生在多个报名点同时报名,多次上传的情况,我们引进了优先级制度, 通过判断用户的级别来确定此报名点是否有权限上传此次考生所报志愿。 2 、为了提高智能客户端的性能,我们引入基于队列和多线程的模式来处理 冗长的或者非常耗时的任务,同时,利用线程池来管理这些大量的线程。 3 、利用u p d a t e ra p p l i c a t i o nb 1 0 c k 架构的思想提出一个解决方案戗建三个 w i n d o w s 应用程序的方法来实现智能客户端自动检测更新的特点,从而改进了 智能客户端中c l i c ko n c e 技术不能实现程序运行时无法检测到服务器上是否有 更新、下载更新包时不支持断点续传和程序更新后未将旧版本覆盖或者删除的 缺陷。 这些改进在系统的实际运行中得到了很好的体现,改善了程序的结构,提 高和优化了系统的性能,使智能客户端开发技术更加的灵活和高效。 第l i 页河南大学研究生硕士学位论文 关键词:开发技术,智能客户端,w 曲服务,面向服务,c l i c ko n c e 河南大学研究生硕士学位论文第1 il 页 a bs t r a c t w i t ht h ec o n s t a n tc h a n g e si nm a r k e td e m a n da n dt h er a p i dd e v e l o p m e n to f i n f b 肿a t i o nt e c h n o l o g y ,t h et r a d i t i o n a ls y s t e me x p o s e sar i g i ds t m c t u r e ,n o te a s yt o d e p l o ya n du p d a t el i m i t a t i o n s t bo v e r c o m et h i sd e 行c i e n c y ,t h eb u s i n e s sc o m m u n i t y m a k eal o to fm e a n i n g f u lr e c o m m e n d a t i o n s i nw h i c h ,n e tp l a t f o mu n d e rt h es m a n c l i e n ti sat y p i c a lr e p r e s e n t a t i v eo ft h e s i g n i l f i c a n c eo fc l i e n td e v e l o p m e n to f t e c h n o l o g y ji tn o to n l yc o m b i n e st r a d i t i o n a lt e c h n o l o g yi nt h ed e v e l o p m e n to fc l i e n t t e c h n i c a lm e r i t s ,b u ta l s oo v e r c o m e st h ei n h e r e n ts h o r t c o m i n g so fi t so w n ,t h u s b e c o m i n gh o ts p o t so fc l i e n td e v e l o p m e n tt e c h n o l o g yo ft h en e x tg e n e r a t i o n t h i sp a p e ri n t r o d u c e st h eb a c k g r o u n da n dc h a r a c t e r i s t i c so ft h ed e v e l o p m e n to f s m a nc l i e n tt e c h n o l o g y ,t h ec h a r a c t e r i s t i c so fw e bs e r 、,i c e st e c h n o l o g ya n di t sc o r e t e c h n o l o g y a n dt h e nt h i sp a p e rt h o r o u g h l ya n a l y z e ss e r v i c e o r i e n t e ds m a r tc l i e n t t e c h n o l o g ya r c h i t e c t u r ew h i c hp e r f e c t l yc o m b i n e ss m a r tc l i e n tt e c h n o l o g yw i t hw e b s e r v i c e st e c h n o l o g y ,e s p e c i a l l yf o c u s i n go nt h es e c u r i t ys t r a t e g ya n dm e c h a n i s m so f t h ed e v e l o p m e n to fs m a nc l i e n tt e c h n o l o g y f i n a l l y ,c o m b i n i n gc h a r a c t e r i s t i c so f s t u d e n t si nh e n a np r o v i n c e ,t h i sp 印e rh a sd e v e l o p e das m a r tc l i e n tb a s e do nt h e c a n d i d a t e sv o l u n t a 巧c o l l e c t i o ns y s t e m t 1 1 ee n t r a n c ee x 锄i n a t i o ns i g n i n g - u ps y s t e mi nh e n a np r o v i n c em a k e sf u l lu s e o ft h ep r i n c i p l e so ft h es m a r tc l i e n tt e c h n o l o g yd e v e l o p m e n t ,a n dm a k e si tn o to n l y h a v er i c hi n t e r f a c e ,r a p i dr e s p o n s e ,a n dt h ea b i l i t yt ow o r ko f n i n es u p p o r t ,a n da l s o h a v et h ec h a r a c t e r i s t i c so fo n l i n ew h i c hc a na c c e s st ow e bs e r v i c e st e c h n o l o g yt o i n t e r a c tw i t ht h es e r v e r ,a u t o m a t i c a l l yd o w n l o a du p d a t e s a tt b es a m et i m e ,u n d e rt h e p r e m i s eo fh e n 锄p r o v i n c ei t s e l fa n dc h a r a c t e r i s t i c so fs t u d e n t sw o r k i n g ,t h es y s t e m i m p r o v e ss o m ek e yt e c h n o l o g yi nt h ed e v e l o p m e n to fs m a r tc l i e n tt e c h n o l o g y ,t h u s m a k i n gt h es m a r tc l i e n tm o r en e x i b l ea n dm o r er e s p o n s i v et ot h en e e d so f s t u d e n t s t h em a i ni m p r o v e m e n t si nt h et e c h n o l o g yo fs m a r tc l i e n th a v et h ef o l l o w i n gs e v e r a l p o i n t s : 1 、t h i sp a p e ri n t r o d u c e sao v e r t i m em e c h a n i s mi nd a t ap r o c e s s i n g ,b yw h i c hw e c a nc h e c kw h e t h e ru p l o a d i n gi ss u c c e e d e do rn o t ,t h u sa v o i d i n gf a i l i n gt ou p l o a d s o m eo ft h ed a t as e v e r a lt i m e s a n da l s o ,i no r d e rt op r e v e n tt h es a m ec a n d i d a t e s w h oe n r 0 1 li nm u l t i p l er e g i s t r a t i o np o i n t sa tt h es a m et i m ea n du p l o a ds e v e r a lt i m e s , w ei n t r o d u c eap r i o r i t ys y s t e m ,a n dw ec a nd e t e n ni n ew h e t h e rt h ec a n d i d a t e sh a v e 第l v 页河南大学研究生硕士学位论文 p e n n i s s i o nt ou p l o a dt 量l e i rr e g i s t r a t i o nw i s h e sb yj u d g i n gt h eu s e r sl e v e li n t h i s l l e g i s 重f a l i o 纛p o i n t 。 2 、l no r d e rt oi m p r o v et h ep e r f o r m a n c eo ft h es m a r tc l i e n t ,w eh a v ei n t r o d u c e d t h em e t h o db a s e do nt h eq u e u ea n d1 1 1 u l t i t h r e a d e dm o d e l ,w h i c hc a nd e a lw i t hl o n g o rt i m e c s u m i n gt a s ka n dc a nu s e 如r e a dp o o lt om a n a g e h e s el a r g e 删m b e r so f l 魏f e a 莲s 。 3 、 b yu s i n gf a m e w o r ki d e o l o 霹r yo fu p d a t e ra p p l i c a t i o nb l o c k ,t h i sp a p e rp u t f o r w a r das 0 1 u t i o nt oa u t o m a t i c a l l yd e t e c tt h eu p d a t e dc h a r a c t e r i s t i c so fs m a r tc l i e n t b ym e a 珏so fc r e a t i n gt h l e ew i n d o w sa p p l i e a t i o np r o c e e h i 薹e s ,a 薹l dt h u si m p r o v et h e s m a r te l l e n tt e e h n o l o g yw h i e he 勰n o tb ea c h i e v e di nt 魏ec l i c ko n c ea n de a 歉n o tb e d e t e c t e do nt h es e r v e rf o ru p d a t i n ga n dd o w n l o a d i n gt h eu p d a t e dp a c k a g ew h i c hd o n o ts u p p o r tc o n t i n u i n gu p l o a d i n go ft h eb r e a kp o i n ta n dt h ed e f e c t su n c o v e r e da n d u n d e l e t e di 觳专h eo l dv e r s i o n t 董l e s ei m p r o v e m e 班sh a v eb e e na c b i e v e dv e 搿w e l l 主ns y s t e m + sa c t u a lm o v e m e n l , i m p r o v et h ep r o c e d u r es t r u c t u r e ,e n h a n c ea n do p t i m i z es y s t e m sp e r f o 瑚a n c e ,a n d m a k et h ed e v e l o p m e n to fs m a r tc l i e n tt e c h n o l o g ym o r en e x i b l ea n dm o r ee 饿c i e n t k e y w o r d s : d e v e l o p l n e n t o f t e c 量l n o l o g y ; s h l a 赡 e l i e 稳t ,w e bs e l v i c e s , s e r v i c e 一0 “e n t e da r c h i t e c t u r e c i i c k0 n c e 关于学位论文独立完成和内容创新的声明 本人向河南犬孝提出硕士学位中。请本人郑重声明:所呈交的学住论文是 表人在孚师的指导下独立完成酌,对所研究的课题有新酌见解。据我所知腾 文中特别加以说明、标注和致谢的地方外,论文中不包括其他人已经发袁或撰 写过的研究成栗,也不包括其他人为获得任何教育、科研机构的学位或证书而 段保存、汇编学位论文( 纸质文本牵电子文本) 。 ( 涉及保密肉客妁学位论文在解客后适用本授权书) 学位获得者( 学位论文作者) 签名: 20o 学位论文指导教师鍪名: 20 河南大学研究生硕士学位论文第1 页 1 1 课题背景 第1 章绪论 由于市场的需要与科技的发展,计算机技术也在发生着日新月异的进步。 软件系统从早期封闭环境中运行的单机应用程序发展为在四通八达的网络架构 下交互运作的客户端应用系统,实现了信息沟通与资源共享的效果。以企业管 理信息系统( m i s :m a n a g e m e n ti n f o 肌a t i o ns y s t e m ) 为代表的管理数字化是现 代企业信息化的重要体现【ij 。所谓m i s ,是一个由人、计算机及其他外围设备 等组成的能进行信息的收集、传递、存储、加工、维护和使用的系统。它是一 门新兴的科学,其主要任务是最大限度的利用现代计算机及网络通讯技术加强 企业的信息管理,通过对企业拥有的人力、物力、财力、设备、技术等资源的 调查了解,建立正确的数据,加工处理并编制成各种信息资料及时提供给管理 人员,以便进行正确的决策,不断提高企业的管理水平和经济效益【2 1 。目前, 企业的计算机网络己成为企业进行技术改造及提高企业管理水平的重要手段。 传统的m i s 系统的核心是c s ( c 1 i e n t s e r v e r _ 客户端服务器) 架构。这 种开发方式具有数据传输效率高,用户界面友好,可以在客户端存储大量的用 户个性化信息等特点;但是,这种开发方式的缺点是一般局限在企业局域网内 部应用,而且需要在每一个终端都要安装完整的客户端程序如果客户端程序需 要改变时,要给每一个终端重新安装,更新起来很不方便。随着w e b 浪潮的迅 猛发展,软件体系架构也随之而变,出现了基于、b 的b s ( b r o w s e r s e r v e r _ 浏览器服务器) 架构m i s 系统。在这种架构中,系统的应用范围扩大到了整个 互联网,而且由于实现了零客户端,使人们的使用摆脱了客户端的限制,因此 得到了很大的发展。但是b s 系统也有它的先天不足,即它不能充分利用本地 资源,表现能力差,以及不能离线工作,这些都阻碍了它的发展【3 ,4 ,5 】。 随着计算机的处理器性能越来越强,硬盘和内存的性价比越来越高,以及 网络带宽的越来越大,人们对以前m i s 系统中c s 结构的“胖客户端”和目前 m i s 系统中b s 结构的“瘦客户端”又有了新的认识。如果我们能够利用强大 的本地资源( 处理器资源和存储器资源) 在保留“胖客户端”的快速交互能力、 大数据处理能力的同时,又能利用宽带网络( 网络带宽资源) 在互联网上像“瘦 客户端 一样进行畅通高效的部署、更新和交互,那么软件应用将呈现另一番 图景,软件架构将进入另一番天地,使用此软件中的人也将获得前所未有的价 值和用户体验。 第2 页河南大学研究生硕士学位论文 1 2 国内外现状 针对这种系统架构的诉求,一些企业提出了富界面应用r i a ( r i c hi n t e r f a c e a p p l i c a t i o n s ) 的概念,希望在发挥互联网的强大功能的同时,也充分发挥客户 机的表现能力。r i a 是集桌面应用程序良好用户界面功能与w e b 应用程序普遍 采用和快速、低成本部署以及互动多媒体通信的实时快捷于一体的新一代网络 应用程序【6 j 。r i a 中的r i c hc l i e n t ( 丰富客户端) 以文件形式,通过h t t p 传递 方式提供可承载已编译客户端应用程序的运行环境,客户端应用程序使用异步 客户服务器架构连接现有的后端应用服务器,这是一种安全、可升级、具有良 好适应性的新的面向服务模型,这种模型由采用的、b 服务所驱动。结合了声 音、视频和实时对话的综合通信技术使r i a 具有丰富的网上用户体验【_ 7 1 。图卜l 是r i a 的应用程序模型。 图1 1r i a 的应用程序模型 r l a 同时具有的w e b 及桌面应用程序两者的优势,主要包括:在消息确认 和格式编排方面提供互动用户界面;在无刷新页面之下提供快捷的界面响应时 间;提供通用的用户界面特性如拖放式;立即部署、跨平台、采用逐步下载来 检索内容和数据以及能够充分利用被广泛采纳的互联网标准 8 】。 比较有代表的技术有:j a v aa p p l e t 技术,a j a x 技术,m a c r o m e d i af l a s h f l e x 技术。 j a v aa p p l e t 技术是利用j a v a 语言编写的一些小应用程序,这些程序是直 河南大学研究生硕士学位论文第3 页 接嵌入到页面中,由支持j a v a 的浏览器( i e 或n e t s c a p e ) 解释执行能够产生特殊 效果的程序。它可以大大提高w e b 页面的交互能力和动态执行能力【9 1 。其工作 流程如图1 2 所示。 浏览器处埋( a p p le t 标记 0 装j | 、a p p l 吐类,创建a 昂l e t 又十象,分配系统资源 抽行a p p l 串的i 血t o 方法 r 卜 i 执行坤p 1e t 中的s t a r t o 方法 |执行a p p l 吐辜的p a i n t o 方法 : 返蕊 浏点闭 上 j :| 【彳亍a p p le tq 瑚d e s 协o y o 方法 图1 2a p p i e t 工作流程 a j a x ( a s y n c h r o n o u sj a v a s c r i p t a n dx m l ) 并不是一项新技术,而是一个 结合了j a v a 技术、x m l 、以及j a v a s c r i p t 的编程技术,使用客户端脚本与、b 服务器交换数据的、e b 应用开发方法【1 0 】。a j a x 利用x m lh t t p r e q u e s t 来获取 异步信息,x m la n dx s l t 来进行数据交换和操作,d o c u m e n to b i e c tm o d e l 来动态显示和交互以及利用x h t m l 和c s s 标准化来呈现。这种开发方法可以 使w e b 页面不用打断交互流程就能进行重新加裁,从而进行动态地更新。使用 a j a x ,你可以创建接近本地桌面应用的,直接的、高可用的、更丰富的、更动 态的、b 用户接口界面。w e b 应用的传统模式与a j a x 模式的比较如图1 3 所示。 第4 页河南大学研究生硕士学位论文 黑 嗽铲算# d a s s l c w 曲a p 叫i c a t i o nm o d e i p t 酬1 个飘h 嵋r p t 酬il 0咐眦+ 学蛐 1个 t p 童 : +十 a j a x w e ba p p l i c a t l o nm o d d 图1 3w e b 应用的传统模式与a i a x 模式的比较 f l e x 是m a c r o m e d i a 发布的p r e s e n t a t i o ns e e r ( 展现服务) ,它是i a v aw e b c o n t a i n e r 或者n e ts e r v e r 的一个应用,根据m x m l 文件( 纯粹的x m l 描述文件 和a c t i o n sc r i p t ) 产生相应得s w f 文件,传送到客户端,由客户端的f l a s hp l a y e r 或者s h o c k w a v ep l a y e r 解释执行,给用户提供接近的c s 的用户体验1 2 j 。 这些轻量级的r i c hc l i e n t 方法更接近于b s 架构,虽然提高了用户的体验, 但是只是对b s 改善了一些,并没有从根本上解决b s 架构的缺陷,而且这些 技术开发的复杂性高,开发效率比较低。 微软公司提出并大力推广的s m a r tc 1 i e n t ( 智能客户端) 技术更接近于c s 架构,注重解决c s 架构缺点的同时,又利用互联网来与服务器端进行交互。 特别是随着n e t 战略的推出,微软在v i s u a ls t u d i 62 0 0 5 中利用w i n d o w s 应用 程序的c 1 i c ko n c e 部署、发布以及、b 服务技术,轻松地将w i n d o w s 应用程序 的优点和w e b 应用程序的优点集于一身,使之既可以像、b 应用程序那样自动 升级,又可以使用丰富的w i n d o w s 窗体界面功能。其中c l i c ko n c e 技术解决了 传统c s 架构中自动更新以及更新文件版本冲突的问题,而、e b 服务又使客户 端能像b s 架构一样利用互联网与服务器交互【1 3 】。因此,r i c hc l i e n t 更适合作 为轻量级的基于浏览器的网络应用程序客户端;而智能客户端更适合作为 河南大学研究生硕士学位论文第5 页 w i n d o w s 桌面应用程序的智能客户端。 目前,在国外,智能客户端技术基本成熟,而在国内正处在起步阶段,国 内企业应用大部分还停留在b s 、c s 模式上,主要原因是智能客户端技术,特 别是离线应用还不是十分成熟,自动更新技术并不是太灵活,以及用于创建智 能客户端的软件包较少,而且实现不完整,如果要开发真正的智能客户端程序 需要自行编写大量代码;另外,企业对于是否需求使用智能客户端技术还处于 观望状态,这些原因使得国内智能客户端技术的研究和应用滞后于国外 1 4 】。 1 3 课题研究的目的及意义 随着智能客户端开发技术在国内逐渐的推广与应用,如何能够开发出更灵 活、更高效以及更安全的智能客户端系统是摆在我们面前的问题。 首先,由于智能客户端应用程序联网和脱机都可以正常工作,所以客户端 与服务器端数据的交互就难以很好的控制。联机状态下客户端与服务器端进行 数据交互时是跨域工作,无法利用事务来控制客户端的数据上传,需要设计一 个算法来解决判断数据是否已经正确上传到服务器以及由于出错导致不能成功 上传而又处于一直上传的状态,从而出现死循环状态的问题。由于用户可以利 用智能客户端系统在本地进行数据操作,如何确保本地数据与服务器端的数据 保持一致也是我们必需认真考虑的事情。同时,还存在多个用户同时对某一个 数据进行操作而引发的“数据并发”【l5 】可能,这样就会出现服务器端的数据到 底应该由谁来提交修改的问题。 其次,为了提高智能客户端应用程序的响应能力和操作能力,这样就需要 将冗长的或非常耗时的任务放在后台处理,启用多线程进行处理,如何才能合 理的管理这些多线程也是一个难题。 最后,在智能客户端自动下载功能中,微软提出了c l i c ko n c e 技术,利用 这种新的技术,程序开发者不需要担心更新中会出现版本冲突的问题,只需要 将更新后的程序在服务器端重新发布一下即可,而当客户端运行时会自动检测 到服务器端有更新,从而自动下载并更新。但是,这种技术在实际应用中不是 太灵活,还存在一些不足: ( 1 ) 程序运行时无法更新:利用c l i c ko n c e 技术更新应用程序时,如果 客户端一直在运行时,服务器端有更新,此时,客户端是检测不到的,只有当 客户端重新启动时才能检测到服务器端有更新。如果客户端一直在运行而没有 退出重新登陆,那么系统就有可能一直检测不到服务器上的更新,从而用户也 用不到最新的版本,这样就有可能影响到应用程序处理事情的安全性和正确性。 第6 页河南大学研究生硕士学位论文 ( 2 )不支持断点续传:c l i c ko n c e 技术更新程序时,在从服务器上下载 更新包时,不支持断点续传。应用程序只有全部将服务器端的更新文件下载下 来后才能j 卜确的更新,如果更新包没有下载完,那么更新程序会一直和服务器 交互,进行数据传输,而且客户端每一次连接服务器端下载新的更新包时都是 从头开始下载,即使上一次这个更新包已经下载了一部分。这样就有可能出现, 如果某个地方的网络不畅通、时断时续,而更新包又比较大,一时不能全部下 载,那么应用程序更新不了也就不能正常启动,从而导致应用程序不能使用。 ( 3 ) 更新时不能覆盖或者删除旧版本:智能客户端是先将服务器端的更 新包全部下载到本地,然后开始自动更新,如果每次更新包都比较大,那么每 次更新包都下载到本地,而且更新完后还不会自动删除,这样就会占用大量的 本地磁盘空间。 针对这些问题的研究对开发出具有个性化以及实用的智能客户端系统有着 很重要的实际意义。 本文的工作主要就是在分析现有的智能客户端开发技术的基础上,提出一 个新的智能客户端的自动下载更新功能并实现以及完善客户端数据处理机制, 从而使智能客户端更灵活、高效同时又不失安全。 1 4 论文的组织 全文分成六章。本章为绪论,介绍了本论文的课题背景、国内外研究现状 和课题研究的意义。第二章介绍了智能客户端产生的背景和特点。第三章详细 介绍了w e b 服务和与w e b 服务完美结合的智能客户端的体系结构。第四章对智 能客户端的安全策略进行了分析。第五章结合具体的项目介绍了智能客户端关 键技术的实现及改进。第六章总结全文,并指出下一步的研究设想。 河南大学研究生硕士学位论文第7 页 第2 章智能客户端 要深入了解智能客户端开发技术,我们需要先了解传统客户端开发模型的历 史以及它们各自的优点和缺点。 2 1 智能客户端的由来 随着计算机技术和网络技术的蓬勃发展,软件系统的开发早已从在封闭环 境中运行的单机应用程序发展为在网络架构下交互运作的客户端应用系统,实 现了信息沟通与资源共享的效果。目前传统的客户端应用程序模型有c s ( 胖客 户端) 模式与b s ( 瘦客户端) 模式。 c s 模式的应用程序属于胖客户端应用程序,二十世纪九十年代中期,随着 w i n d o w s 操作系统的流行,胖客户端应用程序的使用范围非常广泛。这种模式 将应用程序处理分成了两部分:在客户机上执行的处理和集中式服务器执行的 处理。一个典型的结构包含一个或多个在客户机上运行的应用程序,用户可以 查看并操作数据、处理相应的业务规则,同时提供一个丰富的用户界面,服务 器则负责集中进行数据的管理。 胖客户端的主要优点是充分利用了客户端资源,提供了高质量、响应迅速 的用户体验,并且网络传输量小,速度快,安全性较高。但随着应用程序和客 户端平台的复杂性不断增加,这种体系结构也显示出了诸多缺陷,包括客户端 与服务器的信息交互比较少,主要集中在数据访问方面,大部分程序均在客户 端执行无法充分利用网络的资源与服务。另外客户端程序难于部署及更新,而 且如果更新不当,还会引起d l l 版本冲突,即所谓的“d l lh e l l ”问题【1 6 】, 从而导致程序无法运行,同时这种客户端模式可维护性与可扩充性都比较差, 开发成本也比较高。 以上问题使得c s 模式在某些环境下无法很好的满足业务的需要,随着w e b 浪潮的汹涌澎湃发展,软件体系架构也随之而变,基于b s ( 浏览器服务器) 的三层架构开始成为软件架构师的优先选择。 b s 模式的应用程序属于瘦客户端应用程序,i n t e m e t 技术的发展提供了传 统胖客户端模型的替代模型,它解决了许多与应用程序部署和维护相关联的问 题。基于浏览器的瘦客户端应用程序是在中央、b 服务器上部署和更新的,服 务器负责处理所有用户的请求和业务逻辑,而在客户端只需要一个浏览器,它 负责解释、显示和处理应用程序的图形用户界面和它的数据。由于该模型具有 较好的可维护性与易管理性,使得服务端可以非常方便和快速地将它们的应用 第8 页河南大学研究生硕士学位论文 程序发布给规模庞大、多种多样的外部客户。 僵瘦客户端应用程序也其有一些甓显的缺点,主要包括:用户界瑟简单, 由于受制于h t m l 的限制无法像c s 模式那样使用丰富的用户界面来展示数 据;在此模式下工作需要网路传输量较大,不仅需要传输业务数据,还要传界 面内容。另外由于应用程序的大部分逻辑和状态位于服务器上,客户端会频繁 地向服务器发回数据和处理请求,一方面难于充分剥焉客户端豹计算机姿源, 另一方面浏览器必须等待响应到达,然后用户才能继续操作,因此,该模式响 应速度通常要比胖客户端应用程序慢得多。该问题会在低带宽或高延迟的情况 下被恶化,所产生的性能问题可能导致应用程序可用性和媚户效率大幅度下降, 也正因为如此,b s 模式的致命缺陷就是必须联网工作。 针对c s 架构与b s 架构都存在不可避免的局限,人们不禁要问:是否有 可能将c s 与b s 的优势融合起来呢? 微软的答案是肯定的。智能客户端就是 它给出的解决方案。微软认为智能客户端应用程序可以将胖客户端应用程序响 应快的优点和瘦客户端应用程序易部署和管理的优点结合起来,使之在资源的 利用上达到某种平衡,在一定程度上满足了用户的需要。 2 。2 智能客户端的定义与类型 智能客户端是微软公司基于n e t 平台推如的一项新技术,是易于部署和管 理的客户端应用程序,它通过统筹使用本地资源和到分布式数据资源的智能连 接,从而提供适应的、快速响应的和丰富的交互式体验。因此,可以说智能客 户端是结合了胖客户端与瘦客户端各自优点的应用程序。 智能客户端是一种可扩展的能集成不同应用的桌面应用程序:它可以无接 触部署、即需安装、动态加载、自动更新,可以方便的经、b 运行而不必担心 防火墙闻题,并可以方便的离线应用。根据智能客户端应用程序所面向的平台, 可以将智熊客户端的多种形式划分为三大类【l 秘:w i n d o w s 智能客户端、移动智 能客户端以及o m c e 智能客户端。 w i n d o w s 智能客户端应用程序,它通常使用w i n d o w s 窗体来提供传统风格 能震户界西,并杰应黑程序本身提供大部分功能,在适当的时候也可以与其他 应用程序集成或者协调其他应用程序。w i n d o w s 智能客户端应用程序主要适用 于作为传统的桌面类型程序进行部署和访问的情况。比较常见的应用产晶有: o u t l o o k 以及m i c r o s o rm o n e y 等。 移动智能客户端废雳程序,是在智能设备上运行的客户端应焉程牟,这些 智能设备包括p o c k e tp c 、s m 硪p h o n e 以及其他小型台式设备。此类程序通常 河南大学研究生硕士学位论文第9 页 用于提供对重要数据和服务的移动访问,或者在用户处于移动状态时收集和整 合数据。比较常见的示例有保险和金融数据收集应用程序、库存管理应用程序 和个人工作效率管理应用程序。 o 衔c e 智能客户端应用程序,是建立在m i c r o s o r0 币c e 平台上,通过w e b 服务访问数据源并与w o r d 、e x c e l 、l n f o p a t h 等工具集成协作来开发的智能客户 端。 2 3 智能客户端的特点 智能客户端是将胖客户端应用程序和瘦客户端应用程序的优点结合在一起 的一种新开发模式,特点如图2 1 所示。 冬 胖客户端智能客户端 一一、一一一一一一 瘦客户端 秒 图2 1 智能客户端特点 可以说,智能客户端是下一代客户端应用程序的代表,其突出特点是: ( 1 ) 充分利用客户端资源智能客户端是在本地机器上运行,能充分发挥客 户端的优势,减轻服务器的负担,最大化地利用本地资源,响应速度快。 ( 2 ) 无接触部署利用、b 服务器来实现应用程序的部署,这种技术称为 无接触部署【18 | 。利用该技术,用户安装时只要将一个主程序文件下载到客户端, 直接运行即可,无需改变注册表或共享的系统组件,其他应用组件将在第一次 运行时自动下载。 ( 3 ) 自动更新对智能客户端的更新非常简单,只需将更新后的应用程序发 布到服务器上,当用户在客户机上再次使用该应用程序时会自动下载并更新应 用程序【i9 | 。通过版本号来区分多个版本的d l l ,解决了d l l 的版本冲突问题。 ( 4 ) 动态加载应用组件根据应用系统的公共接口开发的应用组件可发布 第1o 页河南大学研究生硕士学位论文 在服务器上,客户端应用程序将自动发现并加载这些应用组件。 ( 5 ) 离线运用既支持与服务器连接时的系统运行,又允许脱离服务器时, 利用本地的客户端程序和应用组件进行工作。 ( 6 ) 个性化用户界面用户可根据喜好自行设置客户端应用程序,配置信息 被保存到服务器上。下次登录后,用户从服务器获取并解析这些个性化配置信 息来恢复鲻户定制的成焉程序。 2 4 本章小结 本章介绍了客户端应用程序的发展历程,分搴厅了传统客户端c s 模式和b 7 s 模式的优点和缺点,并给出了既结合了传统客户端开发模式的优点又摒弃了其 各自缺点的智能客户端开发技术的定义、类型以及特点。 河南大学研究生硕士学位论文第11 页 第3 章面向服务的智能客户端 面向服务的智能客户端被称为s e r v i c e o r i e n t e ds m a r tc l i e n t ( s o s c ) 。s o s c 是一个智能系统,可以灵活高效的使用多样的w e b 服务和本地资源。s o s c 通 过将智能客户端与w e b 服务有机的结合起来,构建起一个松散藕合的分布式体 系结构,把智能性与敏捷性融合到了面向服务的架构中从而扩展了客户端的能 力,使企业的应用解决方案具有更好的灵活性与扩展能力,能够有效的降低软 件的开发成本,增加市场投资效益,必将成为业务应用开发的一个主流趋势。 3 1 面向服务架构( s o a ) s o a ( s e r v i c e o r i e n t e da r c h i t e c t u r e ,也叫面向服务的体系结构或面向服务架 构) 是指为了解决在i n t e m e t 环境下业务集成的需要,通过连接能完成特定任务 的独立功能实体实现的一种软件系统架构【20 1 。s o a 是一个组件模型,它将应用 程序的不同功能单元( 称为服务) 通过这些服务之间定义良好的接口和契约联系 起来。接口是采用中立的方式进行定义的,所谓中立,指的是它应该独立于实 现服务的硬件平台、操作系统和编程语言【2 1 1 。这使得构建在各种各样的系统中 的服务可以以一种统一和通用的方式进行交互。 传统的w 曲( h t m l h t t p ) 技术有效的解决了人与信息系统的沟通问题,极 大的促进了b 2 c ( b u s i n e s s t o c u s t o m e r ) 模式的发展。w e b 服务 ( x m l s o a p w s d l ) 技术是要有效的解决信息系统之间的沟通问题,促进 b 2 b e a i c b z c 的发展。s o a ( 面向服务的体系) 则是采用面向服务的商业建模 技术和、b 服务技术,实现系统之间的松耦合,实现系统之间的整合与协同。 w 曲服务和s o a 本质思路在于使得信息系统个体在能够沟通的基础上形成协同 工作。 对于面向同步和异步应用的,基于请求响应模式的分布式计算来说,s o a 是一场革命。一个应用程序的业务逻辑( b u s i n e s sl o g i c ) 或某些单独的功能被模块 化并作为服务呈现给消费者或客户端。这些服务的关键是他们的松耦合特性。 例如,服务的接口和实现相独立。应用开发人员或者系统集成者可以通过组合 一个或多个服务来构建应用,而无须理解服务的底层实现。可以说,一个服务 既可用n e t 来实现也可用j 2 e e 来实现,而使用该服务的应用程序可以在不同 的平台之上,使用的语言也可以不同。 第12 页河南大学研究生硕士学位论文 3 2w e b 服务 w e b 服务是一种新型的网络应用技术,能够通过网络标准协议调用的自描 述的、自包含的模块应用,是一种建立互操作分布式应用程序的新平台【22 | 。从 表面上看,w 曲服务就是一个应用程序,它向外界公布了一个能够通过网络进 行调用的a p i ,这就是说能够用编程的方法通过、b 来调用这个程序。w e b 服 务以开放的标准为基础构建在i n t e m e t 上,为应用开发提供了一个灵活的、松散 耦合的分布式计算环境。并且w e b 服务屏蔽了底层的应用平台,具有良好的平 台无关性。 3 2 1w e b 服务体系结构 w 曲服务通常采用面向服务的体系结构,定义了服务提供者、服务请求者、 服务代理三个角色以及发布、查找、绑定三种操作23 1 。这些角色和操作一起作 用于、b 服务构件一一、b 服务软件模块及其描述。w 曲服务体系架构如图 3 1 所示。 图3 1w e b 服务的体系结构 3 2 2w e b 服务核心技术 w 曲服务自产生以来,一连串的技术规范相继成为w 3 c 的推荐标准,包 括x m l 、w s d l 、s o a p 、u d d i 等,其中w s d l 用来描述、b 服务的编程 接口,s o a p 则为应用程序和w e b 服务提供通讯手段,u d d i 用来发布和发现 w 曲服务,而所有的这些规范都是基于x m l 。构建一个完整的w 曲服务体系 河南大学研究生硕士学位论文第13 页 需要一系列的协议规范来支撑,图3 2 所示是w 曲服务的协议栈,其底层是已 定义好并广泛使用的传输层和网络层的标准:i p 、h t t p 、s m t p 等。之上是目 前开发的w 曲服务相关的标准协议,包括服务调用协议s o a p 、服务描述协议 w s d l 和服务发现集成协议u d d i ,以及服务工作描述语言w s f l 。再上层是 更高层的待开发的关于路由、可靠性以及事务等方面的协议。各个协议层都

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论