(信号与信息处理专业论文)基于mtscom的多层分布式应用系统的研究与开发.pdf_第1页
(信号与信息处理专业论文)基于mtscom的多层分布式应用系统的研究与开发.pdf_第2页
(信号与信息处理专业论文)基于mtscom的多层分布式应用系统的研究与开发.pdf_第3页
(信号与信息处理专业论文)基于mtscom的多层分布式应用系统的研究与开发.pdf_第4页
(信号与信息处理专业论文)基于mtscom的多层分布式应用系统的研究与开发.pdf_第5页
已阅读5页,还剩53页未读 继续免费阅读

(信号与信息处理专业论文)基于mtscom的多层分布式应用系统的研究与开发.pdf.pdf 免费下载

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

文档简介

基y - m t s c o m + 的多层分布式应用系统的研究与开发 摘要 本文主要讨论了m t s c o m + 和w i n d o w sd n a 的体系结构以及基于它的多层 分布式应用系统的基本实现方法。在这个主题中还讨论了与应用系统整体性能密 切相关的数据更新、线程模型、事务管理、对象状态、安全机制等诸多问题。通 过引入面向对象技术和u m l 语言,本文还初步讨论了多层分布式应用系统的分 析、设计方法和准则。在这些基础上,本文也对西电研究生管理信息系统进行了 系统分析和设计,并具体实现了部分功能。所丌发的系统使用了b o r | a n d d e l p h i 6 0 和m i c r o s o f t i n t e r d e v 6 5 作为丌发平台,系统的运行平台为w i n d o w s2 0 0 0 a d v a n c e d s e r v e r 、i i s5 0 和m i c r o s o f ts q ls e r v e r7 0 。 关键词:n t s 射多层体系结构面向对象技术 基于m t s c o m + 的多层分布式应用系统的研究与开发 a b s t r a c t t 1 l ea r c h i t e c t u r eo fm t s c o m + a n dw i n d o w sd n aa n dt h eb a s i cr e a l i z a t i o n m e t h o r d so f m u l t i t i e rd i s t r i b u t e da p p l i c a t i o ns y s t e mb a s e do ni ta l et h em a i n t o p i c s i n t h et o p i c s ,t h ep r o b l e m ss u c ha sd a t au p d a t e ,t h r e a dm o d e l ,t r a n s a c t i o nm a n a g e m e m , o b j e c ts t a t ea n ds e c u r i t yw h i c ha r er e l a t e dt ot h ew h o l ep e r f o r m a n c eo f t h ea p p l i c a t i o n s y s t e ma r ea l s od i s c u s s e d b yi n t r o d u c i n go b j e c t o r i e n t e dt e c h n o l o g ya n du m l ,t h e m e t h o d sa n dg u i d e l i n e so ft h ea n a l y s i sa n dd e s i g no fm u l t i t i e ra p p l i c a t i o ns y s t e ma l e b a s i c l ys t u d i e d b a s e do na b o v e ,t h eg r a d u a t e sm a n a g e m e mi n f o r m a t i o ns ”t e mo f x i d i a nu n i v a r ea n a l y z e da n dd e s i g n e d ,a n ds o m e p a r t so f i ta r ea l s oi m p l e m e n t e d t h e s y s t e mi sd e v e l o p e dw i t hb o r l a n dd e i p h i6 0 a n dm i c m s o ri n t e r d e v6 5 w i n d o w s 2 0 0 0a d v a n c e ds e r v e r , s5 0a n d v l i c r o s o rs q ls e r v e r7 0a r et h er u n i n gp l a t f o r m s o f t h e d e v e l o p e ds y s t e m k e y w o r d :m t s c o m + m u l t i - t i e r a r c h i t e c t u r e o b j e c t - o r i e n t e dt e c h n o l o g y 独创性( 或创新性) 声明 x s 3 6 8 8 s 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大学或 其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所作 的任何贡献均已在论文中做了明确的说明并表示t i l t 意。 本人签名:一3 一轧日期:址l ! z 一 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:学校 有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或 部分内容,可以允许采用复印、缩印或其它复制手段保存论文。( 保密的论文在解 密后遵守此规定) 本人签名: 导师签名:班 日期:翌i :! ! :! z 日期: 塑:! ! :2 第一章绪论 第一章绪论 1 1 论文背景 传统的基于大型主机的管理信息系统在相当长的时期里得到了很成功的应 用。这种系统通常是在主机上运行所有的程序,并将结果和资料保存在丰机的存 储设备中( 磁带或磁盘) 。而由分布在不同地方的终端输入输出设备负责接收用户 的输入( 键盘输入、i c 卡等) 并输出结果( 打印、显示等) 给用户。 这种系统具有良好的运行效率和安全性能,曾在航空、金融等领域得到了广 泛的应用。然而这种系统的成本是多数企事业单位无法承受的。除了数以千万计 价格的主机设备和软件系统外,还要聘请薪酬很高豹专业人员进行维护。 随着局域网、互联网的出现和普及,开始出现了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 ) 模式的管理信息系统。由 于这种系统价格低廉,易于开发,受到了广大用户的青睐,而且也得到了广泛的 应用。然而。这种系统经历了数十年的发展,也暴露出它本身具有的一些局限性。 例如不易维护、扩展性差、安全性不好等等。人们为了解决这些问题,探索出一 些新的解决方案,多层体系结构便是其中之一。事实上,多层分布式结构已成为 现代管理信息系统不可避免的发展趋势。 多层分布式体系结构是一种较新的技术,而且也在不断的发展和完善。此外, 市面上也出现了很多这方面的产品和技术,例如m i c r o s o f t 的m t s c o m + 、m s m q , i i l p r i s e 的m d i a s ,s u n 的j a v a b e a n s ,o m g 的c o r b a 等等。在应用上,也有不 少的软件企业致力于多层分布式体系结构的应用系统的研究和开发。 我校研究生院的管理信息系统,由原来的基于文件服务器的单层系统基本上 已过渡到c ,s 和b ,s 混合模式的应用系统,它属于两层结构。由于研究生管理在 政策上有较多的变更,学生规模也在急剧扩大,管理系统也需要及时的进行维护。 因为两层模式在维护上比较麻烦,所以在使用上也往往体现出削足适履的现象。 此外,两层模式的b ,s 和c s 难以实现重用和互操作,因此在功能上也受到很大 的制约,而多层体系结构则可以有效的克服这些问题。 因此,本文的主要目的,在于探讨如何将多层体系结构应用于研究生管理信 息的开发中,而构建出稳健、具有良好扩展性、易维护性和安全性的信息系统。 此外,由于新的体系结构,需要新的开发方法和思想。如何开发出高效、可 维护性好的应用系统,在系统分析、设计上有了进一步的要求。因此本文将在开 发模式上进行一些初步的研究。 !基于m t s c o m + 的多层分布式虑用系统1 1 勺研究与丌发 1 2 多层分布式构架的特点 多层分布式应用体系结构是在两层系统( c s 或b s ) 的基础之上,增加了应 用服务器层,用于封装企业业务规则的这样一种体系结构,它是在分布式组件技 术发展的基础之上发展起来的。典型的多层分布式系统的结构如图1 1 所示。 图1 1 典型盼多层分布式应用系统 多层系统克服了两层系统维护难、可重用性低、安全性差等缺点。这是因为: 多层系统将业务规则封装在企业组件中,提高了重用性,节省了开发成本。在维 护过程中,只需要更新应用服务器的企业组件,丽不需要对所有的客户端进行维 护。在安全性上,应用服务器还往往提供了访问控制( a c c e s sc o n t r 0 1 ) 机制,使 得系统有了更高的安全保障。此外,企业对象运行环境通常还提供了强大的事务 管理机制,在一定程度上保证了数据的完整性。 在扩展性方面,分布式维件可以充分利用多线程以及线程池、资源池、数据 库连接池、对象池等强大功能她外,育些分布式技术还提供了负载平衡和容错 能力。同时访问的用户较多的情况下,服务器可能会不堪负荷而造成速度缓慢甚 至服务失败,此时可以利用负载平衡和容错能力将负荷平均分配到不同的服务器, 将失败的服务转移到蔟他的服务器上继续工作。这样增强了系统的稳定性和扩展 性。这在两层系统中悬难以实现的。 由图1 1 也可知,多层体系结构可将c s 与b s 进行有效的整合,可以充分 的利用各自的优点。 通常,多层系统较两层系统具有较高的开发成木。然而,多层系统较两层系 统却具有较低的维护成本。图1 2 比较了两层、多层系统的开发、维护成本。 此外,由于应用服务器、客户端可以分工、同时进行开发,缩短了开发周期。 归结之,多层体系结构具有下列优点: 提高了程序的重用性; 提高了系统的扩展性和稳定性; 第一章绪论 提高了系统的安全性; 降低了维护成本; 缩短了开发周期; 容易将b s 与c s 进行有效的整合。 琏 本 匿1 2 两层、多层系统的开发、维护成本比较 1 3 多层分布式构架的技术标准 分布式构架是直接把所有的应用都转化为对象的概念,及分布式系统中的任 何一个对象都可以通过一定的接口调用另一个对象的服务,甚至是另一个系统中 某些对象提供的服务。因此,多层分布式系统是一个协作性系统,它需要远程调 用协议和通信协议;也需要支持这些协议的组件标准。 目前国际上有三大分布式技术标准,即: 1 o m g ( 对象管理组织,o b j e c t m a n a g e m e n t g r o u p ) 组织推出的c o r b a ( 公 共对象请求代理结构,c o m m o no b j e c tr e q u e s tb r o k e r a r c h i t e c t u r e ) 。在c o r b a 应 用系统中,容痔端应用程_ 謦调用中介c o r b a 对象时,是透过o r b ( 对象请求代 理,o b j e c tr e q u e s tb r o k e r ) 连接到中介对象,中介对象对于客户端是透明的,即 客户端不需要知到c o r b a 对象存在的位置,如图1 3 。c o r b a 提供了跨平台的 运行机制。 客户端应用程序lc o r b a 对象a l 存对象 井 湃叫它 了菘f 袅e i u c s t b r o k e r ( o r b ) 图1 3c o r b a 的对象请求代理机制 一4 基于m t s c o m + 的多层分布式应用系统的研究与开发 2 m i c r o s o f t 公司提出的m t s c o m + 以及w i n d o w sd n a ( d i s t r i b u t e d i n t e r n e t a p p l i c a t i o n a r c h i t e c t u r e ) 体系结构。m i c r o s o f t 推出了众多的技术和产品,如d c o m 、 m t s c o m + 、m e s s a g eq u e u e 、i i s 等用于构建具有强大伸缩性的多层分布式系统, 并将它们纳入g r m d o w s d n a 白皮书之中。有关m t s c o m + 及w i n d o w s d n a 将在 后面有详细的讨论。 3 由s u n 公司推出的j a v ab e a n s 。图1 4 所示是w e b 应用的j 2 e e 模型。 图1 4 基于浏览嚣客户的j 2 e e 三层模型 1 4 本文的工作 本文的目的。主要是希望利用多层体系结构克服原有系统的维护困难、效率 低、互操作性差、安全性不好等诸多缺陷。 本文主要研究了基于m r s 坨o m + 的多层分布式应用系统的基本实现方法,包 括应用服务器端和客户端的实现。论文还讨论了多层系统的数据维护、线程、对 象状态、事务管理、安全机制等方面的阀题,这些问题密切关系到系统的整体性 能。此外,本文还初步讨论了多层系统的分析设计方法。并在此基础上,还对西 电研究生管理倍融系统遴行了分析和设计,并利用d e l p h i6 0 和a s p 物理实现了 部分功能,包括信息发布、成绩查寻、安全管理等。 第二章基于m t s c o m + 的多层分布式系统的实现 ! 第二章基于m t s c o m + 的多层分布式系统的实现 2 1m t s c o m + 与w i n d o w sd n a 体系结构 m t s c o m + 是m i c r o s o f t 提出的用于建立分布式应用系统的组件模型,微软也 为其提供了功能强大的执行环境。m t s c o m + 执行环境提供了强大的事务管理机 制和基于角色的安全管理机制,以及d a t a b a s ep o o l i n g 、r e s o u r c ep o o l i n g 、o b j e c t p o o l i n g ( c o m + ) 、负载平衡和容错等机制,用于建立具有强大可伸缩性的多层分布 式系统。此外,微软及其它软件开发商如b o r l a n d 公司还提供了很多开发 m t s c o m + 组件的工具,如v b6 0 、v c6 0 、d e l p h i6 0 等。因此,m t s c o m + 是在w m d o w s 平台开发多层分布式应用系统的理想选择。 2 1 1m t s c o m + 简介 m t s ( 微软事务服务器,m i c r o s o f tt r a n s a c t i o ns e r v e r ) 是在m sd t c ( 微软 分布式事务协调器,m i c r o s o f td i s t r i b u t e dt r a n s a c t i o nc o o r d i n a t o r ) 的基础上发展起 来的。它是m s w m d o w s n t 4 0 s e r v e r 平台的一个中介软件,其主要功能是让程序 员能够开发以组件为导向的分布式应用系统,并且具备在同质和异质数据库间对 修改的数据进行t w op h a s ec o m m i t 的功能。m t s 本身是一个c 饼舢d c o m 对象的 c o n t a i n e r 执行环境,它允许程序员把应用系统的业务规则撰写成m t s 对象。当客 户端应用程序需要执行这些业务对象提供的服务时,m t s 执行环境会把这些m t s 对象加载,并提供给客户端使用。 此外,m t s 还提供了r e s o u r c ep o o l i n g 、d a t a b a s ep o o l i n g 、1 i t ( j u s ti nt i m e ) 对象激活等功能。由于m r s 组件也是c o m d c o m 组件,它同样也支持 c o m d c o m 所支持的多种线程模型,如s t a 、m t a 等等。 在安全性方面,应用系统除了可以使用w i n d o w sn t 操作系统提供的安全机 制外,还可以使用m t s 执行环境提供的基于角色的安全管理机制。由于m t s 组 件模型是基于c o m d c o m 的,系统也可以使用c o m d c o m 的安全机制。开发 人员可以利用这些机制进行访问控制、日志记录等等。 c o m + ( 组件服务) 可以说是m t s 的升级版,它结合了d c o m 、m t s 及m s m q ( 消息队列服务器,m i c r o s o f tm e s s a g eq u e u es e r v e r ) ,并增加了许多功能。它是 晰n d o w s2 0 0 0s e r v e rf a m i l y 、w i n d o w sx p 的核心组件之一。它不仅继承了m t s 所有的功能,还增加了o b j e c tp o o l i n g 、i n - m e m o r yd a t a b a s e 及负载平衡等功能。 关于c o m + 与m t s 、d c o m 的关系及功能,可由图2 i 描述。 一6基于m t s c o m + 的多层分布式戍用系统的研究与歼发 葙 第一牵基于m t s c o m + 的多层分布式系统的实现 ! 这个对象。图2 3 、2 4 分别描述了进程内、进程外c o m d c o m 组件创建对象实 例的流程。 图2 3i m p r e s s 的c o m d c o m 对象实例的创建 图2 4o m p r o c e 豁的c o m 仍c o m 对象实例的创建 当c o m d c o m 组件创建了对象实例后,客户端就可以调用c o m d c o m 对 象提供的服务。 由于客户端调用c o m d c o m 对象时,可能会穿越进程,也可能会穿越不同 的机器( d c o m ) ,因此许多情况下无法直接调用,而必须通过p m x y 和s t u b 帮助。 事实上。m t s 对象就属于这种情况。 p r o x y 事实上就是远程c o m d c o m 对象在客户端的影像( i m a g e ) ,当客户 端调用远程对象的服务时,事实上就是调用它的p r o x y 。当p r o x y 被调用后,它便 封装调用信息,再通过通信协议( 如r p c ,r e m o t ep m c e d l l r ec a l l ) 调用远程的s u b 。 而s m b 的工作便是接受p r o x y 的调用信息,再使用这些调用信息调用真正的 c o m d c o m 对象。然后,s u b 再把调用的结果回传给p m x y ,再由p m x y 回传给 ! 基于m t s ,c o m + 的多层分布式应用系统的研究与丌发 客户端。 图2 5 通过p r o x y s t u b 及r p c 调用远程c o m d c o m 对象 m t s 提供了类似的实现机制,因为它本身就是c o m d c o m 组件,但其实现 的方式与一般的c o m d c o m 组件又有所不同。 在m t s 中,当客户端需要一个m r s 对象提供的服务时,首先必须创建m t s 对象实例,然后再调用它提供的方法或存取它的属性。然而m t s 创建m t s 对象 时并不是先真正的创建该对象,而是创建该m t s 对象相关的c o n t e x tw r a p p e r ( c w ) 对象,然后再把这个c w 对象回传给客户端。c w 对象事实上就是m t s 对象的影 像,它只有m t s 对象提供的接口和方法的申明,并没有真正的实现程序代码。此 外,它还包含了一些和m r s 执行环境相关的信息。当客户端取得了c w 后,就可 以根据c w 来调用m t s 对象的服务,c w 负责及时( j i t ) 激活m t s 对象。因此, 在m t s 中,客户端只是和c w 进行互动,而不能直接存取m t s 对象。 图2 6 描述了m t s 的系统构架和客户端调用m t s 组件的基本流程。 图2 6 m t s 的系统构架 由于应用程序是与c w 对象进行互动的,所以m t s 提供了许多c o m d c o m 不具备的功能,如及时激活、事务管理等等。 c o m + 并不是对m t s 进行简单的继承和升级,它在系统构架上也作了较大的 修改。在m t s 中,m t s 对象构架是附加于c o m 对象模型上的,它并没有对c o m 第二章基于m t s c o m + 的多层分布式系统的实现! 模型进行修改。而c o m + 融合了c o m 模型和m t s 构架。在c o m + 中,不再需要 c w 对象,而将及时激活、事务管理信息等功能融入到c o m + 执行时期函数库和 c o m + 的s t u b 中。这样做的好处便是大大的提高了运行速度。图2 7 描述了c o m + 的系统构架。 图2 7c o m + 的系统构架 2 1 3w m d o w d n a 体系结构 m i c r o s o f tw m d o w sd n a ( 分布式互联网应用体系结构,d i s t r i b u t e di n t e r n e t a p p l i c a t i o na m h i t e c t u r e ) 是在w m d o w s 平台上利用m t s c o m + 建立分布式应用的 框架结构。m t s c o m + 提供了编程模型,并且提供了建立分布式应用所需的一些 服务。w m d o w sd n a 则提供了种设计准则,它允许开发人员可以利用w m d o w s 操作系统提供的技术和服务开发分布式系统,并且使开发人员可以集中考虑解决 业务问题而不必处理各种技术细节 图2 8w i n d o w sd n a 体系结构( 参考文献【1 5 】) w i n d o w sd n a 描述的分布式构架主要包括了三层: 表示层( 用户界面层) :它可以利用w i n d o w s 操作系统提供的丰富的a p i 基于m t 辎c o m + 滟多茁努奄式庭溺系绞的辩究与拜笈 和应用服务器提供的备种服务建立丰富的图形用户界面,它们可以是用v b 、 d e l p h i 、v c 等编写的图形用户界面g u i ,也可以是a s p 、d h t m l 域c g 等。它 们丰要提供给用户查询、维护数据的界面等。 犍务逻辑瑟( 应艨黢务器屡) :照务遴辍添瓣装了系统熬照务蔑粼,宅将 爝产券褥屡和数据服务嫠繁磁的联系在一起,窀是整令应瑁系统酌核心。业务逻 辑层述提供了安全、事务管理等机制。w i n d o w sd n a 构架中的业务逻辑层以 m t s c o m + 为基础。 。 数据服务层:w i n d o w sd n a 中的数据服务层包括数据库和数据库引擎。 其中数撼窿瘦其骞底层无关瞧,朝能通过o l ed b 、a d o 等弓 擎遴弦谤阉。 国予w i n d o w sd n a 健蠲了m t s c o m + 孛箬为孛闻徉技本,系统开发天员胃敬 集中精力于解决业务闷题上,而诸如事务管理、安全管理、负载平衡等问题可交 与m t s c o m + 执行环境进行处理,而不需要歼发额外的程序代码。这样大大的简 化了开发过程。 2 2 应用服务器的实现 开发多层分布式分布式系统主要包括兰个步骤,即数据库的开发、应用服务 器的舜发鞠客户端的开发。凑予箍幅所限,本文不讨论数据库的开发过程。 灸稳述系统懿嚣发遗撵,本文嚣发了一令学生戏续套谗缍护暴绞。系统爱嗣 的数擐艨服务器为m ss q ls e r v e r7 0 ,数据瘁名为w e b d a t a 。成绩焱询维护系统 使用了k c 、x s e j 、s s x j 三个数据表。应用服务器使用了一个c o m + 组件x s c j ,为客 户端提供了g e t x 哟a s x h 、g e t x s c j a s k c b h 、u p d a t e x s c j 等三个方法分别用于按学 号查询成续、按课程编号秘辩课学期查询成绩、鼹新学生成绩等服务。并将它倪 聱定义予l x 嘲这令接曩孛( 逡嚣获定义在其链羧嚣孛 。客户端霞溺t g u i 及a s p 两种形式,分别蔫予研究黛虢肉繇警理系统( 镶护) 和莓联网上( 焱诲) 。x s c j 组 件还实现了计算平均分的功能。 系统概架如图2 9 所永。 应用服务器端和客,、端均使用了b o d a n dd l e l p l l i6 0 进行开发。d e l p h i6 0 提供 了对c o m + 强鸯力獒支持,嚣蓬釜逶怼拜发c o m + 缀j f f - 捷供了翔每,程痒受霹鞋轻 松的歼发出c o m + 组彳睾。诧外,d e l p h i6 0 还鹭装了a d o ,i l ;薹提供了m d i a s 套 件( 包括了c l i e n t d a t a s e t 和d a t a s e t p r o v i d c r 等组件) 用于连接客广1 端和应用服务 器,使得开发多层分布式系统更加容易。 笫_ 章基于m t s c o m + 的多层分饰武系统的实现 图2 9 多层构架的学生成绩台询维护系统构架 现在详细介缁x s c j 组件的开发过程。 首先建立一个t r a n s a c t i o n a lo b j e c t 项目。当点击f i l e - ) n e wi t e m s - - ) a c t i v e x 页 中的t r a n s a c t i o n a lo b j e c t 图标后,d e l p h i6 0 会自动建立一个项目。并且打开一个 对话框,要求设定所建立韵c o m + 组件的一些属性,如图2 1 0 。 , 图2 1 0 设定c o m + 组件的一些属性的对话框 在这个对话框中,将c o c l 髂s n a m e 设定为需要创建的组件的名称,如x s c j , 将t h r e a d i n gm o d e l 设定为a p a r t m e m ,将t r a n s a c t i o nm o d e l 设定为r e q u i r e sa t r a n s a c t i o n 。关于线程模型、事务模型将在后面的章节中有详细的论述。 设定好后,d e l p h i 会弹出t y p el i b r a r y 编辑页,在这个页面里,可以添加接 口、方法等,也可设定方法所需要传递的参数及其属性。由于系统会默认产牛一 个接口l x s c j ,所以只需在该接口里添加三个方法:g e t x s c j a s x h 、o e l ) ( s c j a s k c b h 、 u p d a t e x s c j ( 如图2 1 1 ) 。然后再分别设定各个方法的参数及其属性。 旦基于m t s c o m + 的多层分布式应用系统的研究与开发 图2 il 给c o m + 组件添加接口及方法 设定好参数极其属性后,再需新建一个数据模块( d a t am o d u l e ) ,并在其中 添加个a d o c o n n e c t i o n ( a d o c x s c j ) 件用于连接数据库,一个a d o d a t a s e t ( a d s x s c j ) 组件用于查询数据库,一个d a _ c a s e 国d d v i 郴p x s c j ) 组件用于感知和更 新数据。设定好它们的属性后,就可以编写程序代码。下面是应用服务器的部分 程序代码: p r o c e d u r et x s c j i n i t i a l i z e ; b e g i n i n h e r i t e d ; f d m c j := t d a t a m o d u l e 2 c r e a t e ( f o 嘲s a p p l i c a t i o n ) ; e n d ; d e s t r u c t o rt x s c j d e s t r o y ; b e g i n i n h e r i t e d ; f d m c j f r e e ; e n d ; p r o c e d u r ez x s c j g t ) ( 搴嘶铀融蚰k c b l l k k x q :w i d e s t r i n g ;o u tv d a t a :o l e v a r i a n t ) ; b e g i n f d m c j a d s x 啊c l o s e ; f d m c j a d s ) ( 啊c o m m a n d t e x t 。- s e l e c tx s c j x h x s c j k c b h ,x s c j k h c j ,x s c j k k x q , x s c j x k l x m ,x s c j c j s m m , x s e j f b d h , x s c j b z , x s c j y k c j ,s s x j x mf r o mx s c j ,s s x jw h e r e x s c j k c b h d + - + k c b h + - + a n dx s c j k k x l 3 d + _ + k i 咖_ ”+ a n ds s x j x h = x s c j x h ; f d m c j a d s x s c j o p e n ; v d a t a := f d m c j d s p x s c j d a m ; e n d ; p r o c e d u r et x s c j g e t x s c j a s x h ( c o n s tx h :w i d e s t r i n g ;o u tv d a t a :o l e v a r i a n t ) ; b e g i n f d m c j a d s x s c j c l o s e ; f d m c j a d s x s c j c o m m a n d t e x t := s e l e c tx s c j k k x q ,x s c j k c b h ,k c k c m c ,k c k c x e 第一章基于m t s c o m + 稳多磁分奄武系统麓赛袋筻 x s 蝣。x k l x m ,x s c j k h c j ,x s c j y k c jf r o mx s c j ,k cw h e r ek c k c b h = x s c j k c b ha n d x s c j x h 2 | 十”q x h + ”+ o r d e rb yk k x q ; f d m c j a d s x s e j o p e n ; v d a t a := f d m c j d s p x s c j d a t a ; e n d ; p r o c e d u r et x s e j 。u p d a t e x s c j ( o u tv 1 ) e l t a :o l e v a r l a n t ) ; v a r e r r c o u n t :i n t e g e r ; 酶蛋n f d m c j d s p x s c j a p p l y u p d a t e s ( v d e l t a , 0 ,e r r c o u n t ) ; e n d ; 编写完糕挚并捡焱无误联,就茸以使用d e l p h i6 0 鲍r u n i n s t a l lc o m + o b j e c t s 进行安装,安装完毕磁就可以让客户端使用了。 2 3 客户端应用程序的开发 掰设嚣熬系统黪客户翡毽疆溪予研究生浚内罄管理蓿惠系统懿甏形蘧产器瑟 和用于网上查询系统的a s p 页面两部分。 2 。3 1 蚕形震产赛瑟鹣并发 客户端蘩得到应用服务器的服务,首先需要创建对象实例。创建对象可以使 霜运缀露麓爨数瘁c r e a t e 或c r e a t e r e m o t e ( c o n s tm a e h i n e n a m e :s t r i n g ) j 粉 建。 先新建一个应用程序项目( a p p l i c a t i o n ) ,然后再在创建的窗体( f o r m ) 上放 入一令c l i e n t d a t a s e t 控转彝一个d a t 瞒o u r c e 控箨曩予攘收奎谗获褥熬数据集,霉 放入一个d b g r i d 控件和数个b u t t o n 和e d i t 控件,如图2 1 2 所示。 网2 1 2 应用系统释户端的设计 跬下楚客户蠛斡部分程序代码: 旦 基于m t s i c o m 4 的多最分布式戏用系统蛇研究与拜发 u n i tu c l i e n t ; i n t e r f a c e u s e s w i n d o w s , m e s s a g 髂。s y s u t i l s , v a r h n t s , c l a s s 端,g r a p h i c s , c o n t r o l s , f o r m s , d i a l o g s , s t d c t r l s ,e x t c t r l s ,g r i d s ,d b g h d s ,d b , d b c l i e n t , 匝五螫 僦酲鞠蟹t f o r m l 。b t n g e t d a t a c l i c k ( s e n d e r :t o b j e c t ) ; v a t x s c j o b j :l x s c j ; c j d a t a :o l e v a r l a m ; b e g i n x s c j o b j :- - - c o x s 蟪c r e a t e r e m o t g r ) ; 髓建远壤越鬟囊辆 x s c j o b j g e t ) 酬a s k c b h ( e d 蠊c c b h t e x t , e d t k k x q t e x t , c j d a t a ) 眷日蹦饼 c l i e n t d a t a s e t i 。d a t a :吲d s t a ; e n d ; p r o c e d u r et f o r m i b t n p o s t c l t c k ( s e n d e r :t o b j e c o ; 懈, x s c j o b j :l x s c j ; c j d e l t a :o l e v a r i a n t ; b e # n q d e l t 纵= c l i e n t d a m s e t i d e l t a ; x s c j o b j := c o x s c j e 涮啦r 意撇瞅国0 ; x s c j o b j u p d a t e x s c j ( c j d e l 协) ;翌譬f j e 据 t- 下图是程序的运行结果: 图2 1 3 客户端的运行结槊 3 3 。2 使焉中藏馋戆a s p 夏蘸懿牙发 由于浏爨器向服务器请求服务时,上面所开发的c o m + 缎件x s e j 所回传的查 诲结聚被拄包成o l e v a r i a n t 数据类型,w e b 页藤无法爨示,因她须再羚发一个缀传 第_ 章基于m t s c o m + 的多层分布式系统的实现旦 w e b s e r v i c e 将其进行解释为h t m l 格式。下面是该组件的部分程序代码 p r o c e d u r et w e b s e r v i c e s h o w c j d a t a ( c o n s tx h :w i d e s t r i n g ;o u tq h t m l :o l e v a r i a n t ) ; v a t x s c j o b j :t x s c j ; v d a t a :o l e v a r i a n t ; b e g i n x s c j o b j := c o x s c j c r e a t e r e m o t e ( ? g e ) :蓟建远程_ 砖象实铷 x s c j o b j g e t x s c j a s x h ( x h ,v d a t a ) ; f q d m c d s c j d a m := v d a m ; c j h t m l := o t r 课程编号 课程名称 开课学期 考核成绩 选课类型 课程学 分椎 。: q h t m l := c j h t m l + da l i g n = ”c e n t e r ” 成绩雀询系统 学号:硝q p 啪 霾录镰豢 嘲h t m l 啪d ,妇r a s p 调霜m t s c o m + 缀件辩穗簧先裁建对象实铡,然精霉调麓其方法。若 m t s c o m + 提供的方法带有参数。在a s p 中调用时不能将参数放在搔符里,而是 将参数直接藏在诿瘸静方法簸覆,势焉空格黼开,多令参数瓣逗号隔汗,鲡: q o b j s h o w c j d a 协x h c j h t m l 下圈是a s p 页鞭撬舒豹维系; 图2 1 5 使用c o m + 组件的a s p 的执行缩果 第二章基于m t s c o m + 的多层分布式系统的实现旦 2 4 结论 由上可知,实现多层分布式的应用系统较以往两层系统要复杂的多。 从运行的情况来看,多层系统在第一次运行时十分缓慢,需要等待数秒钟。 但在随后的运行中,多层系统的运行速度十分接近两层系统,甚至还超过了鼯层 系统。这是因为多层系统中用户第一次访问时需要对业务对象实例化,这会带来 一定的延迟。而m t s c o m + 对象在服务完后并没有立即释放,而是将其放入o b j e c t p o o l 中,下一个用户访问时就直接进行调用。 多层系统还提供了两层系统无法比拟的扩展性。当随着用户数目的增多,两 层系统的性能会急剧下降,丽多层系统的性能的下降要缓慢的多。 考虑到成本问题,如果系统的用户数目较少( 小于2 0 0 ) 而且不考虑w e b 应 用的话,两层系统就基本可以。然而现在大多数的信息系统并非如此,它除了提 供给企业内部使用外,还往往提供互联网数据服务,例如电子商务等等。因此, 多层分布式系统是目前信息管理技术发展的必然趋势。 堕基于m t s c o m + 的多层分布武应用系统的研究与丌发 第三章m t s c o m + 应用系统中的一些技术讨论 由于多层分布式系统不同于两层系统。它涉及到诸如线程模型、对象状态、 对象池( o b j e c tp 0 0 1 ) 、事务等许多问题。必须对它们有深入了解和合理的应用才 能开发出高性能的多层分布式应用系统。 3 1 多层分布式系统中的数据更新 3 1 1 数据更新原理 多层分布式系统中由于应用服务器对客户端的服务为无连接形式,即业务对 象响应完服务请求并返回结果后就立即与客户端断开,因此客户端对数据的存取 不能像两层系统中那样方便,而是直接存取下载到本地的结果数据集,当客户端 完成数据更改并提交( p o s t ) 命令后,客户端才一次性提交所有的修改情况,然 后交给业务对象进行

温馨提示

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

评论

0/150

提交评论