基于FLEX和J2EE多媒体远程答疑系统设计与实现

时间:2022-10-18 11:03:34

基于FLEX和J2EE多媒体远程答疑系统设计与实现

【摘要】远程答疑系统是现代远程教育系统中重要组成部分,构建了一种面向用户,以用户为中心,集同步答疑、异步答疑和即时消息提醒的新型远程答疑系统。基于FLEX和J2EE多层架构体系的系统实现,有效提高了系统的可扩展性、可维护性、可重用性和用户体验。并将知识管理思想融入系统设计中,有助于提高教学质量,具有较强的可操作性。

【关键词】人工答疑;音频;视频;即时消息;模型-视图-控制器

【中图分类号】G40-057 【文献标识码】A【论文编号】1009―8097(2009)08―0089―04

引言

随着计算机技术、多媒体技术及互联网技术的发展,远程教育越来越向网络化、虚拟化、智能化、和个性化发展。远程答疑成为远程教育的发展方向,它以其答疑行为上的时空延展性,内容上的资源多样性等优势,为远程教育提供了高效率、高质量的学生与教育资源、学生与教师、学生与学生之间的交互。它不仅成为了网络教学的重要支撑部件,还逐渐成为传统课堂教学的有益补充。

目前远程答疑系统按照功能实现划分,主要分为如下两类:①简单答疑系统。利用留言板进行简单的答疑[6],或者基于WEB方式的BBS或聊天室,供师生进行实时或非实时答疑讨论。②初步具备智能答疑功能的智能答疑系统。用户可以根据输入的关键词在已有的数据库中寻找相关的资料,如果有新的提问和答案,可以增加到数据库中。但已有的答疑系统还存在以下不足:①以功能为中心,不是以用户为中心,缺少个性化服务。②系统的知识管理能力不足,不能有效管理答疑信息。③缺少即时消息提醒功能。④主要通过BBS论坛和在线文字聊天答疑,交流方式有限,难以达到充分沟通。⑤由于所采用开发技术的限制使得系统响应速度较慢以及较低的用户体验。

基于目前远程答疑系统的不足,本文遵循现代软件系统设计模式的趋势,由以系统功能为中心转变为以用户为中心,围绕用户,更好的为用户服务;将知识管理思想融入系统设计;在实现远程答疑系统基本功能如在线文字聊天、BBS论坛的基础上,增加音频答疑和视频答疑;提供快速便捷的即时消息服务。

一 系统体系结构

采用基于FLEX和J2EE多层架构的远程答疑系统体系结构如图1所示。基于FLEX和J2EE多层架构应用模型同传统的C/S模型相比,提高了系统的可扩展性、可维护性、可重用性和用户体验[4]。它将应用逻辑与用户界面和数据访问相剥离,这样便使系统的维护变的简单,同时通过采用组件技术,降低数据库服务器的负担,从而提高系统的性能。

如图1所示,学生、教师、管理员均处于客户端层,它提供了一个用户界面,作为用户与应用程序之间的接口,用于同用户交互并将用户请求传递到位于中间层的组件之上。用户使用浏览器通过Internet,连接至Web server。Web server 和应用服务器均处于中间层,Web server接受客户端层提交的用户请求后,调用应用服务器上的相关服务组件,执行具体的业务逻辑,向位于数据层的数据库服务器或文件系统提出数据请求,如问题的提交、解答,并将结果返回至Web server,Web server再将其传送给用户。

1 客户层

客户层在系统中表现为Web浏览器,是系统的人机接口部分,它负责用户与系统的交互以及数据展示。通过用户界面,用户可以完成获取数据、输入数据、修改数据、删除数据等一系列操作。在该系统中采用Flex技术实现,它们部署在Web容器中,在Flash Player 9.0中运行,通过Web容器响应客户端的请求[1]。

2 中间层

中间层利用FLEX组件、SPRING和HIBERNATE等技术构建远程答疑系统的各部分功能,它位于应用程序服务器上,主要由三部分组成:

(1) Web容器 这是中间层的重要组成部分,系统所有的用户界面都在这里得以实现。考虑到Flex 是一种运行于传统浏览器中的应用程序,它能够充分结合桌面应用程序的反应快捷、交互性强的优点,以及Web 应用程序的传播范围广和易于传播的特性。例如,Flex 可在消息确认和编排方面提供交互用户界面,在无刷新页面中提供快捷的界面响应速度,以及提供通用的用户界面特性及在线和离线操作能力。Flex 还具有用户友好性、交互性、跨平台兼容性、一次加载多次使用、客户端数据缓存、高效的网络数据信息传输等特点,故系统采用Flex实现用户界面[2]。

