《J2EE构建远程教育平台的研究与实现.docx》由会员分享,可在线阅读,更多相关《J2EE构建远程教育平台的研究与实现.docx(74页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、电子科技大学 硕士学位论文 J2EE构建远程教育平台的研究与实现 姓名:吴晓鹏 申请学位级别:硕士 专业:计算机应用技术 指导教师:黄迪明 20020101 电子科技大学硕士学位论文 摘要 远程教育是将计算机和网络通信技术应用到教学领域的产物,对整个 教育结构产生了重大而深远的影响 J2EE所定义的开放式多层体系结构, 其技术特点很适合于构架远程教育这样一个基础平台,目前国家也大力支 持 Java技术的推广及产业化。 基于 Internet的远程教育系统是现代远程教育的方向,支持网上教学 的远程教育平台在其中扮演着重要角色。研制开发安全、易用、高效的支 撑平台,对于网上教学、网上答疑、虚拟实验
2、室、网上讨论和协同工作、 网上实时考试、课件开发及管理和教学教务管理都是必不可少的。 本文详细介绍了项目分析、设计、和实现的过程,并介绍了 J2EE构架 该平台的性能特点,并讨论了其中一些关键技术。 关键词:远程教育数据库连接池 J2EE网络考试 I 电子科技大学硕士学位论文 Abstract E-leaming comes with the computer and network communications being appliying to education. It takes a significant effect on all of the education structu
3、re. J2EE defines a openning n-tier system structure. It is fit to construct a basis flat like E-leaming, E-leaming based Internet is one way of mordem education. The basis flat is very important. A basis flat is indispensable for teaching and leamings FAQ, visual lab, examination on Internet. This a
4、rticle describes the process of project analysis, design and implementation in details. And introduces some features of the building E-leaming basis flat by J2EE and some key technology used by this project. Keyword: E-learing; Database connection pooh; J2EE; E-examination 独 创 性 声 明 本人声明所呈交的学位论文是本人在
5、导师指导下进行的研究工作 及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人己经发表或撰写过的研究成果,也不包含为 获得电子科技大学或其它教育机构的学位或证书而使用过的材料。与 我一同工作的同志对本研究所做的任何贡献均己在论文中作了明确的 说明并表示谢意。 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘, 允许论文被査阅和借阅 .本人授权电子科技大学 可以将学位论文的全 部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描 等复制手段保存、汇编学位论文。 (
6、保密的学位论文在解密后应遵守此规定 ) 电子科技大学 士学位论文 第一章前言 U现代化教育的特点 目前,我们正面临着一个全新的教育时代。互联网的高速发展和普及 , 给现代教育提供了一个新的舞台,给人们提供了更广阔的学习空间和环境。 传统的教育方式如何更好地适应网络时代的发展,是教育领域面临的重大机 遇和挑战! 20世纪 90年代以来,计算机网络的日益普及和 Internet的迅猛发展给 教育带来了许多崭新的机遇。配合卫星、电视和计算机多媒体技术的网络化 教育代表着现代化教育的方向。现代远程教育不仅可以优化教育资源配置, 共享名师名校教学资源,缩小城乡以及不同地域之间的教育差距,还可以扩 大教育
7、的时空,突破学校教育和正规教育的框框,建立起终身教育的观念和 多样化的办学模式。 现代化教育有以下三个基本特点: 一、 资源共享 共享有限的优秀教育 资源是解决不同学校、不同地区教育水平差异的 根本办法。教育资源的共享可以使教育水平落后地区的学生享受到大城市名 校、名师的教育,迅速提升落后地区的整体教育水平。 二、 个性化 现代教育方法强调根据学生各自不同的素质和情况,针对每个学生个体 施教。每个学生个体之间的差异是很大的,如果不能针对每个人的实际情况 来安排教育方案,许多学生的特殊才能很可能被埋没。目前我国的教育正从 应试教育向素质教育转化,强调个性化的教育是符合素质教育要求的。 三、 交互
8、式 学生必须与教师进行充分的交流,教师要根据自己观察到的学生的接受 情况来安排下一步的教学。同时,教师也要进行答疑和辅导。最近,有关调 查表明,学生在网上提问和与他人进行交流显得更踊跃和大胆。这说明在虚 拟环境下的师生交流在一定程度上有助于学生克服害羞的心理和交流的障 电子科技大学硕士学位论文 碍。因此,远程教育在交互式方面也有其独特的优势。 1.2远程教肓的出现及其发展现状 八十年代以来,西方发达国家的学校和研究机构纷纷进行了网络远程教 育的研究工作,并取得了许多研究成果。例如,英国在 1989年设立的对英国 高等院校的教学进行重大革新的 CTI (Computer in Teaching
9、Initiative) 工程,其目标就是通过计算机、多媒体与网络通信技术的结合实现对所有学 科从教学模式、教学内容到教学组织形式的彻底变革,以达到提高学习质量 与教学效率的目的。随着远程教育活动的发展,一些关于远程教学的协会也 相继成立 进入九十年代以后,国外发达国家的网络远程教育获得了迅速的发展。 例如在美国,儿乎每所大学都有自己的网络远程教育系统,它们 有自己的高 带宽的专用网络,完全满足了高质量的实时媒体的传送和交互。甚至出现了 许多专业的从事远程教育的网络学校, 国内的网络远程教育虽然发展较晚,但其发展速度是十分惊人的。特别 是在高等院校中,网络远程教育正在如火如荼的开展。许多高等院校
10、都建立 了自己的网上学校,将许多课程的教学都搬到了国际互 联网上 ,大大降低了 教育成本,提高了教学效率。 1.3远程教育系统的技术体系与功能概述 基于 Internet的远程教育系统是现代远程教育的方向,支持网上教学的 远程教育平台在其中扮演着重要角色。研制开发安全、易用、高 效的支撑平 台,对于网上教学、网上答疑、虚拟实验室、网上讨论和协同工作、网上实 时考试、课件开发及管理和教学教务管理都是必不可少的。我们的思路正是 构建一种基于 ffeb的开放式远程教育平台。 开放式远程教育平台将为全社会所有关心和热爱教育的人士提供一个展 示自己和服务社会的舞台。开放式远程教育平台本身应该带有丰富的教
11、育资 2 电子科技大学硕士学位论文 源库和方便的教育信息检索工具,可提供网上教学和网上教学管理系统,还 将提供方便易用的远程教育开发工具,使得不具备很多计算机知识的人也可 以方便地把自己的教学心得和知识产权制作成网络课件,而且 .该系统将提 供专门的数据库来放置源源不断上载的教育资源。 基于上述的分析,为了实现这样一个开放式的远程教育平台,我们采用 了这样的一个技术体系: 1 本远程教育平台是依照 J2EE(Java 21nterprise Edition)标准,综合 采用 JSP/Servlet、 EJB、 JNDI、 JDBC等 Java相关技术开发的大型网络应用 软件。平台的幵发建立在
12、Web服务器 (Web Server)、 应用服务器 (Application Server)和数据库服务器 ( DB Server)的多层架构之上。这种多层结构可将 数据处理的业务逻辑、用户界面、内容显示等部分分开,从而使平台的业务 逻辑集中于 Application层次;利用 EJB等服务器组件的可重用性和跨平台 性,可以快速开发和二次开发出复杂的大型平台应用程序,以适应多种用户 的不同需求。 平台产品的多层架构体系,使平台在应用层支持负载平衡 ( Load Balancing)和故障后援 ( Fail-over),当用户量逐渐增大时可以通过服务 器 集群 ( Server Cluster
13、ing)来满足平台的可靠化和规模化。因此,该平台不 仅具有极佳的可靠性、可管理性和可矿 展性,而且也是一个可整合的分布式 环境的开放式系统。 教育平台主要包括了教学与教务管理模块、课件及课件制作管理模块、 网络考试模块、教学辅助模块和资源库管理模块,用户分为系统管理员、教 师、学生等三种用户身份方式实现。 *教学与教务管理模块,进行专业设置和专业教学计划管理、课程设置和 课程计划的管理工作,提供教学内容发布等功能;学生入学管理部分涵盖学 生注册、学习、考试、成绩、毕业、学位等功能;对教师进行教学档案管理、 教师任职资格审查、教师任课及授课管理、教师考核及评价管理;管理员身 份对于教育平台有管理
14、权限 *课件及课件制作管理模块,具有强大的课件制作功能,使不具有专业编 程经验的教师也能够方便快捷的开发自己的网络课程。 3 电子科技大学硕士学位论文 该模块简化教师开发网络课程和备课的过程,降低课程开发对教师计算 机技能的要求,使一般教师易于学习和掌握。支持网络多媒体幵发,提供教 学资源库和资源库管理功能 ,并且针对具体学科的网络课程提供模板库,加 速了网络课程的开发。该模块为所有经过系统确认具有教师权限的用户所用。 以知识单元为核心组织课程内容,以学生为中心,强调自主学习和个性化学 习,教师可依据自身特色形成自己的网络教学方案。教学素材可重复使用, 资源可以共享且易扩充网络课程制作和应用做
15、到自动化。 參网络考试模块,提供自动组卷功能。教师设定组卷条件,系统自动根据 条件组成所需试卷。学生同样可以输入组卷条件组成练习试卷;在学生完成 试卷后,系统自动批改试卷,将结果反馈给学生。 管理员将定期针对学生反馈信息和考试的成绩或者教师的要求,对题库 和试卷库进行维护和更新工作。 *教学辅助模块,除了提供教学功能之外,平台还提供了一些服务功能 . 个人主页、同学录、信息公告等。这些服务功能使师生之间以及学生之间进 行多种方式的交流与沟通,给他们提供情感支持,避免学生在学习过程中感 到孤独,同时也给予每位网校学员一个充分展示自己的空间。 资源库管理模块,系统的设计遵循数据管理具备弹性、系统开
16、放性、安 全性和可靠性的原则,符合国际和国内标准。资源库可存放媒体素材、试题、 课件、案例、文档等教育 资源,以适合多种教学模式的教学支撑系统和现代 远程教育管理系统的研制开发。资源库的管理包括以下功能:基本管理功能 (录入、维护)、资源使用管理(浏览、下载)、资源收集整理、资源日志 管理、资源共享管理(注册、预览 ) 。教学资源库符合国际远程教育平台的 开发标准,平台的标准化保证了与其它标准平台进行资源的交流,为远程教 育的国际化奠定了重要的基础。 1.4本系统的特点和意义 本平台具有通用性,可适用于备类学校、成人教育,职业培训和技术培 训等机构进行远程教育,是对传统教育模式的改革和创新,其
17、推广使用对于 4 电子科技大学硕士学位论文 教学的改革,实现开放式教育,扩大受教育面,有限的师资发挥更大的作用 具有重要的意义。 本平台具有以下主要特点: 1、 通用性强。能适用于各种机构的远程教育。 2、 实现时间和空间的分布性。在教学、考试以及管理方面,节约大量的人 力物力,提高了效率。 3、 通过网络考试模块,学生可以随时了解自己的学习情况,并及时反馈信 息,让教师做到 “ 知己知彼 ” ,从而真正做到因人施教。 4、 资源库的标准化,使得在 Internet上可以比较容易的和使用其他平台的 机构之间共享资源,从而做到互通有无,真正实现系统的幵放性。 总的来说,笔者经历了本课题的系统分析
18、、设计、实现的开发周期,构 建起一个开放性的远程教育平台,基本上完成了课题研究的目标。在课题研 发期间,独立完成了本系统的功能结构分析,技术路线分析 ( 包括分析并选 择本系统采用的符合 J2EE标准应用服务器、数据库服务器和对相关最新技 术的研究 ),数据库的设计,以及服务器端的业务逻辑层 ( EJBs和标准的 JavaBeans)和表示层 CJSPs)实现。在下面几章中,将会详细介绍本课题 的 设计与分析过程,以及其中的一些关键技术和难点的解决方法。 1.5本课题的开发价值 由于社会对教育的需求迅速增加,传统的教育模式已经不能完全满足这 种需要,网络远程教育势必成为一种相当重要的知识传播途
19、径。在网络远程 教育系统中,一个稳定、安全可靠的开放式平台是必不可少的,它是整个系 统成败的关键。本课题完成了一套基于 J2EE标准的解决方案,并实现了一 个开放式的平台。 5 电子科技大学硕士学位论文 第二章 J2EE开发 WEB服务 2.1 WEB服务介绍 Web服务是一种可以接收从 Internet或者 Intranet上的其它系统中传递过 来的请求,轻量级的独立的通讯技术。这神技术允许网络上的所有系统进行 交互。随着技术的发展,一个 Web服务可以包含额外的指定功能并且可以在 多个 B2B应用中协作通讯 - Web服务正在不断完善,并且以一种非常智能的动态的方法来进行。这 些灵活的 W
20、eb服务可以理解请求中上下文的关系,并且在每一个特定的情况 下产生动态的结果。这些服务会根据用户的身份,地点以及产生请求的原因 来改变不同的处理,用以产生一个唯一的、定制的方案。这种协作机制对 那 些只对最终结果有兴趣的用户来说,是完全透明的。 一般来说,在不同的事务之间进行电子通信协作会有很多阻碍。全异的 系统,安全限制和不相同的数据格式,导致彳艮多 B2B系统在他们自己的领域 或者客户群中形成唯一。 Web服务将改变这一切,使不同的事务互相通信变 为可能,值得注意的是,这会降低建立商业站点的开发和维护成本。 在建立 Web服务的时候,有三个主要步骤: 1、 建立客户端联接 是为了允许 Ap
21、plets, Applications,商业合作伙伴,浏览器和 PDAs使 用Web服务。 2、 实现 Web服务 包括工作流,数据传送,商业逻辑以及数据访问。这些功能是隐藏在 Web服务后,并且为客户端工作的。 3、 联结后台系统 这个系统可能包括一个或多个数据库,现存的企业信息系统,商业合作 伙伴自己的系统或者 Web服务,以及在多个系统中共享的数据。 6 电子科技大学硕士学位论文 2.2 J2EE 简介 2.2.1 J2EE框架概述 J2EE (即 Java2 Platform Enterprise Edition)是美国 Sun 公司推出的一种 全新概念的模型 ,与传统的互联网应用程序
22、模型相比有着不可比拟的优势。当 今许多企业都需要扩展他们的业务范围,降低自身经营成本,缩短他们和客户 之间的响应时间,这就需要存在一种简捷,快速的服务于企业,合作伙伴和雇 员之间。 典型的说,提供这些服务的应用软件必须同企业信息系统 ( EIS)相结合 , 并提供新的、能向更为广阔的用户提供的服务 .这些服务要具备以下的特点: *高可用性:来满足现在的全球商业环境 *安全性:保护用户的隐私和企业数据的安全 *可依赖性和可扩展性:保证商业交易的正确和迅捷 通常这些服务是由分布的应用程序组成的,包括前端数据端和后端数据 源以及它们之间的一层或几层,这些中间层提供了把商业功能和数据与 EIS 相结合
23、的功能。这些中间层把客户端从复杂的商业逻辑中分离出来,利用成 熟的 INTERNET技术使用户在管理上所花费的时间最小化 4 J2EE降低了开发这种中间层服务的成本和复杂程度,因而使得服务可以 被快速的展开,并能够更轻松的面对竞争中的压力。 J2EE通过定义一种标准的结构来实现它的优势,其内容包括: a. J2EE平台标准 一个标准的平台,用来整合 J2EE的应用程序,指定一系列的 接口和方 法;这是对中间件厂商必须实现的平台的定义。 b. J2EE兼容测试组件 这是一组测试集,产品只有通过它的测试才能获得 J2EE认证,测试集是 保证 J2EE应用可移植性的关键,它保证了应用可以移植到各种基
24、于 J2EE的 平台上。 c. J2EE参考实现 7 电子科技大学硕士学位论文 这是一个 J2EE技术标准的完整实现。 J2EE参考实现展示了 J2EE平台的 可用性,也可以用来开发可移植的 J2EE应用。 d. J2EE蓝图 这是对 J2EE应用编程模型的解释性文档,是重要的应用开发指导性文 件。 2.2.2 J2EE应用程序模型 J2EE是一个方便于服务器方应用程序开发的中间件服务集 ,它利用 Javd 技术来简化诸多与企业解决方案的开发、部署和管理相关的复杂问题。由于 J2EE技术的核心就是 Java2平台,所以它不仅继承了 Java2平台的一些优点, 如:平台无关性,安全性等,而且增加
25、了一整套核心企业应用程序编程界面, 而所有这些界面均为标准的模块化组件,其中包括: Servlets, EJB (Enterprise JavaBeans), JSP, JDBC 等。 J2EE是被设计为顾客,雇员,供应商,合作者提供企业级服务,这样的 应用程序天生具有复杂性,他们要访问各种类型的数据并分发于大量的客户 端。为了更好的控制,管理这些应用程序,支持各种各样用户的商业功能要 在中间层引入,中间层描述了一个被企业的信息技术部门紧紧控制的环境。 J2EE应用程序依靠于 EIS层来存储企业的商业数据。这些数据和用来管理它 的系统是企业中的核心。 最初,双层结构 ( client-serv
26、er)应用程序模型许诺将提高伸缩性与更广 阔的功能,但不幸的是,直接向用户提供 EIS服务的复杂性和在每台用户计算 机上安装和维护商业逻辑所引起的管理上的问题成了很大的限制,而这些在 双层结构中的限制在三层(或者多层)结构中己不存在了。 下面的图示分别表述了传统的 C/S应用程序模型和一个包含了 HTML页 面、Servlet和 session bean的瘦客户机三层企业应用模型。 s 电子科技大学硕士学位论文 图 2.1传统的 C/S模型 图 2. 2 个简单的瘦客户机三层模型 用户通过访问 HTML Page来输入数据,并提交给一个 Servlet, 这个 Servlet 使用 JNDI
27、(Java Naming and Directory Interface)APIs来寻找 一 个 Session Bean, 该 Session Bean具体处理用户提交的数据。由此可见, Servlet并不执 行具体的商务逻辑,而是交由 Session Bean在 J2EE application server上 来处理,所以这种模型下的应用被称为痩客户机应用 a 多层应用可以是一个三层或者四层结构。图 2. 3就展示了一个四层结构的 例子。在传统 C/S模型的非基于 Web的客户端应用程序和数据库之间放置一个 多线程的应用服务器,这样就扩展成为一个三层的结构;四层结构又从三层 结构扩展而来
28、,即用 Web浏览器和基于 Servlet/JavaServer Page的 HTML页面 替代了客户端应用程序。 9 电子科技大学硕士学位论文 图 2. 3多层应用模型 2.2.3 J2EE的组件一容器体系结构 面向对象软件的基本组成单元是类和对象。类封装问题是解决方案的细 粒度概念,而对象是系统运行时创建的类的实例。面向对象开发过程可以在 类级实现重用,这一封装级别对于企业级应用而言太低了,而不能被立即使 用。 组件提供了更粗粒度的封装问题方法,有对象状态的类和一组操作可以 封装单个概念,组件代表可作为一个或多个概念完成功能的特殊服务,因而 组件为用户提供了多个接口。接口封装了组件提供的服
29、务,隐藏了实现细节 的可见性 .由于组件表示一个或多个较细粒度类的逻辑组合,且被定义在较 高级别,具有较粗粒度级,所以一个组件可以直接封装一个已划分的问题, 该问题更直接地产生于分析和设计模型。 J2EE规范中定义了四个主要的组件及其容器类。四个组件一容器类绘制 在图2.4中: 电 T科技大学 W! 士学位论文 图 2.4 J2EE组件和容器 四个个组件一容器模型如下所述: EJB应用程序服务器: 企业 JavaBean组件表与应用相关的组件,由开犮人贝和 4二方创建, 用于在EJB应用程序容器内部操作。 EJB容器环境由第三方生产商实现 用来为 EJB组件幵发人员提供可伸缩的应用程序服务。
30、* WEB应用程序服务器: Web 组件有两种风格: Java Servlets 和 JavaServer Pages (JSP)。 Web 组 件表示应用相关的由 Web服务器接收的请求处理并产生 Web响应。 小应用程序客户机: 小应程序是能在 Web浏览器内运行的 lava应用程序,并在 Web浏览 器内提供一个 GUI。 J2EE规范介绍了把小应用程序驻留到标准化的小应 用程序容器环境内的方法,并加入了从基于 J2P; E客户机到基于 J2EE版 务器的支持。 应用程序客户机 : 电子科技大学硕士学位论文 应用程序客户机是基于 Java的客户机,通常运行在用户桌面或工作站上 , 并提供
31、一个 GUI。 J2EE规范概述了标准应用程序客户机容器环境内应用 程序客户机宿主机的方法学,这种环境中有附加的 API支持基于 J2EE的 客户机充当J2EE服务器。 2.3本系统的关键技术介绍 2.3.1 Servlet 在互联网发展的早期,人们就面临着如何编写能够处理用户输入并产生 动态内容的 Web程序问题,这时的解决办法就是公共网关接口 ( CGI)程序。 CGI程序可以使用多种编程语言开发,例如 Perl就是一种十分常用的 CGI程 序设计语言。而且现在绝大多数 Web服务器都支持 CGL这使得 CGI成为开 发动态 Web程序的一种通用技术。 但 CGI技术有它的缺点。首要问题是
32、性能和可伸缩性问题,因为在 CGI 中,对应来自客户的每个请求都要创建一个进程来响应,以提供服务,这极 大的消耗了服务器地资源。使得 CGI程序不能很好地扩展到服 务大量的并发 用户,难以适应开发大型的应用系统的需求。另一个严重的问题就是安全, CGI程序和 Web服务器结合本质上是一种松稱合的结合,它们的结合存在严 重的安全漏洞。例如许多 Perl脚本使用 shell完成一些操作系统功能,如发送 邮件。 Shell的使用就给黑客提供了可乘之机。 因此各个 Web服务器厂商纷纷推出了自己的 Web服务器 API,程序员可 以使用这些 API编写动态 Web应用程序,如 Microsoft的 I
33、SAPI, Netscape 的 NSAPL这一类技术克服了 CGI的不足,但它们却带来了另外的问题。 首 先是兼容性问题,这些 API都是专用于特定的 Web服务器的,要想移植用另 一种 API编写的程序到另一种 Web服务器将十分困难;其次是可靠性问题, 程序员在使用这些 API时往往使用C或 C+等传统程序设计语言,而且开发 出的程序紧密地耦合到 Web服务器中,作为了 Web服务器的一部分,这些 程序的错误常常导致 Web服务器的崩溃。这使得使用专用 API幵发 Web应 用程序十分困难,也就难以得到真正的推广。 电子科技大学硕士学位论文 于是, Servlet技术出现了,它作为 Ja
34、va技术平台支持 Web应用的突破口 和基础,解决了 CGI和专用 API技术存在的问题,借助于 Java这一优秀的 技术平台,实现了 CGI与专用 API很好的折衷 。 Servlet API很简单,目前几 乎所有的 Web服务器甚至复杂的应用服务器都可以支持 Servlet程序。它通 过多线程等技术解决了 CGI的性能问题。 Java平台提供了最强的兼容性。安 全性也得到极大的提高,因为 Java技术平台提供了几乎所有用户所需的功能, 程序员已经不再需要使用 shell来实现所需的功能支持。 Servlet是一种扩展 Web服务器功能的服务器端程序。 Servlet技术是 Java Web
35、应用程序设计的最基本的技术。它从客户端接收用户的请求,动态地产 生相应地响应,这个过程则可能需要通过 JDBC同后台信息系统交互,生成 的响应包含 HTML文档或 XML文档,最后再将响应发送回客户端显示。 Servlet开发人员可以使用标准的 Servlet API实现各种功能,如初始化和结束 Servlet程序,访问 Servlet环境,接收客户端请求和发回响应,维护连续的客 户端访问的回话状态,同其它 Servlet或者组件进行交互。 从编程角度看, Servlet程序是一个实现了 Servlet接口的 Java类。与常规 的 Java程序不同, Servlet程序没有 main方法,取
36、而代之的是一组 Servlet接 口或实现了 Servkt接口的类的方法,这些方法作为入口点,可以被 Servlet 容器调用,从而使 Servlet程序在 Servlet容器的控制下运行。所以 Servlet程 序不能单独执行 .只能在容器中运行 我们进行 Servlet编程时往往是扩展 HttpServlet子类。该子类中定义了一 些附加的方法来辅助 HTTP协议的处理 .它们会自动地被 service方法调用。 编程时就不需要再实现 service方法,直接实现这些附加方法就可以了,这些 方法是 doGet方法,用于处理 HTTP GET请求: doPost方法,用于处理 HTTP PO
37、ST请求; doPut方法,用于处理 HTTP PUT请求; (1 616方法,用于处理 1111?011请求 ; doHead方法,用于处理 HTTP HEAD请求; 开发者开发的客户 企业构件依据 EJB规范可以被部署到任何 EJB Server上,而不需要更改程序 代码。 2.3.6 XML XML语言是 W3C组织定义的一种元语言,它可以用来定义各种层次结 构的标记语言 它由一套规则、指南和说明构成,用于将结构化的数据以普 通文本文件的形式描述出来。使用文本文件而不是二进制文件使程序员甚至 最终用户都可以直接查阅和使用数据,而不必经过程序的处理,然而 , XML 的使用者仍然是程序而非
38、最终用户。 同 HTML 样, XML也使用标签 ( tag)和属性 ( attributes)。 标签使用 “” 符合括起来的单词,属性则是位于标签中的 “ name= Value” 形式的字符串。 HTML定义了每个标签和属性的含义,以及它们在浏览器中 的表现形式。而 XML只定义了文档的结构,而没有定义文档的表示语义。 XML定义文档的这个过程称为标注 ( markuping)。 标注使得数据和文档呈现 成一种中立的层次化的容器结构。 XML用结构化的文档来描述信息,给开发者和用户带来了许多好处。 K更有意义的搜索 数据可被 XML唯一的标识 .没有 XML, 搜索软件必须了解每个异构的
39、 数据库是如何构建的。这实际上是很困难的,因为每个数据库描述数据的方 式都是不同的。 XML使我们能够方便的定义任何行业的数据,而且它们具有 很强的可扩展性。用户可以定义自己的有内容含义的标记,使得数据的搜索 变得更加容易。 2、开发灵活的 Web应用软件 电子科技大学硕士学位论文 数据一旦建立, XML能被发送到其他应用软件、对象或者中间层服务器 做进一步地处理。或者它可以发送到桌面用浏览器浏览 . 3、 不同来源数据的集成 现在搜索多种的不兼容的数据库实际上是很困难的。 XML能够使不同来 源的结构化的数据很容易的结合在一起。软件代理商可以在中间层的服务器 上对从后端数据库和其他应用处来的
40、数据进行集成。然后,数据就能被发送 到客户或其他服务器做进一步的集合、处理和分发。 4、 描述多种应用得到的数据 XML的扩展性和灵活性允许它描述不同种类应用软件中的数据,从描述 搜集的 Web页到数据记录。同时,由于基于 XML的数拮是自我描述的,数 据不需要有内部描述就能被交换和处理 . 5、 本地计算和处理 XML格式的数据发送给客户后,客户可以用应用软件解析数据并对数据 进行编辑和处理。使用者可以用不同的方法处理数据,而不仅仅是显示它。 数据计算不需要回到服务器就在本地能进行。 6、 数据的多样显示 数据发到桌面后,能够用多种方式显示通过以简单开放、可扩展的方 式描述结果化的数据, X
41、ML补充了 HTML。 HTML描述数据 的外观,而 XML 描述数据本身。由于数据显示与内容分开, XML定义的数据允许指定不同的 显示方式,使数据更合理地表现出来。 7、 粒状的更新 通过 XML, 数据可以粒状的更新。每当一部分数据发生变化后,不需要 重发整个结构化的数据 .变化的元素必须从服务器发送给客户,变化的数据 不需要刷新整个使用者的界面就能够显示出来。而目前,只要一条数据变化 了,整个页面都必须重建。这严重限制网络应用的运行效率 -XML也允许加 进其他数据。加入的信息能够流入存在的页面,不需要浏览器重新申请一个 新的页面。 电子科技大学硕士学位论文 第三章系统分析与设计 3.
42、1系统概述 本系统 ( iRES)是基于 Internet的远程教育平台,采用多层架构体系, 使平台具有较好的可靠性和可扩展性。主要包括了教学与教务管理模块、课 件及课件制作管理模块、网络考试模块、教学辅助模块和资源库管理模块; 身份验证分为系统管理员、教师、学生等三种方式,完成相应地管理和使用 功能。接下来几节将详细介绍本系统的技术方案与功能结构。 3.2选择 J2EE应用模型 从上一章的介绍看到可以利用 J2EE来建立 Web服务。下面我们详细介 绍本系统的应用程序模型的选择。 3.2.1 客户端联接 客户端联接是关于 Web服务的使用者如何来伎用你的系统,表格 1显 示了三种主要使用 W
43、eb服务的客户。 客户类型 样例 如何联接 商业合作伙伴 代理商,客户群 基于 XML的 Web服务技术 (SOAP, UDDI, WSDL? ebXML) 瘦客户端 浏览器, PDAs,无线 设备 HTTP协议 胖客户端 应用小程序,应用程 序,已经存在的系统。 HOP协议 由于远程教育的用户分布在各个地方,而最方便和普及的客户端就是浏 20 电子科技大学硕士学位论文 览器,这样用户只需要有浏览器就可以使用本系统提供的服务。所以本系统 的客户类型是瘦客户端,而且主要是浏览器。 3.2.2 应用模型 虽然 J2EE标准中并没有明确规定任何的应用模型,反而鼓励创新各种新 的模型,这也反应了这个框
44、架的的开放性。但是有一些应用模式还是比较常 用的。下面将比较几种常见的模式,选择远程教育平台所适合的应用模型。 1、 独立客户端模型 独立客户端模型基本上就是传统的 C/S模型,不过客户端可以具有不同 的类型。因此对于不同的客户端,实际上可能存在几种不同的客户端模 型。例如,客户端为 EJB客户端,这时 EJB客户端直接同 EJB容器交 互,系统中不存在 Web容器。又如,独立的 Java应用客户端可能直接 通过 JDBC访问数据库,而不通过 Web容器。该模型需要为每个用户 提供相应的客户端程序,因此只适合某些特殊用途的场合。 2、 以 Web为中心的应用模型 这种模型实际上是一种三层结构的
45、模型,也可以看成是简化的多层 模型,其中 EJB层被省去了。这种三层结构的应用模型适用于一些简单 的应用系统。如下图: 图 3.1三层结构应用模型 由上述描述看出,该模型在逻辑上可以实现远程教育平台。但是,所有 的业务处理和表现层将都集中在 Web端来实现,由于远程教育平台是一个比 较复杂的系统,采用这个模型会带来一些问题,首先是层次任务不清楚,使 电子科技大学硕士学位论文 得扩展性比较差,而且在开发过程中也使得各个组件之间的界线模糊,增加 了开发的难度。对于系统维护来说,也将増加不少困难。 3、多层应用模型 如下 图所示,在这种模型中, Web容器承载 Web构件,它们实现应用 的表现逻辑:
46、 EJB容器承载应用构件,实现应用的业务逻辑,它们一方面 相应 Web层的请求,一方面访问 EIS资源层。 图 3.2多层应用模型 多层应用模型结构清晰,层次任务划分明确,而且扩展性好,也便于 系统维护,对于远程教育平台这种功能比较复杂的系统来说十分适合。 总的来说,考虑了对 Web容器和 EJB容器的取舍和应用后,本系统采 用了多层应用模型,主要强调的是系统的扩展性以及平衡层间的通信等特 性。 3.3系统分析与设计 3.3.1 系统环境与开发工具的选择 我们所采用的多层应用模式决定了需要以下几个部分的工作环境:客户 端、Web容器和 EJB容器以及数据库系统 . 首先,客户端是用户最终能接触
47、到的一层,由于现在浏览器是从 Internet 获取信息的主要工具,客户端的操作系统为 Windows 9x / windows2000 / Linux / Unix,浏览器为 IE4或以上版本、 Naviscape6或以上版本; 从第二章看出中间层的主要任务负责提供给用户界面,并收集用户的信 22 电子科技大学硕士学位论文 息,进行处理,在必要的时候负责与数据库交换信息,并将结果返回给用户。 要求至少包括 Web容器和 EJB容器。操作系统为 Windows 98 / windows2000 / Redhat Linux 6. 2, Java 工具包为 J2SE 1. 3. 0 或者以上,和 j2eeSDK。 这里我选择的是 BEA公司的 WebLogic Server,它很好的整合了 Web服务器、 应用服务器、管理、消息服务和安全等功能,并且支持以下配置: J2EE (应 用服务 )、 JMS (企业信息整合 )、 JCA (集成化平台)、 Web Services (互动服 务 )、 EJB2.0 (分布式数据处理 ), 支持 JDBC数据库链接驱动程序。 数据库系统针对远程教育平台的数据特点 .要求支持大容量的数据存储 , 支持大量用户的链接,而且在资源量足够大时能够实现分布式处理,以减轻 单个服
限制150内