已阅读5页,还剩60页未读, 继续免费阅读
(计算机应用技术专业论文)基于智能客户端应用系统的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于智缝客户端应用系统的研究 置雷全诗算机应用菝术) 指导教师:索红光( 副教授) 摘要 智能客户端结合了c s 与b s 架构的优点,加上面向服务的体系结构 提供的高层絮构支持,萨成为企业应用的主流模式。本文将智能客户端的 磅突深入到溪蠢黢务熬矮城,糕括了餐憩客产端系统嚣彝鞭务豹络撬壤鍪, 分析智能客户端在面向服务架构中的地位。根据智能客户端的工作状态, 将其分为在线、离线两种模式。针对在线工作模式,在分析比较锣能客户 端逶落选矮瓣蒸疆上,邋遗充分嚣爰甏岗服务豹髂系藜梅设诗了一令适应 性强、易维护的分布式智能客户端在线状态的应用模型( s c o m ) 。这种面向 服务的智能客户端分布式殿用模型包括;使用n e t 的反射机制与x m l 交互 技术等,实璜了智麓客户端统一簸务请求框檠,霹蔽了鬏务请求豹差异; 通过对消息路径的注册、以及消息格式的转换实现了通用后端,同时满足 企业内部、外部的服务谶浓。针对离线正作模式,改进了智能客户端匿向 服务豹离线解决方案,在定义x m l 国容修改语言x qs q l 静鏊稿上提密 了基于x m l 与w e b 服务的数据同步策略,包括客户端数据缓存、数据一 致性维护以及数据同步策略及关键算法。以s c o m 秀基础,辅以离线解决 方案,应掰稳序开发者可以快速地建立宪整的分布斌智能客户端繇用系统。 最后以基于智能客户端的原油集输系统为例,验证了在线与离线方案的可 行牲与实用渡。 关键词:智能客户端,两内服务,离线工作,数据同步 r e s e a r c ho f a p p l i c a t i o ns y s t e mb a s e do ns m a r tc l i e n t w a n g l e i - q u a n ( c o m p u t e ra p p l i c a t i o nt e c h n o l o g y ) d i r e c t e db ya s s o c i a t ep r o f e s s o rs u o h o n g - g u a n g a b s t r a c t s m a r tc l i e n tc o m b i n e st h ea d v a n t a g e so fc sa n db s w i t l lt h es u s t a i n i n g o fs e r v i c eo r i e n t e da r c h i t e c t u r e ,i sb e c o m i n gt h em a i np a t t e r no fe n t c r p d s e a p p l i c a t i o n t h ea r t i c l ep e n e t r a t e st h er e s e a r c ho fs m a r tc l i e n ti n t os e r v i c e o r i e n t e df i e l d ,g e n e r a l i z e st h em o d e lo fs m a r tc l i e n ts e r v i c eo r i e n t e da r c h i t e c t u r e , a n a l y z e st h es t a t u so fs m a r tc l i e n ti ns e r v i c eo r i e n t e da r c h i t e c t i 鹏a c c o r d i n gt o s m a r tc l i e n t ss t a t e ,i ti sd i v i d e di n t oo n l i n ea n do f f l i n ep a t t e r n s a i m e da to n l i n e p a t t e r n , b a s e do nt h ea n a l y s i sa n dc o m p a r i s o n so fs m a r tc l i e n tc o m m u n i c a t i o n i t e m s ,am a i n t a i n a b l ea n da d a p t a b l es m a r tc l i e n to n l i n ea p p l i c a t i o nm o d e li s d e s i g n e dt h r o u g hf u l l yu t i l i z i n gs e r v i c eo r i e n t e da r c h i t e c t u r e i n c l u d i n g , u s i n g n e tr e f l e c t i o na n dx m lt e c h n o l o g i e s ,as m a r tc l i e n ts e r v i c er e q u e s t f r a m e w o r ki s i m p l e m e n t e dt os h i e l d t h ed i f f e r e n c e so fs e r v i c er e q u e s t ;v i a r e g i s t e r i n gm e s s a g ec h a n n e la n dc o n v e r s i n gm e s s a g ef o r m a t ,au n i v e r s a l b a c k - e n d si sp r e s e n t e dt os a t i s f rt h es e r v i c er e q u e s to f e n t e r p r i s eb o t hi na n do u t a i m e da to f f l i n e p a t t e r n , t h e a r t i c l e i m p r o v e s s m a r tc l i e n to f f i i n e s e r v i c e - o r i e n t e ds o l u t i o n s ,o nt h eb a s i so f d e f i n i n go f x m l c o n t e n t s - - x q - s q l ad a t as y n c h r o n i z a t i o ns t r a t e g yb a s e do nx m la n dw e bs e r v i c ef o rs m a r tc l i e n t i s p r e s e n t e d i t c o n t a i n sc l i e n td a t a c a c h i n g ,d a t a c o n s i s t e n ta n dd a t a s y n c h r o n i z a t i o n b a s e do ns c o m ,w i t ht h eh e l po f o f f i i n es o l u t i o n s ,a p p l i c a t i o n d e v e l o p e rc a nb u i l dr o b u s td i s t r i b u t e ds m a r tc l i e n ts y s t e mr a p i d l y l a s t , t h e e x a m p l eo fp e t r o l e u mg a t h e r i n gs y s t e mb a s e do ns m a r tc l i e n tc o n f i r m st h e m e t h o d s f e a s i b i l i t ya n dp r a c t i c a b i l i t y k e yw o r d s :s m a r tc l i e n t ,s e r v i c e o r i e n t e d ,o f f i i n ew o r k , d a t as y n c h r o n i z a t i o n 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的 研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包 含其他人已经发表或撰写过的研究成果,也不包含为获得中国石油大学或其 它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所 做的任何贡献均已在论文中作了明确的说明并表示了谢意。 签名:劲6 年4 只弓de t 关于论文使用授权的说明 本人完全了解中国石油大学有关保留、使用学位论文的规定,即:学校 有权保留送交论文的复印件及电子版,允许论文被查阅和借阅;学校可以公 布论文的全部或部分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密论文在解密后应遵守此规定) 学生签名:羔! 童全勋年年月勿日 导师签名: 室础 ) ,。g 年 4 月多。日 中国石油大学( 华东) 硕士论文第1 章前言 第l 章前言 1 1 课题背景与意义 在很长一段时间内,c s ( c l i e n t s e r v e r ) 模式下的主从架构与 b s ( b r o w s e r s e r v e r ) 模式下的集中式架构,一直主导着客户端应用程序的设 计。随着网络带宽的扩展,处理器性能的增强,存储器性价比的提高,传统 应用模式已经不能很好的适应日益提升的硬件资源以及日益高涨的用户体 验要求。 传统的c s 架构应用虽然能够提供非常丰富的客户端功能,也提供部分 服务器端管理功能,但它的客户端应用必须手动安装,更新复杂,成本高昂, 而且服务器端的管理功能相当有限;b s 架构的应用虽然操作简单、升级便 利、系统成本低,但它的客户端功能相当薄弱,安全也成问题。 智能客户端技术集合了c s 架构与b s 架构的优点【l 】,它继承了c s 架 构客户端功能丰富的优点,可以由服务器进行集中管理,降低了系统成本, 解决了c ,s 架构中客户端无法自动进行软件更新的问题,同时能够根据需要 定制客户端应用,增强了客户端的安全性,使得其客户端不会像b s 架构系 统一样易受攻击。此外,采用智能客户端技术的系统对网络的依赖程度低于 b s 架构,因为它提供丰富的客户端功能,可以在离线的情况下处理绝大部 分的日常工作。 s o a ( s e r v i c eo r i e n t e da r c h i t e c t u r e ) 1 2 1 ,是设计和构建松散耦合软件的解 决方案,其松散耦合、基于文本的消息通信、大数据量低频率访问等特点为 智能客户端提供了高层的架构支持。两者的相互契合决定了智能客户端将是 s o a 的一个主流应用。面向服务的智能客户端对于传统应用模式有着巨大的 冲击,对于企业应用有着巨大的吸引力。面对多样、复杂的智能客户端实现 技术,如何为智能客户端系统提供一个统一、方便的开发方案是一个实际的 中国石油大学( 华东) 硕士论文第1 章前言 问题。 本文就是针对智能客户端在线与离线两种工作状态进行了具体的研究, 在此基础上对智能客户端面向服务的体系结构做了一定的改进。 1 2 主要研究内容 面向服务的智能客户端,是一个内容广泛、综合性很强的领域。除了智 能客户端与s o a 之外,还涉及w e b 服务等智能客户端通信与s o a 实现技术, 以及离线工作后的数据同步相关技术。根据课题的研究目标,论文主要展开 了以下几个方面的研究工作: ( 1 ) 从智能客户端与s o a 的特征入手,分析智能客户端在面向服务架构 中的地位,融合两者的特点,形成面向服务的智能客户端模型。分析企业应 用存在的问题,结合智能客户端的两种工作状态,指出面向服务的智能客户 端方案是企业应用的发展方向: ( 2 ) 分析比较智能客户端各通信选项的性能指标,提出了一种统一服务 请求方案,它可以隐藏远程服务的实现差异,为智能客户端通信提供了统一 的请求方法。设计了智能客户端的通用后端,既能保证内部系统的快速高效 的运行,又实现了基于n e tr e m o t i n g 远程组件的外部访问。并详细研究了基 于消息转换的实现原理; ( 3 ) 针对智能客户端面向服务离线工作的情况,提出了基于x q u e r y 的 x m l 内容修改语言x q - s q l ,设计了智能客户端的缓存同步算法,在此基 础上提出了一套基于x m l 与w 曲服务的数据同步策略,对关键步骤做了详 细阐述; ( 4 ) 结合原油集输系统的需求,我们设计了基于智能客户端的系统架构 方案,开发了它的原型系统,并进行了多项验证实验。结果证明本文提出的 智能客户端应用方案具有很高的应用价值和前景。最后,展望了下一步的工 作内容和研究方向。 2 中国l i 油大学( 华东) 硕士论文第1 章前言 1 3 国内外研究现状 随着浏览器大战的开始,b s 结构替代了c s 结构成为应用开发最主流 架构,浏览器作为客户端的唯一工具,这种不需要部署的软件应用确实占据 了近l o 年应用解决方案的主导地位。但是,b s 仍旧不是那么尽善尽美。2 0 0 4 年以来,r i a ( r i c hi n t e r a c ta p p l i c a t i o n ) 逐渐得到开发人员和系统架构师的认 同,它着眼于需要解决的技术有:更加强大的客户端运行环境;利用客户端 资源;访问网络的能力;自动完成安装和升级;具备离线应用的能力。针对 上述要求,一些主流的应用厂商也提出了各自不同的概念比如m a c r o m e d i a 的f l e x 和微软的智能客户端( s m a r tc l i e n t ) 技术。 m a c r o m e d i a 针对r i a 的概念提出了f l e x 解决方案,它不是提供给客 户一个强大的运行环境,而是将所有的应用放在了f l a s h 上。f l e x 侧重于 u i 方面的实现,在交互方面通过a c t i o n s c r i p t 来完成,内置提供了w e b s e r v i c e s 访问、) 【1 l 应用等等各个方面的技术。f l e x 优势在于图形表现, 但是在开发环境和离线应用方面限制了它的发展。 开发具有高度互动性、丰富用户体验以及功能强大的客户端应用程序是 人们不断追求的目标。智能客户端技术可以说是目前最为符合的技术之一。 人们对智能客户端的关注是从微软开始的。事实上,自微软推出n e t 战略 以来,其最令人关注的技术新动向之一就是对智能客户端( s m a r t c l i e n t ,s c ) 技术的深入研究与应用推广。 在企业或i n t e m e t 范围内,智能客户端应用程序能够轻松地与系统连接 并与之进行数据交换。n e tr e m o f i n g 对于企业内部的智能客户端系统来说 足一个理想选择,他提供了优秀的性能和灵活性。w e bs e r v i c e 使智能客户端 解决方案能够利用行业标准协议( 例如,x m l 、h r r p 和s o a p ) 来与任何类 型的远程系统交换信息。对于用户来说更为重要的是,无论是否连接到网络, 智能客户端应用程序都可以正常工作。 3 中国石油大学( 华东) 硕士论文第1 章前言 在l o n g h o r n 的a v a l o n 没有到来之前,n e t 在一些r i a 的实现应该是 最完备的,虽然j a v a 也提出了w e b s t a r t 的概念,但是在桌面应用领域,j a v a 并没有太大的优势,包括最早的a p p l e t ,后来的s w t 和s w i n g 等等,除非 需要跨越平台应用,不然在桌面应用领域,j a v a 并没有太多的优势。尤其在 微软公司将这种体系结构纳入到n e t 框架后,它立即引起业界广泛关注, 智能客户端的出现,证明微软平台已经开始大规模引入s o a 的理念。可以 预见的是,在未来的几年内,智能客户端将成为应用开发的主流架构。 1 4 论文组织结构 本文分为六章,各章的内容如下: 第一章前言,阐述了本课题的研究背景,简要分析了其研究意义,概括 了主要研究内容。 第二章智能客户端及相关技术介绍,对智能客户端与s o a 的概念、特 点进行介绍,概括总结了智能客户端系统面向服务的结构模型,论述智能客 户端在面向服务架构中的地位,针对智能客户端在线、离线两种工作模式进 行介绍。 第三章智能客户端的在线应用模型,分析比较智能客户端通信选项,( 客 户端) 为智能客户端系统提供统一的服务请求接口,屏蔽远程服务的特征,解 决w e bs e r v i c e 与n e tr e m o t i n g 使用上的差异性问题。( 服务端) 架构基于消 息交互的智能客户端通用后端,在保证i n t r a n e t 内部系统的速度的前提下, 实现内部服务组件的i n t e m e t 外部访问,最后对实施细节进行介绍。 第四章智能客户端的离线解决方案,提出了一种面向服务离线应用策 略,对数据缓存,数据同步以及客户端缓存一致性作了细致研究,对控制流 程进行了详细设计说明,并给出了关键的算法。 第五章智能客户端在原油集输系统中的应用,以胜利油田集输信息系统 实现为例,说明了智能客户端系统模型对实际企业信息系统应用的指导意义 4 中国l i 油大学( 华东) 硕士论文第1 章前言 和价值,从开发过程与应用效果测试系统的性能,论证其可行性和实用性。 第六章结束语,对论文工作进行概括性总结,并进行展望。 最后,列出了相关的参考文献。 5 中国石油大学( 华东) 硕十论文第2 章智能客户端及相关技术介绍 第2 章智能客户端及相关技术介绍 2 1 智能客户端定义 2 1 1 网络应用模式的发展 网络应用模式的第一阶段是以大型机为中心的主机终端应用模式。这种 模式呈现的只是应用程序处理所需要的数据,几乎完全没有使用到终端的计 算能力,所有的数据处理与计算能力,皆仰赖后端的大型主机。 随着网络在企业应用中的部署,基于客户机服务器( c s ) 的两层架构开 始大规模流行,这是应用模式的第二阶段。两层次的客户机服务器架构与主 机终端模式相比,把企业系统中最关键的数据信息从逻辑上、物理上更有效 地独立出来,由专门的数据库服务器来承担数据的管理和存取。 c s 结构具有下述优点: ( 1 ) 可以离线工作:前提是本地必须有缓存数据的能力,这涉及到与服 务器数据同步的问题。 ( 2 ) 充分利用客户端计算机的资源:可以为用户提供丰富的界面元素, 可以存取本机磁盘与本机应用程序接1 3 ( a p i ) ,执行速度较快。 ( 3 ) 网络传输量较小:只需在客户端和服务器之间传输数据。 但是,c ,s 模式存在着天生的缺陷。由于客户端可能出现各种各样的情 况,所以部署起来比较困难,如果对软件的版本进行升级,很可能会产生“d l l h e l l ”。这使得系统的部署和维护要花费大量的资金。 正当客户机服务器应用架构在不断被广泛采用的时候,i t 技术正在进 行着一场新的革命,w e b 平台已经到来,它正帮助企业把信息和业务通过更 为廉价的互联网方式服务于它的客户,基于浏览器的b s 应用应运而生,应 用模式发展到了第三阶段。w e b 应用服务器相比较客户机服务器架构中的应 用服务器而言,不但担负着应用逻辑部分,而且还包括了前台的页面显示和 6 中国l i 油人学( 华东) 硕十论文第2 章智能客户端及相关技术介绍 后台的数据表达。 基于b s 模式的应用系统,只需在w e b 服务器上部署和更新应用程序, 解决了应用程序部署和维护相关联的难题。这也是现在大多数系统采用b s 模式最主要的原因。但也存在一定的缺点: ( 1 ) 必须在线工作:工作效率和网络是否延迟有关。 ( 2 ) 不能充分利用客户端计算机的资源:只能通过有限的h t m l 语言来 呈现用户界面,没有利用客户端计算机的计算处理能力。 ( 3 ) 网络传输量大:由于客户端不能保存状态数据,因此必须在客户端 和服务器之间传输用户界面内容以及所需的数据。 现在应用模式逐渐向智能客户端模式发展。 2 1 2 智能客户端定义 智能客户端是易于部署和管理的客户端应用程序,它们通过统筹使用本 地资源和到分布式数据资源的智能连接,从而提供适应的、快速响应的和丰 富的交互式体验【3 1 。 智能客户端( s m a r tc l i e n t ) 是对c s 与b s 的一种综合继承和提升,它既 具备了c s 模式的功能性,又具有b s 模式的灵活性。其功能定义如图2 1 所示。 幽2 - 1s m a r tc l i e n t 定义 智能客户端由b s 与c s 模式演变而来吲,但它并不是b s 与c s 的混 合结构,而是具备了二者的优点,并附有其他优势的应用新模式。s m a r t c l i e n t 7 中国石油丈学( 华东) 硕士论文第2 章智能客户端及相关技术介绍 可以拥有c s 的强大的用户界面,同时在部署上也不输于b s ,支持在线与 离线两种状态【5 1 。其主要特点如下: ( 1 ) 用本地资源:应用程序可适用于各种智能设备,在客户端只需考虑 表示层的实现,方便的调用本地a p i ,为用户提供丰富的界面体验; ( 2 ) 连接操作:连接并使用网络资源,轻松地与系统连接并与之进行数 据交换,利用w e b 服务等技术与远程系统交换信息; ( 3 ) 离线能力:当网络不可用时,缓存数据,以便用户在程序离线时继 续工作,当应用程序再次连接到网络时,自动将客户端应用程序状态和数据 与服务器进行同步; ( 4 ) 自动部署更新:形式灵活的部署方式,如:简单地将文件复制到本 地计算机( x c o p y ) :非接触式部署;企业推技术等,达到了b s 模式的部署 与维护的效果。 2 1 - 3 智能客户端类型 智能客户端结构吸收了瘦客户端和胖客户端的优势,并避免了他们的劣 势,目前主要分为3 类: ( 1 ) w i n d o w s 智能客户端:主要运行于w i n d o w s 平台p c 的独立系统, 依托于自身的架构提供支撑。通常使用w i n d o w s 窗体来提供熟悉的w i n d o w s 风格的用户界面,而且由应用程序本身提供大部分功能,而且不依赖于其他 应用程序来提供主用户界面。w i n d o w s 智能客户端应用程序适合于需要将应 用程序作为熟悉的桌面类型应用程序进行部署和访问的情况。这些类型的应 用程序通常由其自身提供其大部分功能,但是在适当的时候可以与其他应用 程序集成或者协调其他应用程序。它们可以针对特定任务进行调整其应用 程序功能,以提供特定的或高性能的处理或图形能力。它是智能客户端中使用 最为广泛的一种。 ( 2 ) o f f i c e 智能客户端:同样运行于w i n d o w s 平台,但依附于m so f f i c e 8 中国石油犬学( 华东) 硕十论文第2 章智能客户端及相关技术介绍 系统,应用上类似以前v b a 的扮演的角色,但是能力远远超过v b a ,使开 发基于o f f i c e 的解决方案更加迅速,功能更加强大。通过o f f i c e 智能客户端 解决方案,开发人员可以将通过w e b 服务访问的数据源与w o r d2 0 0 3 、 e x c e l 2 0 0 3 、i n f o p a t h 2 0 0 3 或其他o f f i c e 应用程序的功能集成起来,以开发智 能客户端解决方案。 ( 3 ) 移动智能客户端:运行于移动设备的智能客户端,包括p o c k e tp c 、 智能手机以及其他超小型台式设备,通过n e tc o m p a c tf r a m e w o r k 提供与桌 面系统相似的处理能力,使开发移动设备的应用程序可以和开发桌面应用程 序可以有相近的体验。移动智能客户端应用程序通常用于提供对重要数据和 服务的移动访问,或者在用户处于移动状态时收集和整合数据。 2 2 智能客户端平台 智能客户端的概念作为m i c r o s o f t n e t 平台的一个特性而被提出,因 此n e t 框架对智能客户端提供了足够的技术支持。但这并不是说只有n e t 框架可以实现智能客户端,只要能够实现智能客户端的特性,就都可以用来 丌发智能客户端 6 1 ,如j 2 e e 等。但是目i j 来说m i c r o s o f t n e t 平台仍然是开发 智能客户端系统的首选。独立评测机构m i d d l e w a r e 将n e t p e ts t o r e 和j 2 e e p e ts t o r e 进行了比较,结果是n e t 在开发效率、性能、成本和可靠性上明显 优于j 2 e e 。 n e t 框架是在m i c r o s o f t 。n e t 平台上进行开发的基础,n e t 框架与针对 移动设备的n e t 框架精简版为w e bs e r v i c e 和其他应用程序提供了一个高效 安全的丌发环境: ( 1 ) 提供一个一致的面向对象的编程环境,无论对象代码是在本地存储和 执行,还足在本地执行但分稚在i n t e r n e t 上,或者是在远程执行; ( 2 ) 提供一个将软件部署和版本控制冲突最小化的代码执行环境,以消除 “d l l h e l l ”问题; 9 中国石油大学( 华东) 硕士论文第2 章智能客户端及相关技术介绍 ( 3 ) 提供一个保证代码安全执行的代码执行环境; ( 4 ) 按照工业标准生成所有通信,以确保基于n e t 框架的代码可与任何 其他代码集成。 2 3 智能客户端状态 2 3 1 在线状态 智能客户端应用程序通常具有形形色色的功能,不过基于在线状态的应 用是智能客户端中最基础的功能,也是应用最为广泛的。在智能客户端应用 系统中,w e bs e r v i c e 和n e tr e m o t i n g 是两种典型的实现前台客户端与后台服 务端的通信技术。 w e bs e r v i c e 是m i c r o s o f t n e t 框架中提出的通过s o a p 在w e b 上提供的 软件服务,是使用w s d l 文件进行说明,并通过u d d i 进行注册的w e b 应 用程序。它启用一种描述、发布、查找以及调用的过程为客户应用提供服务 w e bs e r v i c e 是新一代的w e b 应用程序,是一类可通过开放的i n t e r n e t 协议访问 的软件组件,它代表了组件技术和w 曲技术的结合【7 1 。w e bs e r v i c e 的主要优 点是:允许在不同平台上、以不同语言编写的各种程序、以基于标准的协议 相互通信,任何系统甚至是完全不同的平台都可以用常用的i n t e m e t 标准 ( h r r p ,x m l ,s o a p ) 访问它,只要保持接口不变,对w e bs e r v i c e 实现的任 何更新,客户应用程序都无须改变,无论它是基于w i n d o w s 的用户还是其它 平台( 如u n i x ) 的应用。因此系统具有更高的复用性、可伸缩性和跨平台特 征。 w e bs e r v i c e 协议采用了开放的结构。在w e bs e r v i c e 调用框架中,客户和 服务之间通过标准的w e b 协议( h t t p ) 和x m l 进行通信,这些协议是完全独立 于平台和实现,而且容易实现。由于w e b 协议和) m 几侧重于底层的数据传输, 在实际使用时,仍需要制定相关的应用标准( 包括格式和协议) ,使得服务参 与方能相互理解。因此,为实现w e bs e r v i c e 体系中应用的互操作,需要在不 1 0 中国石油大学( 华东) 硕士论文第2 章智能客户端及相关技术介绍 同的层面上,建立起一系列的标准,它们中的很多已经被w 3 c 批准。其中 一个最重要的标准是简单对象访问协议( s o a p ) ,它定义了w e bs e r v i c e 参与者 之间标准的交互协议,它的主要作用是为各类x m l 消息,提供一个简单统一 的传输机制,但s o a p 不对应任何对象模型,可以被任何语占使用和实现。 w e bs e r v i c e 与远程方法通信,将w e bs e r v i c e 代理对象的方法参数序列化 为s o a p 消息,通过h r r p 传输,到达服务端后进行反序列化供方法调用。所 有的结果也经过相同的序列化一哪盯p - 一反序列化过程返回给调用程序,如 图2 3 所示。w e bs e r v i c e 通信过程中的反复序列化使得它在性能方面有一定的 损失。 弋 序列 r s x o m a p l ) 同 l 对象l u 品批禽 弋s o a p 请求 响应 反序列化 序列化 图2 - 3w e bs e r v i c e 的通信过程 ,n e tr e m o t i n g 是另一种m i c r o s o f t n e t 框架的通信方法,它提供了一 种允许一个对象与另一个应用程序域中的对象进行交互的框架。远程的程序 集可以配置为在应用程序域中本地工作,或者为远程应用程序的一部 分。n e tr e m o t i n g 提供了更大的控制度,它支持以传值或传递地址方式传 递对象,可以使用多种协议( h t l bt c p 等) 和格式( s o a p 或b i n a r y ) 【8 】。 中国石油大学( 华东) 硕士论文第2 章智能客户端及相关技术介绍 盖 囤 生 i,一 商 - l 服务器通道i 图2 - 4 n e tr e m o t i n g 远程调用过程 在客户程序中调用的方法是在远程对象类中实现的。在图2 _ 4 中,可以看 到作为远程对象的类的一个实例。由于该远程对象运行在与客户进程不同的 进程中,而且它们通常运行在不同的系统上,因此,客户程序不能直接调用 远程对象。解决这一问题的方法是客户程序使用代理。对于客户程序来说, 代理看来就像带有同样公共方法的真实对象。当代理的方法被调用时,就会 创建消息。通过使用格式化程序类,可以串行化这些消息,并将这些消息发 送到客户通道中。客户通道会和服务器部分的通道进行通信,以便通过网络 传递消息。服务器通道则使用格式化程序并行化消息,以便将方法发送给远 程对象。 远程对象是运行在服务器上的对象,客户机不能直接调用远程对象上的 方法,但是可以使用代理。使用n e t 可以很容易地把远程对象和本地对象区 分开:即只有从m a r s h a l b y r e f o b j e c t 派生出来的类才能作为远程对象。客户 可以通过代理对象调用远程对象方法。客户机可以调用透明代理对象上的方 法( 而方法实际上是由远程对象执行) ,依次地,透明代理对象可以调用真实 代理对象上的i n v o k e 方法,这个方法使用消息接收器把消息传递给通道。 2 3 2 离线状态 在智能客户端离线状态的体系结构中,有两种概括性的方法:以数据为 中心和以服务为中,t j , t 9 1 。 使用以数据为中心的方法需要在智能客户端上安装关系数据库管理系 1 2 中国右油大学( 华东) 硕十论文第2 章智能客户端及相关技术介绍 统( r d b m s ) ,并且使用该数据库系统的内置功能将本地数据更改传回服务 器,处理同步过程,并检测和解决任何数据冲突。其处理的基本思路是:首 先,客户端创建对所需数据的订阅,这样客户端就可以在脱机之前将该数据 复制到本地数据存储区中。一旦客户端脱机,它将通过对本地数据存储区的 调用,对本地数据进行更改。然后,当客户端重新联机时,数据存储区的合 并复制机制将对客户端数据所作的更改传回服务器。对服务器数据所作的更 改也可能会传到客户端。在合并阶段遇到的任何冲突,将根据服务器或客户 端上指定的冲突解决规则,或根据数据存储区管理员定义的自定义规则来进 行处理。 智能 客户端 服务器 图2 5 ( a ) 以数据为中心 图2 - 5 ( b ) 以服务为中心 使用以服务为中心的方法将信息存储在消息中,并且当客户端脱机时将 这些消息排列到队列中。在重新建立连接以后,排队的消息将被发送到服务 器进行处理。对于以服务为中心的方法而占,客户端可以与需要的任何服务 交互。而且,客户端将致力于服务请求本身,而不是对本地保存的数据进行 中国石油大学( 华东) 硕十论文第2 章智能客户端及相关技术介绍 直接更改。这些服务可能作为w 曲服务来实现【i o l ,或者通过某种其他机制来 实现,但是该方法的基本特征是:客户端并没有与它使用的服务紧密结合在 一起,客户端和服务是彼此独立的。在此方法中,客户端可以自由地与所需 的任何服务进行交互。 2 4 面向服务的体系架构 2 4 1 面向服务的体系架构 面向服务的体系架构( 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 ) 就是在分布式 的环境中,将各种功能都以服务的形式提供给最终用户或者其他服务。一般 认为:面向服务的体系结构是一个组件模型f 】,它将应用程序的不同功能单 元( 称为服务) 通过这些服务之间定义良好的接口联系起来。接口是采用中立 的方式进行定义的,这使得构建在各种这样的系统中的服务以一种统一和通 用的方式进行交互。 s o a 并不是一个新概念,有人就将c o r b a 和d c o m 等组件模型看成 s o a 架构的前身。面向服务的体系架构就是面向服务的解决方案以独立的交 互服务的形式开发,为潜在的用户提供定义良好的接口。同样的,也必须提 供给应用程序开发人员相应的技术支持,比如使他们能够测览所有的服务, 并且选中感兴趣的服务,用这些服务组装成新的功能。1 1 1 】 面向服务的架构包括三个清晰的角色: ( 1 ) 服务提供者( s e r v i c ep r o v i d e r ) :负责定义那些可供外界访问的服务, 并提供接口描述。 ( 2 ) 服务请求者( s e r v i c er e q u e s t o r ) :根据服务提供者的接口描述来绑定和 调用相应的服务 ( 3 ) 服务代理( s e i c ea g e n t ) :负责宣传服务提供者发布的服务和允许服 务请求者查询发布在此的服务定义。服务代理扮演一个服务提供者与请求者 的中介人的角色。 1 4 中国孑i 油大学( 华东) 硕十论文第2 章智能客户端及相关技术介绍 服务( s e r v i c e ) 是整个s o a 实现的核心。s o a 架构的基本元素是服务, s o a 指定一组实体( 服务提供者、服务请求者、服务代理) ,这些实体详细说 明了如何提供和消费服务。遵循s o a 观点的系统必须要有服务,这些服务 是可互操作的、独立的、模块化的、位置明确的、松耦合的并且可以通过网 络查找其地址。 s o a 不是一种语占,也不是一种具体的技术,更不是一种产品,而是一 种软件系统架构,它尝试给出在特定环境下推荐采用的一种架构,从这个角 度上来说,它其实更像一种架构模式( p a t t e m ) ,是一种理念架构,是人们面 向应用服务的解决方案框架。面向服务的体系结构并不规定实现技术,它既 不定义服务的实现技术和服务间通信调用的协议,也不对连接服务所需要的 基础架构加以规定。它是一种体系结构类型,表现为通过互相独立的服务来 构建松散耦合的应用程序。 s o a 是一种软件架构,而不是局限于某个技术的组合,它超越了技术范 围。s o a 和w e bs e r v i c e 之间的区别在于设计。s o a 概念并没有确切地定义 服务具体如何交互,而仅仅定义了服务如何相互理解以及如何交互。其中的 区别也就是定义如何执行流程的战略与如何执行流程的战术之间的区别。而 另一方面,w e bs e r v i c e 在需要交互的服务之间如何传递消息有具体的指导原 则;通过h t t p 传递的s o a p 消息是实现s o a 模型中最常见方式。因而, 从本质上讲,w e bs e r v i c e 是实现s o a 的具体方式之一。尽管我们觉得w e b s e r v i c e 是实现s o a 的最好方式幢】,但是s o a 并不局限于w e bs e r v i c e 。其他使 用w s d l 直接实现服务接口并且通过x m l 消息进行通信的协议也可以包括 在s o a 之中。j 下如其它文献指出的,c o r b a 、n e t r e m o t i n g 等技术也可以参 与到s o a 中柬。 2 4 2 智能客户端与面向服务架构 采用面向服务的策略,是智能客户端发展的趋势。在面向服务的智能客 1 5 中国石油大学( 华东) 硕七论文第2 章智能客户端及相关技术介绍 户端体系结构中,智能客户端作为服务的消费平台,通过服务请求与网络上 的服务提供者进行交互。这些服务可以通过w e bs e r v i c e 来实现,也可也通过 其他方式实现,但它们共同的特征是:客户端与服务是松散的耦合在一起, 客户端和远程服务并不知道对方是如何实现的。客户端和服务之间的通讯由 消息的架构支配。只要消息符合协商的架构,则客户端或服务的实现就可以 根据需要进行更改,而不必担心会破坏对方。如图2 2 所示。 图2 2 面向服务的智能客户端 服务提供者实现核心的业务逻辑,智能客户端的设计不需考虑通信细 节,只需保证所选技术可以消费服务即可,真正的实现了跨平台操作和代码 独立,大大提升开发效率和系统性能。智能客户端是服务的消费者,它通过 预先定义好的接口与服务进行通信。根据智能客户端的网络连接状态可以将 其分为在线与离线状态。本文的结构也就是按照智能客户端这两种工作状态 来组织的。 1 6 中国石油大学( 华东) 硕士论文第3 章智能客户端在线应用模璎 第3 章智能客户端的在线应用模型 智能客户端采用何种技术完成客户端与服务端的通信在一定程度上决 定了智能客户端应用系统的性能。在本章的内容中,将对n e t 框架下的通 信技术进行具体分析,针对智能客户端的特点选择合适的通信技术,在其基 础上完成对基于在线状态的智能客户端方案的设计,包括针对智能客户端统 一服务请求的通用服务框架,以及为企业内部、外部提供统一服务的通用后 端。 3 1 通信技术选择 开发智能客户端应用系统需要考虑表示层实现、系统安全性、部署维护 以及是否支持离线应用,但最需要确定的是选择何种技术来实现前台客户端 与后台服务端的通信,以满足不同系统的需求。在智能客户端应用系统中, w e bs e r v i c e 、n e tr e m o t i n g 、m s m q 和e n t e r p r i s es e r v i c e 是4 种典型通信 技术1 3 1 。m s m q 是一种很强大的技术,但是由于它的异步性的本质,将不 对其列入在线状态智能客户端通信技术的比较范围。我们将在通信性能以及 耦合性方面对它们做一下比较。 ( 1 ) 通信性能 通信性能直接决定了智能客户端系统的整体性能。采用哪种通信手段实 现客户端与服务端的连接,通信性能至关重要。表3 一l 是w e bs e r v i c e 、n e t r e m o t i n g 和e n t e r p r i s es e r v i c e 采用相同方法分别对简单的加法计算、小数据 量d a t a s e t 、大数据量d a t a s e t 与大数据量对象集合的通信时间进行对比。下 表的测试数据是在局域网内部进行的,没有考虑长距离传输对通信时间的影 响,加上测试系统的配置以及当时的运行情况会对测试数据有一定的影响, 但完全可以作为对这三种技术评价的主要依据。 1 7 中国石油大学( 华东) 硕士论文第3 章智能客户端在线应用模型 表3 1 通信时间对比表 表1 中的测试数据在不同硬件环境中结果可能存在一定的差异,但它能 够准确反应出一种趋势。在前两个用例中,3 种技术的整体处理时间差别不 大。这是因为虽然n e tr e m o t i n g 和e n t e r p r i s e 蚓m c c 采用的是更易传输的二 进制机制,但是传送d a t a s e t 时,也需要将d a t a s e t 序列化成x m l ,所以n e t r e m o t i n g 和e n t e r p r i s es e r v i c e 只有微小的优势。在最后一个用例中以集合的 形式返回与第二个用例相同的数据结果,总的处理时间却少得多,而且n e t r e m o t i n g 和e n t e r p r i s es e r v i c e 比w e bs e r v i c e 有着更明显的性能优势。这其 中的一个原因也是d a t a s e t 序列化造成的。通过比较可以看到,通过对象集 合返回数据结果远比采用何种通信方式对系统性能的影响要大,而w e b s e r v i c e 在处理时间上的确要比n e tr e m o t i n g 和e n t e r p r i s es e r v i c e 花费的时 间多。但是w e bs e r v i c e 的基本设计原则是要有广泛的客户端范围,因而主 要设计目标是互操作性,而非性能。在许多情况下,其提供的性能已经足够 了【。 ( 2 ) 耦合性 耦合性是指在分布式系统中组件互相依赖的程度【嘲。智能客户端与其通 信服务之间的耦合性影响智能客户端设计的许多方面,包括互操作性、离线 工作、通信性能、部署及维护等。 松耦合通信机制有助于降低客户端与远程服务之间的依赖性,尤其对于 系统的部署与维护来说,节省了整个系统的成本。w e bs e r v i c e 彼此是松散耦 合的,连接中的任何一方均可更改
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年河北科技学院单招职业适应性测试题库及参考答案详解1套
- 2026年河北石油职业技术大学单招职业倾向性考试题库附答案详解
- 2026年烟台黄金职业学院单招职业倾向性考试题库及参考答案详解
- 2026年内蒙古丰州职业学院单招职业适应性测试题库及参考答案详解
- 2026年邵阳职业技术学院单招职业倾向性考试题库及参考答案详解一套
- 2026年宁波城市职业技术学院单招职业倾向性考试题库及答案详解1套
- 2026年郑州轨道工程职业学院单招综合素质考试题库及参考答案详解
- 2026年福州工商学院单招职业倾向性考试题库含答案详解
- 2026年阿坝职业学院单招职业适应性考试题库及参考答案详解
- 2026年重庆市泸州市单招职业倾向性测试题库含答案详解
- 志愿者服务品牌建设方案
- 2025北京市科学技术研究院及所属事业单位第三批招聘37人备考题库附答案
- 医院人力资源成本精细化管控方案
- 2025北京市交通运输综合执法总队轨道交通运营安全专职督查员招聘10人笔试考试参考试题及答案解析
- 2025江苏镇江市京口产业投资发展集团有限公司招聘2人备考题库含答案详解
- 防校园欺凌主题班会 (课件)
- 2025年秋季学期国家开放大学《人文英语3》形考任务综合测试完整答案(不含听力部分)
- 2025北京国文人力资源有限责任公司驻外文化和旅游机构职员招聘5人(第二期)笔试历年参考题库附带答案详解
- 企业绿色环保文化建设方案
- 心肺复苏(CPR)与AED使用实战教程
- 2025年自动控制原理期末考试题库及答案
评论
0/150
提交评论