(计算机应用技术专业论文)基于三层结构的管理信息系统的开发与应用.pdf_第1页
(计算机应用技术专业论文)基于三层结构的管理信息系统的开发与应用.pdf_第2页
(计算机应用技术专业论文)基于三层结构的管理信息系统的开发与应用.pdf_第3页
(计算机应用技术专业论文)基于三层结构的管理信息系统的开发与应用.pdf_第4页
(计算机应用技术专业论文)基于三层结构的管理信息系统的开发与应用.pdf_第5页
已阅读5页,还剩76页未读 继续免费阅读

(计算机应用技术专业论文)基于三层结构的管理信息系统的开发与应用.pdf.pdf 免费下载

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

文档简介

西南交通大学硕士研究生学位论文第1 页 ,摘要 f f 随着软件开发技术和开发工具的不断进步,管理信息系统开发 模型在沿着主机终端模型到c s 模型再到b s 模型这条道路上前 进,相应地系统应用体系结构也由单层结构发展到二层结构再到三 层结构。随着面向对象技术的广泛应用,组件技术提高了软件开发 的效率和质量,组件的出现使得传统的二层c s 模型发展到三层c s 模型。w i n d o w sd n a 是一个用来构造基于组件的三层应用程序的框架 结构,是m jc r o s o f t 在w i n d o w s 平台上针对如何发展强健、稳周、 扩充性大的分布式网络应用所推出的方案。而随着计算机吼络的迅 猛发展,w e b 以其丰富的信息资源和方便的浏览方式得帮了广泛应 用,系统开发模型也进一步由c s 模型发展为b s 模型j 本文叙述 了分布式应用体系的演变过程,详细地剖析了三层结构的逻辑及功 能划分,并对二层结构和两种三层结构模型进行了比较和分析;对 微软的c o l d c 0 m c o m + 组件技术进行了综合分析:对基于w i n d o w s d n a 的三层( 多层) 结构进行了详细介绍,对w e b 数据库的相关技术以 及数据库访问技术作了深入的探讨。并结合机车质量信息管理系统 对基于三层结构分布式开发模型进行实践应用,文中举例说明了系 统的设计及实现过程,包括e - r 图、系统功能模块的划分、a s p 编程 实现、a c t iv e x 控件的开发和发布,远程数据对象的创建等。 关键词:三层结构;m i s ;c o m d c o m c o m + ;b s :c s 誓、 西南交通大学硕士研究生学位论文第1 i 页 a b s t r a c t w i t h s o f t w a r e d e v e l o p m e n tt e c h n 0 1 0 9 y a n d d e v e l o p m e n t t 0 0 1s i m p r o v e d ( :e a s e le s s l y m i sm o d e l sh a y ee v o l v e df r o mm t ( m a in f r a m e t e r mi n a l ) m o d e lt ob sm o d e l , b y c sm o d e l , c o r r e s p o n d in 9 1 y ,t h es y s t e ma r c h i t e c t u r eh a sd e v e l o p p e df r o m s i n 9 1 e t i e r s t e u c t u r et o 3 一t i e r b y 2 一t ie r w i t ht h ew i d e a p p l ic a t i o n o ft h eo o p ( o b j e c t o r ie n t e dp r o g r a m m in g ) t e c h n i q u e s ,t h ec o m p o n e n tt e c h n i q u eh a sc o m ei n t ou s es oa s t oi m p r o v ed e v e l o p m e n te f f ic i e n c ya n dq u a l i t yo fs o f t w a r e ,t h e c o m p o n e n tt e c b n iq u em a k e sc sd e v e l o pf r o m2 一t i e rs t r u c t u r e t o3 一t i e ro n e w i n d o w sd n ai saf r a m e w o r kw h i c hi su s e dt o c o n s t r u c t c o m p o n e n t b a s e d t h r e e t i e r a p p l i c a t i o n s y s t e m p r o d u e e db ym i c r o s o f t ,i ti sa i m e da th o wt od e v e l o par o b u s t , s t a b l ea n de x p a n s i v ed i s t r i b u t e dn e t w o r ka p p l i c a t i o n w i t ht h e r a p i dg r o w t hi nn e t w o r ka p p l i c a t i o n w e bi sn o ww i d e l yu s e d f o rit sa b u n d a n c ei ni n f o r m a t i o na n dc o n v e n i e n c et ob r o w s e ,s o t h ec sm o d e lh a sb e e ne v o l v e di n t ot h e b sm o d e l t h i s d is s e r t a t i o nd e s c r i b e st h ee v o l u t i o no ft h ed i s t r i b u t e d a p p li c a t i o ns y s t e m ,a n dt h e1 0 9 i c a ls t r u c t u r ea n df u n e t i o n a l p a r t i t i o no f t h et h r e e t i e rs t r u c t u r ea r ea n a l y z e di ns o m e d e t a i l ,m o r e o v e r ,t h ec o m p a r i s o na n da n a l y s i sa r em a d ea m o n g t w o t ie r 、t h r e e t i e rc l sm o d e la n db sm o d e l i ta l s op r e s e n t s a c o m p r e h e n s i v ea n a l y s i s c o n c e r n i n gt y p i c a lc o m p o n e n t t e c h n i q u e - - c o m d c o m c o m + o fm i c r o s o f t :t h e i n t r o d u c t i o no f t h et h r e e t i e r ( m u l t i - t i e r ) s t r u c t u r eb a s e do nw i n d o w sd n ai s m a d ei nd e t a i l :a d d i t i o n a l l y 。t h e r eisap e n e t r a t i n gr e s e a r c h i n t ot h e t e c h n o l o g y o fw e bd a t a b a s ea n dd a t aa c c e s s f u r t h e r m o r e ,t h et h r e e t i e rm o d e lisp r a c t i s e db yt h em i so f q u a l i t yo f1 0 c o m o t i v e ,w h i c hisd e v e l o p e db y t h ea u t h o ra n d o t h e r d e v e l o p p e r s t h ei n s t a n c e sa r em a d ef o rt h es y s t e m s d e s i g na n da c c o m p l i s h m e n t ,i n c l u d i n gt h ee - rd i a g r a m s ,t h e s y s t e mf u n c t i o n a lp a r t i t i o n ,t h ea s p p r o g r a m m i n g a n d 西南交通大学硕士研究生学位论文第u l 页 r e a l iz a t i o n ,t h ed e v e l o p m e n ta n gd e p l o y m e n t o fa c t i v e x c o n t r 0 1s ,t h ec j re a t i n go f t h er e m o t ed a t ao b j e c ta n ds oo n k e y w o r d s :t h r e e t i e rs t r u c t u r e ;m a n a g e m e n t i n f o r m a t i o n s y s t e m ; c o m d c o m c o m + ;b r o w s e r s e r v e r ;c l i e n t s e r v e r 瞪南交通大学硕士研究生学位论文第1 页 。 传统酗i s 的不是 第1 章绪论 在过去十几年坦,m i s 对于愈业完蓑管理、提悫生产觏工作效率 做出了不可磨灭的贡献。然两,随簧信息技术的进步、人们信息意 识的增强以及操作信息技能的普及和提高,传统m i s 的不足之处越 来越突出,其封闭的特点使人们难以实现建立完懿信息网络的设想。 传绞m i s 匏不足主要鸯以下几点: 系统为封闭式,限制信息资源开发的深度和利用的广度 系统维护住差,谶多依赖开发翥的维护和修改; 系统用户界面作确繁杂,不统一,无法推广使用; 系统软件开发麓赣长,鼓基于莱一搡襻系统; 系统的生命瘸嬲矮,穆橇困难,井缓麻颓; 系统信怠内容与形式过予攀一,系统震量难戳保谥。 如钶减轻m i s 歼发者的工作鬟,有效地利用以往m i s 建设中的 成功经验。避免低效重复劳动,自动生成应用系统程序;如何建设 高效、可靠、应变能力强的m i s 成用系统,使之功能强大,维护简 单;成为m i s 建设嬗需解决的问题。组件( c o m d c o m ) 技术就是在这 一需求的推动下应运而生。 1 。2 组件技术为m i s 建设开辟了一个广阔天地 软件组件的产生是对软件的生产方式作一次根本性的变革。软 件组件悬具有特殊功能的、自主的软件模块,这种模块按照一定的 接口规范可以实现互操作。与对象相比,组件是自主的、组件化不 需要代码的踅新编译和连接,而赢接作为功能模块在= 进制级用予 软件系统的装配。进入9 0 年代以来,组件方法已成为工娩界普遍接 受的攘高软件质量、可靠性与软件生产力的行之有效的方法和技术, 鳆赢交道大学硕士硪究生学位论文第2 贞 即通过装配可羹用软件的方法柬构造应用程序。就客户来说,希凝 这种软件组件能“即捅即用”,即能从所提供的软件组件库中获取最 合适的组件并充分重用现有成熟的软件代码,而且这种组件必须便 于增减,便于维护和重构。 随饕网络及提关技术的不断发展和宪羲,i n t e r n e t 成为了一个 庞大的分布式计算平螽。w e b 浏监器由于具有良好的跨平台和图形能 力,近几年来尤为开发者所青昧。以w e b 技术为基础,应用系统结 构逐渐从传统的以计算机为中心向以网络为中心发展。糖于w e b 的 分布武系统使得用户可透明地共享出不同运行平台组成的异构计算 环境,从而使得用户可在千麓万别的信息资源的基础上,构造信息 共享的分布式系统,并有效地实现了应用系统与分布式巯理的集成。 软 牛组l 牛化思想和 弋妈重用优势以及缎 牛用于m i s 应用所形成 的三层结构体系和分布式处理,给软件工程带来了新的活力。在本 文中将介绍如何使用组件技术实现机车质量管理信息系统。在此, 有必要先了解有关数据库应用系统的发展历史。 1 。3 数据库应用系统的发展 自从计算机诞生以来,人类使用计算机处理信息已有半个多世 纪。随着数据处理技术的不断进步和发展,数据库应用系统也经历 了不断发展和进化的过程,尤其是计算机网络技术的发展使数据库 应用系统不仅在功能上而且在结构上都有了深刻的变化。数据库应 用系统的发展经历了4 个阶段:主机终端模式、文件服务糕模式、 客户机,服务器模式( c l i e n t s e r v e r ,简称c s ) 和w e b 浏览黯,服务器模 式( b r o w s e r ,s e r v e r ,简称b s ) 。 主规终端模式 在主橇系统中,所有的数据蚜在主梃士怒瑶,焉户终端只能作 输入输壤。m i s 系统藩期投入大,瓣鸯枫鼹要求嵩,毽设计筠筚。 这种集中处理模式由予硬件选择有羧,硬传投炎褥不到保逊,已被 逐步海汰。 西南交通大学硕士研究生学位论文第3 页 文件服务器模式 8 0 年代由于p ( :机的广泛应用以及计算机硬件、软件技术、网络 技术的迅速发展,出现了以文件共享为特征m i s 系统。在这种应用 中,所有应用程序和数据都集中在共享的文件服务器上,而不是驻 留在实际使用它们的客户计算机上,当用户需要时,相应的应用程 序和数据就整个地从文件服务器上下载到计算机上。在这种结构中, 比基于主机的计算机系统使用简单、用户界面友好,并具有一定的 可伸缩性。但是系统运行效率低下,当用户数增多时,网络的通信 负载明显增大。这种模式只适用小规模的局域网,对于用户多、数 据量大的情况就会产生网络瓶颈,特别是在互联网上不能满足用户 要求。现在已很少使用。 客户机服务器模式 2 0 世纪9 0 年代初,客户机服务器( c s ) 系统出现,它的实质就 是将数据存取和应用程序分离开来,由数据服务器执行数据操作, 客户机来执行应用程序。用户在客户端通过网络同服务器打交道, 客户端又包括用户界面和企业逻辑,网络上传送的数据主要是客户 端向服务器发出的请求以及服务器发送给客户端的响应结果和出错 信息。c l s 可以显著地减少局域网传输量、降低对数据控制的难度, 提供了多用户开发特性,保障了用户投资。 浏览器n l i l 务器模式 最近几年,i n t e r n e t 在全球的迅速普及标志着一场新的技术革命 的开始,w w w ( w o r l d w i d e w e b ) 方式的服务成为其中发展最为迅猛的 部分。它采用跨平台的标准接口( 浏览器b r o w s e r ) 与标准协议h t t p 来浏览与链接文本、图像、动画、声音、视频等多媒体信息。操作 极为简单,无须培训。这使得很多基于大型数据库的信息管理系统 正在采用一种全新的技术模式:b s 模式。它是w w w 技术和数据库 技术结合的产物,已成为当今的一个热门领域,具有良好的应用前 景,是未来数据库应用的一个发展方向。 因此,现代企业m i s 系统平台模式应主要考虑c s 模式和b s 模式。 西南交通大学硕士研究生学位论文第4 页 第2 章分布式应用体系结构的发展 伴随着数据库管理系统的发展,分布式应用体系结构经历了单 层结构,二层结构,三层结构等3 个阶段。 2 1 单层结构 最初数据库产生时,当时的观念是由应用程序控制关系型数据 库,应用程序和数据文件合二为一,不可分割,这种数据处理的模 式一般称为单层结构( 1 一t i e r ) 。由于这种结构的数据库不能实现数 据共享,占用计算机资源较多,于是数据库应用开始转向文件服务 器结构。 文件服务器系统就是将一些需要共享的数据文件放到文件服务 器上,各终端通过网络系统进行数据传输,用户间可以实现文件级 的数据共享。 文件服务器的结构虽然简单地实现了数据的共享,但应用程序 和数据文件还没有完全分理,因此,一般也看作单层结构。人们很 快发现,文件服务器结构的系统很容易发生网络阻塞,因为在数据 文件服务器的结构中,用户不论存取服务器中文件的一条记录还是 一千条记录,都必须将整个数据文件全部下传到用户计算机中进行 处理,处理完后再存回到服务器中。因此文件的服务器结构很快被 一种称作“客户服务器系统”所代替,也就是所谓的两层结构 ( 2 一t i e r ) 。 2 2 二层结构 传统c s 系统是一种典型的二层结构,按照各自实现功能的不 同,将应用程序分为两大部分:一部分是用于处理数据库,称为服 务器部分;另一部分是用于处理应用程序、请求服务。称为客户部 分。客户部分负责执行前台功能,如管理用户接口、数据处理和报 告请求等。而服务器部分执行后台服务,如管理共享外设、控制对 西南交通大学硕士研究生学位论文 第5 页 共享数据库的操纵、接受并应答客户机的请求等。 二层c s 结构的工作原理是:用户通过客户机应用程序提出数 据请求,客户机通过网络将数据请求提交给数据服务器,由数据服 务器执行数据处理任务,然后把处理结果传送到客户机上。c s 系统 的结构如图2 一l 所示。 r r l客p 机hd b 服务器j l ,_ j l _ j 图2 1 二层结构示意图 c s 结构一般用于比较适合于小规模的、用户较少( 1 0 0 ) 、单 一数据库且有安全性和快速性保障的局域网环境下,它具有这样的 一些优点: ( i ) 专用性、交互性强。在这种模式中,客户端装有专用客户软 件。更有利于完成某一项专门的任务。 ( 2 ) 存取数据安全。因为c s 模式的平台一般采用适于局域网、 安全性好的局域网络协议,如n e t b e u i 协议,安全性有保证。 ( 3 ) 网络通讯量低、速度快。因为只有二层结构,网络通讯量只 包括客户机与服务器之间的通讯。 在c s 二层结构中,数据显示和事务处理部分均被放在客户端, 从而使客户端承受着双重任务,负担很重,成为胖客户机,相对服 务器端的任务较轻,成为瘦服务器。负荷不均成为这种结构的致命 缺陷,随着网络的发展和信息处理量的增加,这种结构产生了严重 的不利结果。主要表现在: f 1 1 客户端负担重。因为随着应用系统的功能越来越复杂,客户 端应用程序也越来越庞大,为了提高性能,需要不断提高客 户机的配置,又加重了投资的成本。 f 2 ) 扩展性差。不能兼容原有系统,用户的投资得不到回报。 f 3 ) 系统维护复杂,升级麻烦。服务器端与客户端都需要维护。 如果系统升级,必须为所有的客户端升级。 ( 4 ) 用户界面风格不一,使用繁杂,不利于推广使用。 ( 5 ) 系统性能低。一个典型的商业应用程序在一个单独的事务处 理中可能要处理多个请求。每个请求只存取几个记录,而不 西南交通大学硕士研究生学位论文第6 页 得不从服务器传送大量的数据,从而影响系统的性能。 另外,随着客户端的增加 端资源利用率很低f 5 ) 。因此 最终使系统崩溃。 2 3 三层结构 会消耗服务器更多的内存,而客户 使用二层结构的花费将以指数增加, 传统客户机服务器的应用在很长一段时间内满足了人们的应 用需求,但由于它的局限性,三层结构应用系统应运而生。 三层结构是在分布式技术成熟之后建立起来的,它的基本思想 是将用户界面同企业逻辑分离,把信息系统按功能划分为表示、功 能和数据三大块,对应的软件层: 1 ) 客户层( 表示层) ,表示层是应用的用户接1 3 部分,它担负着 用户与应用间的对话功能。它用于检查用户输入的数据,显示输出 的数据。一般在客户层不存放业务逻辑或存放很少。 2 ) 中间层( 业务逻辑层) ,通常由应用服务器或w e b 服务器实现。 中间层提供业务逻辑、事务调度,并与数据库有连接,它充当客户 与数据库之间的桥梁。m t s 或s y b a s ec t s 等事务服务器都是中间层 服务器,c o m 或c o r b a 对象可以嵌入其中提供业务逻辑。 3 ) 数据库层,即d b m s ,负责管理对数据库数据的读写,能迅速 执行大量数据的更新和检索。现在的主流是通常像s o ls e r v e r 、 o r a c l es e r v e r 等关系数据库系统( r d b m s ) 。 三层结构中的三层,只是逻辑上的概念。具体实现时,物理结 构上的差异可能会很大。三层可以在一台计算机上,也可以在两台、 三台,甚至更多的计算机上,只要它们在体系上遵循三层c s 结构 即可,只不过在一台或两台计算机上实现三层c s 结构,它的优势 是很难体现的。 在三层结构中( 见图2 - 2 ( a ) ) ,每一层支持应用程序的一个独立部 分。在事务处理过程中,每个客户机只向应用服务器发出一个请求, 这就减少了网络通信和竞争。每个应用程序的商业逻辑部分是由该 程序的所有用户共享,这就更好地控制了商业逻辑,大大简化了变 西南交通大学硕士研究生学位论文第7 页 化的实现。另外,应用服务器和数据库之间是一定数目的常连接( 用 户不必做连接和断开数据库的操作) 。而且,三层结构的特性是客户 请求应用服务而不是数据请求。所以,随着用户的增加,三层结构 更加有效并容易扩展。当前,最典型的也是最有前途的三层结构是 b r o w s e r w e bs c r v e r d bs e r v e r ( b s ) ( 见图2 - 2 ( b ) ) ,由于b s 结构是 一种新兴的技术,它和三层c s 结构还有许多不同,下面分别介绍 这两种模式。 图2 - 2 三层结构示意图 f 2 3 1 三层c s 结构 三层客户服务器系统是由二层客户服务器系统发展来的,它 是将原客户端的数据处理功能、应用子系统与数据库服务器的数据 接口等功能从两层结构的客户端程序中分离出来,使客户端只保留 最简单的输入输出功能。这样既保留传统客户服务器系统的优点, 又避免了它的缺点。三层c s 体系结构的优点: ( 1 ) 提高了效率。客户端应用程序和应用服务器之间的连接实际 上只是一些简单的通信协议,而数据库服务器交流所需要的设置或 驱动程序,均有应用服务器来承担,这就减轻了客户端的负担,也 降低了数据库服务器的连接代价。 ( 2 ) 易于维护。各层相对独立,可并行开发,客户端只关注用户 界面,而且与其它客户共享相同的数据访问模块,因而提高了可维 护性,也加强了数据的一致性。 西南交通大学硕士研究生学位论文第8 页 ( 3 ) 更安全的存取模式。由于c s 是配对的点对点的结构模式, 采用适用于局域网、安全性比较好的网络协议( 例如:n t 的n e t b e u i 协议1 ,安全性可以得到较好的保证。 ( 4 ) 具有可伸缩性。由于现在计算机硬件系统构成非常灵活,使 系统各部分可以选择与其处理负荷和处理特性相适应的硬件。随着 应用的发展,系统可以增加一台或多台:【作站作为应用服务器。 2 3 2b s 结构 b r o w s e r s e r v e r 在本质上也是一种c l i e n t s e r v e r 结构,它是一种 由传统的c s 结构发展而来的在w e b 上的应用。 与三层c s 结构不同的是,b s 系统的表示层为w e b 浏览器, 功能层为w e b 服务器。w e b 浏览器一般为专用的软件产品,如 m i c r o s o f t 的i e ,它的任务是由w e b 浏览器向网络上的某一w e b 服 务器提出服务请求,w e b 服务器对用户身份进行验证后用h t t p 协 议把所需的文件资料传送给客户端,客户机接受传来的文件资料, 并把它显示在w e b 浏览器上。w e b 服务器也是专用的产品,软件开 发人员只需要开发基于w e b 服务器的应用程序,实现所需的商业逻 辑,它包括了应用中全部的业务处理程序。换句话说,除了输入输 出功能在表示层、数据库在数据层以外,全部的统计、汇总、分析、 打印功能全部存放在功能层。 相对三层c s 结构丽言,b s 结构是一次深刻的变革,它具有如 下突出优点: ( 1 ) 它简化了客户端。只需安装通用的浏览器软件。这样不但可 以节省客户机的硬盘空间与内存,而且使安装过程更加简便、网络 结构更加灵活。 ( 2 ) 更易于维护、更易于升级。维护人员不再为程序的维护工作 奔波于每个客户机之间,而把主要精力放在功能服务器上。由于用 户端无需专用的软件,当企业对网络应用进行升级时,只需更新服 务器端的软件,减轻了系统维护与升级的成本与工作量。 ( 3 ) 用户操作使用简便。b s 结构的客户端只是一个提供友好界 面的浏览器,通过鼠标即可访问文本、图像、声音、电影及数据库 西南交通大学硕士研究生学位论文第9 页 等信息,用户无需培训便可直接使用,利于推广。 ( 4 ) 更适合于网上发布信息。b s 结构使用的是i n t e r n e t 的w e b 技术,因而更适合网上信息的发布,拓展了传统的数据库应用的功 能,更适合i n t e r n e t 时代的需要。 鉴于b s 相对于c s 的先进性,b s 逐渐成为一种流行的m i s 系统平台。各软件公司纷纷推出自己的i n t e r n e t 方案,基于w e b 的 财务系统、基于w e b 的e r p 。一些企业已经领先一步开始使用它, 并且收到了一定的成效。 b s 模式的新颖与流行,和在某些方面相对于c s 的巨大改进, 使b s 成了m i s 系统平台的首选,也使人忽略了b s 不成熟的一面。 b s 结构相对c s 结构也有其弱点,主要表现在: ( 1 ) 交互性弱。在c s 中,客户端有一套完整的应用程序,在出 错提示、在线帮助等方面都有强大的功能,并且可以在子程序间自 由切换。b s 虽然由j a v a s c r i p t 、v b s c r i p t 提供了一定的交互能力, 但与c s 的一整套客户应用相比是太有限了。 f 2 ) 安全性低,由于采用开放的t c p i p 协议和解释型的脚本语 言编程,其安全性只能靠数据服务器上管理密码来保证。 f 3 ) 数据处理能力弱,由于w e b 是一种新兴的技术,现在处在解 释脚本语言阶段,无法开发出像用可视化工具开发的功能强大的编 译型应用程序。 同时也由于传统的c s 系统大量存在,积累了大量的信息和应 用,将这些应用全部转向b s 系统也是一种长期而艰巨的任务,因 此b s 系统并不会立即取代c s 系统两是将与其长期共存。 2 4 混合体系结构 下面( 见表2 - 1 ) 就二层c s 结构、三层c s 结构和b s 三者的几 个主要性能进行对比。 窿用 二层c s三层c sb s 搏磁 平台无关性否否是 西南交通大学硕士研究生学位论文第1 0 页 界面统一性否否是 开发难度 大境大小 维护费_ l j 大小最小 可扩展性弱强撮强 交互性 最强强弱 安全性强最强弱 网络通信量大最小小 可操作性复杂简啦最简单 表2 1 通过上述的比较分析,我们可以知道,c s 和b s 两种模式各有 所长,因此,在构建i n t r a n e t 的过程中,为开发高效灵活的管理信 息系统,把二者有机结合起来,发挥二者的长处是必不可少的。对 于数据量大、需要大量频繁、高速交互并且使用者单一的系统管理 模块,可以仍然采用c s 模式;对于数据量不大、使用者众多的用 户使用模块,可以采用b s 模式。对于c s 模式,二层结构适合职 能部门少且集中稳定、用户少、数据处理量大、基于小型局域网的 系统;三层结构适合职能部门多且分散不稳定、用户多、安全性高、 地点灵活的基于局域网的系统。图2 3 是混合结构简化的两种网络 拓朴形式,在设计系统时,根据系统硬件性能、接受用户需求多少 和处理数据量大小决定取舍。 唑叫娑:卜 d b m s 亟丑酉卜 a 巫叫基卜 d b m s 客户端软件卜一 图2 - 3 混合结构示意图 2 5 本系统开发目标及方案选择 2 5 1 项目背景 b 疆南交通大学硕士研究生学位论文第1 1 页 长期以来,机务段机车质量管理依靠手工进行,造成效率低, 责任不明确,篱理不规范的状况。具体表现在:机车检修计划、检 修数摄和机车膜历等技术资料由人工管理,配件、材料的管理都是 通过手工进行,各种报表的填写、数据的汇总统计均由人工完成, 工作量大,耗费时间多,出错率高;各种资料分散在相关业务部门, 难以实现信息共享:信息标准化程度低,数据交换困难:人工传送 报表和文件,办事效率低;领导管理层难以实时决策。因此,有必 要构建一个管理信息系统对机务段的各主要业务进行计算机管理。 2 。5 2 系统污发目标 实时、可靠地获取机车检修数据和有关统计数据,并实现数据 的充分共享,为机务段的日常运营管理提供技术支持和决策依据: 将管理人员和技术入掇从繁蹩业务中解脱出来,提高管理效率;通 过网络传送日常报表和文件提高办攀效率;瞬确各个部门和各类入 员职责,便于管理层赢接管理。 目标系统要有良好的开放性:能方便地融合判段内其它管理系 统中;能方便地与机务段的其它管理系统( 如设备管理系统和财务管 理系统等) 交换数据。 疑标系绞要毒嶷好豹扩攫性;希望强椽系统淘全路推广,疑以 系绞数据秘擐袭格式尽霹能标准窝遽题,劳蒙矮来束发展的爨要; 另孙系统容易扩展。 2 5 3 系统方案选择 如何构建该管理系统,需要考虑用户需求,部门多少及港递分 布、以及系统胃扩震拣等多个因索。 t 、部门划分 机务段的部门划分如图2 - 4 。整个部门划分有三个层次,即决策 层、管理层和执行层。 西南交通大学硕士研究生学位论文第1 2 页 f段跃 审审审甭审审审毒 图2 - 4 机务段部门结构图 2 、部门地理分布 各部门的地理分布直接影响网络结构的选择。机务段的运转调 度楼、技术室和办公室等段内单位分布在相邻的几幢建筑物内( 即在 一个局域网范围之内) ,检修车间及行修部门距其它部门较远( 大约在 2 0 0 米左右) 。 3 、用户需求及技术发展趋势 由于用户需要系统不需要培训就可使用,便于将来扩展( 和分局 互联) 而减少投资,且便于维护( 在系统出故障情况下,能快速修复, 使系统业务正常运转下去) :另外,也由于当前i n t e r n e t i n t r a n e t 技术 的飞速发展,使用三层结构技术开发管理信息系统成为必然趋势。 4 、选择方案 在本系统中,段内各部门均在一个局域网范围内,系统用户多, 部门多且地点分散,也考虑现有软硬件设备,为了便于扩展和维护, 整个系统宜采用三层结构开发。至于采用那种三层结构开发应根据 不同的用户而定。 本系统有两类用户:职能用户和段内领导,前者为系统的直接 操作使用人员,对权限范围内的功能模块进行数据添加、删除、修 改和查询;后者为系统的数据查询人员,对机车质量进行宏观管理。 一 一 决策层f理层执行层决策层百理层执行层 西南交通大学硕士研究生学位论文第1 3 页 首先,根据系统用户的不同将系统分为两大类,决定哪些子功 能适合采用三层c s 模式,哪些适合采用b s 模式。 职能用户客户端模块应具备以下特点: 1 安全性要求高; 2 要求具有较强的交互性; 3 使用范围小,地点固定; 4 要求处理大量数据。 例如,材料管理子系统中的入库单、领料单的输入功能,检修 子模块中机统2 8 的提报等等。 而领导客户端模块应具备以下特点: 1 使用范围广,地点灵活; 2 功能变动频繁: 3 安全性、交互性要求不高。 例如:行修统计,配件查询,在修机车检修进度等等。 因此,结合前面分析及用户要求,职能用户客户端模块设计用 三层c s 模式,领导客户端模块用b s 模式。 相对于单独采用c s 或b s ,这种方案的优点在于: l 保证敏感数据的安全性,特别是对数据库的修改和新增记录加 强了控制: 2 经济有效地利用企业内部计算机的资源,简化了一部分可以简 化的客户端; 3 既保证复杂功能的交互性,又保证了一般功能的易用与统一; 4 系统维护简便,布局合理; 5 网络效率最高。 2 6 结论 本章阐述和分析了分布式应用体系结构的发展过程,各种结构 的技术特点及优劣,对在开发m i s 时,既要考虑用户的需要,又要 考虑企业的实际情况和发展趋势,合理划分系统,选择结构,设计 出比较完美的应用程序有重要的参考价值。 西南交通大学硕士研究生学位论文第“页 第3 章组件技术 多层分布式应用系统的优势是系统的可扩展性,也就是软件的 可重用性。通过软件重用,可以提高软件生产率,提高系统的可靠 性,缩短软件的开发周期,减轻软件维护负担。进入9 0 年代后,人 们非常重视软件重用的研究和实践,组件正是适应这一需求而出现 的。 目前,在组件技术标准化方面,主要有以下三个比较有影响的 规范: o m g 起草与颁布的c o r b a ;微软公司推出的 c o m d c o m c o m + :s u n 发表的j a v a b e a n s 。由于w i n d o w s 操作系 统在当前的p c 机上的绝对优势,c 0 m d c o m c o m + 组件技术得到 广泛应用,目前已有大量系统基于此组件技术,因此本章着重讨论 微软的组件技术。 3 1c o m 3 1 1 概述 组件对象模型f c o m p o n e n t o b j e c t m o d e l ,c o m ) 于1 9 9 3 年由 m i c r o s o f t 创建,提供了使多个应用程序或组件对象协同工作并相互 通信的能力。c o m d c o m 是一种规范,是一种构造软件组件的二进 制标准。c o m 是种以组件为发布单元的对象模型,这种模型使各 软件组件可用一种统一的方式进行交互。c o m 的主要特征对分布式 应用程序提供了良好的支持。 3 1 2c o m 的基本结构 i 、c o m 对象 c o m 定义了创建组件的标准,也定义了组件和它们的客户之间 能够交互的方式,这种方式通过c o m 对象实体来进行。客户程序不 需要关心组件模块的名称和位置,但必须知道自己在与哪个c o m 对 象进行交互,这就要求对对象进行标识。在c o m 的规范中,每个对 象有一个1 2 8 位的g u i d ( g l o b a l l y u n i q u e i d e n t i f i e r ,全局惟一标识符) 西南交通大学硕士研究生学位论文第1 5 页 来标识,称为c l s l d ( c l a s s l d e n t i t i e r ,类标识符或类1 d ) 。用c l s i d 标识对象可以保证在全球范围内的惟一性。当系统中含有这类c o m 对象的信息,并包括c o m 对象所在的模块文件以及c o m 对象在代 码中的入口点时,客户程序就可以由c l s i d 来创建c o m 对象。虽 然c o m 对象是客户程序进行交互的实体,但c o m 规范对c o m 对 象并没有实现方面的要求。它是建立在二进制基础上的面向对象组 件的对象实体,所以c o m 对象具有封装的特性和可重用性。c o m 对象的数据成员的封装以组件模块为最终边界,对于对象用户是完 全透明的、不可见的。c o m 对象的可重用性表现在c o m 对象的包 容和聚合,而不论哪一种形式,c o m 对象的重用是动态的,一个对 象可以完全使用另一个对象的所有功能。 在w i n d o w s 系统平台上,一个c o m 组件或是一个 d l l ( d y n a m i c l i n k i n g l i b r a r y ,动态连接库) 文件,作为内进程组件与 客户应用程序在同一进程运行;或是一个e x e ( 可执行) 文件,作为外 进程组件来运行,与客户应用程序在不同的进程中。一个组件程序 可以包含多个c o m 对象,每一个c o m 对象可以实现多个接口。它 们的关系如图3 1 所示。 区p :霉甲 图3 - 1组件、对象和接口的关系 2 、c o m 的二进制接口 c o m 对象是客户程序与组件程序交互的实体,然而客户对某个 对象的任何请求都必须且只能通过该对象实现的接口来完成。接口 是一组逻辑上相关操作的定义的集合,是客户和对象之间的一种协 议。它暗示了对象实现的功能,规定了输入和输出的参数。与c o m 对象的标识一样,每个接口也由一个叫i i d ( i n t e r f a c e l d ) 的g u i d 标 识。客户通过g u i d 获得接口指针就可以调用其相应的成员函数, 西南交通大学硕士研究生学位论文第1 6 页 如图3 2 所示。 叵互卜e v t a b l e 指针1 一 + + 指针2 对象 指针3 一 实现 图3 2 接口结构图 其中v t a b l e 为虚函数表,即接口函数表。表中每一项为4 个字 节长的函数指针,每个函数指针与对象的具体实现连接起来。c o m 的接口规范并不是建立在任何编程语言的基础上,而是规定了二进 制一级的标准,任何语言只要有足够的数据表达能力,就可以对接 口进行描述,从而可以用于与组件程序有关的应用开发。c o m 的接 口具有不变性和继承性,即约定的接口相对稳定及在基接口基础上 可进一步扩展。c o m 的接口规范规定,任何c o m 接口都必须从 i u n k n o w 接口继承而来。i u n k n o w 接口提供了两个重要的特性:生 存控制和接口查询。通过引用计数a d d r e f 0 和r e l e a s e ( ) 可以有效地 控制对象的生存周期,通过接口查询函数q u e r y i n t e r f a c e o 来完成接 口之间的跳转,从而实现对c o m 组件的灵活调用。 3 、c o m 的客户,服务器模型 c o m 对象通过接口来提供服务,实现客户和服务器之间的交互。 客户和服务器之间的关系可分为三种类型:进程内的、本地的( 位于 同一主机的不同进程) 及远程的( 不同主机,通过网络来通讯) 。在进 程内,服务器组件和客户程序运行在同一地址空间中,一旦客户程 序与组件程序建立通信关系,客户程序就可以通过得到的接口指针 直接调用服务器对象的成员函数。在同一机器上的不同进程,c o m 采用了本地过程调用( l o c a l p r o c e d u r e c a l l ,l p c ) 实现进程外组件与客 户程序的通信,d c o m 对于不同主机的组件程序与客户程序的通信, 采用远程过程调用( r e m o t e p r o c e d u r e c a l l ,r p c ) ,其过程如图3 - 3 所 示。具体过程为: ( 1 ) 客户调用接口成员函数; 西南交通大学硕士研究生学位论文第1 7 页 ( 2 ) 代理对象通过l p c r p c 调用组件存根 ( 3 ) 调用组件对象接口成员函数; ( 4 ) 服务完成后返回; ( 5 ) 存根d l l 通过l p c r p c 返回结果; ( 6 ) 代理对象返l 回最终结果。 图3 3 进程外组件与客户程序协作的结构图 4 、c o m 库 c o m 除了定义组件程序和客户程序交互的规范以外,也提供了 c o m 的实现部分即c o m 库。c o m 库充当了组件程序和客户程序之 间的桥梁,尤其是在组件对象的创建过程中。以及在对象管理、内 存管理和一些标准化操作等方面起着重要的作用。在m i c r o s o f t w i n d o w s 操作系统环境下,c o m 库以d l l 文件的形式存在,其中包 括以下内容: ( 1 ) 提供少量的a p i 函数,用来加速客户和服务器c o m 应用程序 的创建。对于客户,c o m 提供基本的对象实例化函数;对于 服务器,c o m 提供一些对对象访问的支持。 ( 2 ) c o m 通过注册表查找本地服务器,即e x e 程序、程序名及 c l s i d 的转换等。 ( 3 ) 透明的远程调用,适应于对象在本地或远程服务器上运行的情 况。 ( 4 ) 一个标准机制,允许一个应用程序控制内存在其进程中分配。 西南交通大学硕士研究生学位论文第1 8 页 3 1 3c o m 的主要特点 c o m 是一种构造软件组件的二进制标准,而面向对象技术是组 件式设计思想的基础。所以,c o m 规范所定义的组件模型具有面向 对象的特点外,又有其区别于面向对象的特征,主要表现为: 1 、交互操作 开发者能创建专门用途的组件,并使其与系统中的其它组件协 同工作。因为c o m 是一个二进制标准,不管他们是由谁创建,由哪 一种语言开发的。 2 、版本控制 c o m 要求对象的多个版本都保留在单一的对象模块内,通过在 对象内添加新的接口而不是改变对象的接口以适应新版本。即使某 个版本与以前的版本存在极大的差异,使用这种方法也能对以前的 版本提供良好的兼容并实现对多版本的支持。 3 、语言无关性 c o m 规范的定义不依赖于特定语言,它所采用的是一种二进制 代码级的标准。所以,编写组件对象所使用的语言与编写客户程序 所使用的语言可以不同,只要它们都能生成符合c o m 规范的可执行 代码即可。c o m 的语言无关性为跨语言的合作开发提供了统一标准。 目前,差不多每种语言在实现时都提供对c o m 的支持,如c + + ,v c , v b ,v j + + ,d e l p h i ,c + + b u i l d e r 等。 4 、进程的透明性 c o m 组件分为进程内组件与进程外组件,但当客户程序创建 c o m 对象时可以使用一致的方法,所有实现细节对客户来说都是透 明的,这就是创建c o m 对象的进程透明特性。同样,客户调用c o m 接口也具有进程透明特性。因为客户程序创建进程外的组件对象后, 得到组件对象的接口指针,通过该指针,就可以调用组件对象的成 员函数。 5 、封装特性 西南交通大学硕士研究生学位论文第1 9 页 在c o m 对象中,数据是完全封装在对象内部的,外部不可能直

温馨提示

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

评论

0/150

提交评论