(计算机应用技术专业论文)基于net框架网上选排课系统的研究与设计.pdf_第1页
(计算机应用技术专业论文)基于net框架网上选排课系统的研究与设计.pdf_第2页
(计算机应用技术专业论文)基于net框架网上选排课系统的研究与设计.pdf_第3页
(计算机应用技术专业论文)基于net框架网上选排课系统的研究与设计.pdf_第4页
(计算机应用技术专业论文)基于net框架网上选排课系统的研究与设计.pdf_第5页
已阅读5页,还剩72页未读 继续免费阅读

(计算机应用技术专业论文)基于net框架网上选排课系统的研究与设计.pdf.pdf 免费下载

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

文档简介

中文摘要 随着计算机软、硬件技术的发展特别是计算机网络的飞速发展,软件开发规 模和复杂度不断增加,软件开发面临巨大挑战。n e t 作为一个全新的分布式计 算框架,利用现有的网络基础设施、协议规范、w e b 和数据库技术,为用户提供 一体化的智能信息平台,创建了一种架构在0 s 和w e b 之上的基于i n t e r n e t 的新 一代信息平台和软件基础设施,旨在解决软件危机,实现网上计算资源、数据资 源、信息资源、应用资源的智能共享。 本文通过对江苏徐州医药高等职业学校教务管理的实际情况的分析,提出了 网上选排课系统建立的必要性和可行性,并阐述了基于n e t 框架、采用b s 模 式的网上选排课系统的设计方法与功能实现。 首先,从高等学校学分制管理特点出发,分析了在学分制管理模式下,选课 的本质。然后提出选排课系统中数据建模、功能设计等核心问题,并针对网络环 境下选排课过程中可能产生的冲突问题进行研究,并提出解决方法。 最后,探讨基于n e t 、采用b s 结构构建的网上选排课系统运行后所产生的 校园网与系统的安全性问题,并通过采用用户身份验证、r b a c 安全策略,提高 了系统的安全性和可靠性。 关键词: b s 模式,网上选排课系统,a s p n e t ,数据库 w i t ht h ed e v e l o p m e n to ft h e c o m p u t e r ss o t t w a r ea n dh a r d w a r e ,e s p e c i a lt h e r a p i dd e v e l o p m e n to ft h ec o m p u t e r sn e t 、v o r i ot h es c a l ea n dc o m p l e x i t yo fs o f t w a r e d e v e l o p m e n ta r ei n c r e a s i n g ,s o t h ed e v e l o p m e n to ft h es o f t w a r ei sf a c i n gg r e a t c h a l l e n g e a st h el a t e s td i s t r i b u t e dc o m p u t ef r a m e w o r k ,n e tu s et h ee x i s t e dn e t w o r k c o n s t r u c t o r 、p r o t o c o ls p e c i f i c a t i o n 、w e ba n dd a m b a s ot e c h n o l o g y ,p r o v i d i n gas u i t e o fi n t e l l i g e n ti n f o r m a t i o np l a t f o r m ,c r e a t i n gan e w g e n e r a t i o ni n f o r m a t i o np l a t f o r m a n ds o f t w a r ec o n s t r u c t o rb a s e d0 1 1i n t e r a c ta n di ti su p o nt h eo sa n dw e b ,w a n tt o s o l v i n gt h es o f t w a r ec r i s i s ,i m p l e m e n ti n t e l l i g e n ts h a r i n go f c o m p u t er e s o u r s e 、d a t a r e s o u r e * 、i n f o r m a t i o nr e $ o u r a n da p p l yr e s o u r y o nn e t w o r k b ya n a l y z i n gt h ec u r r e n ts t a l u so fx u z h o um e d i c i n ev o c a t i o n a lc o l l e g e ,t h i s t h e s i sd i s c u s s e st h a ti ti s n e c e s s a r ya n df e a s i b l e t o b u i l d i n g aw e bc o u r s e s e l e c t i o n - a r r a n g e m e n ts y s t e m ,a n dd e s c r i b e st h ed e s i g ns c h e m ea n dp r a c t i c a l i m p l e m e n t a lm e t h o d so fw e bc o u r s es e l e c t i o n - a r r a n g e m e n ts y s t e ma p p l y i n gb s a r c h i t e c t u r eb a s e do nn e t w o r k 。 f i r s t , t h i st h e s i sd i s c u s s e st h ef e a t u r eo f c r e d i ts y s t e ma n dt h ee s s e n t i a lo f e l e c t i v e c o u p s ,t h e np r o p o s e ss o m ec r u c i a li s s u e ss u c ha sd a t am o d e la n df u n c t i o nd e s i g n , e t e a n da l s oa n a l y s e sr e s o l v e n t so fc o n f l i c t sw h i c h m i g h to c c u rd u r i n gt h ep r o c e s so f c o u r s e l e c t i o n a tt h ee n do ft h et h e s i s ,d i s c u s s i n gt h es e c u r i t yp r o b l e mo ft h es y s t e ma n dt h e n e t w o r ka f t e rr u n n i n gw e bc o u r s es e l e c t i o n - a r r a n g e m e n ts y s t e ma p p l y i n gb s a r c h i t e c t u r eb a s e do n n e tf r a m e w o r k ,a n db yu s i n gu s e ra u t h e n t i c a t i o n 、r b a c s e c u r i t yp o l i c y ,i m p r o v et h es y s t e m ss e c u r i t ya n dr e l i a b i l i t y k e yw o r d s :b sa r c h i t e c t u r e ,w e bc o u r s es e l e c t i o n a r r a n g e m e n ts y s t e m , a s p n e t ,d a t a b a s e ,r b a c 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得丞鲞盘堂或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位论文作者签名:i 劫名专多! 签字日期: 口多 年罗月努日 学位论文版权使用授权书 本学位论文作者完全了解鑫洼盘堂有关保留、使用学位论文的规定。 特授权叁洼盘鲎可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名:施梏净 签字日期:叻年矿月留1 3 导师签名: 签字日期: 日蟹月瑶年 天津大学硕士学位论文第一章绪论 1 1 问题的提出 第一章绪论 江苏徐州医药高等职业学校是一所占地1 4 0 余亩,在校生3 0 0 0 余人的高等 职业学校,随着职业教育的发展,招生规模的不断扩大以及学分制的全面推行, 教育教学管理模式在不断发生变化。教学计划需不断地进行修订,扩招也使教学 资源变得紧张,所以学生选课、排课的任务日趋烦琐和复杂,然而在传统的手工 教务管理模式下,学生选课、挥课工作给教务部门带来了非常大的工作量,教务 部门虽然花费了大量的人力和时间用于课程的选择、统计工作,依然满足不了学 生对选课和排课的要求。 随着网络技术的飞速发展和广泛应用,我校也加快了信息化的进程,并建 立了较为完善的校园网,为了把教务管理部门从繁重的手工工作中解放出来,迫 切需要开发一个基于校园网的网络化选排课系统。因为,早期本校采用的是客户 端服务器c s ( c 1i e n t s e r v e r ) 模式的选课系统,这种模式导致学生们只能在指 定的时间和地点,在有限的数台计算机上选课。这对于人数较多的高等学校来说 并不是一个理想的解决方案,更好的方法是采用最新的基于i n t e r n e t 的浏览器 服务器b s ( b r o w s e r s e r v e r ) 模式来实现选排课系统,所以本校开发网上选排课 系统已成为必然。 1 2 选排课系统的研究现状 1 2 1 选课系统的研究现状 目前国内大多数高校都已实现网上选课和排课,但大部分采用脚本语言( a s p 或j a v a s c r i p t ) 或基于w i n d o w so n a ( d i s t r i b u t e di n t e r n e ta p p l i c a t i o n ) 及 组件技术( c o m + ) 。 华中师范大学开发的网上选课系统,该系统在w i n d o w s2 0 0 0a d v a n c e s e r v e r 操作系统和s q ls e r v e r 2 0 0 0 的平台下,采用m s - i i s ( i n t e r n e t i n f o r r a a t i o ns e r v e r ) 作为w e b 服务,以a s p 与a d o 技术相结合来访问站点数据库。 天津大学硕士学健论文第一章绪论 该应用糕序用a s p 开发的脚本程序全部在服务器端运行,因此客户端使用浏览器 弹可。 长沙理工大学华科公司开发的长沙溅工大学网上选课系统是基于w i n d o w s d n a ( d i s t r i b u t e di n t e r n e ta p p l i c a t i o n ) 三豢穗络计算梳俸系结构“,将组 件技术威用于网上选课系统,系统中b s 部分采用a s p ,c s 部分采用v b 6 0 ,组件 弼v i s u a lb a s i c 开发懿,安装褒搬务器童,在袋霜露必须安装势注溪,舞台数 据库采用s q ls e r v e r 2 0 0 0 。 1 2 2 排课系统的研究现状 计算机排谍系统的骈究是当前各大裔校数字化教学教务改革中面稿的一个 比较突出的问题。排课是各个大学的教务部门的常务性工作,每个学期都怒教务 入受最头疼的工作。现在的耩谋死乎都是浆用入工 j 漾,两入工排谍存在效率低、 容易产生疏忽、排课结果难以避免冲突、调课难度大等弊端。在国外,上个世纪 5 0 年钱寒裁有久磺究谋表豹编撵溺蘧,翔1 9 6 2 筇g o t l i e b 警撵凄一个谦表阚题 的数学模型。课袭问题的研究一盥都比较活跃,目前主要掇出的研究方法有;模 羧手工撵漂法、鬻论方法、拉捂赣鑫法、= 次势甏法等多耱方法。蕃筹戆臻究 表明,解决大规模的排课问题单纯依靠数学方法题行不通的,而利用运筹学中的 分层觏裁及资源调度援划熬愚怒萼簪彝题分解是一个骞莠望戏功戆方法。麸上令整 纪8 0 年代以来,国内的数学管理者和计算机工作者在课袭编排方面做了火量的 点作,磷究了谗多实用算法,也取褥了一热学术成暴。具鸯 弋表毽的计算机簿谋 系统有:东南大举的u t s s ( au n i v e r s i t yt i m e t a b l es c h e d u l i n gs y s t e m ) 系统, 清华大学的t i s e r ( t i m e t a b l es c h e d u l e r ) 系统、大连理工犬学的智熊教学缎织管 理及课獠调度系统等。但这些系统都模拟落们各自的手工摊课,以“班”为单位 恻,依赖于各个大学的传统学年制教学体制,不宜于进行大量的推广以及适应现 行学分制教学改辇豹要求。 无论国内或者国外的研究结粜都表明,高校课袁的编排都难以通过某种数学 方法获褥藏满簿凌。所番这些骚究主要都楚针对话统的学肇制,班螽然班为中心 的教学横式的。 1 3 网上选排课系统所应用的软件综述 网,j 二选排课系统中教师和学生部分闪为人数较多,其对系统的使用需求比较 楚单,嚣缝理霞鬟势数苓集孛,因憩采曩b s 模式,拜发基t = b s 模式煞羁络瘟霆 天津大学硕士学位论文第一章绪论 程序有以下多种技术:c g i 、i d c 、j a v a j d b c 、a s p n e t 等。 c g i ( c o m m o ng a t e w a yi n t e r f a c e ) 是最早的w e b 数据库连接技术0 1 ,几 乎所有的w e b 服务器都支持c g i ,使用c g i 实现w e b 与数据库互连,最大的 优点在于其通用性。c g i 方案的缺点是使w e b n 务器负载过重,并且对用 户请求响应较慢。 m i c r o s o f t 提供的i d c ( i n t e r n e td a t a b a s ec o n n e c t o r ) 是在服务器中 提供的基于a p i ( a p p li c a t i o np r o g r a m m i n gi n t e r f a c e ) 的编程接口。i d c 模块是m i c r o s o f tw e b 服务器的i i s ( i n t e r n e ti n f o r m a t i o ns e r v e r ) 的一个动态链接库,它通过o d b c 访问各类数据库。w e ba p i 解决了c 6 i 的 低效问题,但开发a p i 程序需要多线程、进程同步、直接协议编程等知识, 而且比较复杂。 j a v a 是一种简单,面向对象、多线程执行控制的编写语言,易于实现 交互式的w e b 服务。j d b c ( j a v ad a t a b a s ec o n n e c t i v i t y ) 是一种可用于执 行s q l 语句的数据库a p i ,它由一些j a v a 语言写成的类,接口组成。它 的功能与o d b c 类似,给开发人员提供一个统一的、标准的数据库访问 接口。利用j a v a 连接w e b 服务器与数据库可以实现对输入数据提供字段 级验证,同时避免w e b 无状态特性带来的问题。但目前j a v a 应用需要在 j a v a 虚拟机上运行,其效率还有待于提高。 a s p n e t 是微软推出的最新w e b 应用开发技术,着重于处理动态页面 和w e b 数据库的开发,编程灵活、简洁,具有较高的性能。a s e n e t 现 已成为访问w e b 数据库的主要技术之一。 1 4 目前高校选排课系统使用中存在的问题 1 4 1 采用脚本语言开发的网上选课系统所存在的问题 ( 1 ) a s p 或j a v a s c r i p t 是编程脚本语言,没有为应用程序提供一个固有的结 构,所以存在着一个编程混乱的问题,它在访问数据的时候不能够将访问执行代 码同h t m l 代码分离,因此大家都感觉到w e b 脚本编程和我们使用的可视化编程 有着明显的不同,感觉很不习惯。 ( 2 ) a s p 是一种解释性语言,缺乏像v b 或c + + 这样的强类型语言支持,缺乏 编译环境。虽然a s p 可以高速缓存代码,但它仍然需要解释,这将不可避免地导 致性能和伸缩性问题。 天津大学硕士学位论文 第一章绪论 1 4 2 基于d n a 及组件技术网上选课系统所存在的问题 ( 1 ) 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 ) 的问题是由 m i c r o s o f t 公司或其它公司提供的工具组仍主要依靠9 0 年代早期出现的c o m 以 及使用专用语言和协议的w i n 3 2a p i 等老技术,其缺点是如果替代w e b 服务器中 的c o m 组件,则需要停止运行整个站点,再将文件复制进去,重新运行站点。这 在选课繁忙的时候可能造成很大的问题。 ( 2 ) w i n d o w sd n a 的最大问题是版本化。如果安装另一个应用程序,则可能破 坏了原来的选课系统,造成维护方面的问题。 1 4 3 高校排课系统所存在的问题 排课是高校教务管理的一项日常工作,因其费时费力,手工完成多易出错, 但目前一些高校的排课工作却仍以手工为主,主要原因还是排课系统的灵活性与 方便性有待提高,一方面是由于排课问题本身约束复杂,加之各高校条件各异更 使约束条件复杂多变;另一方面传统的人工排课方法并不适合计算机排课,因此 必须寻求一种适合计算机排课的方法。 1 5 本文的具体任务 本文的具体任务是借鉴国内外已有的网上选排课系统,并在m i c r o s o f t 公司 推出的全新的网络应用程序开发平台一n e t 上,开发出符合实际需要的网上 选排课系统,并对其进行数据库优化设计和选排课算法分析,如选课系统所采用 的公平算法和自动排课系统中所使用的遗传算法进行分析,最后对选排课系统进 行安全方面的探讨。 天津大学硕士学位论文第二章选排课系统结构及m i c r o s o i n e t 平台结构解析 第二章选排课系统结构及u i o r o s o f t n e t 平台结构解析 2 i 校园网结构 2 1 i 以太校园网总体结构 本校以太校园网是以两台高性能的于兆骨干交换机为核心的网络系统。服务 器是人们访问最频繁的设备,所以它以千兆的速率接入千兆骨干交换机,二级交 换机( 汇聚层) 同样以千兆速率上连骨干交换机,以充分发挥骨干交换机的高速交 换能力。总体设计思想是:形成一个千兆到楼字( 到达每幢楼宇的网络速率为1 0 0 0 m b p s ) ,千兆百兆到楼层( 到达每幢楼各层的网络速率为1 0 0 0 m b p s 或1 0 0m b p s ) , 1 0 0 1 0m b p s 到桌面( 到达每个用户的计算机的网络速率为1 0 0m b p s 或1 0m b p s ) 的快速以太结构的校园网络系统。如图2 1 所示。 图2 一l 快速以太校园网总体结构设计简化图 器 交换机 天津大学硕士学位论文第二章选排课系统结构及m i c r o s o f t n e t 平台结构解析 2 1 2 服务器集群与数据分布 选课时,要求系统能承受上万用户的并发访问,由于常用学生的选课数据 激增,对系统的实时性要求很高,要实现实时地查询和统计选课情况,以及实时 抽签等功能,单一的d b m s 和w e b 将出现系统瓶颈。数据流量和计算强度之大, 使得单一的常规服务器无法承担,而大型机又造价昂贵,为此我们采用了分布式 的服务器集群技术,来提高系统的并行处理能力唧l 。它提供了一种廉价有效的负 载均衡方法扩展服务器带宽和增加系统吞吐量,加强网络数据处理能力,可以提 高网络的灵活性和可用性。系统负载均衡建立在现有网络结构之上,它主要解决 网络拥塞问题,服务就近提供,实现地理位置的无关性,为用户提供更好的访问 质量和响应速度;它可以提高服务器及其它资源的利用率,避免了网络关键部位 单点失效等功能。且服务器阵列可以采用普通的高性能p c 机代替,是一种可伸 缩的服务器结构,系统结构如图2 - 2 所示w e b 服务器集群技术,采用提高w e b 服务性能的负载均衡策略,它能让多台w e b 服务器或多条链路共同承担一些繁 重的计算和i o 任务,从而以较低成本消除网络瓶颈,提高网络的灵活性和可靠 性。主w e b 服务器负责网络负载均衡,分析各个子w e b 负载情况,并收集和截 获来自客户浏览器的h r r p 请求,根据每个子w e b 的负载情况,将h 1 曙请求合 理分配转接到子w e b ,来实现b s 通信。w e b 服务器集群中每个子w e b 服务结 点都运行一个选课w e b 程序的独立拷贝,各个子w e b 相互镜像。在多主机结构 中,当一台主机发生故障时,可以将通讯量转移至其它主机。当系统任务很少时, 可以让一台主机处理负载服务,网络负载均衡将网络通讯量分配到一个主机上, 实现任务的平滑接管。数据库集群分布方案是实现数据库并行处理的一种有效方 案。它以高性能、高可用性和高扩充性为目标,可充分利用多处理器平台的工作 能力,在应用环境中可提供更快的响应时间与更大的数据吞吐量。本系统在各个 分数据库服务器中,数据的分布采用混合分片方式,保证系统的透明性、可伸缩 性、高可用性和易管理性。进而将一组数据库服务器构成一个高性能的、高可用 的虚拟数据库服务器。 天津大学硕士学位论文 第二章选排课系统结构及m i c r o s o f t n e t 平台结构解析 w e b d 1 d 2 d b 并行集群 图2 - 2 服务器集群方案 2 2 _ i o r o s o f t n e t 平台结构解析 m i c r o s o f t n e t 是微软公司针对未来互联网推出的战略构架,目的是解决 异质平台的数据交换问题,即应用程序不管采用何种操作系统、编程语言或硬件 环境,都可以通过i n t e r n e t 上的各种服务有机地组合起来该架构以网络为中心 囊括了微软的所有产品和应用,其中m i c r o s o f t n e t 平台是构架中用于创建和运 行x m lw e b b 务的软件组件”1 。 m i c r o s o f t n e t 开发平台将微软组件对象模型c o m 与松散耦合的w e b 概念相 结合,形成了高效的w e b 组件系统,为开发新型的互动协作软件提供了一个先进 的体系结构模型。该平台遵循x m l 和互联网产业标准,包括用于加载和运行应用 程序的软件基础结构m i c r o s o f t n e tf r a m e w o r k 、开发工具y is u ms t u d i o n e t 和支持该结构的编程语言等部分。下面对m i c r o s o f t n e tf r a m e w o r k 的结构进行 解析。 n e tf r a m e w o r k 是在m i c r o s o f t n e t 平台上进行开发的基础,它围绕着基于 x m l 的w e b 服务展开,实现了代码编译、组件配置、程序运行等各个层面的功能, 天津大学硕士学位论文第二章选排课系统结构及m i c r o s o f t n e t 平台结构解析 为建立分散式的w e b 服务,并整合许多既有的服务提供了一个托管、安全、高效 的执行环境。n e tf r a m e w o r k 包括两个核心模块:通用语言运行环境 c l r ( c o m m o nl a n g u a g er u n t i m e ) j 1 1 n e tf r a m e w o r k 类库【2 2 1 。 2 2 1 通用语言运行环境c l r c l r 处于n e tf r a m e w o r k 的最低层,是n e tf r a m e w o r k 的基础,它为v b n e t 、 c + + 、c l 、j s c r i p t n e t 、c o b o l n e t 等多种语言提供了统一的运行环境,使得用 某种高级语言编写的应用程序可以在不同的操作系统和硬件上运行,而不需要按 照特定环境重写应用程序。 为实现c l r 对多种编程语言的支持,就需要在传统的源代码层和编译后的本 机代码层中间添加一个代码层。应用程序代码要先编译成独立于机器的中问语言 代码,然后编译成与机器对应的本机代码。这样,无论应用程序使用什么语言编 写,只要能编译成中间语言代码,就可以在c l r 的支持下运行。其运行步骤大体 如下:由某种语言编写的应用程序,通过编译器( c o m p i l e r ) 生成中间语言 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 ) 代码,然后由即时编译器j i t ( j u s ti n t i m ec o m p i l e r ) 生成相应的机器代码。整个编译执行的过程如图2 - 3 所示。 i v bc + +c # j s c r i jilii lc 。,t ,。, m s i lc o d e ( a s s e m b l y ) l l j ,tc 。t 。, i c l g i 执行 图2 3c l r 环境下程序编译执行的过程 天律大学硕士学位论文第二章选排课系统结构及m i c r o s o f t n e t 平台结构解析 具体的运行过程是,首先使用v b 、c # 或任一种c l r 支持的编程语言编写应 用程序源代码,然后由编程语言对应的编译器将源代码翻译成一个称作汇编 ( a s s e m b l y ) 的文件集。这个文件集包括中间语言m s i l 代码,元数据和一个文件 清单。m s i l 代码也称为i l 代码,它是所有程序和程序组件之间的沟通接口,其 特点是独立于特定操作系统和硬件平台,这就意味着可以编译成m s i l 的程序语 言是互通的。在n e tf r a m e w o r k 中,任何语言编写的应用程序,都要编译成m s i l 代码,从而实现应用程序向其它平台的无缝移植。元数据详细描述了m s i l 代码 正确执行所需的各相关数据类型,包括描述a s s e m b l y 的信息,如标识、输出类 型、依赖的其它组件、需要运行的安全许可等;描述类型的信息,如名字、基类、 接口实现、成员等;描述其它属性的信息,如描述用户自定义的属性、描述编译 器定义的属性、描述f r a m e w o r k 定义的属性等。 这样就使n e t 应用程序代码具备了自描述特性。c l r 使用这种元数据来增 强安全性,并确保获得它所需的任何组件的正确版本。清单则列出了汇编中的所 有文件和软件组件,同时指出了c l r 在哪里可以找到应用程序运行时需要的其它 组件。 文件集以可移植执行文件p e ( p o r t a b l e e x e c t u a b l e ) 的形式出现,它需要 在c l r 的控制下编译成特定于机器的汇编指令才能运行。c l r 在功能上如同一块 虚拟的c p u ,它执行i l 代码、操作数据。为了加载一个应用程序,c l r 使用文件 清单来确定应用程序所需汇编的正确版本,并检查m s i l 代码与描述它的元数据, 保证程序不会访问它不具有相应许可的内存或其它资源,从而确认代码是“类型 安全”的。然后c l r 加载i l 代码,同时收集有关应用程序的事实信息,例如: 它是从哪里下载或安装的、它需要执行什么功能、什么用户试图运行它、汇编是 否拥有来自信任的开发者的数字签名,以及进行数字签名后汇编是否有改动,并 按管理策略决定是否允许应用程序运行,甚至还可告知应用程序它无法授权申请 的所有权限,并允许应用程序自行决定是否继续运行等。之后即时编译器j i t 将 i l 代码以调用的对象方法为单位动态编译成本机代码。通过程序集中的元数据, j i t 编译器可以了解代码做些什么以及支持哪些平台,它能够利用目标机器的硬 件特点,根据平台的具体情况对代码进行即时优化操作,如合理地分配c p u 寄存 器、通过监控当前的物理和虚拟内存需求来高效地利用内存、产生特定的平台指 令以充分利用实际的处理器模式等。经过编译后的代码保存在内存中直到整个过 程完成。不同的机器使用不同的j i t 编译器,所以同一个应用程序的m s i l 代码 经不同机器的j i t 编译器编译之后,便可以在不同的机器上执行。 借助c l r ,用一种语言编写的类能被另一种语言继承,象调试之类的操作 天津大学硕士学位论文 第二章选排课系统结构及m i c r o s o f t n e t 平台结构解析 也不用考虑编写代码所用的语言,这就意味着编写可重用类库时,不需要为每种 语言生成一个版本,使用类库时也不受编程语言的限制,从而使多种语言达到深 度集成。 2 2 2n e tf r m m w o r k 类库 n e tf r a m e w o r k 类库是一套软件组件,用于编写在c l r 控制下运行的代码。 类库分级组织了一个庞大的功能集,包括显示图形用户界面、读写x m l 数据、在 i n t e r n e t 上通信、访问数据库等多种功能。其体系结构如图2 2 所示。 图2 叫n e tf r a m e w o r k 体系结构 在c l r 上面是一套与通用语言运行环境紧密集成在一起的基础类库,所有 的类库都建立在基础类库之上。基础类库包括集合,字符串、数据、图像、线程 等从输入输出到数据访问的各个方面,它提供了一个统的,面向对象的、层次 化的、可扩展的编程接口。要引用类库中的类,可顺着名称空间的层次结构通过 “”号分隔的方法找出具体要使用的类。使用时,只需在应用中添加所需的类 库的引用,就可以使用这个类库中的所有方法、属性等等。跟传统的w i n d o w s 编程相比,使用和扩展基础类库都比较容易,这使得开发者能够高效、快速地构 建基于下一代互联网的网络应用。 天津大学硕士学位论文第二章选排课系统结构及m i c r o s o f t n e t 平台结构解析 2 2 3a d o n e t 作用 n e tf r a m e w o r k 通过a d o n e t 提供了对数据的访问。a d 0 ,n e t 是位于s y s t e m d a t a 名称空间中的类集合,它为n e t 平台与后端各类数据源( 如m i c r o s o f t s q ls e r v e r ,通过o l ed b 桥接的各种数据库,x m l 数据源等) 交互提供了统一 的编程模型。a d o n e t 定义了链接数据库、对数据库发送命令及从中获取结果的 类。这些类依靠数据供应器实现。目前,a d o n e t 只发行了两个供应器,一个是 s o ls e r v e r n e t 数据供应器,另一个是o l ed b n e t 数据供应器,这是一个用于 管理o l ed b 数据源的供应器。 a d o n e t 的主要特点是引入了离线数据集( d i s c o n n e c t e dd a t a s e t ) 。所有的 数据都可以离线使用而不必一直连接到数据库,只有需要对数据库进行编辑时才 连接到数据库。对于w e b 应用程序而言,因为开启数据库联机在分布式的环境 中会占用较多资源,所以离线数据存取可使应用程序具有高度的延展性。d a t a s e t 是一个驻于内存的数据缓冲区,是一个分离的用于表示数据集合的独立实体,它 提供了数据的关系型视图。不管数据来源于一个关系型数据库,还是一个x m l 文 档,d a t a s e t 都使用同样的程序模板和相同的内存区进行操作。它替代了原有的 d a t a s e t 对象,提高了程序的交互性和可扩展性,因而非常适合于结构松散的、 本质非连接的w e b 应用程序。a d 0 n e t 另一个特点是对于x m l 的原生支持( x m l n a t i v es u p p o r t ) ,在a d o n e t 中通过x m l r e a d e r ,x m l w r i t e r ,x m l n a v i g a t o r , x m l d o c u m e n t 等可以方便地创建和使用) ( m l 数据,并且支持i v 3 c 的x s l t 、d t d 、 x d r 等标准,从而使面向网络的数据交互得以高效、安全、容易地进行。a d o n e t 对x m l 的支持也为x m l 成为m i c r o s o f t n e t 中数据交换的统一格式奠定了基础。 2 2 4 潮l 模板 x m l 组件是n e tf r a m e w o r k 的重要组成部分。x m l ( e x t e n s i b l em a r k u p l a n g u a g e ) 是可扩展标记语言的缩写,是标准通用标记语言s g m l ( s t a n d a r d g e n e r i cm a r k u pl a n g u a g e ) 的一个子集,这是一种描述标记语言的一种语言。 x m l 最突出的特点是将业务规则从数据中分离出来,从而提供了一种通用的数据 格式表示法。在x m l 环境下,参与数据交换的任一方都可以定义自己的标记结构, 而不必受限于某个标准框架。x 地组件使n e tf r a m e w o r k 成为一个有机整 体,n e tf r a m e w o r k 就是建立在x m l 的数据结构之上,各种数据交换几乎全部 使朋标准的) 【l i l 进行。 天津大学硕士学位论文第二章选排课系统结构及m i c r o s o f t n e t 平台结构解析 2 2 5 n e t 中的两种编程模板 在类库的上层是两种编程模板,一种是基于a s p n e t 的w e b 网络应用程序模 板w e bf o r m s 和w e bs e r v i c e s ,另种是基于传统的g u i 交互的w i n d o w s 应用 程序模板w i nf o r m s 。 w e bf o r m s 是通过浏览器接收用户输入并动态地生成w e b 页面的w e b 用户 接口( u i ) ,基于a s p n e t 的w e bf o r m s 把、b 表单的高效率带到了w e b 应用程序 的开发中。w e bf o r m s 在支持传统的将h t 讥内容与脚本代码混合的同时,通过 代码后置,将应用程序代码和用户接口内容分离,使网页能动态地编译到受控类 中,从而提高了系统性能。a s p n e t 还提供了丰富的w e b 控件,包括运行在服务 器端的f o r m 控件,如b u t t o n 、t e x t b o x 等,也包括一些特殊用途的控件,如广 告轮换控件、日历控件、用户验证控件等。这些控件可以在 s y s t e m w e b u i w e b c o n t r o l s 名字空间下找到,其特点是可以被编写以适应客户 端的需求。 w e bs e r v e r s 与w e bf o r m s 不同,它不从浏览器获得请求并返回相应的w e b 页面,而是从应用程序接受请求,执行任务,然后向应用程序返回响应信息。 a s p n e t 为w e bs e r v e r s 提供了一个基础构造环境,从而使开发人员能够为这个 服务模型创建服务。基于a s p n e t 的w e bs e r v e r s 就是编写一个后缀为a s m x 的 文件,在文件中加入要表现的方法。a s m x 文件包含受控类的引用,这个类是由 a s p n e t 提供的s e r v e r s 类所派生的。公有的类方法在标记上属性后,就会成为 网络服务方法,把h t t p 请求发送到a s m x 文件中的u r l 后,这些方法就会被调用。 当被调用者发出请求时,a s p n e t 会检查类的元数据,自动生成s c l 文件。 w i nf o r m s 编程模板为w i n d o w s 开发者提供了基于表单控件的编程方法。 w i nf o r m s 是一整套可以重用的类库,包括了v b 组件库( v i s u a lb a s i cc o m p o n e n t l i b r a r y ) 和w i n d o w s 基础类库( w i n d o w sf o u n d a t i o nc l a s s e s ) 。使用w i nf o r m s 模板可以利用w i n d o w s 丰富的用户接口特点,包括现在的a c t i v e x 控件和w i n d o w s 2 0 0 0 的新特点,如透明的、分层的浮动窗口,还可以基于c l r 进行开发,可以 使用a d o n e t 网络服务等,从而充分利用n e tf r a m e w o r k 的各种新特性。 2 2 6 n e t 安全概述 a s p n e t 和n e tf r a m e w o r k 联合i i s 为w e b 应用程序提供了一个基础架构,可 以利用n e t 安全架构的内置特性来保证应用程序的安全性“”。n e t 的安全架构包 含很多类,这些类用于处理身份验证、授权、基于角色的授权、假冒、密码术和 天津大学硕士学位论文第二章选排谋系统结构及m i c r o s o f t n e t 平台结构解析 代码访问安全。其中a s p n e t 为几个关键的安全过程包括身份验证、授权、假冒 和加密提供了必需的功能“”。 身份验证是提示用户标识并判断标识真实性的过程。在a s p n e t 应用程序 中,身份验证通常由4 种身份验证模式来实现:w i n d o w s 身份验证、窗体身份验 证、p a s s p o r t 身份验证和自定义身份验证,这些身份验证提供程序独立于i i s 身份验证方案并且只用于i i s 身份验证方案之后。如果a s p n e t 被配置为w i n d o w s 身份验证,则不需要其它的步骤,而是直接承认从i i s 传来的安全标记。如果 a s p n e t 被配置为窗体身份验证,将使用一个h t m l 表单提示用户输入信任资料。 通过用户i d 和密码在存储的合法用户列表中查寻。应用程序可以任意选择最合 适的存储机制,包括s o ls e r v e r 数据库或a c t i v ed i r e c t o r y 服务。如果a s p n e t 被配置为p a s s p o r t 身份验证,用户将被转入一个p a s s p o r tw e b 站点并由 p a s s p o r t 服务来鉴别。最后是自定义身份验证,这意味着a s p n e t 并不执行自 己的验证而完全依靠已经由i i s 执行的验证。在这种情况下,匿名用户可以连接 进来,而访问资源使用的是a s p n e t 账户。将a s p n e t 鉴别模式设定为n o n e 并 不妨碍程序实现自己的验证层。各种身份验证模式都有利有弊,开发人员应该根 据具体的应用程序的安全性要求来选择具体的验证模式。 授权是对特定的会话类型授予权限的过程。可以利用a s p n e t 安全架构评 估用户标识,并根据用户的特定标识或其扮演的角色准许用户访问资源。身份验 证只能在m a c h i n e c o n f i g 文件或在程序层的w e b c o n f i g 文件中设置,子目录继 承了程序的验证模式。但是,授权设置可以在每个子目录的w e b c o n f i g 文件中 设置。换句话说,授权比鉴别支持更细,更能保证程序的安全性。 假冒是在其它用户标识的上下文执行代码的过程。默认情况下,所有的 a s p n e t 代码都是在d o m a i n a s p ,n e t 用户账户下执行的。 代码访问控制是控制代码对受保护资源和操作的访问权限的一种机制。代码 访问安全性执行下列功能:定义权限和权限集,它们表示访问各种系统资源的权 限;使管理员能够通过将权限集与代码组关联来配置安全策略:使代码能够请求 运行所需权限以及其它一些有用的权限,以及指定代码绝对不能拥有哪些权限; 根据代码请求的权限和安全策略允许的操作,向加载的每个程序集授予权限;使 代码能够要求其调用方拥有特定的权限和数字签名,从而只允许特定组织或特定 站点的调用方来调用受保护的代码;通过将调用堆栈上每个调用方所授予的权限 与调用方必须拥有的权限相比较,加强运行时对代码的限制。 总之,n e tf r a m e w o r k 提供了多种语言开发执行的环境以及全新的数据库 访问技术和网络应用开发技术。利用n e tf r a m e w o r k 的功能,可缩短开发时问, 提高应用程序的可靠性和性能,使得快速构建新一代的网络应用程序和w e b 服务 天津大学硬士学霞论文第二章透捧谭系统箍椽及m i c r o s o f t n e t 平台嬉鞫孵辑 成为可能。 2 。3 系统数据库的选型 系缭蓊螽采用v b n e t 帮a s p n e t 戳及j

温馨提示

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

最新文档

评论

0/150

提交评论