




已阅读5页,还剩61页未读, 继续免费阅读
(计算机软件与理论专业论文)面向服务的智能客户端在mis系统中的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 随着信息技术在企业信息系统中的广泛使用,传统的封闭式系统暴露出很 多难以克服的缺点,系统功能单一、结构死板、难以部署和更新的局限性阻碍 了企业信息化的深入发展。为克服这一缺陷,n e t 平台下智能客户端( s m a r t c l i e n t ) 技术应运而生,其应用显示出了巨大的优越性,成为软件开发中的热点。 本文首先简要地介绍了s m a r tc l i e n t 技术,面向服务( s o a ) 技术的构成及其 特点,并详细分析了s m a r tc l i e n t 框架、s o a 的协议。其次,对模型应用中可能 遇到的技术问题进行了研究。引入离线操作模式,在本地缓存数据的最小映射 集,客户端操作基于该数据集,恢复连接时再将该数据集和服务器同步,在引 入w e b 服务技术对原有业务逻辑封装后,与传统的中间件技术相比,既提高了 开发效率,增加了通用性、分布性和应用平台的多样性,并且将取得的数据用 x m l 格式进行封装,在系统间传递,实现了异构系统中的数据集成。 最后,本文为了验证模型的可行性,依照实际需求开发了企业信息管理系 统。此系统完全依照模型提出的逻辑结构进行设计,并且对丌发中可能出现的 技术难点,给出了相应实现方法。它解决了c s 模式下移植困难,维护,升级 麻烦,b s 模式下响应速度慢,糟糕的客户体验和网络依赖性强等问题,为用户 提供了一个在线和离线都可使用且能智能升级的系统。 关键词:w e b 服务;面向服务;智能客户端:离线操作 a b s t r a c t w i t ht 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 yi nt h ee n t e r p r i s ei n f o r m a t i o n s y s t e m t h et r a d i t i o n a ls y s t e me x p o s e s ar i g i ds t r u c t u r e ,n o te a s yt od e p l o ya n du p d a t e l i m i t a t i o n s t oo v e r c o m et h i sd e f i c i e n c y , s m a r t c l i e n t e m e r g e s ,i t sa p p l i c a t i o n d e m o n s t r a t e st h et r e m e n d o u ss u p e r i o r i t y ,a n ds o o nb e c o m ea h o tp o i n t f i r s to fa 1 1 ,t h i sp a p e ri n t r o d u c e st h et e c h n o l o g ya n dc h a r a c t e r so fs m a r t c l i e n t a n ds o a ,a n dd e t a i l e da n a l y z et h es m a r t c l i e n tf r a m e w o r k ,s o ap r o t o c o l s s e c o n d , t h ep a p e rd i s c u s s e st e c h n i c a lp r o b l e m si nr e s e a r c h i no f f l i n eo p e r a t i n g ,t h ec l i e n t c a c h em i n o rm a p p i n gd a t ai nl o c a lw h i c hi to p e r a t i o n sb a s eo na n ds y n c h r o n i z e st h e d a t aw i t hs e r v e rw h i l er e g a i nt h ec o n n e c t i o n d u et oi m p o r t i n gw e b s e r v i c e st o e n c a p s u l a t et h e b u s i n e s sl o g i c c o m p a r i n gw i t h t h et r a d i t i o n a lm i d d l ew a r e t e c h n o l o g y ,t h em e t h o di n c r e a s e st h ed e v e l o pe f f i c i e n c y ,c o m m o n a l i t y ,d i s t r i b u t i v e s a n dp l a t f o r md i v e r s i t y t h e ne n c a p s u l a t i n gt h o s eo b t a i n sd a t a ,a n df o r m a tt ox m l p a t t e r n s oa st oi m p l e m e n td a t ai n t e g r a t i o n w i t h i nt h eh e t e r o g e n e o u ss y s t e m a tl a s t ,a c c o r d i n gt ot h eh o s p i t a ld e m a n dt h ep a p e rd e v e l o p s ae n t e r p r i s e i n f - o r n l a t i o nm a n a g e m e n ts y s t e mf o rv e r i f y i n gt h em a n e u v e r a b i l i t yo fm o d e l ,a n dt h e n a c c o r d i n gt ot h ep o s s i b l et e c h n o l o g yd i f f i c u l tw i t h i nt h ed e v e l o p m e n to fs y s t e m ,t h e p a p e rg i v ec o r r e s p o n d i n g a n s w e r s i tr e s o l v e st h e d i f f i c u l t i e s a b o u tt h e t r a n s d l a n t a t i o n ,m a i n t e n a n c ea n du p g r a d i n go fc sa n ds l o wr e s p o n s eo fb s a n d d e p e n d e n c eo ft h ew o r s ec u s t o m e r se x p e r i e n c ea n d n e t w o r kp r o b l e m s ,a n dp r o v i d e u s e r sw i t ha no n l i n ea n do f f i i n es m a r ts y s t e m k e y s :s o a ;s m a r tc l i e n t ;w e bs e r v i c e ;o f f i i n eo p e r a t i o n i i 学位论文独创性声明 学位论文独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得直昌太堂或其他教育机构的学位或证书而使用过的材料。与 我一同工作的同志对本研究所做的任何贡献均己在论文中作了明确 的说明并表示谢意。 学位论文作者签名( 手写) :王强 签字日期:k 夕年f l 月毕日 学位论文版权使用授权书 本学位论文作者完全了解直昌太堂有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权直昌太堂可以将学位论文的全 部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描 等复制手段保存、汇编本学位论文。同时授权中国科学技术信息研究 所将本学位论文收录到中国学位论文全文数据库,并通过网络向 社会公众提供信息服务。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签 签字日期: 名:王强 年儿月冲日 导师签名: 螂千 签字日期:w 了年f 2 月2 ,牛日 第一章绪论 第一章绪论 1 1 研究背景 信息技术的迅速发展大大加快了企业的现代化与信息化的进程。企业信息 化已成为全球化的发展趋势。以企业管理信息系统为代表的管理数字化是现代 企业信息化技术特点的重要体现。所谓m i s 系统,是一个由人、计算机及其他 外围设备等组成的能进行信息的收集、传递、存贮、加工、维护和使用的系统。 它是一门新兴的科学,其主要任务是最大限度的利用现代计算机及网络通讯技 术加强企业的信息管理,通过对企业拥有的人力、物力、财力、设备、技术等 资源的调查了解,建立正确的数据,加工处理并编制成各种信息资料及时提供 给管理人员,以便进行正确的决策,不断提高企业的管理水平和经济效益。 在传统的m i s 开发中,一般都是使用c s 的方式来进行,这种开发方式具 有数据传输效率高,用户界面友好,可以在客户端存储大量的用户个性化信息 等特点;但是,这种方式也有它的缺点,就是应用范围太窄,一般局限在企业局 域网内部,而且需要每一个终端都要安装完整的客户端程序,在客户端程序版 本变更时,需要给每一个终端重新安装,维护起来也不方便。后来,随着互联 网技术的迅速发展,出现了b s 的企业解决方案。在这种解决方案中,系统的 应用范围扩大到了整个互联网,而且由于实现了零客户端,使人们的使用摆脱 了客户端的限制,因此得到了很大的发展。但是b s 系统也有它的先天不足, 即它不能利用本地资源,如无法使用多线程,利用本地硬件,而且表现能力太 差,使用起来也没有c s 系统那么方便,这些都阻碍了它的发展。如何将基于 浏览器模式和桌面应用程序二者的优点结合起来丌发应用程序一直是开发人员 的难题,而智能客户端( s m a r t c l i e n t ) 模式的出现,正好解决了这个问题,给软 件开发人员提供了第三种软件系统架构方式的选择。智能客户端作为n e t 平台的 一个特性而被提出,其目的是为了整合w i n d o w s 和i n t e m e t 。s m a r t c l i e n t ,简而 言之就是- - 年e e 可扩展的能集成不同应用的桌面应用程序:它可以无接触部署、即 需安装、动态加载,可以动态升级、自动更新,可以方便的经w e b 运行而不用 担心防火墙问题并可以方便的离线运行,方便的连接w 曲s e r v i c e i 。 第一章绪论 1 2 研究现状 由于m i s ( 管理信息系统) 代表了当代的先进企业管理模式与技术,并能够解 决企业提高整体管理效率和市场竞争力问题,近年来m i s 系统在国内外得到了 广泛推广应用。随着信息技术、先进制造技术的不断发展,企业对于m i s 的需 求r 益增加,迸一步促进了m i s 技术向新一代m i s 或后m i s 的发展。推动m i s 发展有多种因素:全球化市场的发展与多企业合作经营生产方式的出现使得m i s 将支持异地企业运营、异种语言操作和异种货币交易;企业过程重组及协作方式 的变化使得m i s 支持基于全球范围的可重构过程的供应链及供应网络结构;越来 越多的流程工业企业应用也从另一个方面促进了m i s 的发展。计算机新技术的 不断出现将会为m i s 提供越来越灵活与强功能的软硬件平台,多层分布式结构、 面向对象技术、中间件技术与i n t e m e t 的发展会使m i s 的功能与性能迅速提高。 m i s 系统包括了多个环节的多种需求,而在电子商务向动态发展的时候, 企业信息管理系统的新需求如下: 1 无论是无线上网还是有线上网,都会出现离线的状态,因此,有必要保 证系统在离线状态上也可用。 2 m i s 系统中有许多应用是建立在不同的系统平台上,如信息采集,信息 管理等应用中,即要求一次编写,多种部署。 3 对于移动设备来说,网络是不太可靠的资源,有必要给予应用数据同步 的特征,使得应用程序实现无差异的操作。 4 要与现有的桌面应用程序和系统相集成,充分利用原有信息系统的资源 5 m i s 系统必需要能使用本地资源。 可以看出随着m i s 系统和信息技术的发展,m i s 必将以客户n 务器、浏览 器朋& 务器分布式结构、多数据库集成与数据仓库、x m l 、面向对象方法,软构件 与中间件技术等为软件实现核心技术,以及x m l 等作为m i s 系统的集成平台 与技术。 1 3 研究意义 实现面向服务的智能客户端需要考虑许多体系结构和实现技术问题。目前 文献对智能客户端体系结构只是概略的描述,对实际开发不具有可操作性;对关 键技术的介绍比较宽泛、不完整,特别是针对智能客户端的某些关键实现技术 2 第一章绪论 基本没有提及。 本文将从智能客户端的体系结构及联机脱机、自动数据更新、并发冲突、 安全性、系统部署、应用程序自动更新等关键技术方面进行完整的研究。特别 是对n e t 平台的智能客户端,本文将完整详细地介绍其关键的实现技术。对智能 客户端的典型结构及其关键技术的研究将为智能客户端的设计者提供有意义的 参考,尤其对采用n e t 平台架构的开发者更具有较强针对性。从智能客户端发展 的前景来看,对智能客户端的应用研究是必要的。 1 4 本文的主要工作 论文是在实际项目的背景下,通过分析面向服务的架构和智能客户端技术, 针对直销活动中的现实需求,采用s o a 和s m a r tc l i e n t 技术相结合进行系统开 发。为了提高系统的可移植性,对系统服务器端的w e bs e r v i c e 进行抽象,服务 被设计为三层;为了确保系统使用过程的稳定性,智能客户端会定时检测网络状 态包括服务器w e bs e r v i c e s 的可使用性,一旦发现网络处于脱机状态时,系统 即会操作本地数据。 本文所做的工作如下: 将s o a 和s m a r tc l i e n t 技术相结合 s o a 系统能够妥善处理异构系统间的交互问题。而智能客户端结合c s 和 b s 两者的优点,能够支持系统在线和离线的数据操作。将两者相结合,扩展系 统的使用范围,提高系统的处理能力。 一 以系统为实例进行开发 本文详细介绍了系统的设计,为了提高系统的可移植性,将系统服务设计 为三层:数据访问层、业务组合层和服务接口层,各层分工明显,对外公开粗粒 度的w e b 服务接口。 1 5 论文组织 从结构看,本文可分六章,具体的结构安排如下: 第1 章总体介绍了论文的立题背景、研究内容及研究意义。 第2 章简要介绍了s m a r t c l i e n t 的概念、分类以及智能客户端的特征。 第3 章讲述了在n e tf r a m e w o r k 下开发s m a r t c l i e n t 程序重要的相关技术。 3 第一章绪论 关键技术,包括对n e tf r a m e w o r k 框架的介绍、利用a d o n e t 进行数据 的访问技术、x m lw e bs e r v i c e 几项关键技术。 第4 章详细论述了在n e t 环境下开发智能客户端程序存在的几个关键问题 及其对应的解决方案。包括处理数据、建立连接、如何创建偶尔连接的智能客 户端、智能客户端的部署和更新、安全性考虑、多线程的处理等方面目前存在 的问题以及针对各自的问题提出解决办法。 第5 章介绍了根据对s m a r t c l i e n t 技术的研究,设计并实现一个智能客户端 架构的分布式应用系统一企业管理系统。 第六章总结与展望。对全文的工作进行小结,并提出了现存的问题,以及 今后的工作的展望。 4 第一二章智能客户端简介 第二章智能客户端简介 智能客户端的概念作为n e t 平台的一个特性而被提出,其实它的很多功能在 传统的应用程序中早已存在,只是n e t 平台从系统和语言级别对它提供了支持, 使开发智能客户端应用程序更为便捷【2 1 。对用户而言,这将是新的一种软件使用 体验,能同时拥有c s 模式软件快速的反应、丰富的用户界面体验和瘦客户端 模式那样简单的部署、升级。 微软为了解决传统的二层及多层软件架构所存在的缺陷,通过结合b s 和 c s 架构以及多层架构技术的优点,提出了智能客户端丌发模式。智能客户端是 一种可扩展的能集成不同应用的桌面应用程序:它可以无接触部署、即需安装、 动态加载、自动更新,可以方便的经w e b 运行而不用担心防火墙问题,并可以 方便的离线应用。 2 1 智能客户端的定义 要完全了解智能客户端如何将胖客户端与瘦客户端的优点结合起来,需要 从胖客户端和瘦客户端应用程序模型背后的历史和原理开始。 2 1 1 胖客户端应用程序 胖客户端应用程序( c l i e n t s e r v e r 结构,简称c s 结构) 是在客户端和服务器 上安装不同逻辑实现的软件,然后这些软件通过一种已经协商好的方式进行通 讯,实现资源共享和提供服务的结构。c s 结构严格地定义了客户端和服务器端 对信息数据的处理范围,即客户端要访问服务器端的数据时,首先以特定的描 述语言,将请求信息首先传递给服务器端,由服务器端的相关模块判别并处理 客户端的这个请求,请求处理完毕后,服务器端再将处理结果回传给客户端, 访问过程到此结束。在这种工作方式下,服务器和客户端功能有详细的划分, 并且根据分工不同进行相应的信息保障。 ( 1 ) c s 结构的特点 系统功能强大 在很大程度上说软件体系的分工,可以给系统带来更加强大的功能。因为 5 第一二章智能客户端简介 系统的每个部分可以相对独立的完成比较专一的工作,这样就可以将每个功能 模块的负载降低,充分的考虑本模块的逻辑。 交互能力强 在客户端可以拥有非常友好的人机界面,增加了软件的易用性,提高了工 作效率。 系统运行效率高由于功能的分类管理,每个部分只完成自己对应的逻辑功 能,使得整个系统的应用效率得到提高。不会因为某一部分的功能负载过重导 致系统效率减低。 开发工具和开发手段可选择性强 在c s 的实现过程中,因为许多工作分担到了客户端,所以相应的_ 歼发就 灵活了许多。可以选择多种工具来构建系统实现。 ( 2 ) c s 结构的缺点 随着网络的不断发展,应用程序的业务逻辑也越来越复杂,c s 的缺点也就 慢慢的暴露出来。 系统相对封闭 在c s 应用中,大多数软件系统都只运行于局域网中,这是因为在广域网 中由于安全原因导致客户端软件很容易被利用,造成对服务器的攻击。而随着 互联网的飞速发展,移动办公和分布式办公越来越普及,需要系统具有良好的 分布性和扩展性。这种远程访问方式需要有专门的技术,同时要对系统进行专 门的设计。此时c s 结构不太能满足这种需求。 系统结构复杂 由于对软件的需求不断增加,使得c s 结构的软件系统变得越来越复杂, 出现了各种不同级别的客户端和不同应用方式的服务器。这就必然增加系统的 结构复杂性。 开发周期长 由于系统的结构日趋复杂,直接导致开发过程中对相应逻辑的理解和实现 也变得复杂,开发的周期就必然会增加,开发成本和调试成本也随之升高。这 是使用者、开发者和投资者都不希望的事情。 6 第二章智能客户端简介 安装和维护麻烦 客户端需要安装专用的客户端软件。首先涉及到安装的工作量,其次任何 台电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。还有,系统软 件升级时,每一台客户机需要重新安装,其维护和升级成本非常高。此外,对 客户端的操作系统一般也会有限制。 传统的c s 体系结构虽然采用的是开放模式,但这只是系统级别的开放性, 在特定的应用中无论是客户端还是服务端都还需要特定的软件支持。由于没能 提供用户真正期望的开放环境,c s 结构的软件需要针对不同的操作系统开发不 同版本的软件,加之产品的更新换代十分快,己经很难适应百台电脑以上局域 网用户同时使用,而且代价高、效率低。 2 1 2 瘦客户端应用程序 瘦客户端应用程序结构( b r o w s e r s e r v e r ,简称b s 结构) 是随着网路技术的兴 起,对c s 结构的一种变化或者改进。在这种结构下,用户工作界面是通过浏 览器来实现,极少部分事务逻辑在前端( b r o w s e r ) 实现,主要事务逻辑在服务器 端( s e r v e r ) 实现。这样就大大减轻了客户端电脑负担,减轻了系统维护与升级的 成本和工作量,降低了用户的总体成本。 b s 结构的工作方式主要是通过客户端的浏览器发送浏览信息的请求到服 务器( 通常这个请求是通过h t t p 等协议来实现的) ,服务器端解析这些协议信息, 将相应的信息在数据库或其他设备中找到,再将这些数据通过协议传递给客户 端的浏览器,然后浏览器用专门的方式将信息反馈给使用者。 整个过程中浏览器取代了以前c s 结构中的客户端应用程序。其实从某种 角度来讲b s 结构是在广域网络中对c s 结构的一种进化,是用浏览器这种比 较通用的客户端软件来取代原有的不能通用的客户端程序。 ( 1 ) b s 结构特点 b s 最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。 只要有一台能连接网络的电脑就能使用,客户端实现零维护。系统的扩展也非 常容易,只要能访问网络,再由系统管理员分配一个用户名和密码,就可以使 用。甚至可以在线申请,通过公司内部的安全认证( 如c a 证书) 后,不需要人的 参与,系统可以自动分配给用户一个账号进入系统。而且还有很多其他的特性: 统一的客户端浏览器拓展了应用空间 7 第二章智能客户端简介 由于客户端是通过浏览器来实现的,所以在使用服务的时候,客户不需要 特殊的软件来实现,只需要能访问网络就可以利用这个系统,这样就大大了简 化了使用者的工作。 维护和升级方式简单 目前,软件系统的改进和升级越来越频繁,b s 架构的产品明显体现着更为 方便的特性。b s 架构的软件只需要对服务器进行服务器,所有的客户端只是浏 览器,不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会 增加任何维护升级的工作量,所有的操作只需要针对服务器进行。今后,软件 升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、 时间、费用的节省是显而易见的。成本降低和选择丰富 由于客户端采用浏览器,所以软件的开发只需针对服务器端,这就极大的 降低了开发成本。而且因为使用的是相同的协议,那么具有浏览器的客户端对 系统的要求也就降低了,也不必像c s 结构局限于某一个特定的操作系统。在 b s 下可以应用各种操作系统来完成自己的任务,充分地发挥了b s 结构的多选 择性。 ( 2 ) b s 结构缺点 应用服务器运行数据负荷较重 由于b s 结构中软件的安装和管理只需在服务器端进行,管理人员也只需 要管理服务器,用户界面完全通过浏览器实现,因此大部分事务逻辑不需要在 浏览器中实现,所有的客户端只有浏览器。这种情况下就必然会给服务器端的 数据负荷带来较重的压力,如果服务器端的逻辑复杂度很高,将降低整个系统 的运行效率。 整个系统过于依赖网络 因为客户端没有复杂的客户端软件,所以客户端只能通过浏览器来对网络上的 资源进行访问,那么就必然造成客户端资源的浪费。客户端必须通过网络访问 服务器才能实现系统功能,一旦网络或者服务器因为逻辑错误或者其他的物理 问题( l c o h 停电、人为的损害等) 而停止,客户端就将失去工作能力。 安全性问题 由于微软i e 浏览器的自身缺陷,给系统带来了许多安全问题,也给使用者带来 了很多的不便。像基于i e 的病毒、木马和黑客通过i e 漏洞对系统进行攻击等等, 都是因为这种结构所暴露出来的安全问题而产生的。 8 第二章智能客户端简介 客户端的显示问题 因为客户端运行的只是浏览器,那么对于浏览器中显示的内容在设计阶段也要 考虑很多。但是由于当前的技术原因,造成了客户端的显示远没有在c s 中灵 活和丰富。 2 1 3 智能客户端应用程序 智能客户端的定义为是易于部署和管理的客户端应用程序,它们通过统筹 使用本地资源和到分布式数据资源的智能连接,从而提供适应的、快速响应的 和丰富的交互式体验【3 】。它们可以为用户提供内容丰富且响应迅速的用户界面, 提供脱机工作的能力,并且提供利用本地硬件和软件资源的方法。此外,可以 将它们设计为在各种各样的客户端设备上运行,包括桌面p c 、平板p c 以及手 持移动设备( 如p o c k e tp c 和s m a r t p h o n e ) 4 1 。智能客户端为用户提供了在强大且 直观的客户端环境中访问信息和远程服务的能力,并且是一种用来开发灵活的、 面向用户的应用程序以及提高用户工作效率和满意度的有效的解决方案【2 】。智能 客户端和胖客户端,瘦客户端的特点比较如图1 1 所示: 图1 - 1 智能客户端,胖客户端,瘦客户端虑用程序的比较 2 2 智能客户端的特征 智能客户端应用程序通常具有形形色色的要求,因此在设计和实现方面会 有极大的差异。但是,所有智能客户端都具有下列部分或全部特征: 利用本地资源 利用网络资源 9 第二章智能客户端简介 支持偶尔连接的用户 提供智能安装和更新 提供客户端设备灵活性 1 使用本地资源 设计良好的智能客户端应用程序最大限度地利用了代码和数据部署在客户 端上并且在本地执行和访问这一事实。它为应用程序提供了内容丰富且响应迅 速的用户界面,以及强大的客户端处理能力。例如,它可能使用户能够执行复 杂的数据操作、可视化、搜索或排序操作。 智能客户端可以利用客户端硬件资源( 如电话或条码读取器) 以及其他软 件和应用程序。这使它们非常适合于解决瘦客户端应用程序( 如销售点终端应 用程序) 无法很好解决的问题。智能客户端还可以利用本地软件( 如o f f i c e 应 用程序) 或客户计算机上安装的任何应用程序。通过创建能够与多个应用程序 集成并对这些应用程序进行协调的解决方案,您的用户可以更为有效地工作, 进行更好的决策,并减少数据输入错误。此类解决方案还可以使您的应用程序 更加紧密地与用户的工作环境集成( 例如,通过采用自定义的或熟悉的用户界 面) ,从而降低培训成本。 可以通过智能客户端应用程序集成或协调其他客户端应用程序,以便提供 一致且高效的总体解决方案。这些应用程序还应该了解正在使用应用程序的上 下文,并且应该适应该上下文以尽可能地帮助用户;例如,通过根据用户的使 用模式或角色抢先缓存适当且有用的数据【5 j 。 通过最大限度地使用本地资源以及将本地资源集成到您的智能客户端应用 程序,可以使您的应用程序更好、更有效地使用已经提供给您的硬件。非常常 见的情况是,处理能力、内存和高级图形功能没有得到利用。使用客户计算机 上的资源还可以减少服务器端硬件要求。 2 使用网络资源 智能客户端可以通过网络消耗和使用不同的服务和数据。它们是从许多不 同的源检索数据的有效方式,并且可以设计为对数据进行分析或整合,从而使 用户能够进行更为有效和明智的决策。例如,智能客户端可以使用映射服务来 提供有关地点和驾驶方向的详细信息。 智能客户端应用程序应该尽可能地连接,并且应该利用可以通过网络使用 的资源和服务。它们不应该是独立的应用程序,并且应该总是构成更大的分布 1 0 第二章智能客户端简介 式解决方案的一部分。智能客户端应用程序起码应该使用有助于维护该应用程 序以及提供部署和更新服务的集中式服务【6 】。 智能客户端应用程序的连接性质使其可以提供有价值的数据整合、分析和 转换服务。它们使用户可以实时地或者在一段时间内协作完成任务。在许多情 况下,智能客户端应用程序可以向用户提供类似于门户的功能,从而将完全不 同的数据和服务加以协调并集成到总体解决方案中。 3 支持偶尔连接的用户 可以将智能客户端设计为向偶尔连接到网络的用户提供功能,从而使用户 可以在明确脱机、使用低带宽或高延迟网络,或者连接时断时续的情况下继续 高效地工作。对于移动应用程序,智能客户端还可以优化网络带宽一例如, 通过将请求批量发送到服务器,以便更好地使用代价昂贵的连接1 7 j 。 即使当客户端大多数时间都连接到网络时,智能客户端应用程序也可通过 以智能方式缓存数据和管理连接来改善性能和可用性。例如,在低带宽或高延 迟环境中,智能客户端应用程序可以用特殊的方式管理连接,即不损害应用程 序的可用性和响应性,并且用户可以继续高效地工作。 通过使用户能够在断开连接或只偶尔连接的情况下工作,提高了用户的工 作效率和满意度。智能客户端应用程序应该致力于在脱机时提供尽可能多的功 能。 4 提供智能安装和更新 传统胖客户端所具有的些最大的问题发生在部署或更新应用程序的时 候。许多胖客户端应用程序具有大量复杂的安装要求,并且可能通过注册组件 以及或者在公共位置安装d l l 来共享代码,从而导致应用程序脆弱性和更新 困难【9 1 。 可以对智能客户端应用程序进行设计,以使其按照远比传统胖客户端应用 程序更智能和灵活的方式来管理它们的部署和更新。它们可以避免上述常见问 题,从而有助于减少应用程序的管理成本。 有许多部署智能客户端的不同方式。这些方式包括:简单地将文件复制到 本地计算机;使用非接触式部署自动从中央服务器下载代码;或者使用企业推 技术如m i c r o s o rs y s t e m sm a n a g e m e n ts e r v e r 来部署w i n d o w si n s t a l l e r 软件包。 您选择的方法将依赖于您的特定情况。 智能客户端应用程序可以在其运行时或位于后台时对自身进行自动更新。 第二章智能客户端简介 这一功能使其可以逐个角色地进行更新;以分阶段的方式更新,从而可以将应 用程序推介给先导小组或受限的用户组;或者按照制定的时间表更新。 n e t 框架使您可以对应用程序组件进行强命名,这意味着应用程序可以指定 用来生成和测试其确切版本的组件,并通过这些版本的组件运行【8 l 。n e t 框架使 应用程序可以相互隔离,以便在安装一个应用程序时不会破坏另一个应用程序, 并且同一应用程序的多个版本可以并列部署。这些功能大大简化了应用程序部 署,并且消除了许多与胖客户端应用程序相关联的应用程序脆弱性问题。 5 提供客户端设备灵活性 智能客户端还可以提供灵活且可自定义的客户端环境,从而使用户可以将 应用程序配置为支持他或她喜欢的工作方式。智能客户端应用程序没有被限制 到桌面计算机或膝上型计算机。随着小规模设备的连接性和能力的增加,愈发 需要能够提供对多个设备上重要数据和服务的访问的有用客户端应用程序。 与n e t 框架压缩版一起,n e t 框架提供了一个可用来生成智能客户端应用程序 的通用平台。 可以对智能客户端进行设计以使其适应宿主环境,并且为它们运行时所在 的设备提供适当的功能。例如,适合在p o c k e tp c 上运行的智能客户端应用程 序应该提供相应的用户界面,该用户界面在较小的屏幕区域上被调整为使用笔 钳。 在许多情况下,您需要设计多个版本的智能客户端应用程序,每个版本都 面向特定的设备类型,以便充分利用该设备所支持的特定功能【m 】。因为小规模 设备通常在提供完整范围的智能客户端应用程序功能方面受到限制,所以它们 可能只提供对功能完善的智能客户端应用程序所提供的数据和服务子集的移动 访问,或者它们可用于在用户移动时收集和整合数据。最后,可以由功能更加 完善的智能客户端应用程序或服务器端应用程序来分析或处理这些数据。 能够感知目标设备的功能和使用环境( 无论它是桌面还是移动设备) ,以及 能够定制应用程序以提供最适当的功能,这些都是许多智能客户端应用程序的 基本特点。 2 3 智能客户端部署技术一c l i c k o n c e 现在,很多人都似乎比较喜欢选择b s 模式进行w e b 的开发,这其中的原 1 2 第二章智能客户端简介 因是很多的。但其中一点很重要的原因,那就是因为b s 开发的话,部署非常 之容易,因为这样很容易实现”瘦客户端”,客户端只需要使用浏览器就可以运行 应用了。但b s 模式下开发的w e b 应用,也有其不足之处,主要是由于功能实 现起来,是没办法和传统的c s 模式下的w i n f o r m 应用相比的【1 1 】,很多w i n f o r m 下要实现的优秀功能,在w e b 上都很难实现,或者说有的根本没办法实现。但 传统的w i n f o r m ,在部署上也有自己的困难之处,如果客户端多的话,每次部署 和版本升级都十分麻烦。具体来说,传统应用程序开发过程中,程序的部署存 在下列问题: 1 ) 客户端应用程序会被破坏【1 2 1 假设原先有一个客户端应用程序,它使用一个共享的d l l 库,如果现在新安 装一个客户端应用程序,如果它也使用以前的相同的d l l 库,但是可能它们的版 本并不相同,或者说是仅仅在命名上相同,但是其内部函数调用是完全不同的。如 果这样去部署一个新的客户端应用程序的话,新的d l l 库会覆盖掉旧的d l l 库, 这时旧的d l l 就没法再加载它所需要的d l l 问题从而导致旧的客户端应用程 序无法工作,这就是通常所说的“d l l 地狱问题”。 2 ) 安装客户端应用程序非常困难并且成本高昂 如果客户端应用程序需要部署在相当多的客户端上面的话,由于具体的软 硬件环境是不同的,这样当把客户端应用程序部署在不同的平台上的话,可能 会出现软硬件兼容或者是版本冲突的问题,这样的话可能会导致应用程序无法 部署,或者是正常部署之后却无法正确执行等一些负面问题。再有一点就是当 用户在客户端部署了应用程序以后,如果将来需要对这些应用程序进行更新的 话,只能通过对每台机器进行单独更新的方式来对客户端应用程序进行升级。 这样就会使客户端应用程序的更新变得非常繁琐,从而需浪费大量的人力和时 间,使得后期维护成本高昂。 3 ) 基于w 曲的应用程序 对于在b s 架构下w e b 应用程序的部署,由于w e b 的动态应用程序是完全 部署在服务端,而对于客户端仅仅是通过浏览器调用应用程序就可以了,所以 说它基本上解决了由传统应用程序所产生的部署问题,但是它也存在一个先天 性的问题,那就是它难于实现丰富的客户端体验【l3 1 。这是因为在使用w e b 应用 程序的时候,返回给浏览器的是基于h t m l 的形式,所以说对于一些丰富的客 户端的体验,很难实现或者说根本无法实现,比如说通过w e b 应用程序实现多 1 3 第一二章智能客户端简介 线程的调用。 2 3 1c l i e k o n c e 概述 c l i c k o n c e 是一种部署技术,使用该技术可创建自行更新的基于w i n d o w s 的应用程序,这些应用程序可以通过最低程度的用户交互来安装和运行。 c l i c k o n c e 部署克服了部署中的三个主要问题: 更新应用程序的困难 使用m i c r o s o f tw i n d o w si n s t a l l e r 部署,每次应用程序更新时,用户都必须 重新安装整个应用程序;使用c l i c k o n c e 部署,则可以自动提供更新。只有更 改过的应用程序部分才会被下载,然后会从新的并行文件夹重新安装完整的、 更新后的应用程序【1 4 1 。 对用户的计算机的影响 使用w i n d o w si n s t a l l e r 部署时,应用程序通常依赖于共享组件,这便有可 能发生版本冲突;而使用c l i c k o n c e 部署时,每个应用程序都是独立的,不会 干扰其他应用程序。 安全权限 w i n d o w si n s t a l l e r 部署要求管理员权限并且只允许受限制的用户安装;而 c l i c k o n c e 部署允许非管理用户安装应用程序并仅授予应用程序所需要的那些 代码访问安全权限。 核心c l i c k o n c e 部署结构基于两个x m l 清单文件:应用程序清单和部署清 单。应用程序清单描述应用程序本身,包括程序集、组成应用程序的依赖项和 文件、所需的权限以及提供更新的位置。部署清单描述如何部署应用程序,包 括应用程序清单的位置以及客户端应运行的应用程序的版本15 1 。 过去,这些问题有时会使开发人员决定创建w e b 应用程序而不是基于 w i n d o w s 的应用程序,牺牲了w i n d o w s 窗体丰富的用户界面和响应性来换取 安装的便利。通过使用利用c l i c k o n c e 部署的应用程序,您可以集这两种技术 的优势于一身。 2 3 2 基本工作原理 n e tf r a m e w o r k 安装提供了一个挂接i e 5 0 和更高版本以侦听所请求 的n e t 程序集的机制。在请求期间,可执行程序被下载到磁盘上称为程序集下 1 4 第二章智能客户端简介 载缓存的位置。然后该可执行程序在具有有限安全设置的环境中启动该应用程 序,见图3 4 : ( = : | 用户 用用尸界面 图3 4 无接触部署基本原理图 2 3 3c i i c k o n c e 部署和更新方式 有三种不同的策略用于部署c l i c k o n c e 应用程序;所选择的策略主要取决 于要部署的应用程序的类型。这三种部署策略为: 从w 曲或网络共享安装 如果使用此策略,则应用程序会部署到w e b 服务器或网络文件共享。当最 终用户要安装应用程序时,该用户在网页上单击图标或是在文件共享上双击图 标。然后会在最终用户的计算机上下载、安装并启动应用程序。应用程序项被 添加到“开始”菜单和“控制面板 中的“添加删除程序”组中。 因为此策略依赖于网络连接,所以最适合将部署到可以访问局域网或高速 i n t e m e t 连接的用户的应用程序。若要在v i s u a ls t u d i o 中启用此部署策略,请 在发布向导的“安装方式”页上单击“从w e b 或“从u n c 路径或文件共享 。 这是默认部署策略。 从c d 安装 如果使用此策略,则应用程序会部署到可移动媒体( 如c d r o m 或 d v d ) 。与前一种策略一样,当用户选择安装应用程序时,应用程序被安装并启 动,应用程序项被添加到“开始”菜单和“控制面板”中的“添加删除程序” 组中。 此策略最适合将应用程序部署到不具有持久网络连接或只具有低带宽连接 的用户。因为应用程序是从可移动媒体安装的,所以安装不需要任何网络连接; ls 传匕ptim 员人p 卞八耽 第二章智能客户端简介 但是,应用程序更新仍需要网络连接。 从w e b 或网络共享启动应用程序 此策略与第一种策略相似,但应用程序在此策略中的行为类似于w e b 应用 程序。当用户在网页上单击链接( 或在文件共享上双击图标) 时,应用程序被 启动。当用户关闭应用程序时,应用程序在用户的本地计算机上不再可用;此 策略不会向“开始”菜单或“控制面板”中的“添d h 册o 除程序”组添加任何内 容。 从技术角度看,应用程序被下载和安装到本地计算机上的应用程序缓存中, 就如同w 曲应用程序被下载到w 曲缓存中一样。与w 曲缓存一样,最后会 从应用程序缓存中清理文件。但是,从用户的角度来看,应用程序是从w e b 或 文件共享运行的【1 6 1 。 而在更新策略方面c l i c k o n c e 提供了多种策略,主要包括: 1 】在应用程序启动后检查更新 如果使用该默认策略,则应用程序会在运行期间尝试在后台查找并读取部 署清单文件。如果某个更新可用,则当用户下一次运行应用程序时,会提示用 户下载并安装该更新。此策略最适用于低带宽的网络连接或可能需要长时间下 载的较大应用程序。 2 】在应用程序启动时检查更新 如果使用此策略,则每当用户启动应用程序时,应用程序都会尝试查找并 读取部署清单文件。如果某个更新可用,则会下载并启动该更新;否则,会启动 现有版本的应用程序。此策略最适用于高带宽的网络连接。 【3 】强制执行更新 在有些情况下,可能需要强制用户运行版本更新。例如,可能对诸如w e b 服务等外部资源进行了某种更改,而这种更改会使得较早版本的应用程序不能 正常工作。在这种情况下,您需要将更新标记为“必需”,并阻止用户运行较早 的版本。 2 4 智能客户端的类型 智能客户端在设计和实现方面差异极大,这既包括应用程序要求,也包括 可以使用它们的方案和环境的数量。因此,智能客户端可以采取许多不同的形 1 6 第二章智能客户端简介 式和风格。根据智能客户端应用程序所面向的平台,可以将这些形式划分为三 大类【1 7 】: w i n d o w s 智能客户端应用程序 o f f i c e 智能客户端应用程序 移动智能客户端应用程序 2 4 1w i n d o w s 智能客户端应用程序 当想到胖客户端应用程序时,通常会想到具有丰富的系统资源和用户界面 的桌面应用程序。面向w i n d o w s 的智能客户端应用程序是在传统胖客户端应用 程序的基础上发展而来的,并且提供特定的面向特殊目标的功能。 w i n d o w s 智能客户端应用程序适合于需要将应用程序作为熟悉的桌面类型 应用程序进行部署和访问的情况。这些类型的应用程序通常由其自身提供其大 部分功能,但是在适当的时候可以与其他应用程序集成或者协调其他应用程序 【l 引。此类应用程序通常使用w i n d o w s 窗体来提供熟悉的w i n d o w s 风格的用户界 面,并由应用程序本身提供大部分功能,而且不依赖于其他应用程序来提供主 用户界面。这样的智能客户端既可以是通过h t t p 部署的简单应用程序,也可 以是非常复杂的应用程序。 w i n d o w
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 内部股东合作协议书
- 卫生院医院工作总结
- 员工个人承诺书15篇
- 2025年滁州明光市消防救援大队招聘政府专职消防员15人模拟试卷及答案详解(必刷)
- 2025年黑龙江广播电视台(黑龙江省全媒体心)第二次公开招聘事业单位编制人员60人模拟试卷及一套答案详解
- 2025年甘肃省平凉市第二批市直单位公益性岗位工作人员招聘37人模拟试卷参考答案详解
- 2025年福建省泉州市阳山铁矿有限责任公司招聘1人考前自测高频考点模拟试题及完整答案详解
- 2025年四平市民族宗教事务服务中心等事业单位公开选调工作人员笔试考前自测高频考点模拟试题及完整答案详解1套
- 2025年甘肃省武威市凉州区清源镇选聘专业化管理的大学生村文书考前自测高频考点模拟试题及答案详解(全优)
- 夜班出租车承包合同15篇
- 2025广东房屋租赁合同范本官方版
- 新版中华民族共同体概论课件第八讲共奉中国与中华民族内聚发展(辽宋夏金时期)-2025年版
- 2025定制衣柜安装承揽合同范本
- 2025年MicroLED行业研究报告及未来行业发展趋势预测
- 《彩虹》课件 部编版语文二年级上册
- 2025年全国企业员工全面质量管理知识竞赛试题及答案
- 麻醉恢复室护理要点
- 水下激光探测-洞察及研究
- 7.2 量身高(课件)-2025-2026学年三年级数学上册北师大版
- DB44∕T 2499-2024 海堤生态化建设技术导则
- GWZBQ-10(6)G 型微机高压启动器保护装置产品使用说明书
评论
0/150
提交评论