




已阅读5页,还剩74页未读, 继续免费阅读
(计算机应用技术专业论文)基于qt的富客户端软件设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
p 一 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签轹一一趣滋e ii i i :砂朋日 论文使用授权 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名: 拯:罐 导师签 日期: 一 摘要 摘要 随着网络的不断发展,信息的交流越来越广泛。针对以往c s 和b s 模式下 的客户端软件效率低的问题,提出了高效率、可移植性的富客户端概念。以富客 户端软件设计为实例,分析了基于q t 图形用户界面( g u i ) 的具体实现关键。详 细介绍了t c p 、f t p 、h t t p 协议下客户端的编程步骤,并给出了软件设计流程和 程序代码。 本文的研究主要有三个核心部分:一是富客户端技术的引入;二是详尽分析 了q t 强大的编程功能;三是针对富客户端软件的开发,给出了设计与实现过程。 本文通过介绍新兴的富客户端概念产生的背景,对s m a r t 较成熟的c l i e n t 富客 户端开发技术进行了研究。以此为基础,根据富客户端软件的需求,结合q t 平台, 提出了基于富客户端技术的、智能化、易扩展的软件设计总体架构,并给出了其 中部分功能模块的实现方案。 富客户端将改变传统b s 结构中的“哑 客户端,构建异步通信,实现无刷 新w e b 应用,减少h t t p 请求中出现的等待现象,提高w e b 应用程序执行效率。 当前应用程序的开发重心不断地向w e b 应用程序开发转移。在此情况下,富客户 端技术已经成为w e b 应用程序开发的一项新兴的技术。 早期的w e b 应用主要是传输文本数据( 比如h t m l 页面) ,而它们传输的是 静态的页面,客户端只有和服务器端进行交互,页面的内容才会改变。客户端和 服务器端的交互会导致页面的整体切换。r i a 富客户端技术则克服了h t m l 的限 制,它将页面的切换限制在更小的局部,只有需要切换的内容才会进行更新,这 样不但减轻了服务器端的负担,而且传输的内容会更少,更利于数据传输,会获 得更好的用户体验。q t 是一个使用广泛的跨平台图形界面开发工具,可用于 w i n d o w s 、l i n u x 、m a co s x 和许多平台。q t 具有良好的结构化、灵活的面向对象 的结构、清晰的文档以及直观的a p i ,为开发富客户端软件提供了良好的支持。 关键词:富客户端,r i a ,q t ,q t n e t w o r k a b s t r a c t a b s t r a c t a st h en e t w o r kc o n t i n u e st od e v e l o p ,t h ee x c h a n g eo fi n f o r m a t i o nb e c o m em o r e a n dm o r ew i d e l y b a s e do nc sa n db sm o d ef o rt h ep a s t ,t h ep r o b l e mo fl o w e f f i c i e n c yo ft h ec l i e n ts o r w a r e ,w ep r o p o s e ah i g h - e f f i c i e n c ya n dp o r t a b i l i t yo ft h er i c h c l i e n tc o n c e p t t h er i c hc l i e n ts o f t w a r ed e s i g na sa ne x a m p l e ,w ea n a l y z et h eq t - b a s e d g r a p h i c a lu s e ri n t e r f a c e ( g u i ) o ft h ec o n c r e t er e a l i z a t i o no ft h ek e y d e t a i l so ft h et c p , f t p , h t t pp r o t o c o lc l i e n t - s i d ep r o g r a m m i n gu n d e rt h es t e p sa n dg i v e st h es o f t w a r e d e s i g np r o c e s sa n dp r o g r a mc o d e t h i ss t u d yt h e r ea r et h r e ec o r ec o m p o n e n t s :f i r s t ,t h ei n t r o d u c t i o no fr i c h c l i e n t t e c h n o l o g y ;s e c o n di sad e t a i l e da n a l y s i so ft h eq tp o w e r f u lp r o g r a m m i n gf u n c t i o n s ;t h e t h i r di st h ed e v e l o p m e n to fr i c h - c l i e n ts o f t w a r e ,g i v e st h ed e s i g na n di m p l e m e n t a t i o n p r o c e s s t h i sp a p e rd e s c r i b e st h ee m e r g i n gc o n c e p to fr i c h c l i e n tt h eb a c k g r o u n d ,t h em o r e m a t u r ec l i e n tf o rs m a r tr i c hc l i e n td e v e l o p m e n tt e c h n i q u e sw e r es t u d i e d o nt h i sb a s i s , a c c o r d i n gt o t h en e e d so fr i c hc l i e n t s i d es o f t w a r e ,c o m b i n e dw i t hq tp l a t f o r m ,i s p r o p o s e db a s e do nr i c h - c l i e n tt e c h n o l o g y , a n di n t e l l i g e n t ,a n ds c a l a b l es o f t w a r ed e s i g n t h eo v e r a l la r c h i t e c t u r ea n df u n c t i o nm o d u l e sa r eg i v e ns o m eo ft h er e a l i z a t i o no ft h e p r o g r a m 黜c hc l i e n tw i l lc h a n g et h et r a d i t i o n a lb ss t r u c t u r e ,t h e ”d u m b ”c l i e n t ,b u i l d a s y n c h r o n o u sc o m m u n i c a t i o n ,r e f r e s h f r e ew e ba p p l i c a t i o n s ,a p p e a rt o r e d u c et h e w a i t i n gh t t pr e q u e s t s ,a n dr a i s et h ee f f i c i e n c yo fw e ba p p l i c a t i o np r o g r a m e x e c u t i o n a tp r e s e n t ,a p p l i c a t i o nd e v e l o p m e n tc e n t e rc o n t i n u o u s l yt r a n s f e r r e dt ot h ew e b a p p l i c a t i o nd e v e l o p m e n t i nt h i sc a s e ,t h er i c h c l i e n tt e c h n o l o g yh a sb e c o m et h ew e b a p p l i c a t i o nd e v e l o p m e n ta n e wt e c h n o l o g y t h ee a r l i e s tw e b s i t e sw e r ej u s tc o n v e y o r so ft e x td a t a ( s u c ha sh t m lp a g e s ) h t m l p a g e s ,a r er e f e r r e dt oa ss t a t i co ru n c h a n g i n gp a g e s t h i sw e bp a g ew i l ln e v e r c h a n g eu n l e s ss o m e o n ep h y s i c a l l yg o e si na n dc h a n g e si t at r a d i t i o n a lw e bp a g eg o e s f r o mp a g et op a g eb ys e n d i n ga n o t h e rr e q u e s tb a c kt ot h es e r v e ra n dg o i n gt h r o u g ht h e p r o c e s sj u s td i s c u s s e d w h i l e ,砒c hi n t e m e ta p p l i c a t i o n ( r i a ) o v e r c o m e sm a n yo ft h e a b s t r a c t l i m i t a t i o n so ft r a d i t i o n a lh t m li nt h a ti ti sn e a r l yi n d i s t i n g u i s h a b l ef r o mad e s k t o p a p p l i c a t i o n r i aa p p l i c a t i o n s ,d on o tn e e dt ob er e b u i l tc o m p l e t e l y o n l yt h er e q u e s t e d d a t ai sr e t u r n e da n dp l u g g e di nw h e r en e e d e d ,t h i sm e a n sd e c r e a s e dd e m a n d so nt h e s c r v e ra n dm u c hs m a l l e rf i l es i z e s q ti sg u if o rh i g hp e r f o r m a n c eo fc r o s s - p l a t f o r m s o f t w a r ed e v e l o p m e n ta n dc a nb eu s e di nw i n d o w s ,l i n u x ,m a c o s xa n dal o to f p l a t f o r m s o th a sg o o ds t r u e t u r e :af l e x i b l eo b j e c to r i e n t e ds t r u c t u r a l ,d i s t i n c td o c u m e n ta s w e l la sv i s u a la p i i th a so f f e r e dag o o ds u p p o r tt od e v e l o pt h er i c h - c l i e n ts o f t w a r e k e y w o r d s :r i c hc l i e n t ,r i a ,q t ,q tn e t w o r k i i i 目录 摘要 a b s t r a c t 目录 目 录 i 第一章绪论1 1 1 研究背景及意义1 1 2 研究现状2 1 2 1 一切皆异步2 1 2 2 视图管理3 1 2 3 事件管理3 1 2 4 线程管理4 1 2 5 缓存与本地存储。4 1 3 论文工作及内容安排5 第二章富客户端技术6 2 1 富客户端技术6 2 1 1 “瘦客户端”( t h i nc l i e n t ) 和“胖客户端”( r i c hc l i e n t ) 6 2 1 2 富客户端技术7 2 2 客户端应用程序8 2 2 1 当前客户端应用程序模型比较8 2 2 2 客户端应用程序应具备的其他功能9 2 3 富客户端的工作模型一1 0 2 4r 队开发1o 2 4 1r i a 概j 苤1 0 2 4 2r i a 的产生背景1 1 2 4 3r i a 的应用程序模型1 2 i v 目录 2 4 4r i a 的优势1 2 2 4 5 需要解决的问题1 4 2 4 6r i a 的现状及发展趋势1 4 2 5 本章小结1 5 第三章软件开发工具与环境。 3 1 什么是q t 。16 3 2 使用q t 编程的优点1 6 3 3q t 开发环境介绍17 3 3 1q t e 的体系结构1 7 3 3 2q t 软件开发工具包( q ts d k ) 19 3 4q t 的编程概述2 1 3 4 1q t 的q t n e t w o r k 类2 1 3 4 2 槽和信号机制2 l 3 4 3 事件和事件过滤器2 3 3 5 开发环境。2 5 3 6 本章小结。2 5 第四章基于q t 的t c p 应用2 6 4 1 基于q t 的t c p 协议实现2 6 4 1 1t c p 协议简介2 6 4 1 2 富客户端软件体系结构2 7 4 2 基于q s o c k e t 的富客户端设计2 7 4 2 1q s o c k e t 简介2 7 4 2 2 客户端编程实例2 9 4 3 基于q t n e t w o r k 的富客户端设计3 3 4 3 1t c p 富客户端设计3 3 4 3 2 服务器端设计3 7 4 3 3q t e 网络通信中的信号与槽4 2 4 4 本章小结4 2 v 目录 第五章基于q t 的f t p 应用。 4 3 5 1f t p 协议4 3 5 1 1f t p 协议简介4 3 5 1 2f t p 工作模式4 4 5 2f t p 富客户端设计4 5 5 2 1f t p 富客户端软件需求分析4 5 5 2 2 功能需求4 5 5 2 3 软件总体分析与设计4 5 5 3f t p 富客户端实现4 6 5 4 本章小结5 0 第六章基于q t 的h t t p 应用5 1 6 1h t t p 协议51 6 1 1h t t p 协议简介5 1 6 1 2h t t p 协议的特点一5 2 6 1 3h t t p 协议的工作方式5 3 6 1 4h t t p 协议的内部操作过程5 3 6 1 5 请求信息与请求方法5 3 6 1 6h t t p 协议的作用原理5 5 6 2h t t p 富客户端设计5 5 6 3 本章小结5 8 第七章总结与展望6 0 致谢6 :i 参考文献6 4 个人简历及攻硕期间取得的研究成果6 7 v i 第一章绪论 1 1 研究背景及意义 第一章绪论 随着计算机技术的快速发展,各种新平台、新技术不断涌现,使得计算机软 件生产厂商及其设计人员面临着如何适应多种平台,多操作系统共存的问题。传 统的客户端开发技术由于存在许多不足,难以解决在实现系统客户端功能时所面 临的问题。被称为“胖客户端”【4 】的c s 架构客户端技术的主要不足在于:需要 专门的客户端安装程序,分发能力较弱,针对点多面广且网络条件较差的用户群 体,难以实现客户端应用的快速配置部署;后期的系统维护较困难,尤其针对大 范围的客户端应用,客户端应用程序的版本控制也是难题;跨平台能力较弱等。 被称为“瘦客户端 【4 】的b s 架构客户端技术则主要存在以下不足:交互性较差, 用户界面不够丰富友善,部分功能实现的流程更加复杂,无法充分发挥本地操作系 统平台的优势;“瘦客户端过于依赖网络连接,系统中所有的h t m l 页面采用动 态刷新,响应速度较c s 架构客户端应用降低不少;与c s 架构相比,缺少功能 成熟强大的开发工具的支持,许多b s 开发技术甚至只能用编辑器加命令行的方 式来开发调试;对终端平台的适应性有限。为了解决上述问题,近年来提出了富 客户端概念。它充分结合原有客户端开发技术的优势,利用各种新技术改造原有 技术存在的不足,是一种面向未来的客户端实现技术。其中,微软公司提出的s m a r t c l l e n t 技术就是一种较成熟的富客户端实现方案。智能客户端应用既有w i n d o w s 应用程序的强大用户界面,又具备w e b 应用升级与更新的便捷性。经过设计, 智能客户端应用可以将“胖客户端”与“瘦客户端”的优点结合起来。 富因特网应用程序( r i c hi n t e r n e ta p p l i c a t i o n s ,r i a ) l l j 利用具有很强交 互性的富客户端技术来为用户提供一个更高和更全方位的网络体验。r i a 集成了桌 面应用的交互性和传统w e b 应用的部署灵活性与成本分析,以创建单一而完整的 用户体验。富客户端技术使创建r i a 成为可能,它提供一个运行时的环境以承载 被编译的客户端应用程序,该客户端应用程序是一个使用h t t p 协议发布的文件。 客户端应用程序使用异步的c s 结构连接到现有的应用服务器,这是一种安全的、 可升级的、具有良好适应性的面向服务模型,这种模型由当前所采用的w e b 服务 驱动。 富客户端技术正在不断地完善中,但并不意味着会取代h t m l 。相反它将进一 步扩展浏览器功能,使之提供更加高效和友好的用户接口。许多r i a 都在浏览器 中运行,甚至它本身就是h t m l 的一部分,所以h t m l 将继续保持其原有的角色。 电子科技大学硕士学位论文 另外,由于富客户端技术可以支持运动的图象、视频、音频、双向的数据通信和 创建复杂的窗体,它为创建应用程序用户接口提供了一个高效而完善的开发环境。 q t 是一个使用广泛的跨平台图形界面开发工具,可用于w i n d o w s 、l i n u x 、 m a co s x 和许多平台。q t 具有良好的结构化、灵活的面向对象的结构、清晰的文 档以及直观的a p i ,为开发跨平台桌面应用程序的人机交互界面提供了良好的支 持。q 是一个用于桌面系统和嵌入式开发的跨平台应用程序框架。它包括一个直 观的a p i 和一个丰富的类库,以及用于g u i 开发和国际化的集成工具,另外它支 持j a v a t m 和c + + 开发。利用它,无须重新编写源代码,便可以构建运行在不同桌 面操作系统和嵌入式设备上的软件应用程序。 使用q t 开发的应用程序不但具有很强的移植性,同时具有很高的运行效率, 自从它进入商业领域以来,已经成为全世界范围内很多成功案例的基础,并备受 科学计算、三维建模、应用软件开发的青睐。所以,我选择q t 作为富客户软件开 发的基础,同时将q t 作为整个软件系统的基础。 1 2 研究现状 富客户端软件开发的原则可以分为一切皆异步、视图管理、事件管理、线程 管理、缓存与本地存储五条基本原则。 1 2 1 一切皆异步 以传统的w e b 应用程序为例来做对比。传统的w e b 应用程序是以页面为单位 基于h t t p 的无状态的协议。只要针对当前页面有更新,无论是请求新的资源还 是仅仅提交了一个用户名密码的验证,都必须打开新的页面。尽管开发人员采用 了诸如母版页、框架、c s s 样式等各种各样的手段,而且也收到了一定的效果, 但基于页面为切换单位的事实一直无法彻底改变。用户体验和网络传输速度的瓶 颈无法真正实现突破。而富客户端技术则是换一个角度来解决上述的问题,把页 面这样的单位进行进一步的细化,把需要变化的、需要进行传输的内容尽量局限 在一个小的区域,这样一方面可以减轻服务器的负担,另外也可以提升用户体验 使客户端效果和网络传输的矛盾得以极大的缓解。 所有耗时的操作都应当异步进行【2 0 | 。这是第一条、也是最重要的原则,违背 了这条原则将会导致应用完全不可用。 2 页面块 u 建,在 了,点 就能够 打开一个新的页面,旧的页面被浏览器销毁,新的页面诞生。 如果把这种想法带入到r i c h c l i e n t 开发,后果会很糟糕。每当点击按钮或者进 行其他操作需要导航到新的窗口,不加任何限制的创建新窗口或者新的视图。然 而c p u 不是无限的。创建一个新的视图通常是很耗c p u 和内存的。系统响应会变 慢。每次新创建视图产生的严重后果并不仅仅是非功能性的,还包括功能性的缺 失。如何解决这个问题? 最简单的方式是将所有已知的视图全都保存到本地的一 个缓存中。导航需要解决的问题有两个,如何导航以及如何在导航时传递数据瞄引。 1 2 3 事件管理 事件管理应当是整个r i e h c l i e n t r i a 开发中的最难以把握的部分。这部分控制 的好,程序用起来将如行云流水,用户的思维不会被打断。任何一个r i c h c l i e n t 开发的程序员,可以对其他方面毫无所知,但这部分应当非常熟悉。事件是r i a 的核心,是“一切皆异步的终极实现。例如获取股票数据,从事件的观点看, 应该是:看起来相当复杂。然而这样去考虑的时候,可以将执行计算与界面展现 清晰的分开。界面只需要响应事件,运算可以在另外的地方悄悄的进行,并当任 务完成或者失败的是时候报告相应的事件。从经验看来,往往同样的数据会在不 同的地方进行不同的展示;m s n 的个人签名在好友列表窗口中显示为一个点击可 以编辑控件,而同时在聊天窗口显示为一个不能点击只能看的标签。这是m c h c l i e n t 的特性,永远不知道同一份数据会以什么形式来展现,更要命的是,当数据 在一个地方更新的时候,其他所有能展现的地方都需要同时做相应的更新。 一个好的事件管理、通知机制是一个良好r i c h c l i e n t 应用的根本基础。一般说 来,正在使用的编程平台如s w i n g w i n f o r m w p f f l e x 等能够提供良好的事件响应 机制,即监听事件、o n x x x 等,但一般没有统一的事件的监听和管理机制。对于 架构师,对于要使用的编程平台,对于这些的原生支持要了熟于心,在编写这样 的事件架构的时候也能兼顾这些语言、平台提供给的支持。 3 电子科技大学硕士学位论文 1 2 4 线程管理 在w e b 开发中几乎无需考虑线程,所有的页面渲染由浏览器完成,浏览器会 异步的进行文字和图片的渲染,只需要写界面和程序就好。如果认同“一切皆异 步 ,就一定得考虑线程管理。 毫无管理的线程处理是这样的:凡是需要进行异步调用的地方,都新起一个 线程来进行运算。这种方式如果托管在在“事件管理之下,问题不大,只会给 测试带来一些麻烦:不得不等待一段时间来确定是否耗时操作完成。更好的的方 式是将这些线程资源进行统筹管理。线程的管理的核心功能是用来统一化所有的 耗时操作。 1 2 5 缓存与本地存储 纯粹的b s 结构,浏览器不持有任何数据,包括基本不变的界面和实际展现 的数据。r i c h c l i c n t 的一大进步是将界面部分本地持有,与服务器只作数据通讯, 从而降低数据流量。像魔兽世界1 0 多g 的超大型客户端,在普通的拨号网络 都可以顺畅的游戏。 缓存与本地存储之间的差别在于,前者是在线模式下,将一段时间不变的数 据缓存,最少的与服务器进行交互,更快的响应客户;后者是在离线模式下,应 用仍然能够完成某些功能。一般来说,凡是需要类似于“查看x x x 历史”功能的, 需要“点击列表查看详细信息 的,都会存在本地存储的必要,无论这个功能是 否需要向用户开放。 无论是缓存还是本地存储,最需要处理的问题如何处理本地数据与服务器数 据之间的更新机制。当新数据来的时候,当旧数据更新的时候,当数据被删除的 时候,等等。一般来说,引入这个实践,最好也实现基于数据变化的“事件管理 。 如果能够实现“客户机一服务器交互模式”那就更完美了。 本地存储会在根本上影响r i c h c l i e n t 程序的架构。除非本地不保存任何信息, 否则本地存储一定需要优先考虑。当本地存储+ 自动同步机制与“事件管理都实 现的时候,应用会是一种全新的架构:基于数据驱动的事件结构。对于所有本地 数据的增删改都定义为事件,将关心这些数据的视图都注册为响应的观察者,彻 底将数据的变化于展现隔离,界面永远只是被动的响应数据的变化。 4 第一章绪论 文工作及内容安排 本文以富客户端概念产生的背景,对s m a r t 较成熟的c l i e n t 富客户端开发技术 进行了研究。在此基础上,根据富客户端软件的需求,结合q t 平台,提出了基于 富客户端技术的、智能化、易扩展的软件设计总体架构,并给出了其中部分功能 模块的实现方案。根据研究内容,论文的章节安排如下: 第一章为绪论,介绍了论文研究背景及意义,目前该领域研究现状以及本文 的主要工作和论文的总体安排。 第二章阐述了本论文研究的相关理论基础,介绍了富客户端技术产生的背景。 第三章首先描述了软件开发的工具与环境,简要介绍了q t 界面系统和嵌入式 开发的跨平台应用程序框架。 第四章介绍了基于q t 的t c p 的应用,并给出了设计与实现的流程。 第五章介绍了基于q t 的f t p 的应用,并给出了设计与实现的流程。 第六章介绍了基于q t 的h t t p 的应用,并简要给出了设计与实现的流程。 第七章总结论文研究成果,阐述了本文研究的不足和进一步的研究工作。 5 电子科技大学硕士学位论文 2 1 富客户端技术 第二章富客户端技术 2 1 1 “瘦客户端”( t h i nc l i e n t ) 和“胖客户端”( r i c hc l i e n t ) “瘦客户端 ( t h i nc l i e n t ) 指的是在客户端服务器网络体系中的一个基本无 需应用程序的计算机终端。它通过一些协议和服务器通信,进而接入局域网。作 为应用程序平台的i n t e r n e t 的到来为企业应用程序提供了一个全新的领域:一个基 于i n t e r n e t i n t r a n e t 的应用程序运用一个只包含一个浏览器的瘦客户端。这个浏览 器负责解释、显示和处理应用程序的图形用户界面( g u i ) 和它的数据。这样的一 个应用程序只需要被安装在一个w e b 服务器上,用户可以自动接收升级。一个解 决方案只需要部署一次,甚至对成千的用户也是如此,这种想法的确很吸引人, 尤其是i n t e m e t 技术帮我们缓解了一些传统的应用程序的障碍,比如防火墙和对多 平台的支持。瘦客户端将其鼠标、键盘等输入传送到服务器处理,服务器再把处 理结果回传至客户端显示。不同的客户端可以同时登录到服务器上,模拟出一个 相互独立又在服务器上的工作环境。与此相反,普通客户端会尽可能多地进行本 地数据处理,与服务器( 或其他客户端) 的通信中只传送必要的通信数据。 瘦客 户机具有i t 高效性、安全性和经济性。 “胖客户端”【4 1 ( r i c hc l i e n t ) 是相对于“瘦客户端”( t h i nc l i e n t ) ( 基于w e b 的应用程序) 而言的,它是在客户机器上安装配置的一个功能丰富的交互式的用 户界面,例如o r a c l e 、d b 2 数据库的客户端管理工具。胖客户端模式将应用程序 处理分成了两部分:由用户的桌面计算机执行的处理和最适合一个集中的服务器 执行的处理。一个典型的胖客户端包含一个或多个在用户的p c 上运行的应用程 序,用户可以查看并操作数据、处理一些或所有的业务规则同时提供一个丰 富的用户界面做出响应。服务器负责管理对数据的访问并负责执行一些或所有的 业务规则。这种模式也有一些“变种 ,它们主要处理业务规则和数据的物理位置。 重点是,胖客户端应用程序是在用户的计算机上运行的。 6 应用程序在实现功能的前提下能够更加快速、能让用户有更加完美的体验、如何 能够更加吸引用户的眼球、已经成为众多开发人员越来越多考虑的问题。 九十年代末以来,基于w e b 的应用程序得到了广泛的使用,这主要是因为它 们可以很容易地被终端用户使用,终端用户只要一台能够上网的电脑就行。然而, 对于高交互性的程序接口来说,基于w e b 的接口很难满足要求。编写复杂的在终 端用户浏览器中执行的客户端脚本不是一个可行的增强交互性的方法。商业团体 认识到有时候部署一个基于w e b 的解决方案并不能满足所有用户需求。此外,基 于w e b 的应用程序也不能够脱机使用。 传统的w e b 应用程序是以页面为单位,基于h t t p 的无状态的协议,只要针 对当前页面有更新,无论你是请求新的资源还是仅仅提交了一个用户名密码的验 证,都必须打开新的页面,尽管开发人员采用了诸如母版页、框架、c s s 样式等 各种各样的手段,而且也收到了一定的效果,但基于页面为切换单位的事实一直 无法彻底改变,用户体验和网络传输速度的瓶颈无法真正实现突破。而富客户端 技术则是换一个角度来解决上述的问题,把页面这样的单位进行进一步的细化, 把需要变化的,需要进行传输的内容尽量局限在一个小的区域,这样一方面可以 减轻服务器的负担,另外也可以提升用户体验,使客户端效果和网络传输的矛盾 得以极大的缓解。 富因特网应用程序( r i c hi n t e m e ta p p l i c a t i o n s ,r i a ) 【2 4 】利用具有很强交互性 的富客户端技术来为用户提供一个更高和更全方位的网络体验。r 认富客户端程 序是指将桌面应用程序的交互用户体验与传统的w e b 应用的部署灵活性和低成本 结合起来并提供互动多媒体通信的实时快捷的新一代网络应用程序。r i a 集成了 桌面应用的交互性和传统w e b 应用的部署灵活性与成本分析,以创建单一而完整 的用户体验。富客户端技术使创建r i a 成为可能,它提供一个运行时的环境以承 载被编译的客户端应用程序,该客户端应用程序是一个使用h t t p 协议发布的文 件。客户端应用程序使用异步的c s 结构连接到现有的应用服务器,这是一种安 全的、可升级的、具有良好适应性的面向服务模型,这种模型由当前所采用的w e b 服务驱动。“富”的概念包含两方面,分别是指它具备丰富的用户界面和丰富的数 据模型。 电子科技大学硕士学位论文 富客户端技术正在不断地完善中,但并不意味着会取代h t m l 。相反它将进 一步扩展浏览器功能,使之提供更加高效和友好的用户接口。许多r i a 都在浏览 器中运行,甚至它本身就是h t m l 的一部分,所以h t m l 将继续保持其原有的角 色。另外,由于富客户端技术可以支持运动的图象、视频、音频、双向的数据通 信和创建复杂的窗体,它为创建应用程序用户接口提供了一个高效而完善的开发 环境。 2 2 客户端应用程序 目前已经提出了许多客户端应用程序。当前的客户端应用程序模型大致分为 两种:c s ( 客户端服务器模型) 和b s ( 浏览器n 务器模型) 。以企业环境为对 象的软件开发人员,对于以浏览器为基础的精简型客户端( t h i nc l i e n t ) 应用程序 模型,以及对应的丰富型客户端( r i c hc l i e n t ) 2 5 1 之间,究竟该如何取舍,面临了 困难的世代替换。 2 2 1 当前客户端应用程序模型比较 以浏览器为基础的应用程序的优缺点: ( 1 ) 易于安装:可以用于许多桌上型计算机,并且和客户机算计的操作平台 无关。大多数计算机已经默认安装有浏览器软件( 有些应用系统需要基于i e 浏览 器,或者需要安装 a v a 虚拟机,在此暂且忽略不及) 。 ( 2 ) 易于部署与维护:只需要在服务器端进行部署和维护工作。 ( 3 ) 必须在线工作t 工作效率和网络是否延迟有关。 ( 4 ) 不能充分利用客户端计算机的资源:只能通过有限的h t m l 语言来呈现 用户界面,没有利用客户端计算机的计算处理能力。只能利用浏览器的打印功能 来打印资料,不适用于企业的报表打印。 ( 5 ) 网络传输量大:由于客户端不能保存状态数据,因此必须在客户端和服 务器之间传输用户界面内容以及所需的数据。 ( 6 ) 安全性较低。对于服务器来说可以通过防火墙软件来过滤数据,因为所 有传输内容都是基于h t t p 端口。但很难对数据进行加密和签名以保证在传输过 程中的完整性。 智能客户端应用模型下一个概括性的定义:一个可扩展的能集成不同应用的 桌面应用程序,并具有以下特征: ( 1 ) 无接触部署:安装时只要将一个主程序文件下载到本地,直接运行即可, 第二章富客户端技术 无须改变注册表或共享的系统组件,其他应用组件将在第一次运行时自动下载。 ( 2 ) 自动更新:只需将新版本的程序发布在服务器上,由客户端自动发现最 新版本的程序和应用组件,并自动下载和更新。 ( 3 ) 离线运用:允许脱离服务器时,利用本地的客户端程序和应用组件进行 工作。 ( 4 ) 动态加载应用组件:应用软件开发商可根据企业应用系统的公共接口进 行开发,然后将应用组件发布在企业的服务器上,客户端应用程序将自动发现并 加载该应用组件。 ( 5 ) 个性化用户界面:用户可根据喜好自行设置客户端应用程序,配置信息 将被保存到服务器上。 富客户端应用程序的优缺点t ( 1 ) 可以离线工作:前提是本地必须有缓存数据的能力,这涉及到与服务器 数据同步的问题。 ( 2 ) 充分利用客户端计算机的资源:可以为用户提供丰富的界面元素,可以 存取本机磁盘与本机应用程序接口( a p i ) ,执行速度较快。 ( 3 ) 网络传输量较小:只需在客户端和服务器之间传输数据。 ( 4 ) 安全性较高。可以方便的在客户端和服务器执行加密和解密操作,同时 也可以通过w e bs e r v i c e 来消除传统的应用程序诸如防火墙和h t t p 的障碍。 ( 5 ) 安装、部署和维护工作较为繁琐:对客户端计算机在操作平台和附加软 件上有一定的限制和要求。 2 2 2 客户端应用程序应具备的其他功能 对于企业应用系统来说,客户端应用程序作为整个系统与用户的交互界面, 还需要考虑以下功能: ( 1 ) 安全性:这里的安全性主要是指应用层次的安全性,主要通过用户权限、 角色分配来实现。对于客户端应用程序来说,通常需要提供一个登录窗体或登录 页面来完成用户身份的认证。对安全性要求较高的应用系统可能还需要通过公共 密钥基础设施( p k i ) 为应用提供可靠的安全服务,客户端则附加了加密签名模块。 ( 2 ) 可扩展性:客户端应用程序应该具有包含各种不同类型的应用模块的能 力,同时又能在使用过程中的不断的增加应用来完善整个系统。因此可以将客户 端应用程序设计为一个容器,而各个应用模块作为组件由容器进行动态加载。 ( 3 ) 可配置性:由于用户权限和用户喜好的不同,客户端加载的应用组件以 及呈现的表现形式都因人而异。需要由应用系统将用户权限的范围以及用户的个 性化配置信息传递给客户端,由客户端应用程序来解释并呈现相应的用户界面。 9 电子科技大学硕士学位论文 2 3 富客户端的工作模型 富客户模型将界面分解成许多的既可以和用户直接交互又可以和服务器进行 通信的小单元模块。这种将应用程序的设计从以一个个相对独立的页面为中心转 移到以组件为中心的转变将会使客户层的设计提升到一个新的层次,并且会使客 户层变得更加灵活。富客户端不再成为服务器响应的最终端,这同时也使程序的 性能得以提高,用户使用的感觉就好像程序不需要和服务器进行通信或者只是偶 尔才需要进行通信。 不像传统的模型那样,服务器收到请求后由上至下的创建客户端界面,不用 预测事件的顺序。既然每个组件都是独立的,就没有必要因为一个请求而做出影 响整个视图的反应。要使每个组件都具有向服务器传送信息的能力需要每个组建 知道如何处理服务器传递回来的信息。在r i a 中,客户端和服务器端交互数据是 不同步的,这样你就可以控制组件创建信息发送给服务器和处理服务器的响应, 可以为更零散的控制去耦和分离程序功能并且组建面向服务的程序结构。 s m a r tc 1l e n t 5 】的工作模型如图2 - 1 所示。 图2 - 1s m a r tc l i e n t 工作模型 由图2 - 1 可知,s m a r tc 1 i e n t 中的应用程序加载器首先访问
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 腰椎间盘突出合并马尾综合征护理查房
- 桡骨远端骨折合并腕管综合征护理查房
- 2020年1月国开电大法律事务专科《行政法与行政诉讼法》期末纸质考试试题及答案
- 广西南宁市第十中学2025年春季学期高一年级历史第21课战时共产主义到斯大林模式同步测试卷
- 社区美篇消防知识培训课件
- 宁夏银川市2024-2025学年高一下学期期末地理试卷(含答案)
- 小车挂靠公司合同范本
- 读书合同范本模板
- 现在的装修合同范本
- 墙体修复合同范本
- 围手术期病人的安全转运
- 新能源汽车行业的营销渠道与渠道管理
- 基于5G通信技术的无人机立体覆盖网络白皮书
- 2024年度国网基建安全(变电土建)安全准入备考试题库(附答案)
- 《HSK标准教程3》第1课
- 石油储量与产量预测模型研究
- 《学习国旗法》课件
- 中智人力测评题库答案
- 安全保密审计报告
- 《忆秦娥~ 娄山关》
- 医疗设备采购 投标技术方案 (技术方案)
评论
0/150
提交评论