已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文摘要 基于n e t 分布式数据操作框架研究与实现 摘要 数据的操作是信息管理系统的基本,随着计算机软、硬件技术的发展特别是 计算机网络的飞速发展,企事业单位对信息化管理的需求不断增加,这样对软件 开发来说,势必面临着巨大的工作量,如:重复开发,代码重用率低等。但是在 众多的信息管理系统中,数据操作必然存在一定的相似性。因此,本文着重研究 并部分实现了基于n e t 分布式系统的数据操作框架。 本文结合“甘肃省公共卫生突发事件应急处理系统”的开发进行研究, 以,n e t 框架为开发平台,运用w e bs e r v i c e s 技术,根据实际需求,建立了“甘 肃省公共卫生突发事件应急处理系统”的分布式n 层体系结构。并将“数据通 用操作框架”合理的部署到分布式n 层体系结构中,使软件的开发效率和易维 护性得到较大提高。并且以数据操作框架的研究为重点,从软件开发过程中数据 的可操作性和易维护性方面开辟了一个新的研究方向,在管理信息系统的开发中 表现尤为突出。 该系统实现了疫情信息发布、查询、分析、疫情的上报等功能,并且能够迅 速、准确、安全、可靠地实现甘肃省公共卫生突发事件信息的迅速、准确交换。 实现省内疫情的预测分析、决策管理的全面信息支持,为政策的制订、管理的科 学化提供有力的技术保证。 关键宇:面向对象;表间关系;样例驱动;软件框架:数据操作框架:体系结构 分布式:n e t :管理信息系统 a b s t r a c t d a t a m a n i p u l a t i o n f r a m e w o r ko fd i s t r i b u t e ds y s t e m b a s e0 n n e tf r a m e w o r k a b s t r a c t t h ed a t am a n i p u l a t i o ni st h eb a s i so fi n f o r m a t i o nm a n a g e m e n ts y s t e m w i t ht h e d e v e l o p m e n t o fc o m p u t e rs o f t w a r ea n dh a r d w a r ea n dt h ef a s t d e v e l o p m e n t o f c o m p u t e rn e t w o r k ,t h er e q u i r e m e n to fe n t e r p r i s ea n dw o r k i n g a r e af o ri n f o r m a t i z a t i o n m a n a g e m e n ti sc o n t i n u o u s l yi n c r e a s e d a sar e s u l t t h es o f t w a r e e x p l o i t u r em u s tb e f a c e dw i t hh u g el o a d ,s u c ha sr e p e a t e de x p l o i t u r ea n dt h el o wr e p e t i t i o nr a t eo fc o d e a n ds oo n ,b u ti nt h en u m e r o u si n f o r m a t i o nm a n a g e m e n ts y s t e m s ,t h e r em u s te x i s t c e r t a l n c o m p a r a b i l i t y i nd a t a m a n i p u l a t i o n s o i n m i s p a p e r , g e n e r a l d a t a m 8 1 1 i d n a t i o nf r a m e w o r ko fd i s t r i b u t e ds y s t e mb a s e0 n n e tf r a m e w o r k i ss t u d i e d e m p h a t i c a l l ya n d r e a l i z e dp a r t i a l l y i nt h i s p a p e r , t h es t u d yi sc o m b i n e dw i t ht h ee x p l o i t u r eo f t h es y s t e mf o r e m e r g e n c yh a n d l i n go fa b r u p ta f f a i r si nt h ep u b l i ch y g i e n eo ft h eg a n s up r o v i n c e a c c o r d i n gt ot h ep h y s i c a ld e m a n d ad i s t r i b u t e da r c h i t e c t u r ew i t l lnl a y e r sf o r t h e s y s t e mf o re m e r g e n c yh a n d l i n go fa b r u p ta f f a i r si nt h ep u b l i ch y g i e n eo f t h eg a n s u p r o v i n c e i s s e tu p w h i c hu s e sn e tf r a m e w o r ka sp l a t f o r ma n d w e bs e r v i c e s t e c h n o l o g y i no r d e rt oi m p r o v et h ee x p l o i t u r ee m c i e n c ya n dt l l em a i n t a i n a b i l i t yo f s o f h , v a r e d a t am a n i p u l a t i o nf r a r n e w o r k i sd e p l o y e dr e a s o n a b l yt ot h ed i s t r i b u t e d a r c h i t e c t u r ew i t hn l a y e r s t h es t u d yo nt h ed a t am a n i p u l a t i o nf r a m e w o r ki s t h e k e y s t o n e an e wr e s e a r c hd i r e c t i o na b o u tt h em a n e u v e r a b i l i t ya n dm a i n t a i n a b i l i t y d u r i n g t h e e x p l o i t u r e o fs o f t w a r ei s i n a u g u r a t e d w h i c h i s o u t s t a n d i n g i nt h e e x p l o i t u r eo f m a n a g e m e n t i n f o r m a t i o ns y s t e m 埘s s y s t e mp e r f o r m ss u c hf u n c t i o na st h er e l e a s e t h es e a r c h t h ea n a l y s i sa n d t h e r e p o r t o ft h ei n f o r m a t i o na b o u te p i d e m i cs i t u a f i o n i ti sa b l et or e a l i z e 也e e x c h a n g eo f i n f o r m a t i o no ft h eg a n s u p r o v i n c ep u b l i ch y g i e n eo f t h ea b r u p ta f f a i r s f i e 州y ,w e l la n dt r u l y , s a f e l ya n dr e l i a b l y i ta l s or e a l i z e st h ei n f o r m a t i o ns u p p o nf o r p r e d i c t i o na n a l y s i sa n dm a n a g e m e n td e c i s i o no fe p i d e m i cs i t u a t i o ni no u rp r o v i n c e r o u n d l ya n dp r o v i d e sp o w e r f u lm a i n t e n a n e el o g i s t i c sf o rt h ee s t a b l i s h m e n to fp o l i c y a n dr a t i o n a l i z a t i o no f m a n a g e m e n t k e y w o r d s :o b j e c t o r i e n t e d ;r e l a t i o no f t a b l e s ;e x a m p l ed r i v e n ;s o f t w a r ef r a m e d a t a m a n i p u l a t i o nf r a m e w o r k ;a r c h i t e c t u r e ;d i s t r i b u t i o n ;n e t ; m a n a g e m e n t i n f o r m a t i o ns y s t e m 原创性声明 本人声明,所里交的学位论文是本人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了论文中特别加以标注和致谢的地方外,浍文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得兰州理工大学或其他单位的学位 或证书而使用过的材料。与我共同工作的同志对本研究所作的贡献均已在论文中作 了列确的说明。 作者签名:啦 f | 期:垣年上月l 闩 关于学位论文使用授权说明 名:笋跏馘圄蹶垣一 第一章结论 1 1 论文背景 第一章绪论 2 0 0 3 年在我国部分地区爆发的s a r s 牵动了全国亿万人民的心。虽然疫情 已经得到了控制,但在这期间无疑也看到了我们在公共卫生应急方面存在着一些 问题。这些问题也同样存在于近年来发生在南京的“毒鼠强”事件,辽宁海城的 几千小学生中毒等事件中。其中最为突出的就表现在缺乏对重大自然灾害引发的 疾病爆发流行以及急性中毒等突发卫生事件的应急反应能力。 因此,为了解决以上问题,兰州理工大学软件工程中心承接了“甘肃省公共 卫生突发事件应急处理预测系统”大型软件系统的开发研制工作。在这些项目的 研制开发过程中,遇到了很多问题,其中作者认为比较重要的问题在于软件开发 过程中软件的复用率比较低,很多工作是在不断重复进行,这些不断重复进行的 软件开发过程又会引起新的问题,例如:软件的可靠性降低,软件的可维护性减 弱。如何才能消除软件的重复开发所带末的混乱和问题,如何提高软件的复用性, 如何才能达到最大限度的软件复用,这是在开发大型软件过程中所遇到的现实而 又迫切的问题。作者在开发该项目的过程中对这问题进行了思考,有意识的将 自己有关软件框架开发理论的一些思想加以应用,通过实践加以验证。 在将有关软件框架的理论知识应用于实践过程中,作者发现,在追求软件最 大限度的可复用性,即构造软件框架的过程中,有若干关键问题需要解决:首先 一个闯题就是如何发现可复用性,其次是如何实现可复用性,如何使用可复用性, 以及如何度量复用收益。 另外针对i n t e m e t i n t r a n e t 迅猛发展的现状与本系统的实际要求,本系统采用 m i c r o s o f t n e t 的下一代软件和服务战略,使其利用以互联网为基础的分布式计 算和通信激增的特点,通过先进的n 层分布式软件构架,从而提供更简单、更 为个性化和更有效的互联网服务。 1 2 论文意义 随着数据库软件在各个行业应用的不断发展,各行业也对数据库软件提出的 更高的要求,数据量也急剧增加,对于管理这些数据的复杂度也随之增加,而且 各企业所使用的软硬件也有不小的差异,这给各开发企业管理软件的厂商带来了 巨大的工作量,如果能够有效的解决这个问题,即使用同模块管理操作不同的 表格、数据,对不同表格进行查询、插入、删除和修改等操作,也即对企业简单 的应用实现即插即用的功能,那么就能大大的减少软件开发的维护和更新费用, 缩短软件的开发周期。 为了解决以上问题,作者在实践中运用面向对象软件框架的设计思想,结合 本项目的分布式软件体系结构,设计并完成数据操作框架,并且大量应用在本项 目中。 1 3 论文工作 本文中详细介绍了m i c r o s o f t n e t 以及基于m i c r o s o f t n e t 的分布式系统。 第一章绪论 结合“甘肃省公共卫生突发事件应急处理预测系统”的分布式特点,运用面向对 象软件框架开发方法,自主研发了数据操作框架,并对实现该框架的技术细节作 了深入的阐述。最后对该数据操作框架的扩展应用、发展前景等作了总结。 1 4 论文结构 本文共分为五个章节: 第一章绪论: 介绍了本文的研究本经以及研究的意义。 第二章m i c r o s o f t n e t 技术: n e t 是微软公司提出的一种分布式运算的框架,以x m l 为基础,以 w e b 服务为核心,辅以其他各种技术实现,意在利用i n t e m e t 上强大的计算资源和丰 富的带宽资源。提高工作效率。本章将详细介绍m i c r o s o f t n e t 技术。 第三章基于n e t 的分布式系统: 随着网络技术的飞速发展和应用的日益普及,大型系统正迅速由单一的集成 模式走向分布式系统。一个在物理和地理上分布的应用程序之间通信与合作的网 络底层基础结构正逐渐建立起来。结合n e t 平台在w e b 应用程序上众多优势, 本章着重介绍基于n e t 平台的分布式系统。 第四章面向对象软件框架: 基于软件框架的开发技术己经成为软件开发的主流技术,目前,无论是软件 自动构造技术,可视化的软件开发技术,基于部件的软件开发技术,这些都是以 软件框架技术为基础而发展起来的。在目前和今后的很长一段时间内,软件框架 技术仍然是提高软件开发效率的最重要的技术之一。本章介绍面向对象软件框架 的一些概念,并介绍了本项目所采用的面向对象框架的开发方法样例驱动的 软件框架开发方法。 第五牵系统实现原形: 基于n e t 分布式系统数据操作框架研究过程也就是“甘肃省公共卫生突发 事件应急处理预测系统”的开发过程,本章结合该项目详细介绍了基于n e t 分 布式系统数据操作框架的实现方法和技术展望。 第二章m i c r o s o f t n e t 技术 第二章m l o r o s o f t n e t 技术 m i c r o s o f t n e t 是微软推出的下一代基于互联网平台的软件开发构想,其背 后的基本理念就是:不再关注单个的网站和单个设备,而是要让所有的计算机群、 相关设备和服务商协同工作,提供更加广泛和丰富的解决方案。人们将能够控制 何种信息、在何时、以何种方式传递给自己。 2 1m i c r o s o f t n e t 简介1 3 2 1 1m i c r o s o f t n e t 组成 m i c r o s o f t n e t 包括: 1 用来建立m i c r o s o f t n e t 体验的软件平台。此平台指的是运行数据库的 服务器、w e b 服务器,以及其他些系统。 2 编程模型和一些工具,以用来建立和集成w e bs e r v i c e s 和网络应用程序。 这个模型就是常说的n e tf r a m e w o r k 3 可编程w e bs e r v i c e s 。用户可以使用任何设备访问这些w e bs e r v i c e s 它 们其实是编程模型、工具和平台的最终结果。 2 1 2 m i c r o s o f t n e t 具体技术简介 1 n e tf r a m e w o r k 在系统架构中,n e tf r a m e w o r k 的位置位于n e t 工具f 例如v i s u a l s t u d i o n e t ) 之下,而在n e t 所用的通讯协议( 例如x m l ,s o a p ) 之上。n e t f r a m e w o r k 使开发人员可以更容易建立网络应用程序和w e bs e r v i c e s ,它提供了 生成、部署、扩展和维护这些w e bs e r v i c e s 的途径。n e tf r a m e w o r k 的组成如 图2 1 所示。 图2 1 n e tf r a m e w o r k 组成 n e t 对于各种语言是完全独立的。这一点与j 2 e e 不同:j 2 e e 只能使用j a v a 语言来开发,而n e t 除了j a v a 语言,基本上所有其他语言都可以混用,开发人 员可以选择自己最擅长的程序语言来解决问题。 2 a s p n e t 第二竞m i c r o s o rn e t 技术 a s p n e t 是m i c r o s o f t n e t 中的网络编程结构,它使得建造、运行和发布 网络应用变得非常方便和高效。可以从以下几个方面来了解a s r n e t 。 f 1 ) a s r n e t 网络表单 a s r n e t 网络表单的设计目的就是使得开发者能够非常容易的创建网络表 单。它有以下几个特色: 它把v b 中的快速开发模型引入到网络开发中来,各种控件可拖曳,从而大 大简化了网络应用的开发。 a s p n e t 采用c o d e b e h i n d 方式,将代码和内容分开,从而避免了现在的 a s p 开发中内容和脚本交错导致的维护困难,同时也使得开发人员和设计人员能 够更好的分工合作,提高了开发效率。 a sp n e t 中引入了服务器端控件,大大提高了构建网络表单效率。此外, 服务器端控件是可扩展的,开发者可以建造自己需要的服务器端控件。 陀) a s p n e t w e bs e r v i c e s 如前所述,w e bs e r v i c e 是下代可编程网络的核心。在a s p n e t 中,建造 和使用w e bs e r v i c e s 都非常方便w e bs e r v i c e s 的建造者不需要了解s o a p , x m l 的细节,只需要把精力集中在自己的服务本身,这也为独立软件服务开发 商提供了很好的机会。 ( 3 ) a s e n e t 应用框架 a s e n e t 不再是解释执行,而是由j i t o u s t i n t i m e ) 编译器编译运行,再加 上灵活的缓冲技术,从根本上提高了性能。并且,由于a s e n e t 的应用框架基 于c l r ,发布一个网络应用,仅仅是一个拷贝文件的过程,即使是组件的发布 也是如此,更新和删除网络应用,可以直接替换删除文件;开发者可以将应用 的配置信息存放x m l 格式的文件( w e b c o n f i g ) q b ,管理员和开发者对应用程序 的管理可以分开进行。此外,a s p n e t 提供了多样的认证和安全管理方式,在 可靠性等多方面都有很大提高。 本章2 3 节将详细介绍a s r n e t 网络应用服务。 3 新一代的数据库访问技术a d o n e t a d o n e t 是m i c r o s o f t 公司在,n e t 平台下提出的新的数据库访问模型,与 a d o 相比a d o n e t 与a d o 有很大的不同。它是一个全新的数据访问模型。 a d o n e t 遵循更通用的原则,不再仅仅专门面向数据库。 a d o n e t 集合了所有允许数据处理的类,这些类表示具有典型数据库功能 ( 如索引、排序和视图) 的数据容器对象。 a d o n e t 是n e t 数据库应用程序的权威解决方案,而且从总体设计上来 看,它不和a d o 模型那样以数据库为中心一样,而采纳了以数据为中心的原则, 例如,在a d o 中,开发人员惯于使用游标从数据库中抽取表的记录,但a d o n e t 不支持游标的显式实现,它提供了新的编程接口从数据源中抽取数据。这是 a d o n e t 的一大特点。 4 功能强大的基础类库。 类库是n e t 提供给开发人员的编程接口。它与通用语言运行环境紧密接合 在一起。该类库里面包括了对a d o n e t 、x m l 、s q l 、安全性和多线程处理等 等的支持。基础类库也能够访问操作系统提供的服务,如网络、多线程、图形和 加密机制。应该指出n e t 的强大是与它的类库分不开的。 5 通用语言运行环境,即c l rf c o m m o n l a n g u a g er u n t i m e ) 。 n e t 给开发人员带来了一种全新的开发框架,而c l r 是这个框架的基础和 第二章m i c r o s o f l , 、n e t 技术 核心。c l r 具有如下的功能和特性: 统一和简化的编程模型,用户不必再迷惑于w i n 3 2a p i 和c o m 这样复杂的 编程模型。 提供完善的安全系统和配置系统,有效地避免了“遭遇d l lh e l l ,即 d l l 的版本和更新问题,从而大大简化了应用程序的发布和升级。 由于c l r ,n e t 才得以消除编程语言的差别,例如我们甚至可以在v b n e t 中使用c 十十,n e t 编写的类。这是由于n e t 中基于c l r 开发的是受控代码,它 的运行步骤大致为:首先使用一种c l r 支持的编程语言编写源代码,然后将之 编译成独立于机器的m i c r o s o f t 中m s i l 语言( m i c r o s o f ti n t e r m e d i a t el a n g u a g e m s i l ) ,同时产生所需的元数据,在代码运行时,再使用j i t 编译器生成具体的 机器代码执行。这种运行方式,保证了n e t 的编程语言独立性。 2 1 3 n e t 的技术特征及其优势 n e t 包括4 个重要技术特征: 1 软件变服务 软件服务是来自因特网的服务,它替用户安装、更新和跟踪这些软件,并让 它们和用户一同在不同的机器间漫游。它为用户存储自己的信息和参考资料。这 些就是软件和软件服务各自不同的风格。 2 基于x m l 的共同语言 x m l 是从s g m l 语言演化而来的一种标记语言。作为元语言,它可以定义 不同种类应用的数据交换语言。在n e t 体系结构中,x m l 作为一种应用间无缝 接合的手段,用于多种应用之间的数据采集与合并,用于不同应用之间的互操作 和协同工作。具体而言,n e t 通过x m l 语言定义了简单对象访问协议( s o a p ) 、 w e b 服务描述语言( w s d l ) 和w e b 服务发现协议( d i s c o ) 。s o a p 协议提供了在 无中心分布环境中使用x m l 交换结构化有类型数据的简单轻量的机制。w s d l 协议定义了服务描述文档的结构,如类型、消息、端口类型、端口和服务本身。 d i s c o 协议定义了如何从资源或者资源集合中提取服务描述文档、相关服务发 现算法等。 3 融合多种设备和平台 随着i n t e m e t 逐渐成为一个信息和数据的中心,各种设备和服务已经或正在 接入和融入h a t e m e t ,成为其中的一部分。n e t 谋求与各种i n t e m e t 接入设备和 平台的一体化,主要关注在无线设备和家庭网络设备及相关软件、平台方面。 4 新一代的人机界面 新代人机界面主要体现在“智能与互动”两个方面。包括通过自然语音、 视觉、手写等多种模式的输入和表现方法。 2 2a d o n e t 0 2 1 2 2 。1a d o n e t 简介 a d o n e t 扩展丰富,并且支持结合松散的数据访问需求、多层w e b 应用程 序及w e b 服务。通常,它利用许多扩展丰富的对象模型,a d o n e t 提供了多种 方法用于解决一个特定问题。 a d o n e t 是重要的应用程序级别的接口,用于在m i c r o s o f t n e t 平台中提 供数据访问服务。a d o 。n e t 是专为基于消息的w e b 应用程序而设计的,同时还 第二章m i c r o s o t i n e t 技术 能为其他应用程序结构提供较好的功能。通过支持对数据的松耦合访问, a d o n e t 减少了与数据库的活动连接数目( 即减少了多个用户争用数据库服务 器上的有限资源的可能性) ,从而实现了最大程度的数据共享。 a d o n e t 提供几种数据访问方法。如果w e b 应用程序或x m lw e bs e r v i c e s 需要访问多个源中的数据、需要与其他应用程序( 包括本地和远程应用程序) 相互 操作或者可受益于保持和传输缓存结果,则数据集是一个极好的选择。作为一种 替换方法,a d o n e t 提供数据命令和数据读取器以便与数据源赢接通讯。使用 数据命令和数据读取器直接进行的数据库操作包括:运行查询和存储过程、创建 数据库对象、直接更新和删除。 a d o n e t 引入的一个重要变化是,用d a t a t a b l e 、d a t a s e t 、d a t a a d a p t e r 和 d a t a r e a d e r 对象的组合代替了a d or e c o r d s e t 对象。d a t a t a b l e 表示来自一个表 的行集合,在这方面它与r e c o r d s e t 类似。d a t a s e t 表示d a t a t a b l e 对象的集合, 及与其它表绑定在一起的关系和限制。实际上,d a t a s e t 是具有内置的扩展标记 语言( x m l ) 支持的内存中的关联结构。 d a t a s e t 的一个主要特点是,它对底层的数据源一无所知,而这些数据源可 能用于对其进行填充。这是一个分离的用于表示数据集合的独立实体,并且它可 通过多层应用程序的不同层由一个缀件传递到另一组件。它也可作为x m l 数据 流坡序列化,因而非常适合于不同类型平台间的数据传输。 完整的d a t a s e t 对象模型如图2 2 所示。 。d a t a s e t 图2 2d a t a s e t 对象模型 2 2 2a d o n e t 中的数据供应器( d a t ap r o v i d e r ) a d o n e t 依靠n e t 数据供应器的服务。它们提供了对底层数据源的访问, 包括四个主要对象( c o r m e e t i o n 、c o m m a n d 、d a t a r e a d e r 及d a t a a d a p t e r ) 。且前, a d o n e t 只发行了两个供应器: 1 s q ls e r v e r n e t 数据供应器。这是用于m i c r o s o f ts q ls e r v e r2 0 0 0 及其 以后版本数据库的供应器,它优化了对s q ls e r v e r 的访问,并利用s q ls e r v e r 内置的数据转换协议直接与s q ls e r v e r 通信。 2 o l ed b n e t 数据供应器。这是一个用于管理o l ed b 数据源的供应 器。它的效率稍低于s q ls e r v e r n e td a t ap r o v i d e r ,因为在与数据库通信时,它 6 第二章m i c r o s o f tn e t 技术 需通过o l ed b 层进行呼口q 。注意,此供应器不支持用于开放数据库链接( o d b c ) 和m s d a s q l 的o l ed b 供应器。对于o d b c 数据源,应使用o d b c n e t 数 据供应器。 2 2 3 使用a d o n e t 对象 数据库交互最终是通过c o m m a n d 对象来完成的,c o m m a n d 对象包含有关如 何读取或更新数据库中的数据的指令。这些指令可能是动态s q l 语句,也可能 是调用存储过程所需的信息。 读取数据通常有两种方法。其一是d a t a s e t 对象,它提供一个可以使用的、 抽象的、断开连接的数据副本。d a t a s e t 由d a t a a d a p t e r 对象填充,d a t a a d a p t e r 对象又与基础c o m m a n d 和c o n n e c t i o n 对象进行交互。 第一种方法是d a t a a d a p t e r 使用一个名为d a t a r e a d e r 的对象从数据库中实际 获取数据。然后,这些数据将被用来填充d a t a s e t 对象。如图2 3 所示。 d a t a a d a p t e r 图2 3 由d a t a s e t 读数据 第二种读取数据的方法是直接使用d a t a r e a d e r ,从而绕过整个d a t a s e t 和 d a t a a d a p t e r 技术。这种方法在创建w e b 页或x m lw e b s e r v i c e s 时尤为有用,因 为通常只是从数据库中提取数据,然后简单地将其复制到页面或x m l 输出结果 中。将数据复制到d a t a s e t ,然后再将其复制到页面或x m l 结果需要花费额外 的时间。如图2 4 所示。 图2 4由数据命令读数据 第二章m i c r o s o t t n e t 技术 2 3a s p n e t 网络应用服务0 1 2 3 1a s p n e t 概述 a s e n e t 是在微软花费3 年时间所提出新想法的基础上,在c l r 基础上, 在其它n e t 技术的基础上构建的。它为开发人员高效地开发可靠的基于w e b 的 应用和服务提供全新框架,是n e t 开发平台核心服务之一。 2 3 2a s p n e t 体系结构 a s r n e t 是n e t 开发平台的一个部件,用来开发驻留在微软的i i s 上并且 使用诸如h t t p 和s o a p 等i n t e m e t 协议的w e b 应用程序。a s e n e t 使两种类 型的w e b 应用程序的开发和部署更为容易。 w e b 表单( w e bf o r m s ) 应用程序:包括用于动态内容的从脚本生成的w e b 页 和向一个客户( 例如浏览器) 显示u i 或表单的w 曲页。 w e b 服务( w e bs e r v i c e s ) :用于显示其他应用程序和“智能”客户端的功能, 使应用程序可以交换信息。 a s e n e t 是使用n e t 框架提供的编程类库构建而成的,它不仅仅是通用语 言运行环境的宿主,它还是使用受控代码开发w e b 站点和i n t e m e t 对象的一整套 结构。w e b 窗体和w e b 服务都将i i s 和a s p n e t 作为应用程序的发布机制,并 且在n e t 框架中都分别具有支持类。如图2 5 所示表明了a s en e t 体系结构概 念上的示意图。 图2 5a sp n e t 体系结构 从a s e n e t 体系结构图中我们可以看出,a s p 和a s en e t 可以共存于同 样的a s p n e t 通过i s a p i ( i n t e m e ts e r v e ri n t e r f a c e s ) 与i i s 通信,a s p 同样。i i s 将对于a s p 页面的请求指向a s p ,将对于a s r n e t 的请求指向a s r n e t 。 a s p n e t 提供的w e bf o r m s 模式使创建、管理和部署w e b 应用程序变得非 常容易。开发人员可以直接用a s p n e t 服务器端控件,这些控件封装了公共的、 用于h t m l 用户界面的各种元素( 如文本框、下拉菜单等) 。在服务器上,控件负 责将面向对象的编程模式提供给w e b 开发者,这种编程模式能提供面向对象编 程技术的丰富功能。a s e n e t 还允许开发人员将软件作为一项服务来提供。通 第二章m i c m s q p c n e t 技术 过使用a s e n e tw e bs e r v i c e s 功能,开发人员只需进行简单的业务逻辑编程,而 由a s e n e t 基本结构负责通过s o a p 来提供服务。基于a s e n e t ,采用合理的 开发设计模型就能够得到结构合理、易于维护的w e b 应用程序解决方案。 2 3 3w e bf o r m s 技术组成结构 w e bf o r m s 弥补了传统的a s p 程序设计上的不足。它通过提供一个可视化 的技术,把控件拖拉到页面上,并提供该控件的事件代码,w 曲f o r m 为w e b 开 发带来了一个非常熟悉的界面。, 鋈囊羹亘霾翳啪。邈麴 抖i 琢袭 s y s t e mw e bl iw e h 震 图2 6a s p , n e t 服务器控件的名称空间结构 w e bf o r m s 由两部分组成一部分是在设计视图中能够看到的可视化元 素。另一部分是控件页面和代码。在用户的浏览器中,可视化元素形成模板以表 示w 曲页面。当加载页面时,代码就会在服务器运行以响应事件。这样在开发 系统时,则先可以通过先实现w 曲界面的外观,再编程实现其具体功能。关于 a s e n e t 服务器控件的名称空间如图2 6 所示。 如图所示,a s e n e t 服务器控件是从s y s t e m w e b u i c o n t r o l 直接或闻接派 生的。此基类属于s ”t e m w e b u 1 名称空间,该名称空间包含所有a s p n e t 服 务器控件共有的元素。三个常用控件( p a g e 、u s e r c o n t r o l 和l i t e r a l c o n t r 0 1 ) 属于 s y s t e m w e b u i 。虽然p a g e 很重要( 因为每个a s p 甲n e t 页被a s p n e t 页框架 编译为p a g e 控件) ,但是,控件开发人员通常并不实例化p a g e 或从p a g e 派生。 通常,控件开发人员也不使用u s c r c o n t r o l 。在这里用户控件是使用与a s p n e t 页相同的编程模型开发的,并且保存为u “文本文件。控件开发人员广泛使用 u t e t a l c o n t r o l ,这是因为它允许将文本封装为一个控件。而提供用户界面的 a s p n e t 服务器控件被组织成两个名称空间s y s t w e b u i h t m l c o n h o l s 和 s y s t e m w e b u i w e b c o n t r o l s 。h t m l 服务器控件直接映射到h t m l 元素上,而 w 曲服务器控件则提供更丰富并且更抽象的用户功能。 2 4 本章小结 本章首先介绍了m i c r o s o f t n e t 技术,然蜃对a s e n e t 技术与a d o , n e t 技 术分别进行介绍,最后讨论了用a s e n e t 技术实现动态w e b 页的特点及优点。 剩一 fmf_h苣 第三章基于n e t 框架的分布式系统 第三章基于n e t 框架的分布式系统 基于n e t 框架的分布式系统是将n e t 框架技术和分布式计算结合起来,利 用分布式系统的多层体系结构,将应用组件化,并以w e b 服务的方式把应用逻 辑暴露给客户,以此来满足在复杂的分布式环境中不断增长的系统需求,从而有 效的控制分布式系统的开发、管理以及系统维护的复杂性。 3 1 分布式系统体系结构h 3 早期的计算机系统都是单机系统,所有的工作由同一台计算机完成。随着任 务的复杂性越来越高,原有的单机系统己不能满足用户的需要。因为所有大型软 件系统都依赖一种持久性存储机制来维护程序调用的状态,在这种软件系统中处 理过程可以分为两个不同的方面: 1 支持持久数据的存取和并发访问持久存储的处理过程。 2 软件系统内的其它处理。 这种划分为在多台计算机之间分配任务提供了良好的基础,同时由于业务数 据往往是大多数公司都拥有的重要财富,所以在与客户机分离的服务器上维护数 据库具有更好的安全性、可靠性以及运行性能,而且还极大地减小了单机系统地 高额开销。 因此客户n 务器( c l i e n t l s e r v e r ) 模式应运而生,最早出现的是两层c s 体系 结构,如图3 ,1 所示。在此体系结构中,服务器层( 即数据层) 通常为数据库服务 器,进行数据库的统一管理,例如数据库存储过程的使用就可以使客户和服务器 之间的数据降到最小,从而大大降低网络拥塞程度,同时减轻了客户的负担:而 对客户具体数据的处理和人机界面的设计则放在客户层完成。这样既可以方便、 统一地对数据进行管理,又可以合理有效地利用现有的硬件资源,平衡系统的负 荷。 数据库服务器 客尸客户客户 图3 1 典型的2 层c s 结构 但是两层c s 结构并不能适用所有的情况,因为某些业务不能依赖软件厂家 提供的特定功能,如存储过程,因为存储过程是特定于数据库开发商的,这样的 程序就很难进行移植,所以我们必须建立一种新的工作分配方式。最好的方法就 是进一步分离客户层,使客户机上的所有处理过程不直接操作数掘库管理系统。 第三章基于n e t 框架的分布式系统 这样就可以把客户端的处理分为应用程序和业务逻辑处理。这种处理导致了三层 c s 结构的出现。如图3 2 所示。 数据库服务器 客户 客户客户 图3 2 典型豹3 层c ,s 结构 客户层负责可视化界面,进行人机交互处理;中间层进行业务逻辑处理,而 服务器层则负责持久数据的管理。采用三层c s 结构有以下优点: 1 可以对任务进行合理分配。 2 有利于提高系统的性能,使中间层的业务逻辑处理与数据层的业务数据 紧密结合在一起,而无需考虑客户的具体位置。 3 添加新的中间层服务器能够满足新增客户机的需求,可以大大提高三层 系统的可伸缩性。 4 在客户机的应用程序和数据层的数据库之间增加中间层,可以使客户机 的应用程序独立于数据层的数据库。 5 可以将业务逻辑集中到一起,有利于系统的实施。 在三层系统体系结构中,客户层和数据层都已被严格定义,而中间层则并未 明确定义。因为中间层包括了所有与应用程序界面和持久数据存储无关的处理, 我们可以把中间层划分为许多服务程序,将每一个服务程序都视为独立的层,这 样原来的三层体系结构就变为n 层体系结构。典型的n 层结构就是基于w e b 的 应用程序,如图3 3 所示。 第三章基十n e t 框架的分布式系统 国娥帐铺 薯产薯户客户 图3 3 基于w e b 的n 层分布式结构 因为客户,服务器应用程序跨越了多台计算机,所以需要一种像t c p i p 或者 i p x 这样的网络协议来连接应用程序的各个节点。 在2 层系统中,对网络协议进行抽象比较容易。关系数据库开发商提供了一 些专用库和驱动程序来访问数据库,由这些专用程序对不同的网络协议进行抽 象。因为关系模型提供了一种结构化的、通用的方法来访问数据库,所以在2 层系统中对网络协议的抽象并不难。而n 层系统需要更复杂的基础设施来实现 跨网络的通信。因为在客户应用程序和中间层服务之间不能像2 层系统那样以一 种通用的结构化的方式实现。相反,客户应用程序需要一种通信模型来协调实现 客户应用程序的不同开发平台。当这种模型实现之后,这就为客户应用程序的中 间件提供了标准。 最早被广泛认同的中间件技术是远程过程调用( r e m o t e p r o c e d u r e c a l l ) ,使用 远程过程调用,客户应用程序可以调用在远程计算机上执行的c 语言函数。随 着面向对象编程语言的流行,分布式中间件正向分布式对象方向演化。 3 2 分布式对象技术 3 2 1 概述 所谓分布式对象,是指其位置透明( 可存在于网络的任何地方) 、并能被远程 客户应用以方法调用的形式访问的实体。至于分布式对象是使用何种程序设计语 言和编译器所创建,对客户应用来说也是透明的。分布式对象技术采用面向对象 概念组织、管理网络计算,支持面向对象的多层客户机服务器模型,可在不同 机器的对象阅相互传递消息,共同协作实现系统功能。目静三项具有代表性的主 流分布式对象技术是c o r b a ,j a v a r m i 和d c o m c o m 。 分布式对象计算技术出现于9 0 年代,己成为分布式计算的热点研究内容, 并取得了成功,且目趋成熟。分布式对象技术为网络计算平台上软件的开发提供 第三章基于n e t 框架的分布式系统
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026河南郑州市第八十六中学、郑州市第三十八高级中学招聘笔试备考试题及答案解析
- 吉安县敦城人力资源服务有限公司招聘派遣制司机考试参考题库及答案解析
- 2026中国国际航空股份有限公司广东分公司休息室就业见习岗招聘2人考试备考题库及答案解析
- 2026年宁波余姚市信访局公开招聘编外工作人员1人笔试备考题库及答案解析
- 2026四川成都市第二人民医院招聘考试备考试题及答案解析
- 2026江苏南京XZ2025-436地球科学与工程学院助理招聘考试参考题库及答案解析
- 2026云南昆明市第八中学教育集团昆明长城中学春季招聘4人笔试模拟试题及答案解析
- 北京市大兴区观音寺街道社区卫生服务中心招聘劳务派遣人员1人(行政技能辅助岗)考试备考试题及答案解析
- 2026年地下水资源评价与开发留白区域
- 2026年西安兴华小学招聘笔试备考题库及答案解析
- 学生手机理性使用教育教案
- 统编版(2024)七年级上册历史期末复习知识点讲义
- 智能与AI安全培训课件
- 如何做部门管理和运营汇报
- 2025年发酵饮料行业研究报告及未来行业发展趋势预测
- 2025-2030中国建筑行业专利技术布局与创新成果转化研究
- 合同变更协议(收款账户变更)
- 2025年马口铁包装容器行业当前市场规模及未来五到十年发展趋势报告
- 2024版电网典型设计10kV配电站房分册
- 《SPSS与AMOS在中介效应与调节效应分析中的应用》
- 家属院停车管理暂行办法
评论
0/150
提交评论