(2) 业务层(Business Layer) 这一层将负责:①处理业务逻辑和业务校验;②管理事务;③提供从表示层到持久层通信的接口。从表示层获得requests,处理事务,并且控制异常,在业务层中创建业务服务对象,通过这些对象来执行程序的业务逻辑,调用持久层获取数据并进行处理后发送到客户端。系统的大部分事物逻辑和规则都在这里实现。这些业务组件部署在Spring环境中,通过Spring的依赖注入机制,可以在运行期为组件配置所需资源,而无需在编写组件代码时就加以指定,从而在相当程度上降低了组件之间的耦合,实现了组件真正意义上的即插即用。Spring把DAO对象和业务服务对象搭配起来,通过DAO对象来与持久层进行通信。由于采用了面向接口编程的技术,因此并不需要将实现类紧密地耦合在一起,而组件间依赖关系的减少也将极大改善代码的可重用性。

(3) 持久层(Persistence Layer)Hibernate服务对象接受业务层传送的消息,通过数据库连接与数据库管理系统交互信息,进行相关的操作。这一层主要负责数据的添加、删除、修改和查询功能,并将数据转换为持久对象。

3 数据层

数据层是数据库管理系统(DBMS)和文件系统,负责数据的存储管理、安全管理、完整性管理和一致性管理[5],系统使用的是开源数据库MySql。存储的信息主要有:问题及解答信息、学生信息、教师信息、答疑室信息、资源信息以及站内消息等数据。

二 系统模块设计

远程答疑系统设计的典型用户有3类:一是使用系统解答自己疑问的普通用户(学生),二是答疑系统所涉及领域的教师用户,三是系统维护管理人员。因此从用户的角度出发,远程答疑系统从总体上主要分为3大块:学生模块、教师模块和管理员模块[3],除此三大模块,还包含系统特色模块IM模块。使用者以不同的身份登陆系统,并通过系统安全验证后即可进入相应的模块。如图2所示。

为增加系统的知识管理能力,有效管理信息,学生模块和教师模块的设计基于问题的知识搜索和发掘,更迅速帮助教师与学生获取所需要的知识和信息。

1 学生模块

学生模块主要包括以下几个模块:①个人基本信息管理模块:包括注册信息、口令更改等。②查看自己问题及解答情况,便于学生及时得到老师的反馈信息。③查看所有问题:从别人的提问中学到更多的知识,查询方式分为完全匹配和模糊匹配两种,查询结果以列表的方式列出匹配的问题。④查看我参与的问题:查看自己问题及解答情况,以及查看自己回答其它学生问题的回答情况。⑤收藏自己感兴趣的问题,便于以后浏览这些问题的解答情况。⑥查看未回答的问题,便于自己解答其它学生提的问题。⑦查看最新的问题来了解最近同学普遍遇到的问题,以便引起自己的注意。⑧查看最热的问题,便于了解同学遇到最多的问题,从而在平时的学习中引起重视。⑨对老师解答问题的情况进行评价,能够督促老师认真、负责解答学生的提问。⑩选择答疑类型:学生模块最基本的功能――提问功能,通过选择不同的答疑类型进入不同的答疑模块。人工答疑分为同步答疑和异步答疑两种,同步答疑通过聊天室、音频答疑室和视频答疑室三种不同的方式实现师生之间的实时交流,异步答疑通过BBS实现师生之间的在线讨论。

本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

2 教师模块

教师模块注意包含以下几个模块:①个人信息管理:包括注册信息、口令更改等。②查看所有问题,以便对没有回答的问题及时给予答复或对已经回答的问题做进一步的补充和完善。③查看学生最近所提的问题,便于了解学生最近的学习情况,有利于在课堂上做针对性的讲解。④查看学生最关注的问题,能够了解学生普通存在的知识缺陷,从而重点讲解相关知识点,把知识点讲明白,讲透。⑤回答学生提问:教师模块最基本的功能,教师可以通过聊天室、音频答疑室、视频答疑室实时的回答学生的提问,也可以通过BBS与学生一起参与讨论。

3 管理员模块

系统管理员不是答疑系统的核心用户,不参与问题的解答与提问,但是享有系统的最高权限,维护系统的正常运行。主要包括以下几个功能模块:①用户管理:对用户的注册信息进行管理。②系统管理:包括用户角色、用户权限管理;界面维护、公告信息管理;系统基础数据管理,按时做好系统备份等。③资源管理:管理教师上传的一些课件以及通过音频答疑室和视频答疑方式所保存的音频和视频文件。④答疑室管理:根据教师的教学进度要求,不定期的建立答疑室,控制答疑室的开放与关闭。

4 IM模块

