(计算机应用技术专业论文)分布式应用的开发策略.pdf_第1页
(计算机应用技术专业论文)分布式应用的开发策略.pdf_第2页
(计算机应用技术专业论文)分布式应用的开发策略.pdf_第3页
(计算机应用技术专业论文)分布式应用的开发策略.pdf_第4页
(计算机应用技术专业论文)分布式应用的开发策略.pdf_第5页
已阅读5页,还剩75页未读 继续免费阅读

(计算机应用技术专业论文)分布式应用的开发策略.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

西南交通大学硕士毕业论文 1 摘要 随着信息系统应用环境的变革、p c 的发展及网络技术的日益普及, 集中式的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 结构转移, 以利用桌面系统的方便性和网络互联的能力。但是由于不同的操作系统、 网络协议、分布式数据库等需要在同一环境下协调工作及其他方面的诸 多原因,这种传统的c s 体系结构也逐渐暴露出其弊端。 在这种情况下出现了一种新的多层体系结构分布式体系结构 ( 简称n 层体系结构或三多级结构) 。f 这种体系结构的应用称为“分布 式应用”。这种体系结构的应用可以解决猃业应用的扩展问题,是企业级 应用的最佳计算模式,是近年来提出的一种新的计算方法。传统的两级 结构中业务逻辑一般放在客户端,少量的则以存储过程的形式放在数据 库服务器中。将业务逻辑从其他两级中独立出来,可以更加适应于日益 复杂化和日益变化的事务逻辑的需要,也可以为开发、维护和使用带来 便利。虽然三多级结构在传统的数据库领域还没有被人们广泛接受,但 在i n t e m e t i n t r a n e t 领域人们已经开始大量使用这种分布式的计算方式 了,可以说分布式事务处理最广泛和最成功的应用应当数i n t e m e t i n t r a n e t 技术了。 分布式应用可以提供更优质的客户服务、更快的响应和更轻松 的信息诱问。 本论文正是在需求下撰写,文中详细地论述了分布式应用( n 层体 系结构) 的原理及技术问题、分布式应用产生的必要性及发展、分布式 应用与传统c s 结构及i n t e m e t 的关系、分布式数据库技术、分布式应用 的相关技术、分布式应用的安全问题及分布式应用的调试问题等等,并 在此基础上阐述了分布式应用环境下系统开发的有关策略。最后介绍了 分布式应用在西藏那曲地区电信局办公自动化( o a n m i s ) 开发中的具 体实施方案。一 关键词分布式应用、 c s 体系结构v 分布式数据库7 两阶段提交 c h 0 0 1 s 9 8 1 3 32 0 0 0 西南交通大学硕士毕业论文 2 - a b s t r a c t a l o n gw i t ht h ei n n o v a t i o no f i n f o r m a t i o ns y s t e ma p p l i c a t i o n e n v i r o n m e n t ,t h ed e v e l o p m e n t o fp ca n dt h ep r e v a l e n c eo fn e t w o r k t e c h n o l o g yi n c r e a s i n g l y , t h e r eh a sb e e na na c c e l e r a t e d i n c r e a s ei n c e n t r a l i z e dc l i e n t s e r v e r s t r u c t u r e ( c s s t r u c t u r eo r t w o l a y e r s t r u c t u r e ) a n da p p l i c a t i o no ft e c h n o l o g y t ou t i l i z ec o n v e n i e n c eo f d e s k t o ps y s t e m a n d c a p a c i t y o fn e t w o r k i n t e r c o n n e c t ,l a r g en u m b e r s o f s y s t e m b a s e dh o s t c o m p u t e ra d o p t c l i e n t s e r v e r s t r u c t u r e h o w e v e r , o na c c o u n to ft h e n e e do fc o l l a b o r a t i o nf o r v a r i o u so p e r a t i n gs v s t e m n e t w o r k p r o t o c o la n d d i s t r i b u t e dd a t a b a s e i nt h es a m ee n v i r o n m e n t ,e t c t h et r a d i t i o n a lc ss t r u c t u r ea p p e a r s s o m ea b u s e s g r a d u a l l y a n dan e wm u l t i l a y e r s y s t e m s t r u c t u r e d i s t r i b u t e d s y s t e m s t r u c t u r e f n 1 a y e rs y s t e ms t r u c t u r eo rt h r e e m u l t i l a y e rs t r u c t u r e ) - - - - a p p e a r e d t h ea p p l i c a t i o n o f s u c h s y s t e m s t r u c t u r ec a l l e d d i s t r i b u t e d a p p l i c a t i o n , w h i c h c o u l df a c i l i t a t et h ee x t e n s i o no f e n t e r p r i s ea p p l i c a t i o n ,i st h eb e s te v e n tc o u n t i n gm o d ep r o p o s e di n t h ep a s ty e a r si nt h ee n t e r p r i s ea p p l i c a t i o n t r a n s a c t i o nl o g i ci nt h e t r a d i t i o n a lt w o 1 a y e rs t r u c t u r ew a su s u a l l ys e ti nt h ec l i e n t s i d e a n d f e ww a ss e ti nt h ed a t a b a s es e r v e ri nt h ef o r mo fs t o r e dp r o c e d u r e t h a tt r a n s a c t i o n1 0 9 i cw a s s e p e r a t e df r o mt w o l a y e rs t r u c t u r ec o u l d s a t i s t h ed e m a n dt h a tt r a n s a c t i o nl o g i cb e c o m ec o m p l i c a t e da n d v a r i o u s i n c r e a s i n g l y , a n d i tc a l l b r i n g c o n v e n i e n c ef o r d e v e l o p m e n t m a i n t e n a n c e a n d u s a g e 、 , 1 i l et h r e e m u l t i p l a y e r s t r u c t u r eh a sn o tb e e na c c e p t e dw i d e l yi nt r a d i t i o n a ld a t a b a s e f i e l d ,p e o p l eb e g i n t oa d o p t u n i v e r s a l l y t h ed i s t r i b u t e dc o u n t i n gf o r m i ni n t e m e t i n t r a n e tf i e l d t h ed i s t r i b u t e d a p p l i c a t i o n c a np r o v i d e c l i e n tw i t hb e t t e r s e r v i c e ,f a s t e rr e s p o n s ea n dm o r ec o n v e n i e n t i n f o r m a t i o na c c e s s t h i sp a p e rd i s c u s s e si nd e t a i lt h ep r i n c i p l ea n dt e c h n o l o g yo f d i s t r i b u t e d a p p l i c a t i o n ,t h e n a t a l n e c e s s i t y a n dd e v e l o p m e n to f d i s 仃i b u t e d a p p l i c a t i o n t h e r e l a t i o nw i t ht r a d i t i o n a lc sa n d i n t e m e t ,t e c h n i q u eo fd i s t r i b u t e dd a t a b a s e ,s e c u r i t y a n dd e b u g g i n g c h o o l $ 9 8 1 3 32 0 0 0 西南交通大学硕士毕业论文 3 一 o fd i s t r i b u t e d a p p l i c a t i o n ,e t c t h e n t h et a c t i c so fd i s t r i b u t e d a p p l i c a t i o ns y s t e md e v e l o p m e n t a r ei n t r o d u c e d a tl a s t t h ep a p e rp u t f o r w a r d a 1 1 i m p l e m e n t a r y s c h e m eo fd i s t r i b u t e da p p l i c a t i o n i n o a n m i so ft e l e c o m m u n i c a t i o n a d m i n i s t r a t i o ni n n a q u r e g i o n ,t i b e t k e y : d i s t r i b u t e da p p l i c a t i o n c ss y s t e ms t r u c t u r e d i s t r i b u t e dd a t a b a s e 2 p h a s e s c o m m i t c h 0 0 1 $ 9 8 1 3 32 0 0 0 西南交通大学硕士毕业论文 4 一 第一章绪论 一分布式应用的产生与发展 随着客户服务体系结构( c s ) 普及和应用的深入,以及 i n t e m e t i n t r a n e t 的飞速的发展,人们逐渐看到了客户,服务体系结构( c s ) 不能适应新技术的发展和用户的需求。 由于计算机技术的快速进步和企业需求的变化加快,企业面临的硬 件、网络操作系统、数据库技术、开发工具、应用系统等的升级周期越 来越短,因此维护客户服务器系统从简单和便宜变的越来越“复杂和 昂贵”,而这些快速的变化也使企业的技术人员失去了方向,他们需要不 断地消化新技术,从而无暇顾及企业要解决的问题,而且在客户端应用 系统的安装、升级和维护通常需要专业人士才能工作;企业业务环境的 变化速度的加快、新技术的不断出现,迫使企业必须适应这些变化,企 业应用的开发者也必须迅速适应这些变化;同时i n t e m e t i n t r a n e t 简单、 易用、易维护的优异特性也吸引所有的人们。这种情况下传统的客户服 务体系结构( c s ) 向何处去、如何适应新技术的发展和用户不断变化的 曰益复杂的需求、如何融合数据库产品与i n t e m e t i n t r a n e t 这一切都成为 人们关注的焦点,同时促进了分布式体系结构的发展,极大地加速了所 有环境的应用向多层体系结构转移。 在一些大型组织机构中所建立的应用及应用程序的事务逻辑往往非 常复杂,管理起来非常不方便。如果应用系统仍采用传统的客户服务体 系结构( c s ) ,把业务逻辑过分集中于客户端,会使客户端工作负荷过 重。此外,一但业务逻辑有所改动,必须将所有客户端的应用程序都加 以改动,这样会导致应用分发的困难。一个有效的解决方案就是将应用 的逻辑结构进行合理的分布,采用多级客户服务体系结构,即建立分布式 的应用。这种多层体系结构可以解决企业应用的扩展问题,利用这种分 布式应用的优越性能,将应用程序的结构更加合理化。分布式体系结构 将客户端应用分为两部分:客户应用和服务器应用。客户应用是原来客 户应用的一部分,原来客户应用的另一部分被移入到应用服务器中,新 的客户应用负责用户界面和简单固定的业务逻辑,新的应用服务器中驻 留着核心的、易变的业务逻辑。这样,其结构就由传统的两层c s 体系 结构变为了新的( c l i e n t a p p l i c a t i o n + s e r v e r a p p l i c a t i o n ) s e r v e r 结构。 如图1 1 c h 0 0 1 $ 9 8 1 3 32 0 0 0 西南交通大学硕士毕业论文 5 图1 1 图1 1 中,网络上的( a ) 和( b ) 合起来做为客户应用,体现了用户 业务逻辑,( c ) 仍然为数据库服务器,客户操作在( a ) 上实现,( a ) 上仅负责用户界面及较固定的业务逻辑,( b ) 上集中存放通用易变的业 务逻辑,也可以进行数据库访问,这些业务逻辑可由多个( a ) 同时使 用构成应用服务器,( b ) 在体系结构中处于前台客户和后台数据库之问, 这种分布式应用体系结构在网络环境下将客户端拆分为客户端应用和服 务器端应用;客户端应用向服务器端应用提出请求,服务器端应用进行 某些已定义好的处理,再将处理结果以一定形式向客户端应用回送,形 成传统的c s 结构,再与数据库服务器连接构成了多层结构。分布式应 用是基于客户服务器体系结构的应用,它是在网络计算机系统开发中自 然发展起来的。 在多层式结构中,一般用户界面驻留在客户端,事务逻辑驻留于应 用服务器,而数据仍然是通过访问数据服务器得到。如图1 2 图1 2 c h 0 0 1 $ 9 8 1 3 32 0 0 0 西南交通大学硕士毕业论文 6 这种分布式应用体系结构解决了传统c s 存在的问题,既减少了 客户端业务逻辑,又降低了客户端对硬件的要求。由于将许多业务逻辑 集中到了单一的应用服务器上,应用系统的维护也被集中到了一起,同 时具有了高度可扩展性。同传统的c s 结构比较,分布式体系结构对 事务逻辑进行中央控制,增强了安全性。可以这样说i n t e m e t i n t r a n e t 本 身就是一个多层应用体系结构。 二分布式应用的特性 1 分布式应用的结构 分布式应用基于传统的两层模式c s 的应用,将中心事务逻辑放在 应用服务器上,再与数据服务器连接就构成了三多层结构,也称为分布 式应用。 典型的分布式应用系统由两部分组成: 服务器应用:实现事务逻辑,为客户应用提供服务。 客户应用:建立用户界面与用户交互,同时具备调用服务器 所提供的事务逻辑。 其中服务器应用由两部分构成: 远程对象 t r a n s p o r t ( 传输) 对象 客户应用由三部分组成: 用户界面 p r o x y ( 代理) 对象c o n n e c t ( 连接) 对象 分布式应用的结构及各部分之间的相互关系如图1 3 客户应用服务器应用 连传 接 客卢请求连捧。 输 f 远程对象 p r o x y 对象 对对 象象 1 月民务器监听 并提供服务 用户界面 图1 3 各个部分的功能如下: ( 1 ) 远程对象:建立应用的事务逻辑。客户应用使用服务器中远 程对象提供的服务,远程对象驻留在应用服务器中,含有完成事 务逻辑的功能、方法。在分布式应用系统中客户应用可以象使用 本地对象一样使用远程对象。一般调用远程对象采用同步调用和 异步调用两种。 c h 0 0 1 $ 9 8 1 3 32 0 0 0 西南交通大学硕士毕业论文 一7 一 f 2 1t r a n s p o r t ( 传输) 对象:用于监听客户的请求。服务器应用通过 t r a n s p o r t 对象接受客户的连接并处理客户的请求,t r a n s p o r t 对象 必须在服务器应用的程序中被实例化,t r a n s p o r t 对象的属性定义 了分布式应用中有关服务器的信息,如某些t r a n s p o r t 对象的属 性用于鉴别服务器应用及使用的通讯驱动程序等。 ( 3 ) 用户界面:用于与用户交互。包括所有的窗v i 、菜单及请求的各 种程序,比如这些程序可用于指定用户动作后的响应。 ( 4 1p r o x y ( 代理) 对象:是服务器应用在客户端的代理。所有的服务器 应用中的远程对象在客户端都有一个相应的代理对象,并具有与 远程对象相同的名字,它使客户应用在本地使用p r o x y 对象就如 同使用服务器端的远程对象,但在客户端不能对p r o x y 对象进行 编辑,只能在服务器应用中进行编辑操作。 ( 5 ) c o n n e c t i o n ( 连接) 对象:用于建立与服务器的连接,并向服务器 请求服务。c o n n e c t i o n 对象必须在客户端的程序中被实例化, c o n n e c t i o n 对象的属性提供了连接所需的信息。例如c o n n e c t i o n 对象的属性指明服务器所在物理位置及采用的通讯驱动程序。 在分布式应用系统中,服务器应用与客户应用协同工作,一般地由 客户应用提供处理和显示各种用户界面,服务器应用提供后台的事务逻 辑服务功能,并可以被客户端的应用所调用。服务器应用与客户应用之 间通过服务器端的t r a n s p o r t ( 传输) 对象和客户端的c o n n e c t i o n ( 连接) 对象进行连接。应用程序的每一部分所在的物理位置对用户是透明的。 另外,虽然应用服务器常用于向多个客户提供服务,但服务器自身也可 作为另一个客户,即作为另一个服务器应用的客户。 2 分布式应用的配置模式 对传统的c s 两层配置模式进行扩充引入了中间层组件,构成了多层 体系结构的配置模式。由于每个组件都可在不影响其它部分的条件下用 另一个具有同样功能的组件代替,所以分布式应用的配置具有极大的灵 活性和自由度。如图1 4 图 1 4 其中: 客户应用层:负责提供可移植的表达逻辑。 中间软件层:允许用户通过将中间层与实际应用隔离而共享和 控制业务逻辑。 后台服务层:提供专门服务的访问( 访问数据库服务器) 。 c h 0 0 1 $ 9 8 1 3 32 0 0 0 西南交通大学硕士毕业论文 一8 - 中间层产品能为分布式异构环境提供全局性的数据访问及事务管理 控制。多层体系结构通过引入中间层组件扩大了传统的客户服务器两层 计算模式。在传统的c s 两层结构中,用户将实际的业务逻辑放置于客 户端( 作为对表达逻辑的增补) 或放置到后端数据库( 作为数据逻辑的 一部分包含在存储过程中) ,而在多层结构中,用户将业务逻辑放到中间 层上,这种模块化方法明确地划分了表达逻辑、业务逻辑和数据库系统。 在复杂的企业网络中,可靠的中间层产品称为至关重要的部分。由于目 前大企业的异构性,数据仓库从多个关系或非关系数据源汇集数据是关 键问题,从业务系统中获取数据意昧着要访问异构数据库系统,还可能 连接不相似数据,并通过网络移动到数据仓库中,这就需要一个建立在 很强的中间件基础上的多层体系结构。o r a c l e 、s y b a s e 等都建立了可靠 的中间层组件。在多层体系结构中中间件的地位异常重要,它是实现多 层体系结构的关键。例如s y b a s e 的中间件产品能处理所有客户中间件 服务器间的通信和传输,能为驻留在服务器上的业务逻辑提供业务和执 行环境,s y b a s e 的e n t e r p r i s ec o n n e c tj a g v a r c t s 和支持分布式应用的开发 工具p o w e r b u i l d e r 等都可以帮助开发者实现多层结构。 3 分布式应用的优点 ( 1 ) 分布式应用解决了两层结构中存在的问题 对事务逻辑进行了中央控制。事务逻辑的功能、方法的变 更只要求改变应用服务器上的程序。 安全性增强。由于事务逻辑驻留在应用服务器上,客户端 能否使用这些功能、方法将由应用服务器来决定,这样就 增强了整个系统的安全性。 减轻了客户端的工作量。 ( 2 ) 分布式应用的灵活性和可扩展性增强 因为将大量的数据处理移到数据库服务器和应用服务器上 可以尽量减少数据仓库查询时的通信线路上的数据传递。 中间层的应用服务器来处理数据仓库应用中的大部分计算、 操作数据过滤过程,而不是完全放在桌面系统或数据库服 务器上完成;分布式应用减少了服务器负载,达到了更好 的扩展性能。 分布式应用可通过消息队列功能或异步r p c ( 远程过程调 用) 处理,实现客户端和服务器间的异步通信,大大提高 了服务器晌应速度,尤其可改善异地分散的企业级数据仓 库系统中的这方面的问题。 大型数据仓库应用允许提供多个实例,用户可以在任何时 候访问不同的数据集市,尤其是当需求发生变化或建立新 c h 0 0 1 $ 9 8 1 3 32 0 0 0 西南交通大学硕士毕业论文 - 9 - 的数据集市时仍然如此。采用n 层体系结构应用的所有数 据的访问代码就不必全部放到客户端上,减少了客户端程 序中数据源的更新和计算逻辑的操作。 三为了更具体地说明分布式应用的特点,现在利用s y b a s e 公司的分公 司p o w e r s o f t 的开发工具p o w e r b u i i d e r ( 支持分布式应用技术) 实现一个计 算平均工资的简化例子: 客户与服务器分布如图1 5 : 实际操作的步骤为 图1 5 1 ) 建立函数u _ a v g ,其结构为 窭 参数返函数代码 参数摹数名回 类型值 i l v a gi n t a g e r b ec o u n t d o u b l er e t u r n d o u b l eu es u m s a f u e _ _ s u m s a f u e _ c o u n t 2 ) 创建用户对象u _ a u t h _ a v g ,封装函数u _ a v g 。启动 p o w e r b u i l d e r 用户对象画笔,创建不可视类用户对象, 最后以ua u t ha v g 保存。 3 ) 在开发机上建立窗口wa v g ,如图1 6 : c h 0 0 1 $ 9 8 1 3 32 0 0 0 西南交通大学硕士毕业论文1 0 图1 6 在此窗口状态下作如下编码: 定义全局变量后,建立连接、传输变量 t r a n s p o r tg t r a n s p x t c o n n e c t g c o m n _ x t 为窗口控件通过分布式计算平均工资的c l i c k e d 事件编码: i n ts t a r t ,c o n ,c a l c u 偏动照务器 s t a r t2 m e s s a g e b o x ( 是否启动应用服务器? ”,“本地机是否为服务 器? ”+ “是”,“否”,q u e s t i o n ! y e s n o1 2 ) 为m e s s a g e b o x 消息框的“是”按钮( 即本地机是服务器应用的 选择) 写如下代码 l o n gl l _ c x l i f s t a r t = 1t h e n 将t r a n s p o r t ( 传输) 对象实例化并设置属性, g t r a n s p _ x t2 c r e a t et r a n s p o r t g t r a n s p _ x t d r i v e r = “w i n s o c k ” 设置服务器应用端口号 g t r a n s p _ x t a p p l i c a t i o n = “1 0 0 9 8 ” 用l i s t e n 函数监听 1 1 一c x l 2 g t r a n s p _ x t 1 i s t e n ( ) f 异蒋处理| i f l l _ c x l 0t h e n m e s s a g e b o x ( “无法启动服务器! ”,g t r a n s ex t e r r t e x t l else。 c o n2 m e s s a g e b o x ( “服务器正在运行! ,“建立连接”, “不建立连接! ”,q u e s t i o n ! ,y e s n o ! ,2 、 西南交通大学硕士毕业论文 1 1 e n d i f 选m e s s a g e b o x 否按钮时即本地机为客户应用 e l s e i f s t a r t = 2 t h e n c o n = m e s s a g e b o x ( “客户应用”,“建立连接”,“不建 立连接”,q u e s t i o n ! y e s n o 12 1 e n d i f e n d i f ,建立客户与服务器连接,并将c o n n e c t i o n 对象实例化,同时设置属 性 l o n g1 1 一c x 2 i f c o n = 1t h e n g c o m n _ x t 2 c r e a t ec o n n e c t i o n g c o m n _ x t d r i v e r _ l o c a l 7 因为调试暂写为l o c a l ,分布时再改为 w i n s o c k g c o m n _ x t a p p l i c a t i o n2 “1 0 0 9 8 ” g c o m n _ x t 1 0 c a t i o n = 7 分布时应填写为i p 地址 建立连接 1 1 一c x 22 g c o m n _ x t c o n n e c tt os e r v e r ( ) i fl l c x 2 0t h e n m e s s a g e b o x ( “连接失败! ”,g c o m n _ x t e r r t e x t l e l s e c a l c u = m e s s a g e b o x ( “连接成功! , ,“可以调用远程对象中的 函数”,“是否需要调用远程对象计算 平均工资? ”,q u e s t i o n ! ,y e s n o ! ,2 1 i f c a l c u = 1t h e n i n tc o u n t d o u b l es u m s a f , a v g s a f 队表a u t h s 中奄询 s e l e c ts u m ( s a l a r y ) ,c o n n t ( a u t h o r c o d e ) i n t o :s u n i s a f , :c o u n tf r o ma u t h s ; 将远程对象在客户端的p r o x y 对象实例化 g e o m n t _ x t c r e a t ei n s t a n c e ( 1 u o _ r e m u t e ) i fi s v a l i d ( 1 u o r e m u t e ) t h e n a v g s a f 2 l u o _ r e m u t e u _ v a g ( c o u n t ,s u n l s a f ) m e s s a g e b o x ( “调用远程对象进行计算! ”,“平均工资是:” + s t r i n g ( a v g s a f ) ,o k ! 、 e n d i f e n d i f 4 ) 保存窗口并为远程对象u _ a u t h _ a v g 建立客户端代理 c h 0 0 1 s 9 8 1 3 32 0 0 0 西南交通大学硕士毕业论文 1 2 p r o x y 对象。具体过程是利用p o w e r b u i l d e r 的工程画笔 依次建立即可。 5 ) 最后进行调试。首先在单机调试成功后,将分布式应用 的通讯驱动程序l o c a l 改为w i n s o c k 即 g c o m n _ x t d r i v e r = w i n s o c k 再指定服务器应用的i p 地址,即例如: g c o m n = “ 1 7 6 ”x t l o c m i o n 1 3 21 4 71 5 c h 0 0 1 $ 9 8 1 3 32 0 0 0 西南交通大学硕士毕业论文 1 3 第二章分布式网络 2 1传统的c s 问置 随着计算机网络信息服务的不断发展,传统的联机远程终端和以文 件服务器为核心的计算机网络结构已经不能满足实际需要,于是在9 0 年 代初开始了客户服务器( c l i e n t s e r v e r ,后来简称为二层结构及c s 结构) 的发展,该模式以其性能高和可靠性强的优点迅速普及。c s 结构是在 网络基础上以数据库为后援,以微机为网上工作站的一种系统结构,该 结构的关键在于把网络环境上的数据库存取和应用程序一分为二,分别 由网上数据库服务器和网上客户来执行。虽然c s 仍建立在l a n 的基础 上,但它比原来的文件服务系统有很大的改进。 首先,它消除了不必要的网络传输负担,因为在这一模式下,数据 库的查询操作都集中在服务器方进行( 尤其是s q l 查询语句和关系数据 库的支持) ,在网络上传输的是用户的请求命令和服务器的检索结果而不 是整个数据库文件,这样可减少网络上的信息流量,从而提高网络的使 用效率。其次,这种c s 模式可以使做为数据库服务器的计算机被高度 优化以适应数据处理的需要,相比之下以往的宿主式计算机系统除了数 据处理之外,还要承担应用的工作,从而降低了工作效率,可以说c s 是一种将任务进行分解,然后协同解决的一种计算模式,该模式将单一 应用程序的处理任务在多个处理器问( 前端和后端) 进行分配,各处理 器间相互协作( 对最终用户是透明的) 去完成统一的处理任务,c s 结 构将多个处理器结合在一起,给人以单一系统的感觉,同时服务器也可 视为其他服务器的客户端从而得到服务。 c s 已经能够用于复杂的网络之上,并更有效地进行选择、检索、 索引排序等数据处理。整个c s 体系分为三部分,如图2 1 c h 0 0 l $ 9 8 1 3 32 0 0 0 西南交通大学硕士毕业论文 - 1 4 - 图2 1 其工作功能分别为: 客户:发送请求及处理返回结果、显示和控制应用工作环境及 用户界面、完成数据合理性校验、显示报告或使数据图 形化。 服务器:处理客户请求,为客户分析处理数据并将结果或动作返 回。 网络:实现客户和服务器之间透明连接。 在这种两层结构中,客户端集中了所有用户界面和固定事务逻辑, 例如打印、输出报表、录入界面等。数据服务器进行事务逻辑和数据存 取方面的管理工作,例如事务管理定义、完整性定义、安全性检查、并 发控制、备份、恢复、数据存取组织、存取路径实现和维护等。通过c s 体系结构原理,可看到c s 结构有以下优点: ( 1 ) 应用逻辑与数据实现分离。实现了网络上的负载均衡,充分利 用了网络服务器的处理能力,把应用设计、开发、部分完整性 的工作放在客户端完成,把安全管理、数据完整性控制、数据 存取、部分应用逻辑等需要集中管理的工作放在服务器上完成, 这样在应用系统开发好后它既可以操作所有连到的不同数据库 ( 异构数据库) ,又可以安装在多个客户机上操作一个共同的数 据库( 同构数据库) 。 ( 2 ) 分离了数据库管理系统和应用程序,使数据库系统和应用开发 工具相互独立,这不但增加了系统配黄的灵活性还使开发人员 可以选用熟悉的、功能强大的开发工具进行开发,而且提高了 生产率和应用系统的功能,例如数据库后端为o r a c l e 数据库服 务器,开发人员可以选用s y b a s e 公司的开发工具p o w e r b u i l d e r c h 0 0 1 $ 9 8 1 3 32 0 0 0 西南交通大学硕士毕业论文 1 5 或b o r l a n d 公司的d e l p h i 开发工具等。 ( 3 ) 客户服务器体系结构带来了主机系统的“缩小化”。由于用户 界面及部分应用逻辑放在工作站上完成,所以应用系统降低了 对主机的要求,同时c s 体系结构也使整个系统费用降低。 正是基于c s 的优点,它发展迅猛,在前几年达到鼎盛时期。但是 随着技术的变革,c s 体系结构也逐渐暴露出其弊端: ( 1 )“肥”客户端。所谓“肥”指客户端应用占用了大量的系统资 源,即必须安装操作系统( 一般为w i n d o w s d 8 、9 5 、n t 等) 、 网络软件、特定的中间件( 如s y b a s e 的n e t - l i b r a r y 等1 以及应用 软件系统才能工作,因此应用系统的安装、升级和维护通常需 要专业人士才能胜任,并且客户应用必须逐个站点进行安装, 从而客户端的维护费用变高,同时客户端工作负荷过重。另外 随着应用程序越来越复杂,对计算机系统的性能要求也越来越 高,有时对性能的要求可能超过了客户端的能力,如需要高级 操作系统、更高级的硬件环境等。 ( 2 )由于计算机技术的快速进步和企业需求复杂化,企业面l 临的硬 件、网络操作系统、数据库系统、开发工具、应用系统的升级 等周期越来越短,因此维护c s 体系结构的费用高昂。 ( 3 ) c s 缺乏中央控制,不利于维护。 ( 4 ) 缺乏安全性。在基于二层的传统c s 体系结构的应用中,某些 事务逻辑控制着对关键数据的访问、修改。由于这些事务逻辑 全部驻留在客户端,客户端可以自由地使用这些关键的事务逻 辑功能,从而使不安全性加大。 ( 5 ) c s 一般是单一服务器且以局域网络为中心的结构,难以扩展 至广域网及i n t e m e t ,难以管理大量客户,软、硬件的组合及集 成能力有限。 由此可见,传统的两层c s 体系结构很难满足大型应用系统的 性能。在这种情况下,就可能希望将客户端的一部分事务逻辑分离 出去。经过大量的探索出现了一种新的多层体系结构n 层体系 结构( 也称为分布式应用系统) 。这种体系结构继承c s 优点的同时 也克服了c s 的弊端,在实际中取得了大量的应用。 2 2 分布式应用与网络的关系 计算机网络和分布式系统( d i s t r i b u t e ds y s t e m ) 这两个概念容易混 淆。二者区别的关键在于:分布式系统中多台计算机的存在对用户是透 明的( 或者说是不可见的) 。用户可以输入一条命令运行某个程序,分布 式系统便会运行它,操作系统会选择合适的处理器,寻找所有的输入文 c h 0 0 1 $ 9 8 1 3 32 0 0 0 西南交通大学硕士毕业论文 1 6 件,然后传送给该处理器,并把结果放到合适的地方,换而言之,分布式 系统的用户觉察不到多个处理器的存在,用户面对的是一台虚拟的单处 理机,为处理器分配任务、为磁盘分配文件、把文件从存储的地方传送 到需要的地方以及其它所有的系统功能都必须是自动完成的。在网络中 用户必须明确指定在哪一台机器上登录、明确远程递交任务、明确指定 文件传送的源和目的地,并且要管理整个网络。而在分布式系统中不须 明确指定这些内容,系统会自动完成而无需用户于预。从效果上讲,分 布式系统是建立于网络上的软件系统,它具有高度的完整性和透明性, 因此网络和分布式系统的区别更多地取决于软件而不是硬件,但二者也 有共同之处。例如分布式应用系统和网络都需要文件的传送,区别在于 谁来传送,是系统还是用户。 利用n 层体系结构实现了在网络应用上的分布,使应用体系结构完 全趋于网络化。客户服务器技术到目前为止已发展到对等层到对等层的 处理模式,在这种模式中网络上的每一台计算机的作用都是相同的,即 所有的计算机既是客户机也是服务器。这种模式最初采用的是线性结构, 即客户机向上一层的服务器发出请求而服务器做为客户机再向上一层服 务器发出请求,依次类推。后来,这种线性结构被推广为网络结构,即 每一层既可以作为客户向多台服务器发出请求也可以作为服务器接受并 处理多个客户的请求,这样就使负载相对较重的层尽可能地把处理任务 分配到其它层上,从而使处理分布更加均衡。随着i n t e m e t 的迅速发展和 网上计算资源的多样化,这种处理模式将变的更加重要。随着平台i n t e m e t 的出现o l a p ( 联机分析处理) 的工具厂商也纷纷向z 多层结构转移。 从根本上要求新的基于i n t e m e t 的信息系统的体系结构必须是多层的,尤 其功能强大的4 g l ( 第四代语言) 的快速开发环境又增强了建立因特网 和局部网络上分布式应用的能力,从而更加促进分布式应用与网络发生 紧密联系,同时许多开发工具及后台数据库完全支持w o r l dw i d ew e b 应用的开发。分布式应用的工具提供了从w e b 服务器到关系型数据库服 务器的访问手段,允许用户在i n t e m e t 下对数据库进行近于完全的操纵。 多年以来由于计算机技术及通信技术的局限性,用户只能把各自的 文档放于各自的计算机系统中。随着网络技术的兴起、i n t e r n e t 的发展, 这些系统被连接起来成为一个巨大的电子信息库,用户通过f t p ( 文件 传输协议) 来取得存储在其它主机中的文档。随着主机数量的增多用户 进行文件访问越来越困难,w e b 是i n t e m e t 上的一个服务器,可以用来很 方便的把文档链接在一起,通过这样链接用户能迅速确定所需文档的位 置,浏览时从一个文档跳转到另外一个文档,同时可访f q 存储在数据库 中的数据;w e b 位于i n t e m e t 的顶层,i n t e m e t 是w e b 的通信基础;用户 用浏览器浏览文档时,数据都是通过i n t e m e t 传递的;w e b 技术的产生使 用户从i n t e m e t 中数目近于无穷的链接文档中找到自己的访问路径。计算 c h 0 0 1 $ 9 8 1 3 32 0 0 0 西南交通大学硕士毕业论文 1 7 机、通信、信息内容三个方面的技术和产业发展逐渐成熟及汇合奠定了 智能网络的技术基础,采用i n t e m e t i n t r a n e t 技术可构造企业基础设备, 组建现代企业网络。现代企业网络以w e b 为中心,采用t c p i p 、h t t p 为传输协议,客户端通过w e b 浏览器访问w e b 以及与w e b 相连的后台数 据库,也可以称为b w d ( b r o w s e rw e bd a t a b a s e ) 模式。b w d 模式特 点为:使用简单、易于维护、保护企业投资、信息高度共享、扩展性好、 广域网支持及安全性好。 b w d 模式突破了传统的c s 模式,它是一种n 层的c s 模式,并且 突破了传统的文件共享,具有很高的信息共享度。当分布式体系结构成 为现实时,就可以将一个多层体系结构分布到i n t e m e t i n t r a n e t 结构下, 将分布式应用的客户端应用分布到w e b 服务器上,由w e b 服务器调用; 客户端应用接受到w e b 服务器的调用请求,再去调用分布式的服务器应 用实现业务逻辑。 实际上,i n t e m e t i n t r a n e t 本身是一个多层体系结构的应用。对i n t e m e t 和w e b 技术的快速接纳极大地促进了所有环境中的应用向多层体系结构 转移:借助于h t t p 协议和w e b 技术用户的业务逻辑可以放在w e b 服务 器上,客户端可以“瘦”到只有浏览器( 俗称瘦客服模式) ,并且做到 与平台无关。w e b 服务器存放以超文本标记语言( h t m l ) 描述的页面。 当用户向w e b 服务器提出h t m l 请求时,w e b 服务器把这些页面提供给 要查询的最终用户。用户可以与页面交互,调用w e b 服务器上的各种网 关命令或命令文件,也可以通过超级链接转到其它页面,再丰富的信息 海洋中畅游。 下面是p o w e r b u i l d e r 分布应用中真正“瘦”客户服务器的思路,形 象地说明了分布式应用、w e b 、i n t e m e t 的关联性: 用户将查询条件传送给w e b 服务器,w e b 服务器调用p o w e r b u i l d e 的c g i ( 公共应用程序接口) p b c g i 6 0 e x e ( w e b p b 应用程序) ,c g

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论