已阅读5页,还剩61页未读, 继续免费阅读
(计算机应用技术专业论文)面向服务的smart+client系统的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文摘要 随着信息技术在企业信息系统中的广泛使用,传统的封闭式系统暴露出很多 难以克服的缺点,系统功能单一、结构死板、难以部署和更新的局限性阻碍了企 业信息化的深入发展。为克服这缺陷,n e t 平台下s m a r ta i e n t ( 智能客户端) 技术应运而生,其应用显示出了巨大的优越性,成为软件开发中的热点。 本课题设计实现了基于s m a nc l i e m 的w o r k t r a c k e r 系统,它是一个连接到 互联网的企业信息管理系统。它允许用户的本地应用程序通过w e b 服务和服务 器应用程序交互,从而将胖客户端和瘦客户端的优点很好的结合在一起,摒弃了 他们各自的缺点,使得该系统的应用不受网络环境的限制,并且具有很好的灵活 性、可扩展性和复用性,使系统易于部署和更新,具有重要的使用价值。 本文首先简要地介绍了s m a r tc l i e n t 技术,w e bs e r v i c e s 技术的构成及其特 点,并详细分析了s m a r tc l i e n t 框架、w e bs e r v i c e s 的协议。然后本文分析和比 较了各种智能客户端网络通讯策略的工作方式、各自的优缺点。在这些分析和比 较的基础上,本文提出了选用w e bs e r v i c e s 作为实现智能客户端应用程序连接到 服务的技术。使用该方案生成的体系结构使得客户端在联机和脱机的环境下都能 很好的工作,可以实现智能客户端易于部署、易于更改业务逻辑、易于维护和升 级等优点。 w o r k t r a c k e r 系统的客户端采用o b s e r v e r 模式进行开发,并充分利用 了n e t f r a m e w o r k 中的委托( d e l c g a t e ) 和事件( e v e n t ) 来实现该模式。而委托和事 件几乎消除了观察者( o b s e r v e r ) 和主体( s u b j e c t ) 之间的耦合,极大地提高了灵活 性。由于采用了s m a r tc l i e n t 框架进行开发,使得客户端支持在线和离线两种状 态,并且支持组件的自动更新。 w o r k t r a c k e r 系统的服务器端采用w e bs e r v i c e s 技术和a d o n e t 数据访问 技术来为客户端提供服务。w e bs e r v i c e s 发布一些可用的服务供客户端使用,这 些服务包括数据的查找、数据的缓存和更新、身份验证,以及是否存在可更新的 组件等。由a d o n e t 实现对数据库的访问,它利用x m l 来提供对数据的断开 式访问,使得本系统的离线使用成为可能。 最后,在总结全文的基础上,本文提出了若干今后有待进一步深入研究和探 讨的问题。将s m a r tc l i e m 框架运用到w o r k t r a c k e r 系统中,解决现有类似系统 中存在的问题和缺点是本课题的最大创新点。它解决了c s 模式下移植困难,维 护,升级麻烦,b s 模式下响应速度慢,糟糕的客户体验和网络依赖性强等问题, 为用户提供了一个在线和离线都可使用且能智能升级的系统。 关键词:智能客户端,w e b 服务,a d o n e 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 m e x p o s e sar 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 tc l i e n te 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 eah o tp o i n t w o r k t r a c k e rs y s t e mi sd e s i g n e db a s e do ns m a r tc l i e n t i ti sa ne n t e r p r i s e i n f o r m a t i o nm a n a g e m e n ts y s t e mw h i c ha l l o w su s e r s l o c a la p p l i c a t i o nt oc o n n e c tt o w e bs e r v e ra p p l i c a t i o n sw i t hw e bs e r v i c e s i ti sag o o dc o m b i n a t i o no ft h em e r i t so f f a tc l i e n t sa n dt h i nc l i e n t s i th a se x c e l l e n tf l e x i b i l i t y , s c a l a b i l i t ya n dr e u s a b i l i t y , a n d m a k e st h es y s t e me a s yt od e p l o ya n du p d a t e t h i sp a p e ri n t r o d u c e st h es m a r tc l i e n tt e c h n o l o g ya n dw e bs e r v i c e st e c h n o l o g y , a n dd e t a i l e da n a l y z et h es m a r tc l i e n tf r a m e w o r k , w e bs e r v i c e sp r o t o c o l s ,t h e n a n a l y z e sa n dc o m p a r e sv a r i o u ss m a r tc l i e n tn e t w o r kc o m m u n i c a t i o n ss t r a t e g yw o r k , t h ea d v a n t a g e sa n dd i s a d v a n t a g e so fe a c h o nt h eb a s i so fa na n a l y s i sa n dc o m p a r i s o n o f t h e s e , t h i sp a p e rp r o p o s e st h eu s eo f w e b s e r v i c e st oa c h i e v es m a r tc f i e n t a p p l i c a t i o n s n cc l i e n to f w o r k t r a c k e rs y s t e mu s e so b s e r v e rm o d e l a n di tm a k e su s eo f t h ed e l e g a t ea n de v e n to f n e tf r a m e w o r kt oa c h i e v et h em o d e l a n dt h ed e l e g a t e a n de v e n te l i m i n a t et h ec o u p l i n g sb e t w e e nt h eo b s e r v e ra n dt h es u b j e c t ,a n dg r e a t l y i n c r e a s e st h ef l e x i b i l i t y a sar e s u l to ft h ef r a m e w o r kf o rs m a r tc l i e n td e v e l o p m e n t , m a k i n gb o t ho n l i n ea n do f f l i n es t a t ei ss u p p o r t e d , a n da l s oa u t o m a t i cu p d a t e sa n d s u p p o r tc o m p o n e n t s 乃es e r v e ro fw o r k t r a c k e rs y s t e mn s e s 缔台6s e r v i c e sa n da d o n e td a t aa c c t 8 t e c h n o l o g yt op r o v i d es e r v i c e st oc f i e n t w 曲s e r v i c e si s s u es o m es e r v i c e s ,a n dt h e s e s e r v i c e si n c l u d ed a t as e a r c h ,d a t ac a c h i n g , u p d a t e di d e n t i f i c a t i o na n dt h ee x i s t e n c eo f c o m p o n e n t sw h i c hc a l lb eu p d a t e d 1 1 l ed a t a b a s ei sc o n n e c t e db y a d o n e t w h i c h u s e sx m lt op r o v i d ed a t ao f f l i n ea c c e s s f i n a l l y , t h i sp a p e rp r e s e n t sas e r i e sq u e s t i o n sw h i c hn e e df u r t h e rd i s c u s s i o n u s i n gs m a r tc l i e n tf r a m e w o r kt ot h ee x i s t i n gs y s t e mi st h es u b j e c to ft h eg r e a t e s t i n n o v a t i o n s i tr e s o l v e st h ed i f f i c u l t i e sa b o u tt h et r a n s p l a n t a t i o n ,m a i n t e n a n c ea n d u p g r a d i n go fc sa n ds l o wr e s p o n s eo fb sa n dd e p e n d e n c eo ft h ew o r s t c u s t o m e r e x p e r i e n c ea n dn 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 - l i n e s m a r ts y s t e m k e yw o r d s :s m a r tc l i e n t ,w e bs e r v i c e s ,a d o n e t , d e s i g np a t t e r n s n 独创性声明 本人声明,所呈交的论文是我个人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢 的地方外,论文中不包含其他人已经发表或撰写过的研究成果, 也不包含为获得武汉理工大学或其它教育机构的学位或证书而使 用过的材料。与我_ 同工作的同志对本研究所做的任何贡献均已 在论文中作了明确的说明并表示了谢意。 研究生签名;童i 圣圭日期兰! i : ! :芏 关于论文使用授权的说明 - 本人完全了解武汉理工大学有关保留、使用学位论文的规定。 即:学校有权保留送交论文的复印件,允许论文被查阅和借阅; 学校可以公布论文的全部内容,可以采用影印、缩印或其他复制 手段保存论文。 ( 保密的论文在解密后应遵守此规定) 研究生签名:壑至聋导师签名:蓬骜鸯巍 日期垒丝i :i ! :蔓 武汉理工大学硕士学位论文 1 1 课题背景 第1 章绪论 随着i n t e m e t 的普及,催生了强大的浏览器,而强大的浏览器则催生了b s 时代。从9 0 年代末开始,b s 结构成为应用开发的主流架构,浏览器成为客户 端的主流工具。随着软件技术的发展,一方面软件抽象程度提高,从当年的机器 码到今天的高级语言甚至虚拟机上的高级语言,从简单的子程序到面向对象、面 向组件甚至面向方面,程序的表达距离硬件越来越远,距离自然语言越来越近。 另一方面是底层平台的变迁,从最初的大型机,到后来的小型机、p c ,从字符 界面到g u i ,从小规模的u 蝌到基于文档的i n t e m e t ,到基于对象的分布式系统, 我们面对的平台越来越完善。功能越来越强。这两方面交替发展,相得益彰,共 同推进着软件开发向前发展。 从9 0 年代末期开始,底层平台的技术架构开始迅速变迁,其速率较之以往 大为提高。在经历了c s ,b s 之后。r i c hi n t e r a c t a p p l i c a t i o n ( r i a ) 就是迎面而来 的变革。r i a 、r i c hc l i e n t 、s m a r tc l i e n t ,那就是在发挥i n t e r a c t 强大的互联能力 的同时,也发挥p c 强大的表现能力。 目前,r i a 的主流解决方案有如下几种:f l e x ,s m a r tc l i e n t ,e c l i p s er c p ( e c l i p s er i c hc l i e n tp l a t f o r m ) 。互联网已经日益成为应用程序开发的默认平台, 传统的w e b 应用程序( w e b a p p l i c a t i o n ) 是基于h t m l 页面、服务器端数据传递的 模式。而h t m l 是适合文本的,随着w e b 应用程序复杂性越来越高,传统的 w e b 应用程序已经渐渐不能满足w e b 浏览者更高、全方位的体验要求了,这就 是被m a c r o m e d i a 公司称之为的体验问题了。一种被称为r i a 的具有高度互动性 和丰富用户体验的网络应用程序出现了。诚然,w e b 的广泛应用解决了c s 应用 程序部署和更新的困难,但是w e b 应用程序由于采用了h t m l 页面形式的用户 界面,客户端的数据处理能力较c s 应用程序有所回落。 c s 结构的特点主要是部署、更新的问题。b s 的缺点是受限于h t m l ,无 法像c s 那样使用丰富的效果来展现数据,用户体验比较糟糕。另外还有重要的 一点,网络中断将使b s 程序无法运行。从c s 到b s ,这两者受限于技术本身, 从而分别发展成了重客户端和重服务器端的模式,而r i a 的出现给我们带来了 在客户端和服务器端的平衡。微软推出的s m a r tc l i e n t 正是这样的一款技术,它 结合了瘦客户端和胖客户端的优点,在脱机的时间,使用者能够正常的工作,而 武汉理工大学硕士学位论文 在上线的时候,通过网络的传输,使用者能够轻易的作数据同步或是软件更新。 1 2 国内外现状 从目前的应用来看,有很多种技术为上述期望的模型提供了不同程度的支 持,其中除了微软公司的s m a r tc l i e n t 技术之外,比较有代表性的技术还有 m a c r o m e d i a 的m c hi n t e m e ta p p l i c a t i o n s 。m a c r o m e d i a 推广的r i c hi n t e m e t a p p l i c a t i o n s 更像是从b s 出发,关注于解决b s 的缺点。而m i c r o s o f t 推广 的s m a r tc l i e n t 则更像是从c 幅出发,关注于解决c s 的缺点。m a c r o m e d i a r i c hi n t e m e ta p p l i c a t i o n s 理念的重要实践者f l e x ,就是利用了“f l a s h 客户端在 全世界的高普及率( 高达9 5 以上) ”、“f l a s h 相比h t m l 而言丰富的展现能力” 这些已有优势,在服务端根据m x m l ( m a c r o m e d i a 扩展的x m l 标记语言1 的标 记,动态的生成f l a s hs w f 文件返回给浏览器客户端,并以此向用户提供接近 c s 的用户体验“。 微软给出的s m a r t c l i e n t 示例,重点向我们展示了a u t o - u p d a t e 自动更新, o f f i i n e 离线状态下的数据处理等特征f 而它本身也是在已有的n e tw i n d o w s f o r m s 技术或者o f f i c e 技术等基础上,修正了原有的一些缺点。 在国内,企业应用大部分停留在b s 、c s 模式上,并没有非常成功的智能 客户端应用程序。主要原因在于,智能客户端作为一个新的思想,在开发技术上 还不是很成熟,相关的软件开发包比较少,而且实现不完整。另外一个原因是智 能客户端设计到多项技术,企业对是否要采用智能客户端还持观望态度。 1 3 课题研究目的及意义 智能客户端是为了结合b f s 和c s 结构优点而提出。智能客户端的发展可以 大致分为独立型与依附型两类。独立型指的是以新一代的技术所架构起的智能客 户端,可以同时支持联机与离线模式。可用技术平台包括m i c r o s o f t n e t w i n d o w s f o r m 、s u nj 2 s ew e b s t a r t 与m a c r o m e d i ac e n t r a l 。至于依附型,则是依附在浏览 器上,提供较丰富的使用者接口,但不能提供离线的运作能力,包括有 m a c r o m e d i an 勰h m x 、a l t i o l i v ep l a t f o r m 、d e r o # e t su s e ri n t e r f a c es e r v e r 与c u r l 的s u r g e 。微软也正将l o n g h o r n 的展示层技术a v a l o n 通过x a m u 可以让网页开 发者撰写w i n d o w s 程序) 给予浏览器呈现丰富接1 2 1 的能力。 实际上,智能客户端的概念已经很广泛地被推广至不同的应用程序架构,可 以是o f f i c e 延伸功能、移动装置的应用程序,或是新一代的w i n d o w s 应用程序。 2 武汉理工大学硕士学位论文 只要具备智能客户端的特色需求,便可以符合多数系统使用者的期望。虽然国外 在智能客户端程序结构上已有一定的研究,如o a b ( o f f l i n e a p p l i c a t i o n b l o c k ) , 但总的来说它的实现还不完整。 现有方法的不足 实现智能客户端各种特性的方法很多,但现时作为智能客户端开发软件包或 类库则只有o f f l i n ea p p l i c a t i o nb l o c k 。这个程序块为用户搭建了基本的离线应 用程序结构,它有以下几方面不足: ( 1 ) 管理网络连接:o f 丑i l l e a p p l i c a t i o nb l o c k 从网络适配器是否能够收发数据 包来判断网络使用状态,这种方法没有从应用层面考虑,假如网络是连通 的,但是提供服务的主机或者某个具体的服务瘫痪,那么程序就不能处理 了。 ( 2 ) 队列同步实现:o t l l i n e a p p l i c a t i o nb l o c k 在调用服务同步数据的时候采用 基于队列的实现,但是它的实现不甚完整,缺少a c o e 鹞、m y s q l 等的实 现,并且它针对的是p c 机方面的实现。对于p d a 、s m a r t p h o n e 就没有 考虑。 ( 3 ) 长期数据缓存:智能客户端数据类型可分为短期数据及长期数据,两种数 据的缓存方式不同,o f f l i n ea p p l i c a t i o nb l o c k 对短期数据的处理比较完 善,但没有提供长期数据处理方法。 智能客户端与离线应用技术的部分特征已经在某些软件中体现,但是,把它 们的所有特征进行集成,形成一套适合于企业应用开发的框架,提供一套完整的 类库或a p l ,使得企业开发更容易,更适合移动应用将是重要的课题。另外, 企业应用中有很大一部分涉及到可以用离线操作和充分利用本机计算能力需求, 因此,开展本课题很有实际应用意义。 本课题的目的就是通过利用面向服务的体系结构,应用n e t 技术、w e b s e r v i c e s 技术、智能客户端模式、设计模式等现代软件工程方法,建立一个适应 性强的、可进化的、易维护的分布式应用。这种面向服务的智能客户端分布式应 用提供了离线工作机制、缓存服务以及通用数据库访问服务。 本文的工作主要是在分析现有智能客户端技术的基础上,研究离线智能客户 端的设计与实现,改变旧有的离线策略,重新封装为更强大的类库,形成智能客 户端开发软件包,提供给企业开发者使用。本文同时讨论了面向服务的智能客户 端离线应用程序的体系结构,基于离线应用基础库和这个体系结构,把智能客户 端与离线技术应用于企业软件中。 3 武汉理工大学硕士学位论文 第2 章智能客户端技术 微软为了解决传统的二层及多层软件架构所存在的缺陷,通过结合b s 和 c s 架构以及多层架构技术的优点,提出了智能客户端开发模式。智能客户端是 一种可扩展的能集成不同应用的桌面应用程序:它可以无接触部署、即需安装、 动态加载、自动更新,可以方便的经w e b 运行而不用担心防火墙问题,并可以 方便的离线应用。 2 1 智能客户端技术的特点 2 1 1 智能客户端的基本特征 智能客户端是易于部署和管理的客户端应用程序,它们通过统筹使用本地资 源和到分布式数据资源的智能连接,从而为您提供适应的、快速响应的和丰富的 交互式体验,从而把胖客户端应用程序和瘦客户端应用程序的优点很好地结合在 一起嘲。特点如图2 - 1 所示。 胖客户端智能客户端瘦客户端 图2 - 1 智能客户端的特点 智能客户端应用程序各种要素组合在一起,从而为它的最终用户提供快速响 应的、丰富的和吸引人的体验。 4 武汉理工大学硕士学位论文 图2 2s m a r tc l i e n t 架构图 图2 - 2 可一览s m a r tc l i e n t 的整体架构,最上方有包含使用p c 、n o t e b o o k 、 t a b l e tp c 、m o b i l ed e v i c e s 等软硬件装置的s m a r tc l i e n t ,他们都具有通过中间层 的w e bs e r v i c e s ,存取后台服务器所提供的各种服务功能,如常见的天气查询、 股价的查询等。 s m a r tc l i e n t 可以充分的运用网络和w e bs e r v i c e s 存取各种外部系统的资源, 这一点和浏览器这类的瘦客户端完全需要依赖网络资源的软件非常类似。s m a r t c l i e n t 和常见的桌面软件相同,都能使用本机电脑的所有资源,充分发挥客户端 电脑的运算能力。因此可以说s m a r tc l i e n t 是结合了瘦客户端和胖客户端的优点, 整合过后的一种全新软件模式,然而s m a r tc l i e n t 并不能单纯归类为单一特定的 瘦客户端胖客户端的架构当中。 窗口环境的w i nf o r m 加上调用w e bs e r v i c e s 的功能是s m a r tc l i e n t 中的一种 使用模式。除此之外,微软还提供了许多相关的软硬件可供用来开发s m a r tc l i e n t 架构开发应用软件,都具备通过网络存取交换不同系统数据的能力,以及发挥自 身硬件资源所提供的运算能力。开发这些软硬件上的s m a r tc l i e n t 会使用许多网 络的资源,诸如存取外部系统数据、部署和更新软件等。在开发服务器和客户端 的时候,双方都使用合适的开发方式与部署模式,才能够发挥s m a r tc l i e n t 最大 的效益。 s m a r tc l i e n t 和浏览器相同,都会使用许多网络的资源,也离不开网络的应用, 但s m a r tc l i e n t 具备的几点特色,使其和浏览器有很大的差异:将商业逻辑程序 和使用者界面清楚地分离;也可将部分的商业逻辑放置在客户端,让客户端可使 用所谓的离线存取数据,同时可使用客户端机器的运算能力,让使用者界面的响 应更快。其状态维护的管理与快取机制放置在客户端,这样可大幅减少每一个客 户存取服务器上的状态数据和快取数据所花费在等候网络传递数据的时间。数据 5 武汉理工大学硕士学位论文 可被存放在客户端,以减少服务器维护客户端状态消息所花费的资源。 2 1 2 智能客户端的优点 智能更新支持离线连线能力 图2 - 3s m a r tc l i e n t 核心特色 在进行s m a r tc l i e n t 的开发之前,首先要了解的是s m a r tc i i e n t 的整体架构, 与其所具备的功能,在有了这些概念之后,我们才能够开发出最能够发挥s m a r t c l i e n t 特色的系统。在真实的情况中会有许多因素需要考虑,但整体而言s m a r t c l i e n t 主要具备了一些整合了瘦客户端胖客户端的优点与特色,在图2 3 中可以 看到这些功能都是架构在整个n e t 平台上实现的: ( 1 ) 充分利用本机资源的运算功能 本机资源提供给s m a r tc l i e n t 主要分为两大类:硬件与软件 在硬件层方面,s m a r tc l i e n t 可充分使用客户端的硬件运算能力。举例来说, 除了个人电脑强大的运算功能外,我们还可以通过外接的麦克风和内建的音效卡 进行语音输入,进而达到语音识别的功能,也能利用摄影机动态捕捉影像,或利 用条形码读卡机等硬件所提供的这些功能,而这些都是使用浏览器这类瘦客户端 所无法享受到的资源。 由于使用s m a r tc l i e n t 构架开发的软件能够存取这些本机资源所提供的功能, 因此在开发软件时就具备了很大的弹性,而不致为了要配合浏览器智能通过网络 存取服务,而丧失许多应用本机硬件资源的能力。 就软件层面而言,s m a r tc l i e n t 应该要能够与既有的软件协同工作,也要能够 在这些软件上额外加上s m a r tc l i e n t 所具备的功能,常见的软件包含我们熟悉的 o f l e i c c 应用程序,与公司内部使用在商业流程处理上的各种软件。 ( 2 ) 支持连线与离线功能 6 武汉理工大学硕士学位论文 网络连线能力 s m a r tc l i e n t 和单机程序最大的不同点,在于其具备网络连线能力,并且可以 调用外部系统所提供的w e bs e r v i c e s 。通过使用w e bs e r v i c e s ,s m a r tc l i e n t 可以 存取其他系统的商业逻辑、数据、服务,另外搭配单机软件本身的运算能力,s m a r t c l i e n t 可以充分的运用软件的功能整合外部数据,为使用者提供更有价值的信息。 由于使用w e bs e r v i c e s 及s e r v i c eo r i e n t e d a r c h i t e c t u r e ( s o a ) 松散耦合架构,因此 在具备连线功能的环境时,s m a r tc l i e n t 会通过网络去存取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 si n t e r o p e r a b i l i t y ( w s nb a s i c p r o f i l e ,开发系统时就无须担心跨平台、跨装置、跨语言所可能带来的困扰o 】。 由于s m a r tc l i e n t 和传统使用浏览器的方式不同,它会将操作软件的可行状态放 在客户端,此外通过快取机制的协助,s m a r tc l i e n t 可检测数据是否有所更改, 只会在必要时候调用w e bs e r v i c e s 回传数据,这样可有效的减少网络传递数据的 带宽。通常在网络连线的状况时,s m a r tc l i e n t 必须要等待w e bs e r v i c e s 处理完 毕数据并回传数据后,客户端才能够继续进行其他的操作,如果提供使用者更有 效的操作界面,在开发系统的时候可考虑使用异步调用模式啪。 在开发与使用s m a r tc l i e n t 需要的w e bs e r v i c e s 时,也可考虑使用所谓的服 务代理模式,通过代理的协助,即使在跨平台、跨语言的不同系统问,在不需要 了解对方系统的情况下也能够直接使用对方所提供的服务,在v s n e t 中使用 代理人的方法很简单,只要在w e br e f e r e n c e s 中加入w e bs e r v i c e s 提供的w e b s e r v i c e sd e s c r i p t i o n 踟g l i a g e ( w s d l ) 网址即可直接使用嘲。 离线功能 除了在网络连线的状况下调用w e bs e r v i c e s 获取最新的数据及使用其服务 外,s m a r tc l i e n t 本身还需具备有离线状态时候使用数据的功能喇。 数据快取一在网络连线的情况下,s m a r tc l i e n t 会通过网络调用w e bs e r v i c e s 获取最新的数据,同时会在本机储存一份数据副本,一旦网络中断时,s m a r tc l i e n t 可继续使用存放在本机的副本进行操作,待检测到网络连线时,再和服务器的数 据库进行数据的更新。 数据的冲突与同步一在网络中断的情况下,可能会有其他的使用者对数据 库进行数据更改,而s m a r tc l i e n t 也可能在同一时刻对离线数据进行处理,一旦 网络恢复连线时,s m a r tc l i e n t 与服务器在进行数据同步的过程中,可能就会发 生异常,因此在设计s m a r tc l i e n t 的数据存取功能时要考虑到对这些情况的处理。 连接一在企业或i n t e r n c t 范围内,智能客户端应用程序能够轻松地与系统 连接并与之进行数据交换。w e b 服务使智能客户端解决方案能够利用行业标准 7 武汉理工大学硕士学位论文 协议( 例如x m l 、m 1 t 和s o a p ) 与任何类型的远程系统交换信息。跟以前的 技术相比,n e tf r a m e w o r k 和n e tc o m p a c tf r a m e w o r k 让w e b 服务的使用 更为容易。m i c r o s o f ts o ls e r v e r 、m i c r o s o f tm e s s a g eq u e u i n g ( m s m q ) 和b i z t a l k s e r v e r 等技术还提供了在系统之间同步和交换信息的易于使用的方式。 无论是否连接到i n t e r n c t ,智能客户端应用程序都可以正常工作。m i c r o s o f t o u t l o o k 是一个很好的示例。在没有网络连接或网络连接不稳定时,智能客户端 能够利用本地缓存和处理进行操作。该功能对于新一代的移动信息工作者来说极 具价值,尤其是在指定了移动连接的成本、期限和速度的情况下。 离线功能不仅可以在移动方案中使用,而且对于桌面解决方案也可以利用离 线体系结构来更新后台线程上的后台系统,从而保持用户界面的响应并改善整体 的最终用户体验。该体系结构还能够提供成本和性能上的优势,这是因为用户界 面不需要在智能客户端与服务器之间来回切换。 由于智能客户端只能在后台与其他系统交换所需的数据,因此可以让人感到 它与其他系统交换的数据量的减少( 即使在硬连接的客户端系统上,这种带宽的 减少也会带来巨大的好处) 。这反过来会增强用户界面( u d 的响应一因为u i 不是通过远程系统呈现的。 ( 3 ) 智能部署和更新 过去的传统客户端应用程序很难进行部署和更新。经常会出现这样的情况, 安装一个应用程序会中断另一个应用程序。诸如“d l l h e l l ”等问题使得安装和维 护客户端应用程序变得很困难和棘手。v i s u a ls t u d i o2 0 0 5 和n e tf r a m e w o r k 2 0 的发布将昭示一个新时代的来临一简化的智能客户端部署,以及利用一种 新的部署和更新技术( 称为c l i c k o n c c ) 进行更新“。 2 2w e bs e r v i c e s 的技术特点 2 2 1w 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 简而言之就是一个能够在网络上提供分布式计算的服务平台,它希 望做到以下几个目标: 提供跨平台互操作性; 应用程序能更简单的整合网络上的服务; 具备动态连接的特色; 能够在开放的w e b 环境所使用,同时也应该要能够被许多企业内部的专有平 8 武汉理工大学硕士学位论文 台所使用。 为了达到以上目的,在设计w e bs e r v i c e s 相关标准的时候就必须将几点需 求考虑在内: 根据公认的标准协定俗0 a p 、u d d i 、w s d l ) 来设计; 使用最少的技术便能建构整个架构平台; 能够和应用程序整合。 重心在于数据消息( m e s s a g e ) 和文件的处理,而非应用程序界面( a p d 的 制订。 针对这些需求设计出来的w e bs e r v i c e s ,将会是一个具备松散耦合并能够互 相调用连接的组件,此外还可跨平台、跨语言,彻底解决不同平台信息交换的问 题。w e bs e r v i c e s 运作方式如图2 - 4 ,服务提供者首先通过u d d i 注册准备提供 给他人使用服务的服务描述( w s d l ) ,接着服务使用者可以去查询u d d i 其所 需要的服务,u d d i 便会将提供服务的w s d l 给使用者,最后使用者可根据该 w s d l 文件和服务提供者进行服务的连接,并使用s o a p 的信息格式来进行数 据的处理交换“。 2 2 2 掣娓b 服务的协议 图2 - 4w e bs e r v i c e s 运作模型 w e b 服务的协议主要包括以下三个协议;s o a p 协议、w s d l 协议、u d d i 协议。 s o a p 是一个标准,该标准定义了一个应如何对发送到w e b 服务的消息进行 格式化和编码。s o a p 标准明确规定了h t i t 协议并不是惟一能够发送so a p 消 息的传送方法。s o a p 仅仅是消息的格式,可以通过任何所要求的通讯系统发送 它们。使用简单和无状态的h t l t 协议可以提供巨大的伸缩性,还能够不受阻拦 地穿越现有的防火墙软件。对于所有的设备和系统来说,h t i t 协议同样可以完 成这一任务。因为在设备和w e b 服务之间发送的消息都是标准化的。因此,s o a p 9 武汉理工大学硕士学位论文 支持任意设备对任意w e b 服务进行请求。 w s d l 是w e b 服务描述语言,它提供了一个较好的解决方案。w s d l 语言 被设计用来描述w e b 服务和w e b 服务中所有的方法。这种语言的代码是以x m l 的格式进行编写的,因此,所有的系统都能识别并解释其中的信息。在一个w s d l 文档中,所有的参数和w e b 服务的方法名称都有说明,同时还包括了w e b 服务 本身的位置。最终的结果是,可以生成用于具体的w e b 服务所必需的有效s o a p 消息,而且所生成的s o a p 消息也被发给了该w e b 服务“”。 u d d i 协议适用来存储业务信息和发布服务的注册表。使用u d d i 协议,潜 在的客户机能够通过任何己注册的业务信息搜索并找到所提供的w e b 服务。 u d d 注册表本身提供了几个w e b 服务,以允许任何客户机都可以使用标准的 s o a p 消息来搜索注册表。 通过图2 5 可一览这三者彼此的关系及使用方法。首先客户端会通过u d d i 搜寻所需要的服务,u d d i 会将服务提供者的w s d l 地址提供给客户端,接着 客户端会使用此w s d l 文件寻找服务者实际的位置,服务者会将服务的详细内 容回传给使用者,以上几个阶段都是在设计阶段或动态执行的;最后客户端会使 用开发工具来连接该w s d l 文件所提供的服务,双方便会开始使用s o a p 来 做数据的交换传递,这个阶段则是实际使用w e bs e r v i c e s 的过程。我们可以看 到这中间所有的过程所使用的协定,h t r p 、s o a p 、u d d i 、w s d l 、x m l ,全 部都是跨平台、跨语言的国际标准,因此客户端、服务端双方即便使用不同的操 作平台或开发环境,都可以无碍的使用或提供服务的内容“”。 图2 - 5s o a p 、u d d i 、w s d l 流程图 武汉理工大学硕士学位论文 2 2 3w e b 服务的特征 从外部的使用者的角度而言,w e b 服务是一种部署在w e b 上的对象,组件, 它具备以下特征“”: 完好的封装性,w e b 服务既然是一种部署在w e b 上的对象,自然具备对象的 良好封装性,对于使用者而言,他能且仅能看到该对象提供的功能列表。 松散耦合,这一特征也是源于对象组件技术,当一个w e b 服务的实现发生 变更的时候,调用者是不会感到这一点的,对于调用者来说,只要w e b 服务 的调用界面不变,w e b 服务实现任何变更对他们来说都是透明的,甚至是当 w e b 服务的实现平台从j 2 e e 迁移到了n e t 或者是相反的迁移流程,用户都 可以对此一无所知。对于松散耦合而言,尤其是在i n t e r a c t 环境下的w e b 服 务而言,需要有一种适合i n t e m e t 环境的消息交换协议。而x m i s o a p 正是 目前最为适合的消息交换协议。 使用协约的规范性,这一特征从对象而来,但相比一般对象其界面规范更加 规范化和易于机器理解。首先,作为w e b 服务,对象界面所提供的功能应当 使用标准的描述语言来描述( 比如w s d l ) ;其次,由标准描述语言描述的服 务界面应当是能够被发现的,因此这一描述文档需要被存储在私有的或公共 的注册库里面。同时,使用标准描述语言描述的使用协约将不仅仅是服务界 面,它将被延伸到w e b 服务的聚合、跨w e b 服务的事务、工作流等,而这 些又都需要服务质量( q o s ) i 构保障。其次,我们知道安全机制对于松散耦合 的对象环境的重要性,因此我们需要对诸如授权认证、数据完整性f 比如签名 机制) 、消息源认证以及事务的不可否认性等运用规范的方法来描述、传输和 交换。最后,在所有层次的处理都应当是可管理的,因此需要对管理协约运 用同样的机制。 使用标准协议规范,作为w e b 服务,其所有公共的协约完全需要使用开放的 标准协议进行描述、传输和交换。这些标准协议具有完全免费的规范,以便 由任意方进行实现。一般而言,绝大多数规范将最终有w 3 c 或o a s i s 作为 最终版本的发布方和维护方法。 高度可集成能力。由于w e b 服务采取简单的、易理解的标准w e b 协议作为 组件界面描述和协同描述规范,完全屏蔽了不同软件平台的差异,无论是 c o r b a 、d c o m 还是f _ j b 都可以通过这一种标准的协议进行互操作,实现 了在当前环境下最高的可集成性。 武汉理工大学硕士学位论文 第3 章面向服务的智能客户端体系结构 本章对智能客户端的体系结构做了分析,智能客户端应用属于分布式的应 用,频繁的使用网络,但它又具备离线可用的特征,因此,选择合适的网络通讯 策略尤为重要。w e bs e r v i c e s 是该类应用的首选通讯方式,所以提出采用智能客 户端和w e b s e r v i c e s 整合来达到离线可用的目的 3 1 引言 智能客户端应用程序可以将胖客户端应用程序的传统优点与瘦客户端应用 程序的优点结合起来。然而,要完全实现智能客户端应用程序的优点,特别是离 线应用,就需要在设计之初考虑客户端与服务器的网络通讯方法以及体系结构的 许多问题。 面向服务架构( s o a ,s e r v i c eo r i e n t e da r c h
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026-2031年中国砂轮机市场运行动态监测及发展前景投资预测报告
- 民航理论基础题库及答案
- 办公室管理员继续教育考试年试题及答案解析
- 2026-2031年中国农用薄膜市场供需预测报告
- 民航专业知识题库及答案
- 文创开发协议合同书
- 基于校本的初中作文教学课例序列构建与实践探究
- 榴莲店加盟合同范本
- 基于条件随机场模型的连续行为识别:原理、应用与展望
- 文体赛事类合同范本
- 医保自查自纠工作方案
- 《一线表扬学》读书分享
- 第18课《我的白鸽》课堂实录语文七年级上册
- 山财外国文学史期末复习题及参考答案
- 生产车间关键岗位培训
- 组织供应运输服务方案三篇
- 西宁市海湖中学2024-2025学年高一上学期期中考试政治试卷
- 国峰GF-250型反循环钻机安全操作规程
- GJB9001C软件设计开发控制程序(含完整表单)
- 2024农村饮用水管理协议
- JTT327-2016 公路桥梁伸缩装置通用技术条件
评论
0/150
提交评论