




已阅读5页,还剩46页未读, 继续免费阅读
(控制理论与控制工程专业论文)基于net的科研管理系统及ajax应用研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
i 华 中 科 技 大 学 硕 士 学 位 论 文 摘要摘要 随着科技的发展, 高等院校越来越重视对教师科研信息的管理。 如何利用 internet 网在高校建立起科学的管理系统, 提高学校科研管理能力是我们需要深入探讨的一个 重要课题。 针对我校近年来科研管理的实际情况,开发了基于浏览器/服务器模式的科研管 理系统,使学校的科研管理工作能够快速、方便、准确、安全地得以实现,从而保障 高校科研管理科学化、规范化和高效化。 本文在对.net 关键技术分析的基础上, 对科研管理系统的体系结构以及 ajax 技 术在本系统中的应用进行探讨,主要分析了.net 开发平台的体系结构及 ado.net 数据库访问技术在科研管理系统中的应用; 并通过对科研管理系统的系统需求进行分 析,针对不同的用户赋予不同的数据权限和功能权限,使其在系统中只能执行特定的 功能与操作;文章分析了 ajax 技术在系统中的应用,阐述了该技术在提高用户体验 方面的作用,同时分析了 asp.net ajax 技术在 web 中的应用。 该系统的主要模块有项目管理子系统、经费管理子系统、论著管理子系统以及用 户管理,实现了科研项目的查询统计、项目经费的查询统计以及论著的录入和查询功 能,为学校教师、系科研秘书、科技处管理人员在处理科研信息方面提供了方便,推 动了学校的科研信息化进程, 该系统为以后系统的全面升级或者开发更全面的科研管 理系统奠定了技术基础。 关键字:关键字:科研管理系统 浏览器/服务器 .net ajax ii 华 中 科 技 大 学 硕 士 学 位 论 文 abstract with the development of technology, colleges and universities pay more importance to the management of scientific information. how to make use of internet to develop a scientific management system in colleges and universities is a key problem that we need further discussion. in view of the existing situation of the scientific management in huazhong universtiy of science and technology, this thesis develops a scientific management system based on browser/server mode to ensure that scientific research management in our university can be achieved swiftly, accurately and safely in the university, which in turn results in scientific, standardized and efficient scientific research management in our university. on the basis of key technology for .net, this thesis discusses the architecture of scientific research management system and .net platform, and the application of ado.net database access technology and ajax technology in this system. through the system demand analysis of the scientific management system, the system grants different login users different data authority and function privilege, finally, the thesis highlights the application of ajax technology in the system , which brings the users better consumers experience, and the meantime, the application of ajax technology on web is analyzed. the main modules constituted in the system are project management subsystem, funds management subsystem, paper and monograph management subsystem and user management subsystem, it realizes the inquiry statistics of scientific research projects, the inquiry statistics of project funds, the information import and inquiry statistics of thesis &monograph. this system provides convenience for teachers, secretaries, administrative staff of scientific & research department in handling scientific information. in addition, the system promotes colleges process of scientific research it and lays a technological foundation for upgrading the system in the future or develops a more perfect system. keywords:scientific research management system browser/server .net ajax 独创性声明独创性声明 本人声明所呈交的学位论文是我个人在导师的指导下进行的研究工作及取得的 研究成果。尽我所知,除文中已标明引用的内容外,本论文不包含任何其他个人或 集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在 文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名: 日期: 年 月 日 学位论文版权使用授权书学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权保 留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。 本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检 索,可以采用影印、缩印或扫描等复制手段保存和汇编学位论文。 保密,在 年解密后适用本授权书。 本论文属于 不保密。 (请再以上方框内打“”) 学位论文作者签名: 指导教师签名: 日期: 年 月 日 日期: 年 月 日 1 华 中 科 技 大 学 硕 士 学 位 论 文 1 绪论绪论 1.1 课题背景、目的和意义课题背景、目的和意义 普通高校的科技处的职能是主管本校科学研究工作的职能部门,主要职能为:拟 定全校科学研究、对外科技服务和学术交流的中长期规划;组织协调全校的科学研究 和学术活动;规划和管理各类科研课题,合理配置学校科研资源,组织实施重大科研 攻关项目; 负责学校学科建设规划, 组织重点学科建设工作; 组织优秀科研成果评奖; 管理校属各研究所和刊物编辑部等重要工作1。而科研能力恰恰又是衡量学校的一项 综合指标,科研管理是连接科研项目单位和科研人员的桥梁,借助什么样的平台与科 学的管理办法才可以提高科研管理服务的现代化、规范化就显的尤为重要了。 目前,高校科研部门日常工作的计算机管理都具备了一定的基础,但各个学院使 用的是基于 c/s 的科研管理系统,使用者仅仅局限与科技处、院系科研秘书,而各院 系、 研究所的教师以及科研人员不能共享系统中的科技信息2, 此外考虑到 c/s 模式 速度快、功能强大、利于分析处理大量数据、数据处理更安全、实现数据共享更可靠 等因素,在学校内部各部门和科研处内部各终端采用 c/s 模式进行系统设计;但是 c/s 模式不易于接入 internet、跨平台性差、缺乏开放性、不易与其它系统进行信息 交流,故采用 b/s 模式来设计对外信息系统设计,实现网络信息化共享和传递。 科研管理是高等学校管理工作中一项极为重要的内容, 科研管理水平的高低反映 了一个学校的整体实力和对外形象。对于一个综合性高校来说,学科门类多、科研项 目成果所涉及的科学领域较广、数量也比较多。采用计算机管理是最科学和最有效的 方法,在这种要求下,探讨科研管理系统的设计技术,研究如何建立一个既满足科研 管理部门管理的需要,又能为科研人员提供方便的服务,并为其它系统提供必要的信 息,进行及时的数据交换的系统,不仅是科研部门管理的需要,而且是校园信息化建 设的需要3。 本文主要来源于本校立项的校级课题高校科研管理信息系统的设计和实现, 目的实在学校现有的管理体制的基础上开发一套符合教育管理规范、 先进实用的符合 本校具体实际的科研管理信息系统,为使用者提供更快速、灵活、详尽的服务,提高 管理工作效率,以解决目前高校科研管理工作面临的困难4。 2 华 中 科 技 大 学 硕 士 学 位 论 文 1.2 国内外研究概况国内外研究概况 1.2.1 管理信息系统介绍管理信息系统介绍 管理信息系统 mis(management information system)是从 20 世纪 60 年代发展起 来的5。关于管理信息系统的定义,百度百科定义为:所谓 mis(管理信息系统 management information system)系统67,是一个由人、计算机及其他外围设备等组 成的能进行信息的收集、传递、存贮、加工、维护和使用的系统。它是一门新兴的科 学,其主要任务是最大限度的利用现代计算机及网络通讯技术加强企业的信息管理, 通过对企业拥有的人力、物力、财力、设备、技术等资源的调查了解,建立正确的数 据,加工处理并编制成各种信息资料及时提供给管理人员,以便进行正确的决策,不 断提高企业的管理水平和经济效益。 完善的管理信息系统具有以下四个标准:确定的信息需求、信息的可采集与可加 工、可以通过程序为管理人员提供信息、可以对信息进行管理。具有统一规划的数据 库是管理信息系统成熟的重要标志,它象征着管理信息系统是软件工程的产物。通过 管理信息系统实现信息增值,用数学模型统计分析数据,实现辅助决策。管理信息系 统是发展变化的,管理信息系统有生命周期。管理信息系统是一体化系统或称之为集 成化系统,管理信息系统进行企业信息管理是从总体目标出发,全面考虑,保证各个 职能部门能够有效合理的信息共享, 减少数据的冗余度, 保证数据的兼容性和一致性。 管理信息系统主要具有数据处理、计划、控制、预测和决策的功能。 1)数据处理功能。管理信息系统能对各种形式的管理与生产原始数据进行处理, 从而为管理人员提供准确的所需要的各类信息。 2)计划功能。能够对管理和生产合理地安排计划,提高生产和管理工作效率。 3)控制功能。对企业生产和经营的各个部门和环节的运行情况加以监控,发现 问题及时纠正。 4)预测和决策功能。利用各种数学模型和优化方法,对企业未来进行预测,并 能为企业决策者提供辅助决策方案。 管理信息系统的基本特点,概括起来可以有以下几个方面: 1)管理信息系统是一个人机系统:利用计算机强大的处理和存储能力,这既是 管理现代化的客观要求,也是管理信息系统的基本特点。但是,人在利用计算机的同 3 华 中 科 技 大 学 硕 士 学 位 论 文 时,必须考虑到各自的特长,使管理信息系统成为一个人机协调的系统。 2)管理信息系统是一个人机一体化的集成系统:管理信息系统是以系统思想为 指导进行设计和建立的。因此保证了整个系统的统一和协调,使得系统中的数据具有 一致性和共享性。 现代的网络技术和数据库技术是实现管理信息系统一体化的重要技 术基础。 3)数据库的应用:具有集中统一规划的数据库是现代管理信息的重要特点。它 标志着管理信息系统真正实现了数据的集中统一,使数据成为各种用户共享的资源。 4)数学模型的应用:在管理信息系统中利用计算机的计算功能和判断能力来分 析数据,进行预测和辅助决策,是管理信息系统的又一显著特点,通过应用数学模型 可以为管理人员进行最佳决策提供必要的信息。 1.2.2 管理信息系统的发展阶段管理信息系统的发展阶段 管理信息系统在历史上主要有 3 个发展阶段: 1)产生阶段 计算机数据处理或电子数据处理(electric data processing, edp)阶段。从 20 世 纪 50 年代到 60 年代。以单项事物处理为主,如工资核算、物资管理等。由于处理效 率不高,主要是减轻工作强度。这个阶段的处理方式是集中式的批处理。 2)发展阶段 管理信息系统(management information system, mis)阶段。主要在 20 世纪 70 年代。 这一时期管理信息系统由单一的业务数据处理发展成为功能比较完善的综合性 的管理信息系统,在系统和整体性方面有了进一步发展。数据处理方式已发展为面向 终端的联机处理。 3)成熟阶段 决策支持系统(decision support system, dss)发展阶段 89。美国学者 msmorton 于 70 年代提出,但其理论与应用方面的迅速发展却在 80 年代以后。 管理信息系统的基本理论和解决问题的方法渐趋完善和规范化。 向充分利用人工智能 技术的方向发展,多种类型的实用系统必将大量地投入使用。 1.2.3 管理信息系统的发展方向管理信息系统的发展方向 随着科学技术的发展和管理水平的提高,无论在深度上还是在广度上,管理信息 4 华 中 科 技 大 学 硕 士 学 位 论 文 系统都有着广阔的发展前景。 管理信息系统理论的发展正朝着以下几个方向的发展: 1)管理信息系统研制方法的进一步系统化的研究; 2)管理信息系统研制工具的进一步改善和完善的研究; 3)管理信息系统模型的进一步研究; 4)管理信息系统对人、组织和社会影响的进一步研究。 管理信息系统在实际应用上的发展概括起来说是向着高层次和普及性两个方向 发展。从普及性方面来说,随着微型计算机功能的增强和广泛应用,以微型计算机为 主要信息处理工具的、功能完善的管理信息系统将越来越多地受到各级管理者的欢 迎,并且要逐渐地向着用于支持个人独立思考和决策活动的方向发展。 从管理信息系统应用的高层次上来讲, 以大型计算机为中央处理机的分布式管理 信息系统也将是一个重要的发展方向,利用微型计算机和大型主机联网,可以为管理 者提供更加广泛的信息和决策支持。另外,各种类型的专家系统、人工智能系统、决 策支持系统也将得到进一步的研究和发展,并逐渐走进应用领域。 从管理信息系统的体系结构看,传统的管理信息系统一般采用两层 c/s 结构,这 种结构集中了大中型系统及文件服务器的优点,并有良好的系统开放性和扩展性,它 一般应用于局域网。但是,随着信息的全球化,区域的界限己经被打破,人们已经越 来越不满足于只在一个小的区域内共享信息,尤其是近年来的电子商务在 internet 的 兴起, 已成为一种强大的驱动力, 迫使 c/s 模式从局域网(lan)向广域网(wan)延伸。 如今,internet 已经成为全球最大的网络互连环境,在 internet 的环境下实现数据的 b/s 计算模式正是目前的流行趋势。 1.2.4 国内科研管理信息系统的发展国内科研管理信息系统的发展 目前,对管理信息系统的研究,多集中在企业领域,因此,企业一级的管理信息 系统的发展要比高校的科研管理信息系统的发展成熟和领先得多10。 但实际上随着信 息化的普及、 信息技术带给现实世界的冲击力的加大和高等院校在经济社会中的作用 的凸显,在国际上高校的科研管理信息系统的使用已经非常普遍,并且已经实现了网 络化的管理,但是在我国,高校的科研管理系统则相对发展的比较缓慢11。 早期的高校科研管理基本上是采用手工作业, 信息的交换和发布主要采用纸质形 式完成。 5 华 中 科 技 大 学 硕 士 学 位 论 文 90 年代早期, 高校科研管理的要求还不是很高, 科研管理人员接借助 word、 excel 等办公软件进行管理。 90 年代中期,随着高校招生规模的扩大,科研业务管理工作逐渐细化,单机处 理的模式已经逐渐满足不了工作的需要, 这个时期逐步出现了具有计算机分布处理功 能的科研管理信息系统。 90 年代末期,随着网络技术的飞速发展,高校的科研管理也随之有了新的发展 空间,这个时期出现了一些借助于 web 技术运行于局域网的具有查询功能的科研管 理信息系统。 1.3 论文内容安排论文内容安排 本论文共分为五章。各个章节的主要内容如下: 第一章是绪论。主要简单介绍研究该课题的研究背景、目的与意义以及本文的内 容安排。 第二章是系统的相关技术。主要介绍了.net 平台技术架构、数据库访问技术以 及 ajax 技术的基本概念。 第三章是系统的体系架构。 首先介绍了系统的需求分析以及主要模块的功能行要 求,接着介绍了数据库的设计,最后对系统的开发环境进行介绍。 第四章是系统的具体实现。本文首先介绍了系统的配置,接着对主要功能模块进 行详细的介绍,最后介绍了 ajax 技术在本系统中应用的几个实例。 第五章是结束语。主要对全文进行总结,同时展望了一下 ajax 技术在未来的使 用。 6 华 中 科 技 大 学 硕 士 学 位 论 文 2 相关技术分析相关技术分析 本章首先介绍.net 平台技术的一些基本知识,接着讲解了 ajax 的一些基本概 论、ajax 的关键技术以及 ajax 的实现原理,最后对本章进行小结。 2.1 .net 平台技术平台技术 2.1.1 .net 概述概述 .net 是 microsoft 面向 xml web 服务的平台,这种下一代的软件将使用一种统 一、个性化的方式将我们的信息、设备和人员紧密联系在一起12。 .net 是在互联网环境中连接各种信息、系统与设备的软件架构。.net 计划的 实质是把微软所有的产品连在一起,从终端到前端,从手机软件到服务器软件全部上 网。.net 系列服务软件的最终目标是形成互联网的操作系统,进而控制其他基于此 平台上的服务应用软件。 .net 主要是由 3 部分组成13: 1).net 战略 .net 战略基于这一想法,即所有的设备在将来都会通过 internet 连接在一起, 而.net 就会成为 internet 网络上提供的一种服务。 2).net framework .net framework 为 asp.net 提供了具体的服务和技术,方便了开发人员对应 用程序的开发,同样也满足了已经连接到 internet 上用户的需要。 3)windows 服务器系统 windows 服务器系统是指像 sql server 2000 数据库一样,由.net framework 应 用程序使用的服务器产品。 2.1.2 .net 技术架构技术架构 .net 的技术架构主要包括以下几个主要组成部分: 首先是整个开发框架的基础, 由 2 个核心模块组成:通用语言运行(clr)和统一类库(class library),在开发技术方 面, .net 提供了全新的数据库访问技术 ado.net, 以及网络应用开发技术 asp.net 和 windows 编程技术 win forms;在开发语言方面,.net 提供了 vb、c+、c#以及 7 华 中 科 技 大 学 硕 士 学 位 论 文 j#等多种语言支持;而 visual studio.net 则是全面支持.net 的开发工具。.net framework 的层次结构图如图 2-1 所示: vb.netc#c+j# asp.net(web forms& web services)windows forms ado.net (data&xml) class library common language runtime 图 2-1 .net framework 的层次结构 1)公共语言运行 clr 公共语言运行 clr (common language runtime)是整个 microsoft .net 框架 赖以存在的基础,它为 microsoft .net 应用程序提供了一个托管的代码执行环境。它 实际上是驻留在内存中的一段代理代码, 主要负责应用程序在整个执行期间的代码管 理工作,比较典型的有内存管理、线程管理、安全管理、远程管理、即时编译和代码 强制安全类型检查等等。 2).net 类库 .net framework 类库是一个与公共语言运行库紧密集成的可重用的类型集合。 该类库是面向对象的,并提供了在托管代码中实现导出功能的类型。此外,第三方组 件还可以与.net framework 中的类无缝集成。 2.1.3 .net 应用程序开发技术应用程序开发技术 1)asp.net asp.net 是微软公司的 active server pages.net 的最新版本,是一种简历在公 共语言运行库上的编程框架,可用于在服务器上开发功能强大的 web 应用程序。它 8 华 中 科 技 大 学 硕 士 学 位 论 文 不但执行效率大幅度提高,对代码的控制也做的很好,并且支持 web controls 功能和 多种语言,以高安全性、易管理性和高扩展性等特点著称。asp.net 是建立在.net 平台架构上,利用通用语言运行环境 clr 在服务器端为用户提供强大的企业级 web 应用服务的编程框架。asp.net 的执行过程是把编译后的公共运行环境代码充当一 个与前端浏览器和中间用户交互的应用程序,它接受用户的请求,输出 html 流到 客户端显示。以下简述 asp.net 的主要优点14: (1)直观的对象模型 一般情况下,web 服务器忽略页面中的 html 标记。从 web 服务器的角度看,这 些标记只是发送到 web 浏览器的无意义的字符串。 由浏览器(而不是服务器)执行分析 web 页面中的标记的工作。比如将bold显示为粗体。但是,将 html 标记转换 为 asp.net 控件之后,对于 web 服务器来说,这些标记不再是无意义的字符串。标 记变成了服务器对象,它具有可以在程序中操作的属性、方法、集合和事件。将标准 的 html 标记转换为服务器端对象,这样就可以通过服务器端代码操作对象的属性。 甚至可以通过程序向页面中添加新的对象或隐藏现有的对象。例如,在将用户名表单 域转换为 asp.net 控件后,可以设置或读取用户控件的 value 属性。value 属性决定 此控件显示的文本。可以编写应用逻辑来为用户名控件分配任何值。也可以编写代码 来读取 value 属性,并且将它存储到文件或数据库。在传统的 active server pages 中, 只能编写从上到下执行的页面。而 asp.net 允许编写代码来响应由某些用户动作引 发的事件。同样,这是非常直观的编程模型。 (2)视图状态 在提交用 asp.net 控件建立的表单时,所有表单域中输入的数据在表单再次出 现时都会保留下来。microsoft 将这种自动保留数据的特征称为视图状态(viewstate)。 asp.net 控件自动地保留视图状态。 如果使用简单的 html 表单,就不能利用视图状态。在使用标准的 html 表单时, 第一次提交表单和以后提交表单时的表现是完全一样的,每次都会得到表单域。视图 状态不只是应用于表单元素对应的 asp.net 控件。 所有标准的 asp.net 控件都会保 留它们的状态。例如,建立一个标准的 html标记,并将其转换为 asp.net 控 件,如所示。在这一行中添加 id 属性和 runat=server 性就可以将转换为 asp net 控件。既然标记是服务器 端控件,每次将包含此标记的 web 表单页面发送回本身时,赋值给它的所有文本都 9 华 中 科 技 大 学 硕 士 学 位 论 文 被保留下来。 (3)代码与内容分离 好的开发人员不必是好的设计人员。大多数公司将开发网站的任务分割开,分别 分派给设计组和工程组。设计组负责使网站更好看;而工程组负责使网站运转正常。 在使用以前的 active server pages 时,很难分割任务。问题是没有分离网页的应用逻 辑及其设计元素的简洁方式。设计人员常常把程序代码弄乱。工程人员也很难集成设 计元素。代码和内容在同一个页面上堆在一起。 asp.net 控件提供了分离代码(应用逻辑)和内容(页面的设计元素)的简洁方式。 设计人员可以将 asp.net 控件放入页面,将精力集中于布局和图形。设计出页面之 后,可以将它转交给工程组。由工程组将应用逻辑添加到页面的单独部分中,更好的 情况是添加到单独的文件中。设计人员可以使用一种可视化开发环境将 asp.net 页 面组合起来。可以从工具条上拖动 asp.net 控件,快速开发复杂的页面。通过使用 visual studio.net 2005 这样的工具,可以像 visual basic 或 visual c+程序员创建复 杂的 windows 表单那样设计 asp.net 页面。 (4)浏览器兼容性 asp.net 页面在服务器上执行,而不是在浏览器。当浏览器请求 asp.net 页面 时,会获得标准的 html 页面。这意味着 asp.net 页面程序可以和任何浏览器兼容。 2)windows forms 传统的基于 windows 的应用(win forms)仍然是 microsoft. net 战略中不可或缺 的一部分。在 microsoft. net 中开发传统的基于 windows 的应用程序时,除了可以 利用现有的技术如 activex 控件以及丰富的 windows 接口外,还可以基于 clr(common language runtime)开发。 2.1.4 ado.net 数据库访问技术数据库访问技术 ado.net 是微软的 microsoft activex data objects(ado) 的下一代产品,是分 布式数据共享应用程序的开发接口(api),引入了 ado 所没有的面向对象结构,让 数据库应用程序的编写更加结构化。它提供对 microsoft sql server 以及 oledb 和 xml 等公开数据源的一致访问。 它是一组包括在. net 框架中的库, 用于在.net 应 用程序各种数据存储之间的通信。ado.net 库中包含了可与数据源连接、提交查询 并处理结果的类。ado.net 被设计成对于数据处理不是一直保持联机状态,而是作 10 华 中 科 技 大 学 硕 士 学 位 论 文 为一种强壮的、层次化的、断开连接的数据缓存来使用,以脱机处理数据,应用程序 只在取得数据或更新数据的时候才对数据源进行联机工作。 最主要的断开连接对象数 据集可执行对数据进行排序、搜索、筛选、存储挂起更改,并在层次化数据中进行浏 览等操作。数据集还包括很多功能,填补了传统数据访问和 xml 开发之间的空白。 使用 ado.net 开发数据库应用程序一般可以分为以下几个步骤15: 1)根据使用的数据源,确定使用哪种.net framework 数据提供程序; 2)建立与数据源的连接,使用 connection 对象; 3)把连接字符串赋值给 connection 对象的 connectionstring 属性; 4)调用 connection 对象的 open 方法以打开连接; 5)连接使用完毕调用 close 方法以关闭连接。 ado.net 提供了 2 种数据访问的模式:一种为连接模式(connected) ;另一种 为非连接模式(disconnected),后一种模式是 ado.net 中才具有的。相比于传统的数 据库访问模式,非连接的模式提供了更大的可升级性和灵活性。在该模式下,一旦应 用程序从数据源中获得所需的数据,它就断开与原数据源的连接,并将获得的数据以 xml 的形式存放在内存中,在应用程序处理完数据后,它再取得与原数据源的连接 并完成数据的更新工作16。组成 ado.net 对象模型的类如图 2-2 所示: connection command dataadapter transaction datareader parameter dataset constraint datacolumn datarow datatabledataview datarelation 连接的对象断开连接的对象 图 2-2 ado.net 对象模型的类关系 使用 datareader 对象进行基于连接的访问,使用 dataadapter 对象进行的非连 11 华 中 科 技 大 学 硕 士 学 位 论 文 接的访问。 由于这两种模式的设计目的不同,所以在应用程序开发中应该根据实际 需要选择合适的数据库访问模式以发挥出 ado.net 的最佳性能, 这对于提升应用程 序性能有着非常重要的意义。 2.2 ajax 技术简介技术简介 2.2.1 ajax 的基本概论的基本概论 ajax (asynchronous javascript and xml)是一种 web 应用程序开发的手段17, 它采用客户端脚本与 web 服务器交换数据。所以,不必采用会中断交互的完整页面 刷新,就可以动态地更新 web 页面。使用 ajax,可以创建更加丰富、更加动态的 web 应用程序用户界面, 其即时性与可用性甚至能够接近本机桌面应用程序。 这使得 web 应用的交互性得到了前所未有的提高,大大增强了应用的实用性和实时性18。 ajax 的核心理念在于使用 xmlhttprequest 对象发送异步请求19,最初为 xmlhttprequest 对象提供浏览器支持的是微软公司。在 internet explorer 5 中首次引 入,它是一种支持异步请求的技术。简而言之,xmlhttprequest 可以使用 javascript 向服务器提出请求并处理响应,而不阻塞用户。 传统的 web 应用允许用户填写表单(form),当提交表单时就向 web 服务器发送 一个请求。服务器接收并处理传来的表单,然后返回一个新的网页。这个做法浪费了 许多带宽,因为在前后两个页面中的大部分 html 代码往往是相同的。由于每次应 用的交互都需要向服务器发送请求,应用的响应时间就依赖于服务器的响应时间。这 导致了用户界面的响应比本地应用慢得多。 与此不同,ajax 应用可以仅向服务器发送并取回必需的数据20 21,它使用一些 基于 xml 的 web service 接口,并在客户端采用 javascript 处理来自服务器的响应。 因为在服务器和浏览器之间交换的数据大量减少,结果我们就能看到响应更快的应 用。同时很多的处理工作可以在发出请求的客户端机器上完成,所以 web 服务器的 处理时间也减少了。 2.2.2 ajax 的相关技术的相关技术 ajax 不是一种技术,而是集中技术。每种技术都具有独特之处,合在一起就形 成了一个强大的新技术,其中最关键的是 xmlhttprequest、javascript、dom 和 12 华 中 科 技 大 学 硕 士 学 位 论 文 xml22。 1)xmlhttprequest ajax 最大的特点是无需刷新页面便可向服务器传输或读写数据,即无刷新更新 页面,这一特点主要得益于 xmlhttp 组件 xmlhttprequest 对象。这样就可以像桌 面应用程序一样,只同服务器进行数据层面的交换,而不用每次都刷新界面,也不用 每次将数据处理的工作提交给服务器来做, 这样即减轻了服务器的负担又加快了响应 速度,缩短了用户等候时间。 2)javascript javascript 是一种基于对象和事件驱动具有较高安全性能的基于客户端浏览器的 脚本语言,在浏览器端经常被大量使用23。使用 javascript 的目的是与 html 超文本 标识语言、 css 一起在网页上实现与网络用户更加复杂的交互, 从而适合开发客户端 的应用程序。它通过在标准的 html 语言中嵌入或调入实现功能。 简单地说,javascript 是一种基于对象的、简单的、安全的、跨平台的脚本语言。 所以,javascript 最大的特点在于能够在客户端浏览器运行,可以充分利用客户端的 运算能力,来减轻服务器负载和网络的流量。 3)dom dom(document object model,文档对象模型)是一种用来表示 xml 结构的层 次型数据结构。javascript 可以访问到浏览器提供的当前页面的 dom 对象,并通过 对其操作来间接地改变该页面的内容和结构。 4)xml xml(extensible markup language)是具有一种开放的、可扩展的、可自描述的 语言结构,它已经成为网上数据和文档传输的标准。它是用来描述数据结构的一种语 言,正如它的名字一样,它使对某些结构化数据的定义更加容易,并且可以通过它和 其它应用程序交换数据。 目前,xml 已经成为最普遍的数据操纵和数据传输的方式。在基于 ajax 技术的 b/s 中,大部分结构化的数据就是通过 xml 的来传输和交换的。但是并不是所有的 数据都适合以 xml 格式来传输,因为数据量大到一定程度的时候,将数据序列化成 xml 以及解析这些 xml 将变得非常困难,需要消耗巨大的系统资源以及时间。另 外,有些信息根本没有必要序列化成 xml,比如返回一个删除成功的消息。 13 华 中 科 技 大 学 硕 士 学 位 论 文 2.2.3 ajax 实现原理实现原理 ajax 的工作原理相当于在用户和服务器之间加了一个中间层,使用户操作与服 务器响应异步化24。 将以前一些服务器负担的工作转移到客户端, 利用客户端闲置的 处理能力来进行处理,而不是把所有的用户请求都提交给服务器,例如一些数据验证 和数据处理工作都可以交由 ajax 引擎完成,只有确定需要从服务器读取新数据时再 由 ajax 引擎代为向服务器提交请求。ajax 是传统 web 应用程序的一个转变,主要 体现在处理客户端请求和交互模式两个方面25。 1)ajax 处理客户端请求 在传统的 b/s 交互模式中(如用户提交表单),是由用户触发一个 http 请求到服 务器,服务器对其进行接受并进行处理后再返回一个新的 html 页面到客户端。每 当服务器处理客户端提交的请求时,客户只能空闲等待,并且即使只是一次很小的交 互,只需从服务器端得到很简单的一个数据,都要返回一个完整的 html 页,而用 户每次都要浪费时间和带宽去重新读取整个页面。这种做法实际上是一种浪费,因为 在前后两个页面中的大部分 html 代码往往是相同的。由于每次应用的交互都需要 向服务器发送请求,应用的响应时间就依赖于服务器的响应时间。这就导致了用户界 面的响应比本地应用慢得多,产生了一定程度的滞后效应。 与此不同,如图 2-3 所示。ajax 采用的是“按需取数据”的模式26,可以仅向 服务器发送并取回必需的数据, 所以最大可能在减少了冗余请求和响影对服务器造成 的负担;它使用 soap 或其它一些基于 xml 的 web service 接口,在客户端采用 javascript 处理来自服务器的响应。这样,在服务器和浏览器之间交换的数据就会大 量减少,用户就能看到响应更快的应用,用户可以感觉到几乎所有的操作都会很快响 应没有页面重载的等待。 同时, 很多的处理工作可以在发出请求的客户端机器上完成, 大大减轻 web 服务器的负担和处理时间。 14 华 中 科 技 大 学 硕 士 学 位 论 文 用户界面 浏览器端 http服务器 应用服务器,数据库服务器 服务器端 http请求html+css数据 传统web应用模型 服务器端 http服务器 应用服务器,数据库服务器 http请求xml数据 ajax web应用模式 浏览器端 用户界面 ajax引擎 图 2-3 传统模式与 ajax 模式体系结构 2)ajax 应用交互模式 传统的 web 应用采用同步交互过程,如图 2-4 所示。这种情况下,用户首先向 http 服务器触发一个行为或请求。反过来,服务器执行某些任务,再向请求的用户 返回一个 html 页面。这是一种不连贯的用户体验,服务器在处理请求的时候,用 户多数时间处于等待的状态, 屏幕内容也是一片空白。 与传统的 web 应用不同, ajax 采用异步交互过程27,如图 2-5 所示28。ajax 在用户与服务器之间引入一个 ajax 引 擎,web 页面不用打断交互流程进行重新加载,就可以动态地更新,从而消除了网络 交互过程中的处理等待处理等待缺点。 用户的浏览器在执行任务时即装 载了 ajax 引擎 。ajax 引擎用 javascript 语言编写,通常藏在一个隐藏的框架中。它 负责编译用户界面及与服务器之间的交互。ajax 引擎允许用户与应用软件之间的交 互过程异步进行,独立于用户与网络服务器间的交流。现在,可以用 javascript 调用 ajax 引擎来代替产生一个 http 的用户动作,内存中的数据编辑、页面导航、数据 校验这些不需要重新载入整个页面的需求可以交给 ajax 来执行。 15 华 中 科 技 大 学 硕 士 学 位 论 文 错误1 错误2 用 户 和 浏 览 器 服 务 器 输入url 生成html 填写表单 验证 更正 验证 更正 成功 图 2-4 同步的 web 交互模型 填写字段1填写字段2填写字段3更正 异步验证 错误1 错误2 输入url用 户 浏 览 器 服 务 器 成功 验证字段2验证字段1 错 误 信 息 生成html表单 图 2-5 异步的 web 交互模型 2.2.4 ajax 的优势与不足的优势与不足 从以上的介绍中,我们很容易看出 ajax 有如下优势: 1)减轻服务器的负担。ajax 的原则是“按需取数据” ,可以最大程度的减少冗 余请求,和响应对服务器造成的负担; 2)无刷新更新页面,减少用户心理和实际的等待时间。特别的,当要读取大量 的数据的时候,不用像 reload 那样出现白屏的情况,ajax 使用 xmlhttp 对象发送 请求并得到服务器响应,在不重新载入整个页面的情况下用 javascript 操作 dom 最 终更新页面。所以在读取数据的过程中,用户所面对的不是白屏,是原来的页面内容 (也可以加一个 loading 的提示框让用户知道处于读取数据过程),只有当数据接收完 毕之后才更新相应部分的内容。这种更新是瞬间的,用户几乎感觉不到29; 3)可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来 处理,减轻服务器和带宽的负担,充分利用带宽资源,节约空间和宽带租用成本30; 4)带来更好的用户体验。 16 华 中 科 技 大 学 硕 士 学 位 论 文 然而,同所有其他技术一样,ajax 同样有许多不足之处31: 1)每种浏览器中提供的 dom 模型均有轻微的差异,所以在编写跨浏览器的客 户端应用程序时往往会非常困难; 2)由于大部分表示层以及少部分业务逻辑层均被一到客户端用 javascript 实现, 这就使客户端代码量急剧增大,但 javascript 从语言层面上并没有完善的面向对象支 持,这往往使客户端代码的质量无法保证; 3)ajax 的无刷新重载,由于页面的变化没有刷新重载那么明显,所以容易给用 户带来困扰一一用户不太清楚现在的数据是新的还是己经更新过的;现有的解决有: 在相关位置提示、数据更新的区域设计得比较明显、数据更新后给用户提示等; 4)当前并没有非常成熟的用来开发、调试 javascript 的 ide。 2.3 本章小结本章小结 本章对实现该系统的两种关键技术进行了介绍,首先介绍了系统的开发平台,并 就数据库访问技术进行详细阐述;接着讲述了一下有关 ajax 的一些基础概念。下一 章将就系统的体系架构进行详细论述。 17 华 中 科 技 大 学 硕 士 学 位 论 文 3 系统的体系架构设计系统的体系架构设计 3.1 系统需求分析系统需求分析 需求分析是软件定义时期的最后一个阶段32, 其目的是尽可能完整、 准确地捕捉 系统的功能需求和其他要求,是描述系统应该做什么,并使得开发人员和用户就这种 描述达成共识。需求分析的任务是找出系统的所有需求并加以描述,同时建立起系统 的需求模型33 。需求分析的结果是系统开发的基础,关系到工程的成败和软件产品 的质量。 需求分析阶段对系统的综合要求主要有 3 个方面:系统的功能模块要求、系统性 能要求以及系统的运行要求。 本论文的研究背景是高校科研管理信息系统,故需对系统进行系统分析。下面的 章节中会阐述系统的需求分析、系统数据库的设计以及系统的开发环境等。 3.1.1 系统的功能模块要求系统的功能模块要求 根据项目的具体要求,b/s 结构的科研管理系统主要包括以下几个方面的内容: 项目管理子系统、经费管理子系统、论著管理子系统及用户管理,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖南省长沙市浏阳市2025年三年级数学第二学期期末经典试题含解析
- 湛江市大成中学高一上学期物理期中测试题
- 2025简易场地租赁合同范本
- 食管癌的护理
- 内科护理学课件
- 2025建筑外墙施工合同范本
- 2025某地产开发项目施工合同
- 2025年芦湾村原下冲海堤开东部湾中部地块租赁合同范本
- 2025幼儿园教师聘用合同模板
- 2025年广东省职工劳动合同书模板
- 精细化工产品公司企业经营战略方案
- 缺血缺氧性脑病详解课件
- 自动打铃控制器plc课程设计
- 最新司法鉴定程序通则课件来源于司法部司法鉴定局
- 北师大版一年级英语下册期中测试卷
- 冠状动脉CT解剖详解
- 档案学概论重点知识梳理
- 地下连续墙钢筋笼起重吊装专项施工方案
- 单值和移动极差X-MR控制图
- 进口产品委托代理合同协议书范本
- 变压器容量与母排选型配合表81035
评论
0/150
提交评论