(计算机系统结构专业论文)基于CORBA的三层体系结构研究与应用.pdf_第1页
(计算机系统结构专业论文)基于CORBA的三层体系结构研究与应用.pdf_第2页
(计算机系统结构专业论文)基于CORBA的三层体系结构研究与应用.pdf_第3页
(计算机系统结构专业论文)基于CORBA的三层体系结构研究与应用.pdf_第4页
(计算机系统结构专业论文)基于CORBA的三层体系结构研究与应用.pdf_第5页
已阅读5页,还剩70页未读 继续免费阅读

(计算机系统结构专业论文)基于CORBA的三层体系结构研究与应用.pdf.pdf 免费下载

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

文档简介

中文摘要 随着互联网应用软件的发展以及构件技术的出现,软件体系结构已逐渐从 传统的客户服务器结构向三层和多层体系结构发展。未来的应用系统将主要是 建立在面向对象的、分布的、异构的、自治的环境中的多层应用系统。 目前广泛使用的客户服务器结构已不能满足人们的需要,因为它使用单一 服务器且以局域网为中心,难以扩展至大型企业广域网或h a t e m e t ,而且软、 硬件的组合及集成能力有限,难以管理大量的客户机。因此三层体系结构应运 而生。 三层客户n 务器模型是在客户端与数据库之间加入了一个“中间层”,形成 由表示层、服务层、数据库组成的三层体系结构。三层体系结构有着可伸缩性 好、可管理性强、安全性高、软件重用性好、系统稳定性高等优点,在软件开 发的过程中也有助于软件人员提高生产效率。三层体系结构已经被开发商公认 为应用程序开发中最有效的模式。c o m d c o m 、c o r b a o r b 、j 2 e e 的e j b 和w e b ,都可以较好的实现三层体系结构。 当今社会已进入信息化的时代,信息化建设正是医院加强现代化管理、走 “优质、高效、低耗”发展道路的最有效途径。因此,医院信息化己成为医院 现代化建设和发展的历史潮流。目前的医院信息系统普遍采用两层的客户n 务 器模型和w w w 浏览器模型,但存在维护难、升级难、扩充难、数据交换难等 问题,网络瓶颈也不可避免。因此应用新的技术开发医院信息系统至关重要。 为此本文提出了基于c o r b a 的三层体系结构构建医院信息系统。 本文首先介绍传统的两层体系结构的原理、特点及存在的问题,然后详细 介绍三层体系结构的原理,并分析其特点和优势,接着介绍面向对象技术、分 布式技术、中间件,以及c o r b a 的原理与技术。随后探讨三种分布式构件技 术c o m 、c o r b a 、j 2 e e 各自实现三层体系结构的方法,并分析它们在实 现三层体系结构中的优势和存在的问题。在分析现有医院信息系统局限性的基 础上,提出应用基于c o r b a 的三层体系结构来实现医院信息系统。在文章的 最后,应用基于c o r b a 的三层体系结构原理,建立医院信息系统中的门诊子 系统,并详细说明该子系统的开发过程,实现了医院门诊子系统的基本功能, 同时分析了基于该体系结构的医院信息系统的先进性和需要改进的地方。 关键词:c o r b a ,三层体系结构,客户服务器,分布式对象,医院信息系 统 a b s t r a c t l t ht h ed e v e l o p m e n to fi n t e m e ta p p l i c a t i o n sa n dt h et e c h n o l o g yo fm o d u l e t h es o f t w a r ea r c h i t e c t u r eh a sb e e ng r a d u a l l ye v o l v e df r o mt r a d i t i o n a lc l i e n t s e r v e r a r c h i t e c t u r et ot h et h r e e t i e ra r c h i t e c t u r ea n dm u l t i t i e ra r c h i t e c t u r e t h ef u t u r e a p p l i c a t i o ns y s t e mw i l lb em a i n l yb u i l do nt h eo b j e c t o r i e n t e d ,d i s t r i b u t e do b j e c t s , a n da u t o n o m o u sc o m p u t i n ge n v i r o n m e n t t h ea r c h i t e c t u r eo fc l i e n t s e r v e rt h a tu s e se x t e n s i v e l ya tp r e s e n tcann o tm e e t d e m a n d so f p e o p l e ,b e c a u s ei tu s e st h es i n g l es e r v e ra n dr e g a r d sl a na st h ec e n t e r , i ti sd i f f i c u l tt oe x p a n dt ol a r g e s c a l ee n t e r p r i s e sw a no ri n t e m e t t h ea s s o c i a t i o n o f t h es o f t w a r ea n dh a r d w a r ea n di n t e g r a t e da b i l i t ya r el i m i t e d ,d i f f i c u l tt om a n a g ea l a r g en u m b e ro f c l i e n t s s ot h r e e - t i e ra r c h i t e c t u r ea r i s e sa tt h eh i s t o r i cm o m e n t t h et h r e e t i e ra r c h i t e c t u r eo fc l i e n t s e r v e rh a sj o i n e da n ”i n t e r m e d i a t el e v e l ” b e t w e e nc l i e n ta n dd a t a b a s e ,w h i c ht a k e ss h a p et h es y s t e mo ft h r e e t i e ra r c h i t e c t u r e t h a tm a k eu po fe x p r e s s i o n ,s e r v e ra n dd a t a b a s e t h et h r e e t i r ea r c h i t e c t u r ei s e l a s t i c i t yf i n e ,m a n a g e r i a ls t r o n g ,s e c u r i t yh i g h ,s o f t w a r er e u s e df i n e ,s y s t e m a t i c s t a b i l i t yh i g h ,a n dc o n t r i b u t e st op r o g r a m m e ri m p r o v i n gp r o d u c t i o ne f f i c i e n c yt o o i nt h ec o u r s eo fs o f t w a r ed e v e l o p m e n t n et h r e e t i e ra r c h i t e c t u r eh a sa l r e a d yb e e n r e c o g n i z e da sa n du s e dt h em o s te f f e c t i v em o d ei np r o c e d u r em a k i n gb yt h e d e v e l o p e r c o m 仍c o m ,c o r b a o r b ,e j ba n dw e bo fj 2 e e ,c a nr e a l i z et h e t h r e e l a y e ra r c h i t e c t u r e n o w a d a y st h es o c i e t yh a sa l r e a d ye n t e r e di n f o r m a t i o n a l i z e de r a ,i n f o r m a t i o n c o n s t r u c t i o ni st h a tt h eh o s p i t a ls t r e n g t h e n st h em o d e r n i z a t i o na n dm a n a g e s ,a n d t a k e se f f e c t i v e w a yt h em o s t o ft h e d e v e l o p m e n tp a t ho f ”h i g h q u a l i t y , h i 曲- e f f i c i e n t ,l o wc o n s u m p t i o n ”s o ,t h ei n f o r m a t i o n i z a t i o no ft h eh o s p i t a lh a s a l r e a d yb e c o m et h et i d e o fh i s t o r yo ft h eh o s p i t a lm o d e mc o n s t r u c t i o na n d d e v e l o p m e n t p r e s e n tt h eh o s p i t a li n f o r m a t i o ns y s t e m ( h i s ) g e n e r a l l ya d o p tt h e m o d eo ft w o t i e rc l i e n t s e r v e ra n dw w wb r o w s e rm o d e b u tw h i c he x i s t st h e q u e s t i o ns u c ha sd i f f i c u l tt om a i n t e n a n c e ,d i f f i c u l tt ou p g r a d e ,e x p a n dd i f f i c u l t ,d a t a i n t e r c h a n g ed i f f i c u l t a n dt h eb o t t l e n e c ko ft h en e t w o r ki su n a v o i d a b l et o o s oi t i s e s s e n t i a lt ou s en e wt e c h n o l o g yt od e v e l o pt h eh o s p i t a li n f o r m a t i o ns y s t e m f o r t h isr e a s o n ,t h i sp a p e rp r o p o s e su s i n gt h et h r e e t i r ea r c h i t e c t u r eb a s e do n c o r b at or e a l i z et h eh o s p i t a li n f o r m a t i o ns y s t e m t h i sp a p e ri n t r o d u c e st h ep r i n c i p l e ,c h a r a c t e r i s t i ca n de x i s t i n gp r o b l e mo ft h e t r a d i t i o n a lt w o t i e ra r c h i t e c t u r ea t f i r s t t h e ni ti n t r o d u c e st h ep r i n c i p l e c h a r a c t e r i s t i co ft h et h r e e t i e ra r c h i t e c t u r ei i 1d e t a i l ,a n da n a l y s e si t sa d v a n t a g e t h e ni ti n t r o d u c e so b j e c t o r i e n t e d t e c h n o l o g y , d i s t r i b u t e do b j e c t st e c h n o l o g y , m i d d l e w a r e ,a n dp r i n c i p l ea n dt e c h n o l o g yo f c o r b a d i s c u s s i o nt h em e t h o d st h a t t h r e ek i n d so fd i s t r i b u t e dc o m p o n e n tt e c h n o l o g y - - c o m ,c o r b a ,j 2 e e ,t h e y r e a l i z et h et h r e e l a y e ra r c h i t e c t u r eo f c l i e n t s e r v e re a c h ,a n da n a l y s i st h ea d v a n t a g e a n de x i s t i n gp r o b l e mi nr e a l i z i n gt h et h r e e t i e ra r c h i t e c t u r ee a c h o nt h eb a s i so f a n a l y s i n gt h el i m i t a t i o no ft h eh o s p i t a li n f o r m a t i o ns y s t e mo fe x i s t i n g ,p r o p o s e s u s i n g t h et h r e e t i r ea r c h i t e c t u r eb a s e do nc o r b at or e a l i z et h e h o s p i t a l i n f o r m a t i o ns y s t e m a tt h ee n d ,t h ep a p e rm a k e st h et h r e e t i e ra r c h i t e c t u r eb a s e do n a p p l i c a t i o ns e r v e ro fc o r b a t o d e v e l o p m e n to ft h ec l i n i cs u b s y s t e mi nt h e h o s p i t a li n f o r m a t i o ns y s t e m ,a n dd e s c r i b e st h ew h o l ed e v e l o p m e n tp r o c e s sf o r a b o v ea r c h i t e c t u r ei d d e t a i l ,a n dr e a l i z e st h eb a s i cf u n c t i o no fh o s p i t a lc l i n i c s u b s y s t e m ,a tt h es a m et i m e ,a n a l y s e st h ea d v a n t a g ea n di n s u f f i c i e n c yo f t h es y s t e m k e yw o r d s :c o r b a ,t h r e e t i e ra r c h i t e c t u r e ,c l i e n t s e r v e r ,d i s t r i b u t e do b j e c t s , h o s p i t a li n f o r m a t i o ns y s t e m l 】 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均己在论文中作了明 确的说明并表示谢意。 签名:兰亟蕴日期:妒午年协月留日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:差兰兰 导师签名 日期:2 ,叩 电子科技大学硕士论文基于c o r b a 的三层体系结构研究与应用 第一章引言 9 0 年代计算机技术最引人注目的进展之一就是应用计算环境从集中走向分 布。期间,c l i e n t s e r v e r 计算技术一度成为分布式计算的主流技术。在分布式 c l i e n t s e r v e r 计算机系统建立应用系统的开发过程中,人们深刻地认识到系统集 成是决定成败的关键因素之一。然而,当今人们对信息系统分布性、可扩展性和 异构性等要求使c l i e n t s e r v e r 结构在大型企业和机构的分布式计算应用方面遇到 了新的挑战。许多以前开发的系统在性能、速度、互操作性等方面已经不能满足 更高层次的要求。多层分布式应用服务技术是目前应用发展的潮流,传统的客户 机服务器模式的二层体系架构正朝着三层或多层架构发展。 近年来随着面向对象技术和网络技术的成熟,发展出基于构件的软件开发技 术。构件技术把应用程序的不同部分封装成构件,分布到网络上不同的系统中运 行,各构件为应用程序提供不同的服务。构件技术这种网络分布性为三层体系结 构提供了良好的网络通信基础设施。目前基于客户服务器模式和基于w w w 的 三层体系结构是主流,使用构件技术来实现三层体系结构正受到越来越多人的注 意,并且正以高速发展。各软件生产商和研究机构纷纷推出解决这类问题的方案, 如c o r b a 、j a v ar m i 和c o m + d c o m 等。 三层体系结构,即用户层、应用层和数据库服务器。用户层主要指用户界面, 它要求尽可能的简单,使最终用户不需要进行任何培训就能方便地访问信息;第 二层就是应用服务器,也就是常说的中间件,所有的应用系统、应用逻辑、控制 都在这一层,系统的复杂性也主要体现在应用层;最后的数据库服务器存储大量 的数据信息和数据逻辑,所有与数据有关的安全、完整性控制、数据的一致性、 并发操作等都是在第三层完成。 与传统的二层体系结构相比,三层体系结构具有以下优势: ( 1 ) 把业务逻辑封装在共享的中间层里。不同的客户端都访问相同的中间层, 这可以减少由于在每个单独的客户端应用中重复业务逻辑所造成的冗余以 及相应的维护成本。 ( 2 )“瘦”的客户端。客户端应用程序可以写得很小,而把大多数工作交给中 间层处理。客户端应用程序不仅是变小了,而且还更加的易于发布,因为 它们不需要再考虑安装,配置和维护数据库连接软件的问题。“瘦”客户 端应用程序可以通过i n t e r n e t 以更加灵活的方式发布。 ( 3 ) 分布式数据处理。将一个应用系统的工作分布到几台机器上可以改善系统 的性能,因为可以提供负载平衡以及用备用的机器去替代发生故障的机器。 电子科技大学硕士论文基于c o r b a 的三层体系结构研究与应用 ( 4 ) 增强安全性。可以通过使用不同的访问约束,来分层隔离敏感的功能。为 用户提供了一个灵活的和可配置的安全层。中间层可以限制敏感部分的入 口点,能更加容易地控制对它的访问。 ( ”允许更灵活有效地选用相应的平台和硬件系统,使之在处理负荷能力上与 处理特性上分别适应于结构清晰的三层。 因此,三层体系结构已被开发商公认为应用程序开发中最有效的模式。 当今社会已进入信息化的时代,信息化建设正是医院加强现代化管理、走“优 质、高效、低耗”发展道路的最有效途径。因此,医院信息化已成为医院现代化 建设和发展的历史潮流。医院信息系统在医院管理中的应用已经越来越广泛,其 作用也越来越大,主要体现在:提高医院的工作效率和工作质量、提高医院的管 理质量和管理水平、提高医护人员的素质和医院的竞争力。 医院信息系统的发展大体经历了单项业务应用、部门级与方面级的应用、较 完整的医院信息系统三个阶段。医院信息管理系统从单机运行到以医疗费用为中 心的管理系统,已经有1 0 多年的发展历史,也形成了相对成熟的产品。 目前的医院信息系统普遍采用两层的客户n 务器模式和w w w 浏览器模 式,通过部分数据客户端化技术,在一定程度上降低了系统对网络设备的要求、 防止网络瓶颈的出现,有一定的系统和数据安全的保障体系。但是,随着医疗体 制的改革和医院逐步走向市场化,以及社区医疗体系的逐渐成熟,目前的系统已 经难以满足医院的需求,同时表现出维护难,升级难,扩充难,数据交换难的尴 尬局面。 正是在这样的背景下,本文对三层体系结构的应用展开研究,探讨三层体系 结构的特点,并详细介绍了三层体系结构的主要实现技术:c o m c o m + 、j 2 e e 、 c o r b a 。c o r b a 作为一种分布式技术规范,其很好的支持了三层体系结构的 应用,是目前分布式应用的发展趋势。本文提出基于c o r b a 的三层体系结构构 建医院信息系统,并实现了医院信息系统的的开发和设计。 电子科技大学硕士论文基于c o r b a 的三层体系结构研究与应用 第二章三层体系结构分析 2 1 传统的两层体系结构 2 1 1 客户服务器结构原理 1 c l i e n t s e r v e r 客户j 9 f t 务器模型 c s 软件体系结构,即c l i e n t s e r v e r ( 客户服务器) 结构,是基于资源不对等, 且为实现共享而提出来的,是2 0 世纪9 0 年代成熟起来的技术。c l i e n t s e r v e r 结 构将应用一分为二,服务器( 后台) 负责数据管理,客户机( 前台) 完成与用户 的交互任务。c l i e n w s e r v e r ( 客户朋务器) 模型是目前分布式计算系统广泛采用 的一种计算模型。其结构如图2 - 1 所示: 客户机 服务器 图2 1 客户服务器模型 2 c l i e n t s e r v e r 模式的主要特点 在传统的c l i e n t s e r v e r 模型中,软件分为客户和服务器两部分,分别运行于 不同的机器或者进程中,二者协同工作。c l i e n t s e r v e r 模式的主要特点是: ( 1 ) 客户服务器( c a l l - - r e t u m ) 工作方式; ( 2 ) 以消息交换作为通信方式; ( 3 ) 基于过程的服务访问: ( 4 ) 服务集中于特定服务器。 3 c l i e n t s e r v e r 系统的优点 c l i e n t s e r v e r 模式的出现简化了复杂应用程序的开发和维护。s e r v e r 为c l i e n t 提供系统定义的各种服务,如各种基于文件的服务、数据库服务、名字目录服务、 事务处理等,为用户提供一种有效的资源共享手段。与传统的分时共享模式和资 源共享模式相比,c l i e n t s e r v e r 系统具有如下优点: ( 1 ) 优化网络利用率,减少了网络流量。客户机只把请求的内容传给服务 器,服务器也只是返回最终结果,系统中不必传输整个数据文件的内容。特别是 电子科技大学硕士论文基于c o r b a 的三层体系结构研究与应用 数据库操作时,由于处理数据的主要过程和数据是放在一起的,库的内容可以不 必传来传去。而在资源共享模式中,由于整个文件要在本地处理,信息通常都要 下载到工作站上,其间要传输大量的数据。 ( 2 ) 响应时间较短。改进的原因之一是网络的流量减少了,特别是当 c l i e n t s e r v e r 模式中允许在本地留下远端数据库的副本时,数据查询的性能会得 到很大的提高。 ( 3 ) 通过把应用程序同它们处理的数据隔离,可以使数据具有独立性。这 样,服务器就能对数据的存取进行充分而有效的控制,未通过鉴别和授权的用户 无法对数据进行非法访问,系统数据的完整性可以得到充分的保证。 4 c l i e n t s e r v e r 模式的不足 c l i e n t s e r v e r 体系结构具有强大的数据操作和事务处理能力,模型思想简单, 易于人们理解和接受。传统的客户服务器应用软件模式大都是基于“胖客户机” 结构下的两层结构应用软件。客户端软件一般由应用程序及相应的数据库连接程 序组成,服务器端软件一般是某种数据库系统。它面临的一个主要问题是系统的 可伸缩性差和安装维护困难。开发人员写出的程序在客户端运行,占用了大量的 系统资源和网络资源。随着企业规模的日益扩大,软件的复杂程度不断提高,传 统的两层c l i e n t s e r v e r 模式的不足包括: ( 1 ) s e r v e r 定位通常需要网络细节: ( 2 ) 客户端的应用程序严格依赖于服务器端数据存储和组织方式: ( 3 ) 软、硬件的组合及集成能力有限; ( 4 ) 应用接口的异构性严重影响系统间互操作; ( 5 ) 许多相同的功能块被多次重复开发,代码的复用很困难; ( 6 ) 单一服务器且以局域网为中心,难以扩展至大型企业广域网或i n t e m e t ; ( 7 ) 客户机的负荷太重,难以管理大量的客户机,系统的性能容易变坏: ( 8 ) 数据安全性不好。由于客户端程序可以直接访问数据库服务器,因此在 客户端计算机上的其他程序也可想办法访问数据库服务器,从而使数据库的安全 性受到威胁。 随着互联网络技术的发展,应用程序业务逻辑性复杂性的不断增大,传统的 客户机i n 务器两层结构表现出越来越明显的局限性,开发工作的难度也越来越 高。为了解决复杂的应用需求及异构环境下系统之间的互操作性问题,人们将两 层c l i e n t s e r v e r 结构扩展到三层乃至多层。 电子科技大学硕士论文基于c o r b a 的三层体系结构研究与应用 2 1 2 浏览器n 务器结构原理 使用w e b 技术可以实现w e b 服务器信息服务,包括信息的发布和收集。w e b 信息服务应用的基本模式是w e b 服务器和浏览器的组合,它是建立在 c l i e n t s e r v e r 结构上可为客户提供超文本链接的方法。w e b 服务器用来存储可由 浏览器观察的页面,其内容包含标题、正文以及其他页面链接的信息等。用户可 以通过浏览器向分布在网络上的许多服务器发送请求,w e b 服务器向浏览器发送 h t m l ( 超文本标记语言) 文件,浏览器阅读、识别其内容,然后显示出页面。 b r o w s e r s e r v e r 体系结构主要是利用不断成熟的w w w 浏览器技术,结合湔 览器的多种脚本语言,用通用浏览器就实现了原来需要复杂的专用软件才能实现 的强大功能,并节约了开发成本,是一种常用的软件体系结构。 1 b r o w s e r s e r v e r 结构 b s 软件体系结构,即b r o w s e r s e r v e r ( 浏览器 1 1 7 务器) 结构,是随着i n t e m e t 技术的兴起,对c l i e n t s e r v e r 体系结构的一种变化或者改进的结构。在 b r o w s e r s e r v e r 体系结构下,用户界面完全通过w w w 浏览器实现,一部分事务 逻辑在前端实现,但主要事务逻辑在服务器端实现。 基于b r o w s e r s e r v e r 体系结构的软件,系统安装、修改和维护全在服务器端 解决。用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到 了“零客户端”的功能,很容易在运行时自动升级。b r o w s e r s e r v e r 体系结构还 提供了异种机、异种网、异种应用服务的联机、联网、统- - n 务的最现实的开放 性基础。 b r o w s e r s e r v e r 结构简化了客户机的管理工作,客户机上只需安装、配置少 量的客户端软件,对数据库的访问和应用系统的执行将在服务器上完成。服务器 分布在网络上,客户机不必关心具体的每个服务器,而可以把分布在网络上的许 多服务器当成是一台巨大的“虚拟主机”。因此,从本质上看,w e b 是在 c l i e n t s e r v e r 体系基础上扩充而成的。其中主要的改动包括: ( 1 ) 用户界面的重心由w i n d o w s 转为b r o w s e r ; ( 2 ) 网络通信规程被统一为t c p i p : ( 3 ) 分布式计算结构由单一的两个层次扩展到由表示层( b r o w s e r ) 、功能 层( w e bs e r v e r ) 与数据库服务层( d bs e r v e r ) 构成的三层分布式结构,并可进 一步扩展为n 个层次。 2 b r o w s e r s e r v e r 技术的优势 ( 1 ) 开放的而非专用的标准。 电子科技大学硕士论文 基于c o r b a 的三层体系结构研究与应_ 耳j ( 2 )对信息及应用系统的自由访问。 ( 3 )较低的应用开发及管理成本。在客户服务器的应用模式中,无论是安 装、配置还是升级都需要在所有的客户机上实施,而b r o w s e r s e r v e r 技术较为低廉,一般只需安装、配置在服务器上,在客户机上的工作 较少,从而降低开发成本。 3 b r o w s e r s e r v e r 技术的不足 ( 1 )b r o w s e r s e r v e r 体系结构缺乏对动态页面的支持能力,没有集成有效的 数据库处理功能。 ( 2 ) b r o w s e r s e r v e r 体系结构的系统扩展能力差,安全性难以控制。 ( 3 ) 采用b r o w s e r s e r v e r 体系结构的应用系统,在数据查询等响应速度上, 要远远地低于c s 体系结构。 ( 4 ) b r o w s e r s e r v e r 体系结构的数据提交一般以页面为单位,数据动态交互 性不强,不利于在线事务处理( o l t p ) 应用。 2 1 3 客户服务器模型与浏览器服务器模型的比较 1 响应速度。c l i e n t s e r v e r 中由于客户端实现与服务器的直接相连,没有中 间环节,因此响应速度快。b r o w s e r s e r v e r 中由于页面的动态刷新,响应速度明 显降低。 2 开发和维护成本。c l i e n t s e r v e r 开发和维护成本较高。对不同客户端要开 发不同的程序,编程工作量较大。如果应用程序要进行安装、修改和升级,均需 要在所有的客户机上进行,复杂而又麻烦。而b r o w s e r s e r v e r , 只需在客户端安装 通用的浏览器。在服务器端,应用可为i n t e m e t i n t r a n e t 上的任何授权用户所使用。 所有的维护与升级工作都是在服务器上执行的,不需对客户端进行任何改变,因而 大大降低了开发和维护的成本。 3 客户端负载。c l i e n t s e r v e r 的客户端具有显示与处理数据的功能,负载过 重,成本增加。应用系统的功能越来越复杂,客户端的应用程序也变得越来越庞 大,客户端也越来越“胖”,而不断地提高客户机的配置,又加重了投资的成本。 b r o w s e r s e r v e r 的客户端把事务处理逻辑部分分给了功能服务器,不再负责处理 复杂计算和数据访问等关键事务,只需要进行显示,使客户机变得很“瘦”。 4 采用的标准。c l i e n t s e r v e r 所采用的标准只在内部统一,其应用通常是专 用的。b r o w s e r s e r v e r 所采用的标准都是开放的、非专用的,是经过标准化组织 所确定的而非单一厂商所制定,保证了其应用的通用性和跨平台性。 5 灵活性。c l i e n t s e r v e r 系统模块中每一部分的变动均要关联到其它模块的 电子科技大学硕士论文基于c o r b a 的三层体系结构研究与应用 变动,使系统极难升级,灵活性差。b r o w s e r s e r v e r ,业务扩展简单方便,通过 增加网页即可增加服务器功能。 6 移植性。c l i e n t s e r v e r 移植困难,不同开发工具开发的应用程序,一般来 说互不兼容,难以移植到其它平台上运行。对于b r o w s e r s e r v e r ,在客户端安装的 是通用浏览器,不存在移植性问题。 7 用户界面风格。c l i e n t s e r v e r 的客户操作界面设计个性化,具有直观、简 单、方便的特点,可以满足客户个性化的操作要求。同时由于开发是针对性的, 因此,操作界面漂亮、形式多样,可以充分满足客户自身的个性化要求。而 b r o w s e r s e r v e r 个性化特点明显降低,无法实现具有个性化的设计要求。 2 1 4 三层体系结构的提出 随着数据库应用的发展,数据容量和客户端数量的不断增加,应用系统越来 越复杂,在c l i e n t s e r v e r 中客户端应用程序变得越来越庞大,对客户机的处理能 力要求越来越高,成为所谓的“胖客户机”。为了缓解以上的各种压力,一些服 务器端的数据库系统支持编写“存储过程”,使得用户能够一次执行存储在远端 数据库服务器中的一组s q l 语句。客户端的应用可以调用这些存储过程,向它 传递参数,并把执行的结果取回。存储过程大大降低了网络通信的开销,提高了 安全性和系统代码的可重用性。和把表示层与应用逻辑层组合在一起的两层模型 相比,这种两层半方式把一部分程序逻辑移到了服务器端,从而提高了系统的可 扩展性、安全性和可重用性。但这几种性能的提高是很有限的,例如不同数据库 厂商的存储过程是不兼容的,而且缺乏二进制组件即插即用的优点,因而它的重 用就受到了很大的限制。 传统的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 ) 结构和三层b s ( b r o w s e r s e r v e r ) 结构两种。 在三层b r o w s e r s e r v e r 结构中,b r o w s e r 端只有浏览器,一般没有应用程序, 借助于j a v aa p p l e t ,v b s c r i p t ,j a v a s c r i p t ,a c t i v e x 等技术可以处理一些简单的 客户端处理逻辑,显示用户界面和w e bs e r v e r 端的运行结果。中间层的w e b s e r v e r + t r a n s a c t i o ns e r v e r ( 交易服务) 负责接受远程或本地的数据查询请求, 然后运行服务器脚本,借助于c g i 等中间部件把数据请求通过o d b c 发送到数 据服务器上以获取相关数据,再把结果数据转化为h t m l 及各种脚本传回客户 的浏览器。数据库服务器负责管理数据库,处理数据更新及完成查询要求、运行 存储过程。数据库服务器可以是集中式的也可以是分布式的。 电子科技大学硕士论文基_ rc o r b a 的三层体系结构研究与应用 2 2 三层c s 体系结构的原理 2 2 1 三层o s 体系结构的模型 在三层c s ( c l i e n t s e r v e r ) 模式中,在客户和服务器之间引入应用层的概念, 即在客户端与数据库之间加入了一个“中间层”。它将应用逻辑移到应用层完成, 而客户端弱化为一个图形用户接1 2 1 ,成为一个瘦客户机。与传统的c l i e n t s e r v e r 模式下的两层结构应用软件相比,三层结构有着可伸缩性好、可管理性强、安全 性高、软件重用性好、系统稳定性高等优点,在软件开发的过程中也有助于软件 人员提高生产效率,节省开发时间。 三层结构的应用程序把业务逻辑独立出来,组成一层或多层,这样就形成了 客户端的客户界面层、服务器端的中间业务逻辑层( 可细化为多层) 和后端数据 库服务器。典型的三层c s 模型如图2 2 所示: 图2 2 三层c l i e n t s e r v e r 模型 需要注意的是:图2 2 中层次的划分并不是物理上的划分,而是结构逻辑 上的划分。除了客户端浏览器与c o m 显示组件必须在同一台机器上之外,应用 服务器与数据服务器均可根据网络和机器的实际性能进行综合考虑。因此应用服 务器和数据服务器可以根据实际情况进行分布式的配置,使硬件之间相互协调, 充分发挥自己的性能,从而使系统的整体性能达到最优化。其基本原则是: ( 1 ) 根据实际情况合理的设计客户端与应用服务器组件的功能,使它们之间 到达一定负载平衡,减少网络流量,提高系统整体性能; ( 2 ) 该体系结构是从逻辑上分为三层或多层,实际配置时应根据网络和硬件 性能合理配置组件的物理位置,使机器充分发挥其性能; 电子科技大学硕士论文基丁c o r b a 的三层体系结构研究与应心 ( 3 ) 交互性较高的组件最好配置在同一台机器上,以减少网络传输量,应尽 量减少组件的数目,组件之间通信与调用将在一定程度上降低系统效率。 比如,客户端程序要调用的某个业务功能组件要求响应速度很快,并且体积 较小,那么就可以把这个业务组件配置在客户端,以d l l 的形式存在;又如, 客户要访问的某个业务组件包含大量对数据库的操作( 类似于数据库服务器中的 存储过程所做的工作) ,那么可以把它配置在数据库服务器上,以减少网络负载, 提高运算速度;如果某些业务组件中包装的业务逻辑需要大多数客户机程序访 问,就可以单独构建一台独立的服务器,将这些组件放在其中,供客户程序访问, 而不必在每台客户机上安装。 2 2 2 三层0 s 体系结构各层功能 用户服务。用户服务包括与用户交互的所有功能,提供可视化的用户界面以 便用户观察信息及处理数据。用户服务组件又称为界面组件,它不仅为用户提供 用户界面,在事务处理中也担当了重要角色。 业务服务。业务服务是针对特定事务的处理和相关业务规则的实现。将业务 规则放到一个专门的层次并进行封装,至少有两个好处:第一,灵活性高,易于 变动。因为业务规则往往是为某单位定制并且经常变动,甚至可能在应用程序开 发即将完成或刚刚投入使用时业务规则就发生变化。第二,使用专门的业务服务 组件,与使用插入式触发器或存储进程将业务规则强加于数据库服务器相比,大 大减小了数据库查询的数量,从而减小了对数据库的竞争。 数据服务。数据库服务涉及所有典型的数据处理活动,包括数据存取、修改 以及其他与数据库相关的任务。数据服务组件管理和满足由业务服务组件或其他 数据服务组件提出的服务请求,并不具体实现业务规则。数据服务可以采用触发 器或存储过程的形式置于后端d b m s 数据库引擎中,也可以提供对异种数据源 的访问,这些数据源可能位于不同的服务器或大型机的多种平台上,它们存储着 系统中业务信息以及包括用户权限等控制信息。 2 2 3 三层c s 结构的优点 三层c s 体系结构具有以下优势: ( 1 ) 允许合理地划分三层结构的功能,使之在逻辑上保持相对独立性,从而使 整个系统的逻辑结构更为清晰,能提高系统和软件的可维护性和可扩展 性。 电子科技大学硕士论文基于c o r b a 的二层体系结构研究与应用 ( 2 ) 应用的各层可以并行开发,各层也可以选择各自最适合的开发语言,使之 能并行地而且高效地进行开发,达到较高的性能价格比,而且对每一层的 处理逻辑的开发和维护也会更容易些。 ( 3 ) 把业务逻辑封装在共享的中间层里。不同的客户端都访问相同的中间层, 这可以减少由于在每个单独的客户端应用中重复业务逻辑所造成的冗余, 以及相应的维护成本。 ( 4 )“瘦”的客户端。客户端应用程序可以写得很小,而把大多数工作交给中 间层处理。客户端应用程序不仅是变小了,而且还更加的易于发布,因为 它们不需要再考虑安装、配置和维护数据库连接软件的问题。“瘦”客户端 应用程序可以通过i n t e m e t 以更加灵活的方式发布。 ( 5 ) 分布式数据处理。将一个应用系统的工作分布到几台机器上可以改善系统 的性能,因为可以提供负载平衡以及用备用的机器去替代发生故障的机 器。 ( 6 ) 增强安全性。可充分利用功能层有效地隔离开表示层与数据层,未授权的 用户难以绕过功能层而利用数据库工具或黑客手段去非法地访问数据层。 可以通过使用不同的访问约束,来分层隔离敏感的功能。中间层可以限制 敏感部分的入口点,能更加容易地控制对它的访问。如果使用h t t p , c o r b a 或是c o m + ,还可以同时享受到它们支持的安全模式所带来的优 势。 ( 7 ) 允许更灵活有效地选用相应的平台和硬件系统,使之在处理负荷能力上与 处理特性上分别适应于结构清晰的三层,并且这些平台和各个组成部分可 以具有良好的可升级性和开放性。清晰、合理地分割三层结构并使其独立, 可以使系统构成的变更非常简单。 2 2 4 三层c s 结构的不足 三层结构的优点是显而易

温馨提示

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

评论

0/150

提交评论