




已阅读5页,还剩61页未读, 继续免费阅读
(计算机软件与理论专业论文)新型客户服务器系统架构及应用技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 随着信息技术的发展,各行各业信息化程度越来越高,随之而来的是对系 统功能、性能等方面要求的日益增多。传统的网络开发模型,如c s 架构和b s 架构,或是在b s 架构基础上最新发展起来的富互联网应用程序( r 认) ,在功 能、性能和适用性等问题上各有利弊,但都无法完全满足用户日益增多的要求。 于是融合和完善两者的开发技术,吸取它们各自的优点,将c s 架构与b s 架 构结合起来的新技术成为人们关注的焦点。 本文结合教育部学位与研究生教育发展中心“评估审核管理信息系统”的 设计与开发,研究并提出了一种新型的客户服务器软件结构模型。 该模型是一个混合型软件技术模型架构,兼具了c s 模式下强大的客户端 功能和b s 模式下浏览器跨平台的网络处理能力以及易于管理的特点。通过将 b s 结构中成功的h t t p 协议和w e b 服务器端技术应用到c s 系统之中,既 满足了系统开放性的要求,降低了服务器端负载,又充分发挥了客户端的计算 能力,可以开发出客户端功能丰富、系统开放并且具有较高运行效率的应用系 统。同时通过客户端与服务器端的数据同步技术,可以实现系统离线操作和移 动计算,减少了系统对网络的过度依赖,使得离线情况下客户服务器应用仍然 能够正常运转。 文章对此模型的基本组成架构做了详细介绍,同时对构成该模型架构,实 现其功能的关键业务模型( 数据存储、数据传输、数据同步、数据转换、数据 验证) 做了深入探讨与比较,详细介绍了该模型的重要组成部分,数据同步的 关键实现技术移动公文包模型,对每类业务流程均给出了不同的实现方案, 并加以比较论述,为开发人员在应用此模型进行系统设计与开发时提供一定的 参考依据。 关键词: 软件架构混合模型移动公文包模型离线操作移动计算 a b s t r a c t f o l l o w i n gt h ed e v e l o p m e n to fi n f o r m a t i o nt e c h n o l o g ya n dt h ed e e p e n i n go ft h e d e g r e eo fi n f o r m a t i o n i z a t i o ni na l lw a l k so fl i f e ,o u ri n c r e a s i n gd e m a n dh a sa r i s e nf o r s y s t 甑nf u n c t i o na n dp e r f o r m a n c e w h e t h e rt h et r a d i t i o n a ld e v e l o p m e n tm o d e so f n e t w o r k ,s u c ha st h ec sa r c h i t e c t u r ea n db sa r c h i t e c t u r e ,o rt h el a t e s tr i c hi n t e m e t a p p l i c a t i o n ( r i a ) w h i c hi sd e v e l o p e db a s e do nt h eb sm o d e ,h a si t so w na d v a n t a g e s a n dd i s a d v a n t a g e si nf u n c t i o n ,p e r f o r m a n c ea n da p p l i c a b i l i t y , b u tn e i t h e ro ft h c r nc a n f u l l ym e e tt h ei n c r e a s i n gu s e rd e m a n d s t h u s ,t h en e wt e c h n i q u ec o m b i n e dc s a r c h i t e c t u r ea n db sa r c h i t e c t u r eh a sb e c o m et h ef o c u so fp u b l i ca t t e n t i o n ,w h i c hc a n i n t e g r a t ea n dp e r f e c tt h ed e v e l o p m e n tt e c h n i q u e sa n da s s i m i l a t e sa d v a n t a g e sb o t ho f c sa n db s t l l i sa r t i c l et a k e st h ed e s i g na n dd e v e l o p m e n to fm i n i s t r yo fe d u c a t i o n a c a d e m i cd e g r e e s e v a l u a t i n ga n da u d i t i n gm a n a g e m e n ti n f o r m a t i o ns y s t e m a s b a c k g r o u n d ,r e s e a r c h e sa n dp r o p o s e s an e wt y p eo fc l i e n ts e r v e rs o f t w a r e a r c h i t e c t u r em o d e l ,1 1 1 em o d e li s h y b r i ds o f t w a r ea r c h i t e c t u r e ,h a sb o t ht h ep o w e r f u lc l i e n t s f u n c t i o nu n d e rc sm o d ea n dt h eb r o w s e rc r o s s p l a t f o r mn e t w o r kt r a n s a c t i o n c a p a b i l i t i e sa n de a s ym a n a g e m e n tc h a r a c t e r i s t i cu n d e rb sm o d e b ya p p l y i n gt h e s u c c e s s f u lh y p e r t e x tt r a n s f e rp r o t o c o l ( h t t p ) a n dt h ew e bs e r v i c et e c h n i q u eo fb s a r c h i t e c t u r ei n t ot h ec ss y s t e m ,t h em o d e ls a t i s f i e st h es y s t e mo p e n i n gr e q u i r e m e n t a n dr e d u c e st h es e r v e re n dl o a d ,a sw e l la se x e r t st h ec o m p u t i n gc a p a b i l i t yo fc l i e n t , s oi tc a nd e v e l o pa na p p l i c a t i o ns y s t e mw i t hr i c hc l i e n tf u n c t i o n , o p e ns y s t e m sa n d r e l a t i v e l yh i g hr u n n i n ge f f i c i e n c y a tt h es a m et i m e ,t h r o u g ht h ed a t as y n c h r o n i z a t i o n t e c h n o l o g yb e t w e e nt h ec l i e n ta n ds e r v e r - s i d e ,i tc a i li m p l e m e n tt h es y s t e mo f f - l i n e o p e r a t i o na n dm o b i l ec o m p u t i n g ,a n dt h u sr e d u c e st h es y s t e m so v e r - d e p e n d e n c eo n n e t w o r k ,m a k e st h ec l i e n t s e r v e ra p p l i c a t i o nc a ns t i l ln o r m a l l yr u nu n d e rt h eo f f - l i n e c o n d i t i o n t h ea r t i c l ei n t r o d u c e st h eb a s i ca r c h i t e c t u r eo ft h i sm o d e li nd e t a i l ,m e a n w h i l e , i n - d e p t hd i s c u s s e sa n dc o m p a r e st h ek e yb u s i n e s sm o d e lt ot h er e a l i z a t i o no fi t s f u n c t i o n , i n c l u d i n gt h ed a t as t o r a g e ,d a t at r a n s m i s s i o n , d a t as y n c h r o n i z a t i o n , d a t a t r a n s f o r m a t i o na n dd a t av a l i d a t i o n t h ep a p e ra l s oa m p l yi n t r o d u c e sa ni m p o r t a n t c o m p o n e n to ft h eb u s i n e s sm o d e l 曲em o b i l eb r i e fm o d e l ,w h i c hi st h ek e y t e c h n i q u et ot h er e a l i z a t i o no ft h ed a t as y n c h r o n i z a t i o n , t h ea u t h o rg i v e sd i f f e r e n t r e a l i z i n gb l u ep r i n t st oe a c hb u s i n e s sp r o c e s s ,a n dt h e nm a k e sac o m p a r i s o na m o n g t h e m ,w i t ht h eh o p eo fo f f e r i n gs o m er e f e r e n c e sf o rd e v e l o p e r si na p p l y i n gt h em o d e l i n t os y s t e md e s i g na n dd e v e l o p m e n t k e yw o r d s :s o f t w a r ea r c h i t e c t u r e ,h y b r i dm o d e l ,m o b i l eb r i e fm o d e l ,o f f - l i n e o p e r a t i o n ,m o b i l ec o m p u t i n g i i i 南开大学学位论文版权使用授权书 本人完全了解南开大学关于收集、保存、使用学位论文的规定, 同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版 本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、 扫描、数字化或其它手段保存论文;学校有权提供目录检索以及提供 本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有 关部门或者机构送交论文的复印件和电子版;在不以赢利为目的的前 提下,学校可以适当复制论文的部分或全部内容用于学术活动。 学位论文作者签名: 年月日 经指导教师同意,本学位论文属于保密,在年解密后适用 本授权书。 指导教师签名:学位论文作者签名: 解密时间:年 月 日 各密级的最长保密年限及书写格式规定如下: 南开大学学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,进行 研究工作所取得的成果。除文中已经注明引用的内容外,本学位论文 的研究成果不包含任何他人创作的、已公开发表或者没有公开发表的 作品的内容。对本论文所涉及的研究工作做出贡献的其他个人和集 体,均已在文中以明确方式标明。本学位论文原创性声明的法律责任 由本人承担。 学位论文作者签名: 年月日 第一章绪论 第一章绪论 第一节研究背景 c l i e n t s e r v e r ( c s ) 和b r o w s e r s e r v e r ( b s ) 是当今世界开发模式技术 架构的两大主流技术。 早期的软件系统多以c s 架构作为系统的首选设计标准。其优点是可以充分 发挥客户端p c 的处理能力,响应速度快。但随着i n t e m e t 技术的发展与普及, 其缺点日益显示出来。主要体现在大多只适用于局域网应用,需要安装专门的 客户端软件以及对操作系统有一对一的限制。一旦客户端需要采用新技术、升 级、调整参数或调整软件的部分功能,系统管理员往往要根据每个客户端的不 同用途、不同级别等逐一修改调试,工作量非常庞大,管理维护成本较高。这 些极大地限制了c s 架构在互联网时代的应用。 随之b s ( b r o w s e r s e r v e r ) 架构应用日益增多。它是对c s 架构的一种改 进。在这种架构下,用户通过浏览器工作界面,在服务器端完成事务逻辑,实 现了零客户端,可以在任何地方进行操作,减轻了系统维护与升级的成本和工 作量,降低了用户总体成本。 然而,这一模式下的客户端浏览器患有“网络过度依赖症 。一旦网络断 开,或者客户端在移动中无法联网,就不能进行任何操作,缺乏灵活性。 同时由于b s 产品人机交互界面比较差,远程打印瓶颈问题,还有报表设计 问题,安全问题、接入速度问题等等,也制约了b s 产品在某些领域的发展【l 】。 传统网络程序的开发是基于页面的、服务器端数据传递的模式,把网络程 序的表示层建立于h t m l 页面之上。而h t m l 是适合于文本的,所以传统的 基于页面的系统已经渐渐不能满足网络浏览者的更高的、全方位的体验要求了, 这就是业界称之为的“体验问题 ( e x p e r i e n c em a t t e r s ) ,而富互联网应用程序 ( r i c hi n t e r n e t a p p l i c a t i o n s ,r i a ) 的出现就是为了解决这个问题。 r i a 技术允许在因特网上以一种像使用w e b 一样简单的方式来部署富客户 第一章绪论 端程序。这是一个用户接口,它比用h t m l 能实现的接口更加健壮,反应更加 灵敏和更具有令人感兴趣的可视化特性 2 】。 r i a 可扩展性更大,人性化更多,视觉和互动上更好,但缺点是访问速度 慢,下载文件大,还有r i a 应用程序特别耗c p u ,程序效率比较低,很多问题 还需要解决。 在某些应用领域,比如教育信息化建设领域、医药领域、财务领域等,由于 实际业务特点,系统传输数据量大,在线操作时间长并且不可间断性,要求离 线操作以及移动计算等,无论是c s 还是b s 架构,亦或是r i a ,都无法满足用 户的所有要求,于是谋求将c s 架构与b s 架构相结合的新技术开始受到广泛 关注。 同时,在客户服务器应用方面,传统的基于联机处理数据的客户服务器应 用结构不能满足系统移动计算的需求,因此,离线情况下客户服务器应用能够 正常运转的新型客户端结构模型成为研究重点 3 1 。 第二节研究范围 当前大规模软件系统应用日益频繁,其共同特点是数据量大、处理操作复 杂、传输路径复杂、软件平台及环境异构且层次多。 针对这些特点,传统的单一c s 或b s 软件架构,亦或是最新在b s 架构 基础上发展起来的富互联网应用程序( r i a ) ,均不能完全满足系统的各方面需 求。 笔者以设计开发教育部学位与研究生教育发展中心“定期评估信息管理系 统”为契机,研究并提出了一种新型的客户服务器软件结构模型。其特点是将 c s 架构与b s 架构相结合,将b s 结构中成功的h t t p 协议和w e b 服务器端 技术应用到客户端与服务器的交互之中,开发出客户端功能丰富、系统开放并 且具有较高运行效率的应用系统。并通过客户端与服务器端的数据同步技术, 实现系统离线操作和移动计算的要求,减少系统对网络的过度依赖,使得离线 情况下客户服务器应用仍能够正常运转。 2 第一苹绪论 本文主要讨论该模型的基本组成架构,同时对实现其功能的关键业务流程 进行分析与建模,t 如数据存储、数据传输与同步、数据转换、数据验证等,指 出设计开发过程中需要认真考虑的一些关键问题。并分别介绍了与此五类问题 相关的关键技术问题。文中给出多种可行的解决方案,进行对比,指出每种方 案的优缺点、适用范围等。 第三节论文目标 由于此类软件系统应用多且杂,在一些关键技术及业务逻辑实现方案选择 上没有一个比较系统完整的参考,使得设计开发人员不得不投入更多的精力到 方案的寻找与选择之上,多次重复性劳动,极大的浪费人力资源,所得效果也 可能并不理想。 本文旨在引入“新型客户服务器结构模型 的基础上,简要介绍该模型的 体系结构,为相关系统设计开发者提供一定参考,使其可以在此基础上扩展、 丰富该模型,使之具有更好的适用性、扩展性等等。 同时归纳总结出此模型中需要仔细考虑的一些通用的关键业务流程问题, 对每个关键流程提出几种可行的解决方案和技术选型,并对各个方案进行比较 分析,得出其性能影响、应用范围等指标,为今后相关参考该模型进行系统架 构设计与开发的研究人员提供一个参考依据,避免不必要的重复劳动,提高生 产率。 第四节国内外研究现状 在现代软件开发中,软件体系结构已经明确成为一个很重要部分,在软件 构造之前的设计中必须明确软件的体系结构,一个好的、合理的软件体系结构 是一个软件开发成功的关键。软件体系结构给信息化社会带来的好处已被人们 公认,软件体系结构的研究也在进一步的完善和发展,并推动着软件不断的前 进和发展。 目前,对软件体系结构所作的研究工作有:软件体系结构表达方式、软件 体系结构分类、特定领域软件体系结构框架的研究以及软件体系结构形式化的 3 第一章绪论 问题【4 】。 本文主要涉及软件体系结构形式化的问题。在该领域,长期以来一直是c s 架构和b s 架构的研究占据主导地位。近年来,随着技术的不断发展,用户对 系统的功能和性能要求越来越高,对用户体验问题也投入更多的关注,软件开 发有从瘦客户端重新回到胖客户端的趋势,富户联网应用也越来越广泛。 然而,无论是c s 还是b s 架构,亦或r i a ,都无法满足用户的所有要求, 于是谋求将c s 架构与b s 架构相结合的新技术开始受到追捧。 同时,在客户服务器应用方面,传统的基于联机处理数据的客户服务器 应用结构不能满足系统移动计算的需求,因此,离线情况下客户服务器应用能 够正常运转的新型客户端结构模型成为研究重点。 i b m 就为此研究了一种混合型技术模型- i b mw o r k p l a c e 客户端技术。 说它是混合型,原因在于它兼具了c l i e n t s e r v e r 模式下的强大客户端功能,和 w e b b r o w s e r 模式下的浏览器跨平台的网络处理能力以及易于管理的特点。因 此,i b m 认为基于开放标准的w o r k p l a c e 客户端技术是网络处理的下一个发展趋 势。 利用m m w o r k p l a c e 客户端技术,可以开发出替代w e b b r o w s e r 模式的跨平 台客户端产品,但是不能替代像m i c r o s o f to f f i c e 那样的产品,因为i b m w o r k p l a c e 客户端技术必须依赖于服务器才能发挥其优点,只有大中型企业才具 备这样的条件,中小企业和个人用户更倾向于在本地直接安装和管理的客户端 产品。因此,人们更愿意把i b mw o r k p l a c e 客户端技术看作w e b b r o w s e r 技术的 革命性进步,推动客户端软件向w r e bs e r v i c e 形式又靠近了一步【5 】。 本文则是在充分研究了国内外相关研究的基础上,吸收并加以改进,提出 了新型客户服务器软件结构模型。在对整个开发架构进行抽象的同时,还对组 成该模型的关键业务问题进行了概括,详细探讨了相关问题与注意事项,对于 参考该模型进行系统设计开发具有一定的参考价值。 4 第一章绪论 第五节论文结构 本文主要引入一种新的软件开发模型体系架构及其关键问题和相关技术, 并简要介绍了一个以此为基础设计开发的应用系统。为今后类似系统的开发人 员提供一个参考依据,避免不必要的重复劳动,提高生产率。 本文分“绪论 、“新型客户服务器系统架构建模与应用”、“模型关键 组成业务分析”、“模型业务相关关键技术分析 、“应用案例研究 、“工 作总结与展望 ,共六部分。 第一章“绪论 部分主要介绍了论文的研究背景、研究范围、论文目标以 及该研究领域目前国内外的研究现状。 第二章在介绍传统体系结构的优缺点的同时,引出本文主要研究的新型客 户服务器模型,并对其结构及关键业务组成以及应用场合作了简单介绍。 接下来在第三章和第四章分别从关键组成业务和相关技术角度对新模型作 了详细说明。 关键业务方面,主要包括数据存储、数据传输、数据同步、数据转换、数 据验证五大类问题,其中,数据同步是该新型客户服务器模型最重要的组成部 分,有了它,才可以实现系统的离线操作要求。文中也为此详细介绍了它的一 种实现方案移动公文包模型。 至于关键技术部分,文中只是对相关业务模块可能涉及到的技术作了简要 说明,给出了部分解决方案,分析了各自的优缺点和适用范围,希望给读者一 定的参考。 第五章详细介绍了一个参考该模型设计开发的真实案例教育部学位与 研究生教育发展中心评估审核信息管理系统。本章从前两章介绍的内容角度详 细介绍了系统的实际解决方案。 第六章是对论文工作的总结和展望。 5 第二章新型客户服务器系统建模与应用 第二章新型客户服务器系统架构建模与应用 第一节传统软件体系结构概述 软件体系结构的思想最早是由d i j s k t r a 等人提出的,s h a w ,p e r r y 以及w o l f 等人在8 0 年代末作了进一步的发展和研究。虽然软件体系结构已经成为软件工 程的研究重点,但是由于许多研究人员都是基于自己的经验从不同角度不同侧 面对体系结构进行刻画,所以目前对软件体系结构存在着许多不同的定义和不 同的理解。p e r r y 和w o l f 等人认为软件体系结构由一组具有特定形式的体系结构 元素组成,包括处理元素、数据元素和连接元素三种。g a r l a n & p e r r y 则指出, 软件体系结构包括一个系统的构件结构、构件间的相互关系、以及控制构件设 计和演化的原则和规范等三个方面,s h a w 和g a r l a n 认为,体系结构是对构成系 统的元素、这些元素间的交互、他们的构成模式、以及这些模式之间限制的描 述。目前一个比较统一的定义就是:软件体系结构是一个系统的高层结构共性 的抽象,是建立系统时的构造模型、构造风格、构造模式【4 】。 软件体系结构屏蔽了系统设计和实现时的功能细节,着重于讨论软件系统 的总体框架,对软件系统的构造起着指导性的作用。同时,软件体系结构是系 统理解、交流和设计、实现、演化一个系统的基础。 软件体系结构开始于系统的早期设计,主要涉及以下内容【6 ,。刀: ( 1 ) 系统框架及组成软件的成分、成分间的功能分配、物理分布等; ( 2 ) 软件各成分之间的相互作用、相互之间各种约束等。软件成分的进一 步复合以及指导软件复合过程的总体模式; ( 3 ) 系统的功能、性能、设计以及从多种方案及选项中进行选择的决策。 可见,软件体系结构关注的核心恰恰是基于构件的开发方式在系统分析、设计 时所必须考虑的问题。 目前,对软件体系结构所作的研究工作有:软件体系结构表达方式、软件 体系结构分类、特定领域软件体系结构框架的研究以及软件体系结构形式化的 问题 8 1 。 6 第二章新型客户服务器系统建模与应用 最后,在现代软件开发中,软件体系结构已经明确成为一个很重要部分, 软件在构造之前的设计中必须明确软件的体系结构,一个实用的软件系统通常 是几种典型体系结构风格的组合 9 】。一个好的、合理的软件体系结构是一个软件 开发成功的关键。软件体系结构给信息化社会带来的好处已被人们公认,软件 体系结构的研究也在进一步的完善和发展,并推动着软件不断的前进和发展。 2 1 1 软件体系结构发展 如图2 1 所示,如今软件体系结构的发展经历了好几个阶段【1 0 1 。 范围 奉地 主桃 文字雾覆 1 9 9 2 因特网应甩程序 客户桃,服务器 丰蕾缘台媛体嘲形用户界砸 图2 1网络应用程序的发展阶段 随着p c 机的诞生与应用,计算模式从集中式( 数据和应用程序在一台主机 上) 转向了分布式( 数据和应用程序跨越多个节点机) ,尤为典型的是客户机 服务器模式( c 1 i e 州s e r v e r ,c s ) 。 图2 2c s 模式 c s ( 两层) 体系结构,即c l i e n t s e r v e r ( 客户机服务器) 结构,最早由美国 b o d a n d 公司研发。在上个世纪八十年代及九十年代初得到了大量应用,最直接 的原因是可视化开发工具的推广。如图2 2 所示,通过将任务合理分配到c l i e n t 端和s e r v e r 端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势1 1 1 。 7 第二章新型客户服务器系统建模与应用 早期的软件系统多以此作为首选设计标准。服务器通常采用高性能的p c 、工作 站或小型机,并采用大型数据库系统,如o r a c l e 、s y b a s e 、i n f o r m i x 或s q ls e r v e r 。 客户端需要安装专用的客户端软件。 对于传统的c s 结构而言,s e r v e r 端即为后台数据库,用来保存整个业务系 统中的数据;c l i e n t 端一般由应用程序及相应的数据库连接程序组成。用户通过 c l i e n t 端与s e r v e r 端进行交互,实现业务信息的查询和维护工作。传统的c s 结 构具有强大的数据操作和事务处理能力,模型简单易懂,但随着业务模型复杂 度的提高,在系统的扩展性上存在着一定的局限性。 之后,它开始向三层结构发展,如图2 3 所示。 图2 3 三层c s 模式 三层c s 结构在两层c s 结构的s e r v e r 端和c l i e n t 端之间增加了一个中间 层应用服务器,从而形成了包括数据层、逻辑层和表示层的三层结构。这里所 说的三层结构是指逻辑上的划分,而不是物理上的划分。一般情况下,这三层 内容总是被设计成可以分别放置在不同的计算机中,客户机连接应用服务器, 应用服务器同数据库服务器通信。客户机同数据库服务器不进行通信连接。其 技术特点是业务规则放三层结构中的应用服务器( 中间层) ,其好处是应用系统 可以在不影响客户应用程序的情况下对业务规则进行更新。而且修改存储过程 的代码时,只要客户端与服务器的接口不受改动的影响,这些修改对客户来说 就是透明的。从而提高系统的可扩展性。 c s 体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在 特定的应用中无论是c l i e n t 端还是s e r v e r 端都还需要特定的软件支持。由于没 能提供用户真正期望的开放环境,c s 结构的软件需要针对不同的操作系统开发 不同版本的软件,加之产品的更新换代十分快,已经很难适应百台电脑以上局 域网用户同时使用。而且代价高,效率低。 在c l i e n t s e r v e r 模式下,丰富的应用程序都直接安装在客户端运行,给客户 端应用环境带来极大便利。但是,这些客户端患有管理员依赖症。一旦客户端 8 第二章新型客户服务器系统建模与应用 需要采用新技术、升级、调整参数或卸载软件的部分功能,系统管理员往往要 根据企业中每个客户端的不同用途、不同级别等逐一修改调试,工作量非常庞 大,管理维护成本较高。除非在必要的情况下,系统管理员也会尽量避免对客 户端进行修改,阻碍新技术的及时推广。 随着网络技术不断发展,尤其是基于w e b 的信息发布和检索技术、j a v a 计 算技术以及网络分布式对象技术的飞速发展,导致了很多应用系统的体系结构 从c s 结构向更加灵活的多级分布结构演变,使得软件系统的网络体系结构跨 入一个新阶段,即b s 体系结构。 b s 结构,即b r o w s e r s e r v e r ( 浏览器服务器) 架构模式,最早由美国微软 公司研发。它是对c s ( c l i e n t s e r v e r ) 架构的一种改进。它把c s 结构中的服 务器部分分解为一个w e b 服务器和一个数据库服务器,从而构成一个三层或多 层结构的客户服务器体系【1 2 】。 图2 4b s 模式 如图2 4 所示,在这种架构下,用户工作界面统一通过浏览器,在服务器端 完成事务逻辑,实现了零客户端,这不仅让用户使用方便,而且使得客户机不 存在安装维护的问题。减轻了系统维护与升级的成本和工作量,降低了用户总 体成本。 然而,这一模式下的客户端患有“网络过度依赖症。一旦网络断开,或 者客户端在移动中无法联网,就不能进行任何操作,缺乏灵活性。 传统网络程序的开发是基于页面的、服务器端数据传递的模式,把网络程 序的表示层建立于h t m l 页面之上。h t m l 采用的是典型的文档驱动式架构, 虽然它极为成功,但也有明显的弱点。首先,在所有的h t m l 模型中,大多数 用户的活动都会导致页面刷新( 即w e b 服务器的往返操作) 。这就必然会产生 一个线性的多步骤互动过程,并且会对互动能力造成诸多限制;其次,从体验 和性能的角度看,h t m l 是适合于文本的,这比典型桌面应用所提供的体验和 应用要差得多,更不可能提供高端图形应用所具备的丰富表现力和创造性。 9 第二章新型客户服务器系统建模与应用 r i a ( r i c hi n t e r n e ta p p l i c a t i o n ) 技术可以很好地化解这两方面的问题。它 可以提供一种更具创造性的平台,支持更富有吸引力的用户体验。它还可以提 供类似桌面应用风格的互动模型和性能,同时保留i n t e r n e t “一次部署、随处使 用式的软件安装模型【1 3 】。 、 r i a 可扩展性更大,人性化更多,视觉和互动上更好,但缺点是访问速度慢, 下载文件大,还有r i a 应用程序特别耗c p u ,程序效率比较低,很多问题还需要 解决。 上述三种体系结构有缺点比较见表2 1 。 表2 1 开发架构比较 c sb sl u a 1 充分发挥客户端p c 的处i 对网络环境要求1 提供类似桌面应 理能力,响应速度快较低,适用于广域7 用风格的互动 优点2 用户体验丰富,交互能力网模型和性能 强,操作简单2 无需维护客户端2 一次部署、随处 3 安全性高使用 1 对网络环境要求较高,适1 交互能力差1 下载文件大,访 用于局域网内部使用,可2 对网络过度依赖问速度慢 连接用户数有限3 不同浏览器产品2 特别耗c p u ,程 2 客户端需要安装专门的客标准不统一,需要序效率比较低 户端软件,系统扩展维护做针对性处理3 很多问题有待解 复杂、代码可重用性差, 决 缺点 开发、部署、维护和升级 成本都非常昂贵 3 对客户端的操作系统一般 也会有限制 4 直接和数据库交互,安全 性较差 1 0 第二章新型客户服务器系统建模与应用 2 12 在线模式& 离线模式 在线模式,即用户通过客户端工具( c s 架构客户端或者b s 架构浏览器) 登陆到远程服务器上,在线完成操作,然后由服务器端负责实时的信息处理工 作。 在线模式有很好的实时性用户可以直接提交相关数据而不用经过中间过 程,效率比较高。但是当用户需要提交的数据量非常大的时候,这种模式就会 暴露出其天生的缺陷。一是长时间地在线工作容易造成数据的丢失,二是一当 离开了网络环境,用户就无法进行工作。 在现代大量使用的o a 系统中,需要提交大量数据的例子屡见不鲜,很多用 户为了保证工作不被丢失,总是习惯性的在填写了少量信息之后就点击保存按 钮,将信息提交到服务器端。这样的做法从某种程度上保证了用户工作的安全 性,但是另一方面也无形中给服务器增加了很大的负担,从而达不到预期的性 能表现。 同时这对于希望可以在家里或移动环境中完成工作的用户来说无疑是一个 巨大的缺博。 离线模式,如图2 5 所示,指用户从服务器下载单机程序和模版数据,在 本机完成业务操作,并将工作结果导出,以邮寄软盘或者光盘的方式一次性完 成数据的提交工作。 图25 离线模式 离线模式有很好的用户操作体验,用户可以随时随地进行数据录入工作, 而且一般不会出现信息丢失的情况,除非是非程序原因的不可恢复的错误。缺 点就是实时性较差,信息提交工作还是无可避免的需要经过邮局或快递公司的 那一套流程。这在国内信息化的初级阶段经常使用。 第二章新型客户服务器系统建模与应用 在线模式与离线模式的比较如下。 表2 2 在线离线模式比较 在线模式离线模式 1 实时性、效率高1 用户体验丰富 优点 2 网络依赖性低 1 长时间工作容易造成数据的实时性差、效率低 丢失 缺点 2 网络依赖性大,无法脱离工 作 实时计算要求高、信息录入量用户单次操作时间长、录入信息量 适用范围 少、操作时间短的系统大的系统 2 1 3 传统体系结构的缺陷 从上面的介绍中可以发现,目前大量采用的c s 或b s 架构仍然存在很多 缺陷,无法完全满足实际系统设计开发中面临的许多问题。 传统的c s 架构系统直接连接数据库服务器,投入广域网使用时会带来很 大的安全隐患,同时各客户端操作系统环境不近相同,给数据库连接带来很大 问题。 b s 虽然很好地解决了c s 架构中存在的部署、维护和升级困难的问题,但 还是存在很多问题。 一方面由于完全采用在线方式,对网络依赖性很大,脱机环境下无法继续 工作。 另一方面由于浏览器自身设计原因,只适用于信息浏览和部分用户交互。 在一些复杂的用户操作方面,以及长时间、大数据量信息录入方面还存在很多 问题,有待进一步解决。 富互联网应用日益增多,虽然有效的解决了b s 架构交互性的问题,但同 时也带来了性能上的影响,访问速度慢,下载文件大,还有r i a 应用程序特别 耗c p u ,程序效率比较低。另外,还是没能解决对网络的高度依赖性问题,无 1 2 第二章新型客户服务器系统建模与应用 法满足部分系统离线操作和移动计算的要求。 第二节新型客户服务器软件模型概述 针对c s 和b s 架构的某些不足,同时为了满足某些软件系统的应用需求, 笔者提出一种新型的客户服务器软件结构模型。 其最大特点是将c s 架构和b s 架构相结合,在线模式和离线模式相结合, 既有b s 架构部署、维护、升级较容易的特点,又有c s 架构交互性强的特点, 能够满足用户较复杂的应用。同时又使得离线情况下客户服务器应用仍然能够 正常运转,满足了离线操作和移动办公的要求。 b s 梗式类c s l x 式 图2 6 新型客户服务器模型结构图 如图2 6 所示,该模型类似典型的多层网络体系结构模型。由一个数据库服 务器、应用服务器、w e b 服务器和浏览器以及客户端组成。其中应用服务器和 w e b 服务器根据实际情况可以合并成一个。 从图中可以看到,该模型中包含有c s 结构,但又不同于c s 结构。可以 将其称之为类c s 模式【1 4 1 。如图2 7 所示,其客户端不是直接和数据库服务器进 行连接,而是通过网络协议和w e b 服务器进行交互,传递数据,再经过w e b 服 务器的中转进行数据库操作,将数据保存到数据库服务器之中。 13 第二章新型客户服务器系统建模与应用 其中,客户端仅负责业务逻辑及本地数据处理以及和服务器的通信工作, 而不包含数据库连接模块;服务器端则需负责业务逻辑处理和数据库操作【1 5 】。 客户端 腓 := = = = = = 服务器端 图2 7 类c s 系统组成模型 该模型中的客户端又分为离线客户端和在线客户端。离线客户端可以随时、 随地处理系统业务,本地进行操作,不受网络限制,满足了移动办公的要求。 在线客户端一方面为用户准备离线状态下的初始数据,另一方面将用户离线状 态下的工作成果反馈给数据库服务器。 新型客户服务器模型将c s 架构和b s 架构有效结合到一起,充分了发挥 各自的优点。 根据系统业务特点,一些需要用w e b 进行处理,能够满足大多数访问者请 求的功能页面,比如信息的浏览及简单交互任务,仍然采用b s 的方式进行处 理。 而对于某些较大数据量、较长时间的业务操作,由于b s 架构服务器缓存 的限制,可以先采用离线客户端进行处理,然后联机将数据同步回数据库服务 器。 与传统的客户服务器模型不同的是,一方面在线客户端是通过w e b 服务器 提供的服务和服务器端进行交互,避免了过去和数据库服务器直接交互带来的 安全隐患。另一方面,客户端采用离线操作的方式,在需要时才连接网络,和 w e b 服务器进行交互。同时,客户端可以任意加入和断开系统,只需先和中心 服务器同步,下载数据,离线操作,然后再和中心数据库服务器同步,达到移 动办公的目的。 另外,虽然同传统的c s 模式一样需要在客户端安装单独的软件,但由于 少了和数据库的连接模块,大大降低了客户端软件程序在部署过程中可能出现 的问题,从而使得客户端软件的安装部署简单、方便,用户可以随时下载使用, 同时也有利于系统的在线升级,加强了系统的可扩展性。, 1 4 第二章新型客户服务器系统建模与应用 第三节关键组成业务模型概述 数据是一个应用系统的核心。在本文介绍的新型客户服务器软件结构模型 的应用中数据尤其重要。它贯串着整个系统应用的全过程。 让我们简单想象一下用户离线操作的过程。首先,用户需要联机将服务器 上的数据下载到本地并保存。然后断开网络,离线情况下完成业务操作,根据 应用系统业务要求对工作结果进行检查并通过后,联机将结果数据通过网络上 传到服务器中。如果本地保存的数据格式和数据库服务器上的格式不一致,还 需要先完成数据转换工作后再将数据导入到数据库服务器中,从而真正完成一 次离线操作。 如图2 8 ,描述的便是上述过程。它对构成新型客户服务器软件结构模型架 构、实现其功能的关键业务模型进行了抽象,主要包括数据存储、数据传输、 数据同步、数据转换、数据验证等过程。 图2 8 关键组成业务模型 数据存储包括服务器端存储和客户端存储。服务器端存储一般采用关系 数据库的方式,在此不作详细介绍。而客户端由于有离线操作和移动计 算的要求,也必须以某种方式存储临时数据。 移动计算要求客户端节点可以随时加入系统,这就要求新加入的客户端 本地数据必须要和服务器数据保持一致,也就是数据同步问题。数据同 1 5 第二章新型客户服务器系统建模与应用 步包括从服务器下载最新数据和将本地修改过的数据更新回服务器。 数据同步的过程就伴随着数据传输。数据传输有多种方式,可以根据实 际情况进行选择。 由于数据在服务器和客户端双重存储,存储方式不一定相同,这就涉及 数据转换问题。 根据实际业务特点和要求,数据存在合理性与合法性之分。就需要对数 据进行验证。数据验证包括简单验证、静态关联验证、动态验证和一致 性验证等等。 以上简要介绍了组成该模型架构的几种关键业务模型,将在第三章和第四 章中分别对这些模型的构成以及相关实现技术做详细的介绍。 第四节应用范围 本文所讨论的新型客户服务器软件结构模型是在传统的单一c s 或b s 架 构以及富互联网应用程序不能完全满足用户多方面需求的情况下提出的。 它适用于一些需要用户操作时间长且无需和服务器进行即时交互、具有复 杂交互,不适宜采用b s 架构的系统,同时用户分布范围较广,不适宜传统的 基于局域网的客户服务器架构系统,另外,对于一些有离线操作要求的应用系 统,该模型也具有一定的应用场合。 以下列举一些可以参考此模型进行设计开发的情形: o a 办公自动化系统 移动办公 用户出差时,使用笔记本电脑处理根据本地数据的离线处理业务。 数字战场 现在战争对信息的需求越来越强烈,通过移动计算机在联机和断接的情 况下辅助战场相关情况。 移动售票系统 公交系统的车载系统可以离线处理数据。 1 6 第三章模型关键组成业务分析 第三章模型关键组成业务分析 第一节关键组成业务模型 从上文的介绍可知,文中提出的新型客户服务器模型的关键就在于客户端 是直接和w e b 服务器进行交互的类c s 架构以及在线、离线客户端的设计。 从业务角度来说,为了完成离线操作,数据需要在服务器端和数据端进行传 递。这也就必然涉及的数据的存储、同步、传输、转换、验证等流程,如图3 1 所示。 图3 1 关键组成业务模型 针对每类业务问题,将在后五节中按照提出问题、分析问题、解决问题的 思路分别对其进行介绍说明,使读者对于新型客户服务器模型的概念及应用有 一个更明确的认识。 1 7 第三章模型关键组成业务分析 第二节数据存储方式与层次 2 2 1 远程存
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论