(计算机软件与理论专业论文)基于web的科研管理信息系统的研究与实现.pdf_第1页
(计算机软件与理论专业论文)基于web的科研管理信息系统的研究与实现.pdf_第2页
(计算机软件与理论专业论文)基于web的科研管理信息系统的研究与实现.pdf_第3页
(计算机软件与理论专业论文)基于web的科研管理信息系统的研究与实现.pdf_第4页
(计算机软件与理论专业论文)基于web的科研管理信息系统的研究与实现.pdf_第5页
已阅读5页,还剩69页未读 继续免费阅读

(计算机软件与理论专业论文)基于web的科研管理信息系统的研究与实现.pdf.pdf 免费下载

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

文档简介

中文赫要 ?7 1 6 0 4 4 摘要 随着校园信息化的不断深入发展,特别是近来校园数字化的提出,全面探索 和实现校内各项管理工作的计算机化是学校的一项重要课题。本课题就是在学 校建设数字化校园的背景下,为综合信息管理系统寻求可行解决方案的研究。 本文主要介绍了校园网环境下的高校科研管理信息系统的设计与实现。在系 统调研、需求分析的基础上,确定了系统设计原则和功能目标的基础上,系统 选择了基于w e b 的三层b s 的设计模式,遵循完整性、通用性、实用性、先进 性和开放性的系统开发原则,采用了新的开发平台v s n e t ,利用a d o n e t 数 据库连接技术和a s p n e t 的w e bf o r m 技术,实现了一个全新的科研管理系统。 随着校园网上的管理信息系统的增加,实现多应用系统的集中统一的身份认证 就是一个突出的问题在此提出了一种基于w e bs e r v i c e 技术的集中身份认证 的模式,并采用a s p n e t 建立了一个原型系统,实现了多个应用系统间透明的统 一身份认证。 嘉应学院科研信息管理系统,采用b r o w s e r s e r v e r 结构,利用大型数据库及 前端开发工具,充分发挥校园网的优势,全面解决该系统的信息管理问题。在 分析实际业务流程后,绘制了科研信息管理系统的数据流图。采用数据流分析 法,提出系统功能设计,再绘制科研管理信息系统的功能结构图,准备好技术 文档后,开始实现功能设计。 本课题成果于2 0 0 4 年5 月开始,由嘉应学院科研处进行试运行,不但改变 了旧的科研信息管理模式,而且也适应了现代信息发展的需要,减轻了劳动强 度,提高了工作效率,为本管理信息系统的推广奠定了基础。 【关键词l :科研管理,a s p n e t ,浏览器n 务器,管理信息系统 华南师范大学硕士学位论文 a b s t r a c t t h i s p a p e rm a i n l y d e s c r i b e s d e s i g n a n d i m p l a m e n t a t i o n o ft h e u n i v e r s it ys c i e n t i f i cr e s e a r c hm a n a g e m e n ti n f o r m a t i o ns y s t e mb a s e do n c a m p u sn e t w o r k a n di n t r o d u c e dt h ed e s i g na i m s ,t a s k sa n dp r i n c i p l eo f t h es y s t e mw i t hs y s t e m a t i cir i v e s t i g a t i o na n da n a l y s i so fd e m a n d w i t h t h ep r i n c i p l eo fi n t e g r a l i t y ,p r a c t i c a b i l i t y ,o p e n i n ga n dg e n e r a li t y , an e wu n i v e r s i t ys c i e n t i f i cr e s e a r c hm a n a g e m e n ti n f o r m a t i o ns y s t e mw a s b u i l db ya d o p t i n gn e wd e v e l o p i n gp l a t f o r ma n dt a k i n ga d v a n t a g eo fa d o n e t d a t a b a s ec o n n e c t i o nt e c h n o l o g ya n dt h ew e bf o r mt e c h n o l o g y i na d d i t i o n , w i t ht h ei n c r e a s i n go ft h em a n a g e m e n ti n f o r m a t i o ns y s t e mb a s i n go nt h e c a m p u sn e t w o r k ,u n i t e da u t h e n t i c a t i o ni sa ni m p o r t a n tp r o b l e m au n i t e d a u t h e n t i c a t i o nt e c h n o l o g yb a s i n go nw e bs e r v i c ew a su s e dt oe s t a b t i s h am o d e ls y s t e mt oc o m p l e t et h et r a n s p a r e n tu n i t e da u t h e n t i c a t i o na m o n g t h es e v e r a l a p p l i c a t i o ns y s t e m s t h es c i e n t i f i cr e s e a r c hm a n a g e m e n ti n f o r m a t i o ns y s t e mo fj i ay i n g c o l l e g ei s o n ep a r to ft h en e t w o r ki n f o r m a t i o nm a n a g e m e n ts y s t e m b y a d o p t i n gb r o w s e r s e r v e rs t r u c t u r e ,u s i n gd a t a b a s ea n dd e v e l o p i n gt o o l s , a n df u l l yt a k i n ga d v a n t a g e so ft h ee x c e l l e n c eo fc a m p u sn e t w o r k ,w e s u c c e s s f u l l ys o l r e dt h ei n f o r m a t i o nm a n a g e m e n tp r o b l e mi nt h es u b s y s t e m a f t e ra n a l y z i n gt h ed a il yo p e r a t i o ni ns c l e n t i f i cr e s e a r c hd e p a r t m e n t , t h ef i g u r eo fd a t as t r e a mo fs c i e n t i f i cr e s e a r c hm a n a g e m e n ts y s t e mi s d r a w nu p b yt h em e t h o do fa n a l y z i n gt h ed a t as t r e a m ,t h ef u n c t i o n s t r u c t u r ep l a nw a sa l s og i y e n s i m u l t a n e o u s l y ,s y s t e mf u n c t i o nd e s i g n w a sp u tf o r w a r da n dt h e nt e c h n o l o g yd o c u m e n tw a sp r e p a r e d f i n a l y ,w e i m p l e m e n t e dt h ef u n c t i o nd e s i g n s i n c em a y2 0 0 4 ,t h es c i e n t i f i cr e s e a r c hd e p a r t m e n to fj i ay i n gc o l l e g e h a su s e dt h es y s t e m i tn o to n l yc h a n g e st h eo l ds t y l eo fs c i e n t i f i c r e s e a r c hm a n a g e m e n t b u ta l s oa d a p t st h en e wd e m a n do fm o d e r ni n f o r m a t i o n d e v e l o p m e n t i na d d i t i o n ,i tl i g h t e n sw o r ki n t e n s i t ya n di m p r o v e sw o r k e f f i c i e n c y a 1 1o ft h e s es e tu pas t r o n gf o u n d a t i o nf o rt h ep o p u l a r i t y o ft h i ss y s t e m , k e yw o r d :s c i e n t i f i cr e s e a r c h ,a s p n e t ,b r o w s e r s e r v e r 。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 l i 华南师范大学硕士学位论文答辩合格证明 学位申请人遨显选 向本学位论文答辩委员会提交 题为苤型配蜊篮燃名氢丕歪a 垃堕选 的硕士论文, 经答辩委员会审议,本论文答辩合格,特此证明。 茎:? 篮签名 委员: 洲蚣 论文指导老师( 签名) : m 年,月形日 ( 此框用于存档的学位论文贴学位论文答辩合格证明) 第一章绪论 第一章绪论 1 1 课题背景 1 1 1 课题来源 作为信息技术在管理领域的一个重要分支,管理信息系统己经在信息管 理中起到了举足轻重的作用。管理信息系统的使用可以大幅度地减轻管理人 员及业务人员繁重的日常工作,改变以往不尽合理的工作流程及业务流程, 为中高层管理人员提供了及时有效的辅助决策,使得组织机构的管理更加现 代化、科学化、规范化和系统化。 本课题的来源是嘉应学院网络中心2 0 0 4 年的”科研管理信息系统”项目, 包括成果管理予系统、科研项目管理子系统、公共信息交流平台,它是嘉应 学院建立数字校园的个重要项目。本系统将主要根据嘉应学院科研管理的 现状,设计和开发嘉应学院科研管理信息系统,它将用于嘉应学院科研成果 管理、科研项e l 管理和科研信息交流等诸多方面的工作,实现嘉应学院科研 管理的计算机化和自动化,提高管理效率。并实现科研管理工作的规范化和 数字化。 1 1 2 科研处简介 嘉应学院科研处是嘉应学院的科研管理部门,全面负责学院的校内科研 项目的计划、纵向科技开发项目、横向联台项目和科技服务项目及科技人才、 重点学科建设、科研成果管理及推广等职能的工作。科研处下设三个部门, 即:科技管理科、成果转化办公室及学科管理科。 其中,科技管理科主要负责制定全校纵向科研计划、全校科研统计分析、 科研项目申报和纵向和校内项目管理及到校经费管理等。 成果转化办公室负责全校横向科研项目的管理,科研成果管理,横向联 合项目和科技服务项目管理及技术成果的推广和转让等。 学科管理科主要负责全校科技人才、重点学科建设管理。 1 1 3 开发研究背景 目前,科研处各科室都配备了计算机,基本上每人一台,长时间以来一 直都是使用计算机来进行日常工作的处理,科研处人员都具有较高的计算机 销i 页共7 0 页 华南师范大学硕十学位论文 应用水平。科研处的计算机管理已经有了一定的基础。但是,科研处还没有 一个统一的系统平台,来进行各种科研业务的处理,使得科研处的计算机管 理仍存在很多问题,急需解决: 科研处各科室之间数据不能共享 在科研处的三个科室中,科技管理科负责学校纵向科研任务的管理, 成果转化办公室负责横向科研任务的管理,学科管理科主要负责全校科技人 才、重点学科建设管理。各科室之间的业务联系非常紧密,数据交换非常频 繁。比如纵向科研项目结题验收后,要由成果转化办公室进行成果申报,然 后由开发办进行推广。但是,现在科研处的计算机应用主要是办公软件,数 据不能共享,大量数据不得不重复录入和修改,耗费了大量的人力物力。 科研处与学校其他相关部门之间的数据交换形式落后 科研处作为科技开发管理部门,与学校的其他职能部门有着千丝万缕 的联系,这些部门不仅包括各院系、研究所,而且还有如人事、财务、校长 办公室等部门。现在,科研处和各部门的数据交换形式非常落后,基本上是 手:r 报表的形式,效率低下。如科研处进行科研信息汇总后,打印出来下发 到各院系和研究所,然后由院系和研究所组织项目申报,以一定的格式向科 研处上报申报材料,再由科研处工作人员统一录入计算机,因而工作量特别 大。而现在学校己经建立起了信息高速公路( 校园网) ,为大量的信息交换提供 了可靠的通道,但科研处没有充分利用校园网的优势。 科研处缺乏对外交流的窗口 科研处虽然与校外的合作课题很多,但却没有一个基于i n t e r n e t 的对外 交流的窗1 2 1 。在学院的主页上,虽然有一部分是关于科研开发的,但这部分 内容却是静态的,没有和后台数据库实行连接。而随着校园网上内容的不断 充实,科研处也应该有一个基于w e b 的管理系统,在网上发布信息,与外界 进行交流。 基于以上所述情况,学校迫切需要开发套具有本校特色的,符合我校 科研特点的较为先进的科研管理信息系统。该系统应能够满足以下要求: ( 1 ) 实现全校所有科研信息的全面共享,以校园网为工作平台; 第2 页共7 0 页 第一章绪论 ( 2 ) 实现学校科研管理的全面计算机化,并使功能尽可能完善、操作尽可 能地简单、实用: ( 3 ) 及时为学校领导的决策提供统计、分析数据。 1 1 4 科研管理信息化的意义 科研管理在高校有着举足轻重的作用。科研管理的信息化可以减轻科研 管理人员的劳动强度、提高工作效率、节省办公费用为目的,促进我校科研管 理进一步条理化、规范化、科学化,提高管理效率。科研管理的信息化可以 使学校各部门能及时地、动态地完成科研各类数据信息的输入、查询、统计 工作,真正实现资源的共享,从而辅助领导的决策,使决策更具科学性、合理 性、针对性。科研管理的信息化有利于高校科研成果的转化。加强科研成果 的转化,为地方的经济建设和社会发展服务是地方高校科研工作现在和未来面 临的主要任务。科研成果转化难一直是多年来束缚地方高校科研发展的瓶颈。 计算机管理信息系统的建立,降低了高校科研工作搜集信息的难度,使科研选 题、立项、进度跟踪、成果鉴定、成果推广更加科学化,减少了重复性的研究: 同时,信息量的增加,信息流及反馈速度的加快,使科研项目的选择和研究也更 符合市场的需求:科学的监督和管理为成果的产出质量提供了保证,科研成果 的转化也会相对容易。 1 2 日前国内外研究、进展现状 进入九十年代,网络技术成为计算机界的热门话题,如何开发出基于网 络技术、满足自身需要的管理信息系统是各类管理人员关注的焦点。近年来, i n t e r n e t i n t r a n e t 技术的发展,为企事业单位的信息管理带来了崭新的思路。 i n t r a n e t 的技术基础是w e b 技术,采用的结构是浏览器服务器( 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 ) 结构技术,即在m i s 系 统的用户端采用统一的浏览器界面,在后台服务器上安装运行w 曲服务器软 件和数据库管理系统。与当前采用传统技术的m i s 系统相比,基于i n t r a n e t 技术的m i s 系统具有用户界面统一、不受操作系统平台限制、操作简单方便、 减少用户前端的开发工作量、系统维护容易等优点;且由于i n t r a n e t 技术采用 与i n t e r n e t 相同的技术,似的基于i n t r a n e t 的m i s 系统既可以自成体系,也可 第3 页共7 0 页 华南师范大学硕士学位论文 以方便的接i n t e r n e t ,从而最大限度地保证对外信息资源的菸享。 目前,国内研制的科研管理系统大都基于局域网和f o x p r o 技术,采用大 型数据库及应用i n t r a n e t 技术在国内还比较少见,现有的一些软件也不适合 我校科研管理的模式,自行研制通用科研管理系统还不是很多。本课题拟采 用a s p n e t 技术研制开发一套基于i n t e r n e t i n t l a n e t 平台的具有一定技术 先进性的高效、实用的科研管理信息系统。 1 3 本章小结 本章介绍了本课题的来源和背景,以及本课题的国内外情况。 第4 页共7 0 页 第二章n e t 框架及其开发技术 第二章n e t 框架及其开发技术 m i c r o s o f t n e t 是微软推出的下代基于互联网平台的软件开发构想,其 背后的基本理念就是:不再关注单个的网站和单个设备,而是要让所有的计算 机群、相关设备和服务商协同工作,提供更加广泛和丰富的解决方案。人们 将能够控制何种信息、在何时、以何种方式传递给自己。一直以来,n e t 给 人感觉是抽象的、笼统的,无法给它下一个明确的定义。那么n e t 究竟是什 么? 引用m i c r o s o f t 总裁兼首席执行官史蒂夫鲍尔墨的话:“n e t 代表了个 集合、一个环境、一个编程的基本结构,作为一个平台来支持下一代的互联 网。同时n e t 也是一个用户环境,是一组基本的用户服务,可以作用于客户 端、服务器或任何地方,与编程模式具有很好的一致性,并有新的创意。因 此,它不仅是一个用户体验,而且是开发人员体验的集合,这就是对n e t 的 概念性描述。”从开发人员的角度分析,要想真正了解n e t ,必须先熟悉n e t 核心组件之一的n e t 框架,深入了解n e t 框架对理解n e t 及基于n e t 的开发 具有一定指导意义。 2 1 n e t 框架 n e t 框架是用于生成、部署和运行应用程序和x m lw e bs e r v i c e s 的多语 言环境,其结构如图2 一l 所示。 矿b l q e t i c + + + i c 和 p 献 c o r m n o nl 嘴g es p 托4 f i c a t i o n + a ( 公共语窗规范p a s p n e t 一d 。”8f 。“”。 a d o n e t 一 上照工f r a m m o r k c i a s sl i b r a r y , ( n e ti 鸶慝p c o m m o n l 蚴g 峪g er 肘n l i m e “ ( 一般语售运行时环境) t 一 图2 1 n e t 框架图 它包含以下两个核心部分: ( 1 ) 公共语言运行库:运行库在组件运行时和开发时操作中都起作用。 第5 页共7 0 页 华南师范大学硕士学位论文 在组件运行时,运行库除了负责满足此组件在其他组件上可能具有的依赖项 外,还负责管理内存分配、启动和停止线程和进程,以及强制执行安全策略。 ( 2 ) 统一编程类:框架为开发人员提供了统一的、面向对象的、分层的 和可扩展的类库集( a p i ) 。以前,c + + 开发人员使用m i c r o s o f t 基础类,而j a v a 开发人员使用w i n d o w s 基础类。框架统一了这些完全不同的模型,同时为 v is u a l b a s i c 和j s c r i p t 程序员提供了对类库同样的访问。通过创建跨所有 编程语言的公共a p i 集,公共语言运行库使得跨语言继承、错误处理和调试 成为可能。从j s c r i p t ,v i s u a lb a s i c 到c + + 的所有编程语言都具有对框架的 相似访问,开发人员可以自由选择所要使用的语言。 从图2 一l 我们可以直观地了解n e t 框架的主要组成部分:通用语言运行环 境( c o m m o nl a n g u a g er u n t i m e ,c l r ) 和一组公用层次类库。所有在n e t 开发 平台上创建的应用程序运行都需要运行这两个核心块。c l r 对加载和执行应用 程序的编程模型做了根本的改变,它的存在有三个主要的目标: ( 1 ) 实现跨平台运行,多语言支持; ( 2 ) 减少应用程序开发者所必须写的冗长而又易出错的底层代码的容量: ( 3 ) 提高应用程序的稳定性和安全性。 m i c r o s o f t n e t 正是基于通用语言运行环境,实现了这些开发人员梦寐以 求的功能。 2 2 n e t 的开发工具 n e t 开发平台在开发人员用以创造应用程序的工具和技术上做了根本的 变化。v i s u a ls t u d i o n e t 就是微软公司为实现其n e t 技术而开发的一整套工 具组件,它提供了一个用于在该平台上创建应用程序的可视化集成开发环境 ( i n t e g r a t e dd e v e l o p m e n te n v i r o n m e n ti d e ) 。集成开发环境是目前计算机 语言产品都具备的一种工作环境,是进行程序设计的工作场所。在集成开发 环境中。程序员可以对源程序进行编辑和编译,对目标程序进行调试运行。 2 2 1v i s u ms t u d i o n e t 2 0 0 2 年2 月,微软发布tv i s u a ls t u d i o n e t ( 简称v s n e t ) 的最终版本, 这是微软极力推荐的创建n e t 应用程序的软件开发j i = 具集。作为微软的下一 第6 页共7 0 页 第二章n e t 框架及其开发技术 代开发: 具,它和n e t 开发框架紧密结合,遵循n e tf r a m e w o r k ,利用通用 语言运行环境和公用层次类库提供加速开发过程的高效工具。v s n e t 主要用 于开发企业规模的w e b 应用程序以及高性能的桌面应用程序。 在开发网络应用程序时,以前开发人员只能在w e b 页中嵌入v bs c r i p t 或 j s c r i p t ,但现在,w e b 页可以用v s n e t 中的任何一种语言来生成。i d e 也提供 了从w e b 表单控件中创造w e b 页的拖放式g u i ( g r a p h i c a u s e ri n t e r f a c e ,图 形用户界面) ,它是完全动态的,易于编码,能自动处理状态问题,根据浏览 器兼容能力生成纯h t m l ,并且将用户界面问题和编码问题相分离。 在m s n e t 环境中,所有控件引发的代码,包括格式化代码,都可以显示 出来,这样便予高级开发者修改表单和控制件的缺省行为,并且在应用程序 的外观上给予它们更紧凑的控制。 此# b v s n e t 还提供了完全集成的数据处理,尤其是x m l 和数据库集成,以 及断开式的数据库操作,大大简化了对来自不同种类的数据源的联合数据( 例 如将来自o r a c l e 数据库的雇员数据合并到基于x m l 的销售成绩表中) 的处理。 因此,使用集成了多种语言支持的n e t 框架的开发工具,大大提高了开发者 的效率,简化了服务器端的开发,提供了高效地创建和使用网络服务的方法, 使开发人员能够快速构建和部署强健的、可靠的应用程序。 2 3a s p n e t 简介 a s p n e t 是统一的w e b 应用程序开发平台,用来提供生成企业级w e b 应用程 序所必需的服务。a s p n e t 的语法在很大程度上与a c t i v es e r v e rp a g e ( a s p ) 兼容,同时它还提供一种新的编程模型和结构,用于生成功能强大的新型应 用程序。 w e b 服务器端编程的基础,是生成客户端用户界面和w e b 程序结构,而这 利用a s p n e t 的“w e b 窗体”可以很方便地实现。“w e b 窗体”用于生成功能 强大的基于窗体的w e b 页。生成这些网页时,可以使用a s p n e t 服务器控件 或开发人员自己开发的用户控件和服务器控件,来创建用户界面元素,以及 对它们进行编程以用于执行常见的任务。使用这些内置或自定义组件生成w e b 窗体,可以极大程度上简化页面代码。 第7 页共7 0 页 华南师范大学硕士学位论文 2 3 1a s p n e t 与a s p 之问比较 ( 1 ) 兼容性 a s p 和,a s p n e t 可以在i n t e r n e t 信息服务( t i s ) w e b 服务器上一起运 行而不会相互干扰。a s p n e t 只负责处理具有a s p x 文件扩展名的文件,而具 有a s p 文件扩展名的文件将继续由原有未更改的a s p 引擎来处理。同时,在 a s p 和a s p n e t 页之间并不共享会话状态和应用程序状态。 ( 2 ) 编程语言 a s p n e t 页限于用单一编程语言编写的代码。默认语言是v i s u a lb a s i c , 但通过在页的顶部放置一个指令,可将其他语言声明为该页的默认语言,例 如: ,则可以用c # 进行编程。同时,如果在同一个a s p x 文件中处理用户界面和编程,也可以在( ( s c r i p tl a n g u a g e = 块中声明语 言。但在同页上的不同脚本块中,必须使用相同的语言。同时,在a s p n e t 中,v i s u a lb a s i cs c r i p t i n ge d i t i o n ( v b s c r i p t ) 不再受到支持。 ( 3 ) 数据访问 在n e t 框架中,包含了名为a d o n e t 的新的数据访问技术,它是对a d o 的改进。特别是a d o n e t 中的d a t a s e t 对象提供比a d o 断开记录集更好的性 能。另外,a d o n e t 以标准x m l 格式传输数据,以便不需要进行c o m 封装处理 或数据类型转换。然而,a s p n e t 保持了对a d o 的向后兼容性,a d o 现在仍然 得以在a s p n e t 中运行。 2 3 2a d o n e t 简介 m i c r o s o f t 的每个新平台都有自己新的访问数据库的方法。在n e t f r a m e w o r k 中,为了实现对数据的访问,可以利用n e t 框架的a c t i v e x 数据 对象( a d o n e t ) 来实现。a d o n e t 是一组提供数据访问服务的类,它提供了对 数据库数据、x m l 中的数据和应用程序数据的访问;而且所有的访问都是按照 一个相容的,标准化的设计模式来进行。 2 3 2 1a d o n e t 的体系结构 a d o n e t 由一个对象集合组成,其中些对象是全新的,而其他一些是从 a d o 巾发展来的,它们之间的最主要区别在于现在只用一种方法就可以完成任 第8 更共7 0 页 第二章n e t 框架及其开发技术 务。a d o n e t 中所包含的主要对象如图2 2 所示 图2 2a d o n e t 框图 2 3 2 2a d o n e t 中的组件 a d o n e t 有效地从数据操作中将数据访问分解为多个可以单独使用或一 前一后使用的不连续组件。a d o n e t 包含用于连接到数据库、执行命令和检索 结果的n e t 数据提供程序,它是一组包括c o n n e c 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 h d a p t e r 对象在内的组件:同时既可以直接处理捡索到的结果,也可以 将其放入a d o n e t 中的另一核心组件:d a t a s e t 中。 d a t a s e t 是a d o n e t 的断开式结构的核心组件。相对于a d o ,d a t a s e t 是 在a d o n e t 中加入的全新对象,使用该对象的目的是为了实现独立于任何数 据源的数据访问。因此,它可以用于多种不同的数据源,d a t a s e t 包含一个或 多个的集合,这些d a t a t a b l e 对象中可以包含主键、外键、约束等信息, d a t a t a b l e 对象之间还可以包含关系信息等。所以,可以将d a t a s e t 组件看做 是一个脱机的、保存在内存中的、由多个数据源提供其数据的微型关系数据 库。 a d o n e t 结构的另一个核心元素是n e t 数据提供程序,其目的是为了实 现数据操作和对数据的快速、只进、只读访问,为此包含了几个对 象:c o n n e c t i o n 对象提供与各种不同类型数据源的连接:c o m m a n d 对象能够访 问用于返回数据、修改数据、运行存储过程以及发送或检索参数信息的数据 库命令,其包含的可选p a r a m e t e r s 集合中可以定义数据库命令或存储过程的 第9 页共7 0 页 华南师范大学硕士学位论文 参数:d a t a r e a d e r 从数据源中提供高性能的数据流,以便对数据进行快速、只 进、只读访问:最后,d a t a a d a p t e r 提供连接d a t a s e t 对象和数据源的桥梁。 d a t a a d a p t e r 使用s e l e c t c o m m a n d 对象在数据源中执行s o l 命令,以便将数据 加载到d a t a s e t 中,并可以使用i n s e r t c o m m a n d ,u p d a t e c o m m a n d 或d e l e t e c o m m a n d 对象将d a t a s e t 中数据的更改返回到数据源中。可以为任何数据 源编写n e t 数据提供程序,在n e t 框架中附带了两个n e t 数据提供程序:s o l s e r v e r n e t 数据提供程序和o l ed b n e t 数据提供程序。 2 3 2 3 n e t 数据提供程序 n e t 框架带有两个标准的数据提供者:s q ls e r v e r n e t 数据提供程序( 用 于m i c r o s o f ts o l s e r v e r 版本7 0 或更高版本) 和o l ed b n e t 数据提供程序。 s o ls e r v e r n e t 数据提供者使用自然s o ls e r v e r 协议直接与s o ls e r v e r 进行通讯。由于经过了优化,可以直接访问s o ls e r v e r 丽不用添加o l ed b 或开放式数据库连接( o d b c ) 层,因此能够提供最快的数据访问性能。o l e d b n e t 数据提供程序通过o l ed b 服务组件( 它提供连接池和事务服务) 和数 据源的o l ed b 提供程序与o l ed b 数据源进行通讯。 图2 3 数据提供者的工作过程 若要使用s o ls e r v e r n e t 数据提供程序,必须具有对m i c r o s o f t s q l s e r v e r7 0 或更高版本的访问权。s o ls e r v e r n e t 数据提供程序类位于 s y s t e m d a t a s q l c l i e n t 命名空间。为在应用程序中使用s q ls e r v e r n e t 第l o 页共7 0 页 第二章,n e t 框架及其开发技术 数据提供程序,应使用”i m p o r t ss y s t e m d a t a s q c 1 i e n t ”命令包含该命 名空间。 若要使用o l ed b n e t 数据提供程序,所使用的o l ed b 提供程序必须支 持o l ed b n e t 数据提供程序所使用的o l ed b 接口。以下三个o l ed b 提供 程序是在a d o n e t 中已进行测试的提供程序: s o l o l e d b :用于s o ls e r v e r 的m i c r o s o f to l 。ed b 提供程序 m s d a o r a :用于o r a c l e 的m i c r o s o f to l ed b 提供程序 m i c r o s o f t j e t o l e d b 4 0 :用于m i c r o s o f tj e t 的o l ed b 提供程序 o l ed b 。n e t 数据提供程序类位于s y s t e m d a t a o l e d b 命名空。为在应用 程序中使用o l ed b 数据提供程序,应使用“i m p o r t ss y s t e m d a t a o l e d b “命 令包含该命名空间。 2 3 2 4d a t a s e t 对象 d a t a s e t 对象是支持a d o n e t 的断开式、分布式数据方案的核心对象。它 具有以下几个特点: d a t a s e t 是数据的内存驻留表示形式,无论数据源是什么,它都会提 供一致的关系编程模型。 d a t a s e t 可以用于多个不同的数据源。 d a t a s e t 是包括相关表的集合、表中的约束和表间关系在内的整个数据 集。 在图2 4 中可以看出d a t a s e t 中包含的各集合和对象之间的关系,下面 分别进行介绍。 d a t a t a b l e 集合 图2 - 4 数据集命名空间 第1 l 页共7 0 页 华南师范大学硕士学位论文 d a t a s e t 对象中可以包含任意数量的d a t a t a b l e ( 数据表) 对象所表示的表 的集合,它们都包含在d a t a t a b l e 集合中。 d a t a t a b l e 在s y s t e m d a t a 命名空间中定义,表示驻留在内存中的数据 表。它包含着d a t a c o l u m n ( 数据列) 集合所表示的列集合和c o n s t r a i n t ( 数据 约束) 集合所表示的约束集合,这些列和约束一起定义了该表的逻辑结构。 d a t a t a b l e 中还包含d a t a r o w ( 数据行) 集合所表示的行集合,d a t a r o w 集合则 包含表中的数据行。 d a t a r e t a t i o n 集合 o a t a s e t 在其d a t a r e l a t i o n 集合中包含关系。关系由d a t a r e l a t i o n 对象 来表示,它使一个d a t a t a b l e 中的行与另一个d a t a t a b l e 中的行相关联。关 系类似于关系数据库中的主键列和外键列之间的联接路径。d a t a r e l a t i o n 对 象可以标识d a t a t a b l e 集合中两个数据表的匹配列。 使用关系能够在d a t a s e t 中从一个表导航至另一个表。d a t a r e l a t i o n 的基 本元素为关系的名称、相关表的名称以及每个表中的相关列。当关系被添加 至u d a t a r e l a t i o n 集合中时,如果对相关列值作出更改,则该关系可能会选择 添加一个u n i q u e k e y c o n s t r a i n t ( 唯一键约束) 和一介o r e i g n k e y c o n s t r a i n t ( 外键约束) 来实现强制完整性约束。 2 3 ,2 5a d o n e t 中的事务处理 图2 5a d o n e t 中的事务处理 在a d o n e t 5 h 进行事务处理与其在s q l 中的相同:开始一个事务处理然后 第1 2 页共7 0 页 第二罩n e t 框架及其开发技术 根据条件,要么提交该事务要么返回它。当a d o n e t 中需要事务处理时, c o n n e c t i o n 对外提供一个事务处理对象。然后该对象与每一个c o m m a n d 对象一 起被使用,而且这些c o m m a n d 对象都是希望包含在事务处理中的。它们之间的 关系如图2 5 所示。 2 4 使用缓存 利用a s p n e t 的缓存功能有助于生成高性能的w e b 应用程序,缓存的目 的是能够在首次请求某些信息时将这些信息存储在内存中,这可以使w e b 服 务器避免重新创建满足先前请求的信息。a s p n e t 提供了两种缓存类型。第一 种叫输出缓存,它允许将w e b 服务器响应请求所产生的信息存储在输出流中 任何具各h t t pi 1 缓存功能的设备上。第二种类型的缓存是传统的应用程 序数据缓存,可以使用它以编程方式将任意对象存储到w e b 服务器内存。 2 4 i 缓存a s p n e t 页 a s p n e t 可以在具有h t t pi i 功能的设备的内存中( 包括浏览器、代理 服务器和w e b 服务器) 缓存动态页的全部内容。在何处缓存页面在很大程度上 将影响到w e b 程序的安全性。对某些安全性要求较高的页面只应缓存在w e b 服务器中,而其他的页面则可以缓存在任何具有缓存功能的设备上。 a s p n e t 的缓存功能还具有存储页面的多个响应版本的能力,即可以根据 与用户请求一起传递到w e b 服务器上的查询字符串的不同分别缓存同一页面 的不同版本,并在后面用户再次请求时根据用户的请求输出相应的缓存版本。 2 4 2 缓存部分a s p n e t 页 可以利用a s p n e t 的部分缓存功能缓存页的部分而非全部。可以通过在 w e b 窗体用户控件中创建需要缓存的对象以便将它们从页的其他部分分离出 来,然后在一段指定的时间中对这些项进行缓存,以节省服务器资源。这项 技术允许将需要花费大量处理器时间来创建的页的某些部分( 例如数据库查 询) 与页的其他部分分离开,同时那些需要较少服务器资源的页的部分可以选 择允许为每个请求动态生成。 2 4 3 缓存应用程序数据 在a s p n e t 中提供了一个强大的、便于使用的缓存机制。它允许将需要 第1 3 页共7 0 页 华南师范大学硕士学位论文 ii ii i i i i i i i e i i i i i i i i i i i 大量的服务器资源创建的对象进行缓存。它是由c a c h e 类实现的,通过使用 键值对,可以将值放置在c a c h e 中对应的键中并在以后检索或修改它们。 c a c h e 类提供一个简单的接口来定义缓存设置:只需要指定与项的值一起 存储的项的键即可以返回以o b j e c t 类型表示的项的值:提供强大的功能允许 定义如何缓存项以及将它们缓存多长时间( 即定义何时将它移出内存) :当缺 乏系统内存时,缓存自动移除很少使用的或不重要的项以释放内存。 2 5x m lw e b 服务 w e b 服务是创建可互操作的分布式应用程序的新平台,它完全基于x m l 和 x s d 等独立于平台及软件供应商的标准,因此可以实现夸平台的互操作。从核 心来看,n e t 建立在w e b 服务之上,并服务于w e b 服务。w e b 服务是封装为 单个实体并发布到网络上供其他程序使用的功能集合,是用于创建开放分布 式系统的构件。w e b 服务是下一代的w w w ,允许在w e b 站点上放置可编程的元 素,可实现基于w e b 的分布式计算和处理。w e b 服务是一种可以用标准 i n t e r n e t 协议访问的可编程应用逻辑,有关机器间和应用程序问透明通信月 借助于w e b 的标准的具体实现。 2 5 1w e b 服务的体系结构 w e bs e r v i c e 通过定义一组可以通过i n t e r n e t 调用的相关的应用逻辑以 公开并统一的方式提供给外界使用。w e b 服务是独立的模块化应用,能够通过 w w w 描述、发布、定位及调用,是一种构建开放的分布式应用程序的模型,它 能在所有支持i n t e r n e t 通信的操作系统上实现。 w e bs e r v i c e 与前几代中问件技术的不同之处在于w e bs e r v i c e 是利用基 于文本的消息传送模式进行通信,这就使得这些服务程序可以在众多不同的 平台上有效操作。 w e bs e r v i c e 体系结构描述了三个角色:服务提供者( s e r v i c ep r o v i d e r ) 、 服务代理者( s e r v i c eb r o k e r ) 和服务请求者( s e r v i c er e q u e s t ) 。 图2 - 6 图示了这些操作、提供这些操作的组件及它们之间的交互 1 。 薷1 4 页共7 0 页 第二章n e t 框架及其开发技术 图2 - 6w e b 服务体系结构 w e bs e r v i c e 的所有协议都基于标准的w e b 协议,诸如:h t t p ,扩展的 标记语言x m l ,简单对象访问协议s o a p ,w e b 服务描述语言w s d l ,通用描述、 发现与集成u d d i 等。 2

温馨提示

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

评论

0/150

提交评论