IM(Instant Message)模块是答疑系统的特色模块,面向用户,及时向用户发送相关信息。主要包括以下几个模块:①站内短信:在用户登陆系统后的首页上及时提示用户被解答了的问题或提示用户有哪些问题需要自己去解决。②即时E-mail:学生提问后由系统自动给相关老师发送邮件,提醒老师及时解答学生的问题;老师解答问题后也由系统自动发送E-mail给问题所属学生,告诉其所提问题已经得到解答。③手机短信:学生提问后由系统自动发送短信给相关老师,提醒老师及时解答学生的问题;老师解答问题后由系统自动发送短信给问题所属学生,告诉其所提问题已经得到解答。④RSS:提供问题的与订阅功能,学生可以根据自己的兴趣订阅不同课程的问题列表,以便及时了解最新的问题及其解答。

三 主要模块详细设计

1 同步交流IRC模块

IRC聊天室提供了一个师生实时交流的方式和场所。实时交流对数据同步要求比较高,为了高质量地保证数据的同步,采用Flex和FDS(Flash Data Services)中的DMS(Data management service),Message service.对数据的访问进行了优化。DMS支持Clients和Server数据同步, 支持分布式数据, 支持Data Push(数据推送)。利用Data Push技术,Server根据某一个client的更新, 更新自身数据, 同时更新其他clients数据,无需刷新页面。Data Push技术的使用,大大加快了系统的响应速度,提高了用户体验。

基于数据库的聊天室模块采用客户端层,中间层的Web层和Server层,数据层来实现。客户端层使用浏览器,Web层采用FDS,Flex和Jsp,Server层采用Spring和Hibernate实现,数据层保存聊天室里的相关信息,总体结构如图3所示。

2 音频与视频交流模块

音频与视频交流模块包含学生与教师点对点的交流、一对多的交流(视频会议模式)、音频与视频的录制。点对点的交流方式即学生与学生之间、学生与教师之间通过音频或视频进行一对一的沟通,能够保证学生与学生,学生与教师之间的交流更充分,可以用来解决非大众化的问题。对于学生普遍存在的问题采用视频会议的模式,即一人讲,多人听,这样能够有效利用资源和节省时间。录制音频与视频,对录制好的音频与视频进行存储,检索与回放,根据音频与视频整理问题与解答列表,供学生查询。音频与视频交流模块的建立,为学生与教师提供了一个更接近现实社会沟通的场所与方式,通过这种方式进行提问与解答,更真实、更方便、更迅速、更充分、更有效。

音频与视频模块实现过程中的难点是音频和视频的质量和传输速率,多用户并发使用。为了保证高质量音频和视频的快速传输,采用了FMS(Flash Media Server)流媒体服务器。FMS是将传统的流媒体功能与灵活的开发环境结合起来,为最广泛的群体创建和提供创新的、交互式媒体应用。FMS组合可以创建并交付使用广泛的媒体交流体验,包括传统的媒体交付应用,如视频点播、实时 Web 事件广播、MP3 流以及富媒体通信应用,如视频博客、视频消息和多媒体聊天环境。

(1) FMS实现模型

FMS包含Server端和Client端两部分,Server端通过一些asc文件实现其功能,Client端由一些Flex开发的swf文件组成。Client首先通过http向Web server发送请求,Web server响应客户端请求,通过http服务把内容提供给Client端。Server端和Client端的数据传输通过RTMP (Real-Time Message Protocol)进行实时交流,实现模式如图4:

(2) 音频、视频交流模块的实现

音频、视频交流模块分为点对点和一对多交流方式、音频与视频的录制。在点对点交流方式设计方面,考虑到音频或视频同步传递,系统采用了FMS提供的数据流方法。数据流通过简单的和订阅方式实现音频、视频和其它数据的信息流同步传递,一个的数据流可以实时的被看到。在一对多交流方式设计方面,考虑到一个音频或视频被多个客户端共享,系统采用了FMS提供的共享对象方法。把音频或视频录制成FLV格式文件,保存至FMS服务器,设置相应音频或视频文件为共享对象,每个客户端都通过NetStream Object访问共享对象,不仅实现了一对多交流模式,而且存储的音频或视频文件也可以供查询、回放、整理问题与解答列表。其实现结构如图5。

四 结束语

本文通过分析远程答疑系统应用的特点及其系统体系结构模型,结合远程答疑系统目前的研究和应用现状,采用现代应用软件的设计思想,运用先进的开发技术,设计并实现了基于FLEX和J2EE面向用户多层架构的多媒体远程答疑系统。文中对系统的设计与实现作了详细的介绍。系统以用户为中心,集同步与异步交流,音频与视频交流,具有集成性、方便性、实效性和实用性等特点。答疑系统中的同步方式如:文字聊天、音频聊天和视频聊天,与异步答疑方式中的论坛在线讨论,以及站内即时短信、站外即时E-mail和移动短信、RSS订阅与功能无缝的集成在一起,提供师生多样化、及时的交流答疑方式,使得各种方式优势互补,充分满足学生答疑的需求。

本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

上一篇:WEB2.0理念下的数字开放实验室 下一篇:基于WEB的北京市高等教育地理信息系统设计与开...