您现在的位置: 论文网 >> 教育论文 >> 学科教育论文 >> 基于JPA技术的面向对象程序设计 课程网络教学平台服务器程序设计与实现论文

基于JPA技术的面向对象程序设计 课程网络教学平台服务器程序设计与实现

出处:论文网
时间:2016-01-07

基于JPA技术的面向对象程序设计	课程网络教学平台服务器程序设计与实现

  中图分类号:TP311.52 文献标识码:A 文章编号:1007-9416(2015)03-0141-01

  信息技术不断发展,已经渗透到了人类社会的方方面面,教学活动的信息化,也是其中重要的一个方面。设计一套集语音、视频教学,学习资料管理,学习交流讨论,在线答疑为一体的软件系统,充分利用信息技术的高效性、便捷性,对于传统教学系统,可以起到一定的辅助作用。

  1 教学网络平台介绍

  本平台主要有以下这些功能:课程管理、学习进度管理、 视频课程观看、文档查看。学习者可以根据自己的兴趣选择课程进行学习。提供学习进度管理功能,学习者可以查看自己已学部分和未学部分,随时可以对已经学习过的内容进行复习。提供学习交流平台,学生可以把自己的问题发布在平台中,其他学生可以针对当前主题展开讨论。

  2 后台服务器程序设计语言的选择

  本平台的设计目标是一次开发之后,在不同的环境中都可以方便部署并良好运行。因为在教学平台部署时,由于一些其它条件的限制,服务器、客户端的环境都有可能是多种多样的。充分考虑环境的多变性,尽可能使系统可以兼容各种各样的硬件设施,操作系统,网络环境。该平台选择Java语言开发,因为使用Java作为开发语言可以最大程度地剥离程序对软、硬件环境的依存性。“一次编译,到处运行”是Java引以为傲的一项特性。Java同时是一门静态类型的语言,在设计程序时可以对程序施加更多的人为控制,以达到优化性能的目的。

  3 服务器数据的持久化

  3.1 使用JPA技术管理服务器数据

  本平台的数据库访问操作采用标准SQL语句进行开发,这样做的好处是不依赖于任何特定数据库服务器程序,可以根据部署程序时的具体情况进行选择,例如SQL SERVER,MySQL,PostgreSQL,OracleDB等。

  首先,经过对教学平台总体需求的分析,设计课程信息,用户课程选择信息,用户信息,用户学习进度,用户角色,用户权限等数据表,并使用xml配置文件的形式关联实体对象和数据库的关系,使得在服务器程序中可以正常访问数据库。

  其次,设计了表与表之间的关联关系。对于用户权限的管理问题,设计了用户表,用户角色表,用户权限表,用户和用户角色的关系是1:N,用户角色和用户权限的关系也是1:N。这样,每个用户可以有多个角色,一个用户最终拥有的权限是这个用户对应多个角色的所有权限。

  本平台主要采用JPA实现数据库访问部分的功能。JPA的全称是Java Persistence API。JPA技术是一个用来实现通过Java SE,Java EE编程接口管理关系数据库的api标准。对于数据库操作,最常用的实现方式是使用结构化查询语言(SQL),但是在服务器程序开发中,使用SQL语言操作数据库存在一个问题。数据库中的数据时以数据表(Table)的形式存在的,根据设计者的定义,数据表中可以存放各种不同的数据类型,如果在服务器程序中直接操作从数据库中读取到的数据,是不符合面向对象的编程思想的。对于较大规模的服务器程序,可维护性和开发效率是非常重要的评判标准,使用了JPA技术,对数据库的操作已经进行了封装,在程序的开发工作中可以直接对Entity(实体)进行操作。

  3.2 使用MyBatis技术优化后台数据库服务器性能

  在使用JPA技术进行设计数据库时,存在这样一个问题,就是JPA实现方生成的数据库查询语句性能不一定满足需求,例如,在高峰时期,学习者的访问量会大幅增加,这时需要考虑数据库访问性能的问题。JPA产生的SQL数据库查询语句在这时并不能达到需要的性能,造成了数据访问速率的瓶颈。这时,首先查看自动生成的查询语句的结构,如果效率不够高,就需要使用MyBatis技术进行优化,MyBatis可以允许设计者在对数据库操作指定特定SQL语句的同时,提供了Java程序开发的接口。

  在使用实现数据库管理功能时,虽然JPA技术为面向对象编程提供了对数据库操作的封装,但是这样存在一个问题,就是数据库查询SQL语句都是由JPA实现方按照特定的算法自动生成。有些数据的操作对性能要求较高。

  所以,我们对课程选择,课程浏览,资源下载等并发性能要求较高的操作使用了自定义的SQL查询语句,每一个对象定义了对应的配置文件,在配置文件中针对不同种类的查询编写了查询语句,每一个查询语句有自己的id,在需要查询数据时,可以通过id调用相关的操作。

  4 基于Servlet技术与Servlet容器的服务器程序设计

  在本系统中,使用Servlet技术实现前端界面与后端服务器程序的连接。例如用户在前端界面点击某一个链接后,对应的操作会分配到一个Servlet。例如,学生执行选课操作时,会执行选课操作对应的Servlet。Servlet首先根据用户发送的HTTP请求信息查找对应的用户信息和课程数据,验证当前课程是否为可选状态,然后把用户的选课记录保存在数据库中。

  在为每一种操作定义好Servlet之后,在Servlet容器中,服务器程序时以WebApp为单位进行部署的。我们把与网络教学有关的内容定义为一个整体的WebApp,通过XML配置文件定义WebApp中每一个Servlet对应的URL路径,Servlet id,Servlet名称,初始化信息等,最后把WebApp打包为war文件部署到Servlet容器的webapps目录下。   Servlet是JavaEE的重要组成部分,使用Java语言开发服务器程序,使用Servlet可以很大程度降低开发的复杂性,从而把设计的重心转向服务系需要解决的问题领域。Servlet相当于一个服务器程序框架,在Servlet标准中定义了WebApplication(网络应用),HttpServletRequest(Http请求的封装),HttpServletResponse(Http答复的封装),Filter(过滤器),ServletContext等对象。这些对象相当于抽象除了一个WEB应用程序的必要组件并为之提供了实现,使得程序设计避免了很多重复性的工作。正确的理解Java EE架构设计,对于服务器程序的设计而言非常重要。

  5 总结与展望

  本平台使用了当前成熟的计算机技术实现了教学平台数字化的基础功能,为传统的课堂学习模式提供了补充的方案,根据不同教学方式的优缺点和限制性,学习者可以选择适合自己的学习方式学习知识。

基于JPA技术的面向对象程序设计	课程网络教学平台服务器程序设计与实现

论文搜索
关键字:程序设计 程序 设计 网络教学 对象 基于
最新学科教育论文
软件工程专业“计算机网络”课程实验教学研
“赛教学训”四位一体化的物联网工程专业人
浅议幼儿美术趣味教学及创新能力的培养
如何利用奥尔夫音乐教学法培养幼儿的创造力
解读体育游戏在初中体育教学中的应用及影响
如何在美术教学中营造快乐的氛围
微积分慕课教学资源与应对策略探究
浅析在德育课教学中如何灌输团队观念
MOOC引领下中学历史课程多元化教学模式研究
“情感过滤”假设对大学英语听力教学探讨
热门学科教育论文
浅谈语文教学中学生创造力的培养
变“教师教,学生学”为“教师教学生学”
素质教育与小学语文教学
小学“语文综合性学习”实践初探
素质教育和小学语文教学改革
现代体育课堂教学重在创新
浅谈《体育课程标准》与体育教师观念的转变
电教手段优化体育教学
陶行知健身思想研究
简论现代游泳技术与训练的发展方向