




已阅读5页,还剩69页未读, 继续免费阅读
(教育技术学专业论文)分布式教育管理信息系统的设计与开发.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
硕士学位论文 m a s t e r st h e s i s 摘要 随着信息技术的飞速发展和科教兴国思想不断深入人心,信息化的浪潮已 席卷整个教育领域。以信息化带动教育现代化,已成为教育跨越式发展的必由 之路。作为知识创新和以人才培养为主体的教育行业,如何加快信息化进程, 建立教育信息基础设施和信息技术支撑体系,是2 1 世纪教育发展的重大课 题,其中有一个关键环节就是教育管理信息化。而教育管理信息化的技术基础 就是构筑在信息技术基础之上的教育管理信息系统( e m i s ) 。 不过,随着i n t e f r l e t i n t r a n e t 技术的流行,教育管理的组织结构呈现出 多元化、分布化和网络化的趋势,教育管理信息系统也随之要适应这种分布式 计算环境的要求,因此教育管理信息系统的架构、技术基础以及应用平台相较 于以前发生了巨大的变化。而目前各级教育管理部门和学校使用的教育管理软 件大多存在设计不规范、兼容性差、扩充性和开放性差、软件设计灵活性不够 以及不适合网络应用等问题。如果因为敦育管理信息系统存在上述问题而不能 得到及时有效的应用,会造成财力、物力、人力资源的极大液费。教育管理信 息化建设作为一项全新的事业,发展速度很快,对技术的依赖程度高,因此, 从技术上研究可伸缩、可扩展、灵活的分布式教育管理信息系统的设计与开发 模式,具有重大的现实意义。 由于分布式教育管理信息系统实际上是企业级分布式应用系统在教育管理 领域的实现因此本文从企业级分布式应用这一个更高的层面来阐述其系统架 构、设计开发方法、技术基础和应用平台。第一章从探寻为什么要使用分布式 多层结构、什么是分布式多层结构入手,对分布式多层应用系统作了一般性概 述。第二章阐述了分布式多层应用系统的设计目标、约束条件及其面向对象的 分析与设计方法第三章介绍了开发分布式多层应用系统的关键技术组件 技术。第四、五章对笔者开发的分布式高等学校实验室管理信息系统( l a b m i s ) 所采用的c 删d c o c o m + 和m i d a s 技宋分别进行了研究。第六章把l a b m i s 硕士学位论文 m a s t e r st h e s i s 系统作为个设计与开发实例进行了简单的介绍。 关键词:分布式多层应用系统;业务逻辑层;组件;面向对象;c o m + ;m i d a s 硕士学位论文 m a s t e r st h e s i s a b s t r a c t w i t ht h er a p dd 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 ya n dt h ef h o t l g h to f r e v i t a l i z i n g t h en a t i o nt h r o e l g hs c i e n c ea n de d u c a t i o ng r a d u a l l yr o o t e di n t h e p e o p l e sc o n c e p t i o n ,t h ei n f o r m i z a t i o nt i d eh a sa k e a d ys w e p ta c r o s s t h ew h o l e e d u c a t i o n a ld o m a i n m a k i n gi n f o r m i z a t i o np r o m o t ee d u c a t i o n a lm o d e r n i z a t i o nh a s a l r e a d yb e c o m et h eo n l yw a yo fs a l i e n te d u c a t i o n a ld e v e l o p m e n t i ne d u c a t i o nt r a d e w h o s e p r i n c i p a la i mi sk n o w l e d g ei n n o v a t i o na n dt a k i n gp e r s o n n e lt r a i n i n g ,h o wt o a c c e l e r a t et h e p r o c e s s o fi n f o r m i z a t i o na n de s t a b l i s ht h ei n f r a s t r u c t u r eo f e d u c a t i o n a li n f o r m i z a t i o ni st h es i g n i f i c a n ts u b j e c to fe d u c a t i o n a ld e v e l o p m e n ti n t h e2 1 s tc e n t u r y t h ei n f o r m i z a t i n no fe d u c a t i o n a lm a n a g e m e n ti soneo ft h ep i v o t a l f a c t o r s a n dt h et e c h n o o g i c a lf o u n d a t i o no fe d u c a t i o n a l m a n a g e m e n t s i n f o r m i z a t i o ni st h ee d u c a t i o n a lm a n a g e m e n ti n f o r m a t i o ns y s t e m ( e m i s ) b a s e do n i n f o r m a t i o nt e c h n o l o g y h o w e v e lw i t ht h ep r e v a l e n c eo fi n t e r n e t i n t r a n e tt e c h n o l o g y , t h ei n s t i t u t i o n a l f r a m e w o r ko fe d u c a t i o n a lm a n a g e m e n td e m o n s t r a t e st h e p l u r a l ,d i s t r i b u t e d , n e t w o r k - m e l t i n gt r e n d t h ee d u c a t i o n a lm a n a g e m e n ti n f o r m a t i o ns y s t e ms h o u l db e a d a p t e dt ot h ed i s t r i b u t e dc a l c u l a t i n ge n v i r o n m e n t t h e r e f o r et h ea r c h i t e c t u r e , t e c h n o l o g i c a lf o u n d a t i o na n da p p l i c a t i o np l a t f o r mo ft h ee d u c a t i o n a lm a n a g e m e n t i n f o r m a t i o ns y s t e mt a k ep l a c eg r e a tc h a n g e st h a nb e f o r e b u ta t p r e s e n t ,t h e p r o g r a m su s e db yt h ee d u c a t i o n a la d m i n i s t r a t i v ed e p a r t m e n t sa n ds c h o o l sm o s t l y h a v em a n yp r o b l e m s ,s u c ha sn o n s t a n d a r di n f l e x i b l ed e s i g n , b a dc o m p a t 沁i l i t ya n d e x t e n s f o i l i t y , u n s u i t a b l en e t w o r ka p p l i c a t i o n i ft h e s ep r o b l e m se m b a r r a s s e dt h e a p p l i c a t i o no ft h ee d u c a t i o n a lm a n a g e m e n ti n f o r m a t i o ns y s t e m , i tw i l lc a u s et h e g r e a tw a s t i n go ff i n a n c i a l , m a t e r i a l ,h u m a nr e s o u r c e s ,t h ei n f o r m i z a t i o no f e d u c a t i o n a lm a n a g e m e n ti s d e v e l o p i n gq u i c k l y , w h i c hr e l i e s o ni n f o r m a t i o n 硕士学位论文 m a s t e r st h e s i s t e c h n o l o g yd e e p l y s oi t i ss i g n i f i c a t i v et or e s e a r c ht h ed e s i g na n dd e v e l o p m e n to f f l e x i b l e ,e x t e n d a b l e ,d i s t r i b u t e de d u c a t i o n a lm a n a g e m e n ti n f o r m a t i o ns y s t e m f o rt h ee d u c a t i o n a lm a n a g e m e n ti n f o r m a t i o ns y s t e mi sar e a l i z a t i o nf o r mo f e n t e r p r i s ea p p l i c a t i o ns y s t e mi ne d u c a t i o n a ld o m a i n ,t h i sp a p e rw i l li l l u s t r a t et h e s y s t e ma r c h i t e c t u r e ,d e s i g na n dd e v e l o p m e n tm e t h o d , t e c h n o l o g i c a lf o u n d a t i o na n d a p p l i c a t i o np l a t f o r mo fe n t e r p r i s ea p p l i c a t i o ns y s t e m c h a p t e ro n es u r r u n a r i z e st h e d i s t r i b u t e dm u l t i - t i e ra p p l i c a t i o ns y s t e m ,s t a r t i n gw i t he x p l a i n i n gw h yw eu s ea n d w h a ti sd i s t r i b u t e dm u l t i t i e ra r c h i t e c t u r e c h a p t e rt w oc l a r i f i e st h ed e s i g na i m , r e s t r a i n tc o n d i t i o n so fd i s t r i b u t e dm u l t i t i e r a p p l i c a t i o ns y s t e m a sw e l la s o b j e c t o r i e n t e da n a l y s ea n dd e s i g n c h a p t e rt h r e ei n t r o d u c e st h ep i v o t a lt e c h n o l o g y d e v e l o p i n gt h ed i s t r m u t e dm u l t i - t i e ra p p l i c a t i o ns y s t e m - - c o m p o n e n tt e c h n o l o g y c h a p t e rf o u ra n dc h a p t e rf i v er e s p e c t i v e l yd e m o n s t r a t ec o m j d c o m c o m + a n d m i d a st e c h n o i o g yu s e db yl a b m i ss y s t e m c h a p t e rs i xs i m p l yi n t r o d u c e s l a b m i sa sa l le x a m p l eo fs o f t w a r ed e s i g na n d d e v e l o p m e n t k e yw o r d s :d i s t r i b u t e dm u l t i - t i e ra p p l i c a t i o ns y s t e m ;b u s i n e s sl a y e r ;c o m p o n e n t ; o b j e c t o r i e n t e d ;c o m + ;m i d a s 硕士学位论文 m a s t e r st h e s i s 月l j舌 “信息社会”和“信息化”的概念起源于上世纪6 0 年代的日本,最初是 由日本学者从社会产业结构演进的角度提出来的,实际上反映了一种社会发展 阶段的新学说信息社会指信息产业高度发达、信息产业处于支配地位的这样 一种社会;信息化则表征向信息社会发展的这一过程。信息化是一个内涵深刻、 外延广泛的概念。从其内涵来考虑,它是指信息的利用非常广泛,信息观念深 入人心,信息技术产业的高速发展,信息咨询服务业的高度发达和完善;从其 外延来考惠,它是指一个国家或地区的信息环境。信息化作为一种趋势,是指 社会经济的发展是从以物质与能量为经济结构的重心,向以信息为经济结构的 重心转变的过程。 教育信息化是社会信息化的一个重要组成部分,它是指将信息通讯技术充 分整合应用在教育系统之中,是信息资源开发和利用及信息社会所特有的重要 组织与理论管理方式在教育领域实现的一系列过程。随着信息技术的飞速发展 和科教兴国思想不断深入人心,信息化的浪潮已席卷整个教育领域。以信息化 带动教育现代化己成为教育跨越式发展的必由之路。这场由信息技术革命引 起的教育变革,正在对教育的各个领域产生巨大而深远的影响。 作为知识创新和以人才培养为主体的教育行业,如何加快信息化进程,建 立教育信息基础设施和信息技术支撑体系,是2 1 世纪教育发展的重大课题, 其中有一个关键环节就是教育管理信息化。而教育管理信息化的技术基础就是 构筑在信息技术基础之上的教育管理信息系统( e , m i s ) 。 不过,憨着i n t e r n e t i n t r a n e t 技术的流行,教育管理的组织结构呈现出 多元化、分布化和网络化的趋势。而且i n t e r n e t 发展的原动力从一开始便是 希望提供一个可伸缩、可扩展和高度可用的公共信息传送平台,应用系统的架 构以及业务计算的模型不再局限于一个或两个计算层,应用系统的架构自然而 然就采用了分布式多层结构,这种系统就称之为分布式多层应用系统。教育管 硕士学位论文 m a s t e r st h e s i s 理信息系统( e m i s ) 作为管理信息系统( m i s ) 在教育管理方面的应用,也随 之要适应这种分布式计算环境的要求。因此教育管理信息系统的架构、技术基 础以及应用平台相较于以前发生了巨大的变化。 由于缺乏一套完善的软件设计规范,目前各级教育管理部门和学校使用的 教育管理软件大多属于单位自己或委托公司和科研单位开发,或由上级部门下 发,或从软件公司购买存在较多设计不规范、兼容性差的问题。这些问题主 要包括: ( 1 ) 软件开发平台很多,应用水平参差不齐。目前教育管理部门和学校使 用的管理软件很多来源也很复杂,同一类软件也有多个版本,且互不兼容, 低水平重复开发现象严重。 ( 2 ) 软件设计灵活性不够,扩充性和开放性较差。目前大多数管理软件的 设计对技术发展和教育需求变化的适应性差,稍有变化即难以使用,造成一些 软件不能得到长期稳定的应用。 ( 3 ) 适合网上应用的软件较少。目前大多数软件的应用局限在单机或小型 局域网上,缺乏在大型网络,如办公网、校园网、城域网、互联网上应用的软 件。 教育管理信息化建设是一项全新的事业,发展速度很快,对技术的依赖程 度高。如果因为教育管理信息系统存在上述问题而不能得到及时有效的应用, 会造成财力、物力、人力资源的极大浪费。因此,从技术上研究可伸缩、可扩 展、灵活的分布式敦育管理信息系统的设计与开发模式,具有重大的现实意义。 教育管理信息系统( e m i s ) 实际上是管理信息系统( m i s ) 在教育管理方面 的应用,因此从技术层面上看,教育管理信息系统的设计与开发方法,无论从 系统架构、技术基础还是从应用平台来说,跟应用于其它领域的企业级管理信 息系统都没有什么差别。因此我们可以首先研究一般的管理信息系统( m i s ) 及其相关的实现技术,特别是实现分布式多层应用系统所需要用到的分布式技 术。而从研究中所获得的经验,可以直接应用于教育管理信息系统的设计与开 发。 硕士学位论文 m a s t e r st h e s i s 第一章分布式多层应用系统概述 分布式多层应用系统架构现在似乎是所有开发工具、数据库厂商、 i n t e r n e t i n t r a n e t 工具以及操作系统厂商都大力鼓吹的应用系统结构。为什 么分布式多层应用系统架构会成为目前最流行、最重要的应用架构是有许多原 因的。在说明这些原因之前,我们首先讨论一下什么是分布式多层应用系统结 构,从讨论中兴许就能了解当前应用系统为什么需要使用分布式多层结构的原 因了。 1 1为什么要使用分布式多层结构 计算机刚刚发明的时候,没有人想到它会有如此广泛的应用。无法否认的 是企业级的应用在某种程度上推动了计算机的发展。早在上世纪6 0 年代,大 型计算机就成为大多数美国商业机构、企业的重要组成部分。个人计算机的出 现加速了社会的信息化进程,企业级应用开发的思想也日趋成熟。 所谓企业级应用是指那些为商业组织、大型企业而创建的解决方案及应用 程序。这些大型的企业级应用具有用户数多、数据量大、事务密集等特点,而 且还要能够满足未来业务需求的变化,易于升级和维护。一个好的企业级应用 系统架构通常来自于优秀的解决方案,同时自应用程序设计的开始就要考虑其 体系结构的合理性、灵活性、健壮性。从而既可满足企业级应用的复杂需求也 能为今后系统的调整和升级窖有余地。这样处理实际上是延长整个应用系统的 生命周期,增强了用户在多变的商业社会中的适应性减少了系统维护的开销 和难度,从而给用户带来最大的利益 早期的企业级应用开发依赖于单一的大型机这意味着对系统资源的不充 分使用执行不相关任务的用户被迫共享相同的系统资源,而且一旦出现故障 可能导致所有任务的终止。在达到大型机处理能力极限的时候,通常不得不升 3 硕士学位论文 m a s t e r st h e s i s 级到成本更高和更大型的机器所以规模可变能办也是一个问题。 在数年前客户机服务器( c s ) 架构兴起之后,许多应用系统便使用这种 结构来设计。随着客户机服务器结构技术的成熟,使用这种结构的应用系统 也执行得非常的平顺。图1 - 1 是一般的客户机服务器结构的示意图。 圈卜1客户机服务器结构示意图 客户机,7 服务器结构的主要优点是它的分布式特性,以及对系统资源的充分 利用,和与旧的大型机环境相比较便宜的配置成本。通过将处理要求分解到几 个小型服务器上运行,就有可能在整体上更好地使用资源和系统的处理能力。 在客户机,7 服务器结构中通常是由客户端的机器执行客户端程序,然后连接到 远程的数据库服务器中存取应用系统所需要的数据和资料。只要应用系统的客 户端数日在2 0 0 个用户之内并且是在同一个区域中,那么客户机服务器结构 作为m i s 应用系统的基础架构是比较合适的。不过,这种系统架构本身却存 在着很大的缺陷,使之不能够适应大规模的企业级应用。 客户机服务器架构之所以不能够适应大规模的企业级应用,是因为在这种 系统架构中通常是把应用系统的企业逻辑都编写在客户端的应用程序之中( 也 就是俗称的“胖客户机”) ,因此一旦应用环境发生变化需要改变应用系统的企 业逻辑时所有在客户端的应用程序都必须改变,这对于应用系统的维护来说 成本实在太高了。对于把大量代码化的企业业务逻辑驻留在客户端,也会给系 统的安全性带来极大的考验。虽然有一些系统使用存储过程把企业逻辑写在数 据库之中。但是这样却会带来更大的问题。因为如此一来不但应用系统都绑死 在特定的数据库上,而且还会由于在数据库中执行了许多应用逻辑的程序代码 严重拖累数据库的执行效率。此外,由于数据库服务器只能服务一定数量的客 户端,一旦客户端数目超过了一定的阈值,系统性能会呈几何级数下降,以致 4 硕士学位论文 m a s t e r st h e s i s 影响到系统的可靠性。 加上近年来i n t e r n e t i n t r a n e t 的流行对于企业运作的方式产生了巨大 的影响,绝大部份的企业级应用系统都必须集成i n t e r n e t i n t r a n e t 的能力, 以便让现有的以及潜在的客户能够通过网络来访问应用系统,进而开拓新的商 机。i n t e r n e t i n t r a n e t 的软件技术也随着应用面愈来愈广之后有了结构上的 改变。从早期使用h t m l 提供用户使用浏览器浏览或是查询静态数据开始,发 展到现在进行电子商务的工作或者在浏览器中执行m i s 、e r p ( e n t e r p r i s e r e s o u r c ep l a n n i n g ) 、c i n ( c u s t o m e rr e l a t i o n s h i pm a n a g e m e n t ) 等大型复 杂的应用系统。 为了让应用系统提供i n t e r n e t i n t r a n e t 的能力开发人员可能会在企业 内部架设一台w e b 服务器,然后使用c g i 、i s a p i n s a p i 或是a s p 的技术再 把相应的系统应用逻辑重新编写一次,并且分发到w e b 服务器让所有的客户 能够使用浏览器访问企业信息。此时的系统架构如图卜2 所示。可是使用这 种结构也有许多的问题,那就是当原先任何的m i s 应用系统需要提供 i n t e r n e t i n t r a n e t 的存取形式时,旧的应用系统都必须以新的软件技术编写 一次。这种重复开发的成本非常的昂贵,而且当企业的运作流程改变时也必须 同时修改两个系统,又增加了系统运作和维护的成本。 室蔓 、 ( 数据库) 服务器 圈i - 2 客户机服务器结构加入i n t e r n e t i n t r a a e t 存取能力的结构 为了解决这些在开发应用系统时由于系统架构自身缺陷所带来的一系列问 题增强应用系统的重复使用性、伸缩性、扩展性和灵活性,发挥面向对象分 析面向对象设计的功能,我们引入所谓的应用程序服务器使应用系统架构 5 硕士学位论文 m a s t e r st h e s i s 演进为分布式多层结构。 1 2 什么是分布式多层结构 作为人类历史上文明进步的一个重要标志,社会化大分工使得社会中的每 个个体在有限的资源条件下可以只专注于自己的特定工作,同时又可以与他人 交换工作成果,这极大地提高了整个社会的劳动效率。这种分工的思想也贯穿 于软件的发展历史过程中,即子程序一) 函数过程一) 对象一) 组件一) 层。 分工的内容越来越完备,抽象的层次越来越高,建模的粒度越来越大。和现实 世界的距离也越来越近。 应用层 运输层 网络层 链路层 图1 - 3t c p i p 协议族 在软件系统架构设计上,也存在着这种分工的思想,那就是层次结构。例 如t c p i p 协议族,就是一组不同层次上的多个协议的组合,如图l 一3 所示。 t c p i p 通常被认为是一个由链路层、网络层、运输层和应用层组成的四层协 议系统,每一层分别负责不同的通信功能。层次结构的特点是:上层使用下层 提供的服务,且仅通过层次间的特定接口获取下层服务,下层通过特定接口为 上层提供特定服务,且不依赖于上层,也不知道上层的存在。下层与相邻上层 之间为一对多的关系,即同一个下层可能为不同的上层提供服务。当然,这里 的层指逻辑意义上的层,软件组件间的逻辑关系才是构成层次结构的主要要 素。 客户机服务器结构属于两层分布式结构,在我们引入所谓的应用程序服务 器后,就形成了分布式多层结构。 硕士学位论文 m a s t e r st h e s i s 应用程序服务器简单的说就是一个包含企业逻辑的应用程序,软件开发人 员以一种特定的组件技术( 分布式对象技术) ,例如o m g 的c o r b a 、s u n 的e j b ( e n t e r p r i s ej a v ab e a n ) 、m ic r o s o f t 的c o m d c o m c o m + 技术等,封装企业 的逻辑程序代妈。这种经过封装能够执行特定企业逻辑功能的组件对象便称为 “企业对象”。企业对象开发完毕后就可以把它们部署到应用程序服务器中 当应用程序服务器包含了许多的企业对象之后,软件开发人员就可以在开发企 业应用程序时使用这些在应用程序服务器之中的企业对象提供的服务。例如 如果在应用程序服务器之中己经有了能够提供产品信息的企业对象,那么当开 发人员需要编写一个更新产品信息的m i s 应用程序时就可以直接使用在应 用程序服务器之中的产品企业对象。此外如果还需要让i n t e r n e t i n t r a n e t 上潜在客户能够查询产品信息时。也可以使用c g i 或是i s a p i 等技术存取在 应用程序服务器之中的产品企业对象的服务来满足客户的查询。而当企业决定 改变产品处理的流程时,只需要修改应用程序服务器之中的产品企业对象,那 么m i s 应用程序以及使用浏览器的客户都可以立刻的使用到最新的企业处理 流程。 采用这种包含应用程序服务器的分布式多层结构有许多的好处,除了可以 增加企业对象的重复使用性之外,整个系统的开发和维护成本都立刻的降低下 来了,而且还能提高系统的伸缩性、扩展性和灵活性。图卜4 是一个典型的 分布式多层应用系统的结构示意图。 厂 一 、 、 _ = 1 i 篙p 应用程序 ,一 ( 数据库) 一 眠务器 一 一 服务嚣 n 客户机: , 、 抖观表示层 业备逻揖屡 ! 矗据服务层 图l 4 分布式多层彗 勾示意图 从上面的分布式多层结构示意图中可以看出分布式多层结构通常具有3 硕士学位论文 m a s t e r st h e s i s 个基本层:外观表示层、业务逻辑层以及数据服务层。外观表示屡用于和用户 交互,它提供用户界面及操作导航服务;业务逻辑层用于企业业务逻辑处理, 执行业务规则,提供商业逻辑等各种约束。上面所说的应用程序服务器就属于 业务逻辑层的范畴:数据服务层用于数据的集成存储,完成数据的定义、维护、 访问与更新,这些数据既可以是平面文件,也可以是关系型数据库管理系统 ( r d b s s ) 管理的数据。当然除了这3 个基本层外,系统还可以引入其它的层 来实现某些特殊功能,例如可以引入一个安全层来阻止非法用户的访问。 下面我们对外观表示层、业务逻辑层以及数据服务层进行简单的讨论。 1 2 1 外观表示层 外观表示层是应用系统与人进行交互的层次。它可以有不同的表现形式, 例如专用的客户端应用程序、w e b 浏览器等。这些不同形式的客户端能够以可 视形式提供丰富、灵活的用户交互界面,用来表示信息和收集数据,并利用业 务逻辑层提供的功能服务完成用户请求,并且还可能会执行一些简单的业务逻 辑,比如对用户输入的数据进行简单的检查。 由于在分布式多层结构中应用系统的企业逻辑,并不是像传统的客户机 服务器结构那样编写在客户端的应用程序之中而是存在于属于业务逻辑层的 应用程序服务器中,此时外观表示层的客户端应用程序就能很“瘦”,俗称瘦 客户机。当企业逻辑发生改变时只要业务逻辑层提供服务的接口没有改变, 外观表示层可以不受影响,由此也可以看出整个系统更容易维护。 1 2 2 业务逻辑层 业务逻辑层也叫中间层,即我们上面所提到的应用程序服务器,是分布式 多层应用系统的关键所在。它负责处理所有来自外观表示层的用户请求,当它 通过数据服务层提供的接口处理完请求之后还要把处理结果返回给外观表示 层。这一层主要用于响应来自外观表示层的用户请求、为具体应用提供事务处 理和安全控制、执行企业逻辑与业务流程,以及为满足不同数量客户端的请求 而进行性能调整等。由此可以看出业务逻辑层是很复杂的。 硕士学位论文 m a s t e r st h e s i s 在设计与开发分布式多层应用系统的业务逻辑层时,可以使用面向对象分 析面向对象设计方法把复杂业务关系细分为多项功能单一的服务,每项服务 都执行一项特殊任务。这些服务可以用相对独立的服务组件对象来实现其功 能。通过分布这些组件对象,可以平衡数据处理负载、协调业务逻辑关系、调 整业务规模和业务规则。这一切都可以通过使用流行的组件技术( 分布式对象 技术) 来实现。 1 2 3 数据服务层 数据服务层实际上就是资源管理层,主要完成数据的定义、维护、访问与 更新,以及管理并响应业务逻辑层的数据请求。通常数据服务层使用大型的关 系型数据库管理系统( p d ) b m s ) 来管理,如o r a c l e 、s o ls e r v e r 等。使用r d b m s 来管理数据的好处是可以协助数据的处理,提高数据的使用效率。 r d b m s 处理数据除了完成数据库本身的插入新数据、修改数据、执行系统 函数等s o l 操作外,还可以通过存储过程和触发器来自动地在效据库上存储 应用程序的商务逻辑和函数模块,这样在数据层上就可以对数据做出相关的功 能强大的处理,而不是仅仅把请求结果返回给客户机。不过在数据服务层是否 应该有太多的数据处理,一直存在着分歧。主要有以下两种对立的观点: 第一种观点认为,在数据层利用p d ) b l i s 处理数据的功能越多越好。他们相 信存储过程和触发器应能在数据库的插入与更新中提供一切,以保持数据的时 效性。赞成者的观点是,如果业务规则变化,所有要做的仅仅是在数据库服务 器上更改存储过程,而不必在中间层或客户机上进行修改,b p 将业务逻辑层向 数据服务层靠拢。反对者的观点是,这种解决方案等于把所有的应用程序的业 务逻辑放进数据库,会使数据库本身的速度减慢另一个主要问题是,当所有 的应用程序逻辑都存储在数据库本身时。很难把数据库从一个平台移植到另一 个。 第二种观点认为,所有由实际应用程序来处理的功能都应放在数据服务层 之外,并在业务逻辑层或外观表示层进行处理。放入数据层的东西仅仅是数据 本身以及它们的更新、插入和删除等基本操作。任何业务逻辑,比如数据有效 9 硕士学位论文 m a s t e r st h e s i s 性的校验,都应放在业务逻辑层或放在实际应用程序的外观表示层。赞成这种 解决方案的是那些对速度要求高,而且其数据库仅仅是为了存储数据的人。反 对蓍的观点是,如果所有的业务逻辑部存储在业务逻辑层或外观表示层的应用 程序中,任何业务逻辑的变化都将导致程序的重写、重编译以及重新分发。 1 3 分布式多层结构的优势 分布式多层结构层次清楚功能明确,属于外观表示层的客户端程序主要负 责和用户的交互,属于业务逻辑层的应用服务器运行企业逻辑,属于数据服务 层的数据库服务器提供数据。由于整个应用系统的执行是分成数个不同的部分 并且可以执行在不同的机器之中,整个系统的延展性、可伸缩性和灵活性大为 提升。同时,由于业务逻辑层使用了分布式对象技术来构造,应用系统的业务 逻辑集中置于业务逻辑层的应用程序服务器由所有用户共享,当业务逻辑发生 变化时只需更新相应的企业对象逻辑组件,所有用户就可使用新的业务处理逻 辑,避免了客户端应用程序版本控制和更新的困难,这样也使得整个系统的开 发和维护成本大为降低。另外,客户端应用程序不再直接访闷数据库服务器, 也提高了系统的数据安全性。 由于分布式应用系统强调系统的稳定性、延展性以及执行效率,所以现在 有许多的分布式应用系统还提供了容错能力以及负载平衡的能力。在具备容错 能力和负载平衡的能力的分布式应用系统中,主要是在业务逻辑层部分提供多 台不同的应用程序服务器。当客户端应用程序或是w e b 服务器需要使用企业 对象的服务时,可以依据目前每一台应用程序服务器的负荷以及是否可以提供 服务的情形来动态决定连结到那一台应用程序服务器之中。 硕士学位论文 m a s t e r st h e s i s 第二章分布式多层应用系统的设计 设计分布式多层应用系统的第一步是识别系统的业务目标和系统操作时必 须遵循的约束,即进行需求分析和系统分析。然后在此基础上建立分布式企业 对象和它们之间的交互模型,并定义服务和接口,通过识别企业对象和服务之 间的独立性来进行组件划分。最后为应用系统选择一种合适的组件模型技术来 具体实现。 由于分布式多层应用系统的核心! 业务逻辑层,通常使用组件技术( 分 布式对象技术) 来实现,因此在设计分布式多层应用系统时,面向对象分析 ( o o a ) 和面向对象设计( o o d ) 方法居于举足轻重的地位。因为要设计个运 作良好的多层应用系统,除了开发工具提供的功能以及开发人员对于软件技术 的了解之外,如何分析和设计应用系统的分布式企业对象或是组件,将会深深 的影响应用系统的效率、可维护性以及延展性。 在探讨分布式企业对象的分析和设计之前,先让我们看看一个设计良好的 企业级分布式多层应用系统应能达到的设计目标以及存在的约束条件 2 1系统设计目标和约束分析 一个设计良好的分布式多层应用系统能实现定义优良的业务要求作为企 业级应用系统应该把以下几个方面作为设计目标给予充分考虑: ( 1 ) 性能一吞吐量大并且响应迅速 假定应用系统的功能正确,那么应用系统性能就是系统质量的头号标准。 系统设计、体系结构和实现可以完善无暇,但如果用户要花费很多时间来等待 瑜出结果那么他们会很失望。在实际环境中执行应用程序和在开发环境中执 厅这个程序可能很不_ 样,这要取决于不同的网络配置和加载情况 识别应用系统性能( 通常在要求文档中) 的特定标准报重要如果没有客 硕士学位论文 m a s t e r st h e s i s 观标准,那么只能靠主观来判断性能的好坏。重要的标准包括响应时间( 完成 一次操作所需的时间) 、明显响应时间( 用户在执行某个操作后必须等待的时 间) 、吞吐量( 每单位时间内处理的运行、单个用户) 和最坏情况( 网络负载 很大、应用程序已加载、有许多用户) 。性能标准应该总是表示普通情况( 典 型应用程序和网络加载) 下程序的性能。 ( 2 ) 效率有效、节约地使用可获得的计算资源 分布式应用系统通常使用几个计算机上的资源和网络资源每个单独的模 块必须有效地使用资源,应用系统作为一个整体必须节约使用网络资源。缺乏 效率将最终表明应用程序性能差或应变能力不够。 追求适当的效率非常重要,这往往来源于对现有资源的合理优化。比如, 处理器时间和内存的价格很便宜,而带宽通常很匮乏,所以不妨考虑用利用廉 价的计算资源来换取昂贵的通信资源,这正是分布式计算模式的优点。 ( 3 ) 应变性能适应处理量和复杂性的变化,有升级空间 要想成功地适应一个企业的业务变化,最大限度地满足用户需求及应用系 统的处理要求,包括用户数量、事务量、数据库大小等等在内的因素都需要根 据新的变化而增加。但是,增加量通常没有规律。一个设计优良的应用系统会 按照一种有序的方式增长以适应要求的无序增长。增长计划可能包括配置某些 组件的附加实例、添加新的模块、调整数据库的存储量或重新分配处理任务。 ( 4 ) 安全性给已授权用户提供适当的访问 企业级应用系统的复杂性、分布性和多用户性使得系统安全变得更加重要, 也更加复杂。一般情况下,每个客户程序将在本地账号环境下执行。但是远程 组件需要连接,并且要在适当的时候给这些组件提供服务或拒绝提供服务。 ( 5 ) 可验证性提供质量保证,确保应用系统正确实现指定的业务要求 测试企业级应用系统比测试一个普通的应用程序困难得多。在开发过程的 最早期阶段就要有有效的质量保证。有效的测试要求一个并行的测试环境,它 能和实际运行环境匹配得尽可能紧密。可验证性最重要的设计特征是将服务和 设计优良的组件接口清晰地分开并制作详细的设计和开发文档。 ( 6 ) 可靠性极少出现异常情况,有完备的异常处理机制 企业级应用系统不仅要处理本地异常,还要处理远程组件中的异常。潜在 1 硕士学位论文 m a s t e r st h e s i s 错误的数量一般随着系统的复杂程度而组合增长。一个设计优良的应用系统必 须有良好的异常处理机制,在出现异常事件后能平稳降级:而最佳的应用系统 会从错误中自动恢复。原则上应用程序应将错误控制在本地范围内,而不使它 传递到系统的其他部分。要想进行有效的管理,系统需要具备日志处理功能, 能将错误日志通知用户或开发商。 ( 7 ) 可维护性易于配置、操作和增强 业务的改变会导致软件的改变,软件更新和升级的速度因而加快了。在一 个设计优良的应用系统中对业务需求的某个改变只导致对单个组件的改变。 但是要想达到这个目标,必须将业务逻辑封装在中间层组件中。基于组件的设 计方法是保证长期可维护性的最佳方法。一个完整的系统必须进行系统初始化 配置。处理后续操作和分布更新。另外,软件的打包、分发、安装也要考虑易 操作性。 一个企业级分布式多层应用系统在论证设计过程中通常还要考虑以下约 束: ( 1 ) 平台硬件、网络和操作系统 通常,企业级应用系统的各组成部分必须在各种已有的硬件和许多已有的 操作系统的支持下分布式运行,这些硬件和系统由网络连接在一起。每个子系 统和组件必须在本地正常执行,并且正确地和远程组件进行交互。 目标平台约束也包括支持或不支持进程间通信( i p c ) 、远程过程调用( r p c ) 等等i p c 提供运行在单个计算机上的应用程序之间的本地通信;r p c 允许运 行在某个计算机上的应用程序和运行在另一个计算机上的应用程序交互作用。 m i c r o s o f t 平台的c 伽d m 就提供这些服务。在许多情况下,组件可以在本 地或远程配置而不需改变代码。 ( 2 ) 带宽系统之间的通信速度和可靠性 分布式应用程序是一个通信应用程序。在企业级应用系统的设计时必须考 虑到可用通信链接的速度和可靠性。对于不同的情况,可用带宽可能变化很大, 比如从每分钟几个字节到每秒几兆字节。 在应用系统设计中,考虑目标网络上带宽可用性的模式很重要某些客户 机可能占有永久的网络连接,泞是其他客户机可能要非常频繁地靠拨号来连接 1 硕士学位论文 m a s t e r st h e s i s 到网络上。 ( 3 ) 资源竞争一对共享性资源的合作式访问 在进程之间共享资源是计算中的一个基本问题。从最基本的层次上讲,进 程要争夺处理器时间、内存、磁盘和网络资源。从更高级的层次上讲,共享性 资源包括数据库表中的行和其他组件提供的服务。 因为数据库提供了有效的资源共享机制,所以在设计应用系统时有些开发 者滥用这一机制导致资源耗尽,比如过多的触发器就可能降低访问数据库的效 率。资源竞争随时会成为规模可变能力的一个障碍,因此必须尽力来减少资源 共享的情况。 ( 4 ) 使用者应用系统成功使用的关键 企业级应用系统的使用者包括该程序的最终用户、支持人员和管理人员。 设计决定必须考虑到每一类人的需要。要考虑到用户使用计算机时的整体舒适 性,尽管用户和开发者对应用程序有不同的期望值。最终用户要求适当的用户 界面和卓越的性能;支持人员要求准确的最新用户文档和及时的培训;系统管 理员需要理解如何安装、维护、操作这个应用程序。应用系统的成功在很大程 序上依赖于成功的管理。 ( 5 ) 兼容性和现有的系统之间的和平共处 与旧系统兼容是开发应用系统中的一个令人头痛的过程,并且它也是进行 某些开发时的一种典型约束。利用行业专家的经验可以在旧系统目标上打开通 路,从而避开对新系统的需求定义。处理旧系统的制约和遗留问题需要巨大的 耐心和毅力,但这样可能有助于阐明新系统的某些需求,这些需求往往在原始 需求定义中没有识别出来。 2 2 面向对象技术 在企业级的应用中,用户不断向业已老化的系统要求更多的功能,而他们 正变得越来越没有耐心等待新功能的实现。因为旧应用系统中往往是原始代 码、维护代码、集成代码以及残留的修补代码的单一集合,这些应用程序的维 护已经变得非常困难而且代价昂贵。为加入新功能而改动这些脆弱结构的关键 1 4 硕士学位论文 m a s t e r st h e s i s 段落往往充满了危险,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年事业单位工勤技能-陕西-陕西印刷工一级(高级技师)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-陕西-陕西保安员二级(技师)历年参考题库含答案解析(5套)
- 挽救民族危亡课件
- 公司工程部绿化知识培训课件
- 公务员考试课件资源
- 智能交通支付安全评估报告
- 2025社会工作者考试《初级实务》试题及答案
- 2025年工业互联网平台网络流量整形关键技术创新分析报告
- 2025年中药配方颗粒质量标准与市场增长趋势研究报告
- 2025年环保产业投融资策略与风险控制研究报告
- 高速天桥拆除方案(3篇)
- 农村土地托管培训课件
- 老旧小区改造知识课件
- GB/T 17656-2018混凝土模板用胶合板
- 2023年安徽省国有金融资本投资管理有限公司招聘笔试题库及答案解析
- 新外研版英语七年级上册单词默写表
- 客户拜访标准作业流程
- 2018中考总复习一次函数专题
- 锐途管理人员自我发展报告
- 特殊教育学校学生管理名师优质课赛课一等奖市公开课获奖课件
- 盲管(沟)工程检验批质量验收记录
评论
0/150
提交评论