3 远程学习系统的设计与实现
3.1 远程学习系统的架构设计
构建的基于JXTA的P2P远程学习系统采用混合P2P模式,各个参与学习的站点分为3种不同角色:学生对等节点(Student Peer,SP)、教师对等节点(Teaeher Peer,TP)、教务管理对等节点(ManagerbPeer,MP)。MP在学习系统中起到管理、组织、协调各参与者的作用,并负责创建课程组,记录各个课程组的资源索引,在课程组间提供搜索路由的功能,管理维护教学网站中的BBS、电子白板、聊天室、资源下载区、教师信息、学生信息、内部电子邮件系统等栏目;TP节点从属于某一课程组,主要协调、组织、评价本课程组内参与学习者的学习过程,维护本课程组内资源的索引信息,并将资源索引的变动信息传递给MP;SP找到相应课程组后可加人到其中,利用课程组中提供的课件、参考资料等共享资料进行自主学习;当碰到疑难问题时,可与在线人员进行两两学习交流,或展开多人共同探讨;若遇到难题无法解决时,可联系课程组教师通过电子白板实现虚拟教室,进行及时在线辅导讲课。整个远程学习系统的架构如图2所示。
3.2 远程学习系统的实现
系统应用的开发工具是NetBeans5.5、JDK5.0、JXTA2.0、 Sun Java System Application Server Enterprise Edition 8服务器,数据库采用由纯Java语言编写的小型数据库PointBase,它对平台的支持性强,并可直接过渡到其他数据库。通过使用面向对象的程序设计方法,根据远程学习系统的工作原理和主要功能设计以下3个主要的类:
(1)Manager类该类代表系统中的MP,负责为MP设置JXTA环境及完成与TP的通信连接,将加入对等网的TP分配至合适的课程组;能够创建一个新的课程组,当某一课程组资源点击人数低于某值时,删除该课程组。主要方法有:启动JXTA环境startJXTA(),创建课程组createCourseGroup()、删除课程组deleteCourseCroup()、发布提供的远程学习服务discoverySvc()、获取节点在线状态pipeAdv()、创建一个通信管道inputPipe()、信息发送sendMessage()、发布节点的在线状态publishPipeAdv(),创建信息发送管道 createInputPipe()和运行主方法main()等。