宽大小的限制。
平台的技术标准 支持分布式3.4 关键技术的实现(1) 系统架构设计 本平台的系统架构设计采用成熟的 Struts 框架,结合
JSP 以及 Servlet 的 MVC 模式实现。
MVC 模式的实现是控制器(Controller)部分,ActionServlet 是 Struts 的控制器的核心,它将根据来自用户的请求,调用 Struts-config.xml 中配置好的 ActionMapping,从其中寻找相应的 Action 具体实现类。
Struts_config.xml 输入页面 Controllers Action1 (view) ActionServlet Action2 Model 输出页面 显示功能的 view
JSP 图 2:Struts 架构的 MVC 流程(2) 系统逻辑处理层的实现 逻辑处理层是整个系统的核心功能层,设计方式将采取模式驱动设计的方式。
这种方式用到了抽象工厂设计模式。
抽象工厂主要是提供创建系列对象的接口,使得外界无需知道创建该系统对象的具体细节。
抽象工厂模式实际上是实现了数据层和逻辑层的分离, 使得架构设计中的多层概念能够得以真正的实现。
实 现 方 式 : 先 定 义 一 个 抽 象 工 厂 类 DAOFactory 指 定 DatabaseDAOFactory 作 为DAOFactory 的具体实现者,DatabaseDAOFctory 中封装的是数据持久化保存到数据库的操作过程。
(3) 系统缓存机制 本系统有用上缓存机制,有了这个缓存的功能,可以提高了系统的性能。
缓存机制的原理就是把所要缓存的对象加到 HashMap 哈希映射表中,用两个 LinkedListedlist 双向链表分别维持着缓存对象和每个缓存对象的生命周期, 如果一个缓存对象被访问到,那么就把它放到链表的最前面,然后不定时的把要缓存对象的对象加入链表中,把过期对象删除,如此反复。
下面是缓存功能部分
源码实现,LinkedListNode 类的
源码:public class LinkedListNode public LinkedListNode previous public LinkedListNode next public Object object public long timestamppublic LinkedListNodeObject object LinkedListNode next LinkedListNode previous this.object object this.next next this.previous previous public void remove previous.next next next.previous previous 这是一个双向链表的节点类,previousnext 分别记录前后节点的指针,object 用于记录所需缓存的对象,timestamp 用于记录当前节点被创建时的时间戳。
当该时间戳超过该节点的生存周期时,它就会被 remove方法删除掉。
就是由 LinkedListNode 构成了 LinkedList链表而 LinkedList 类中只是实现了 getFirstgetLastaddFirstaddLastclear等链表的基本方法没有其他内容。
再来看 Cacheable 接口和它的一个实现类 CacheableInt:public interface Cacheable public int getSizepublic class CacheableInt implements Cacheable private int intValue public CacheableIntint intValue this.intValue intValue public int getInt return intValue public int getSize return CacheSizes.sizeOfObject CacheSizes.sizeOfInt (4) 系统数据库连接池的实现 本系统使用 Oracle Thin 驱动程序实现连接缓冲池,Thin 驱动程序在实现连接缓冲池时,必须先创建一个物理的数据库连接。
在需要访问数据库时, 要从连接缓冲池中请求一个临时 。
然后,使用连接实例访连接。
这个临时的数据库连接称为连接实例(connection instance)问数据库。
在连接实例访问数据库时,它使用连接缓冲池中的物理数据库连接。
完成数据库操作,要关闭连接实例。
关闭连接实例并不关闭由连接缓冲池维护的物理数据库连接。
因此当再次需要访问数据库时可以从缓冲池请求另一个连接实例。
如果程序产生许多间歇的数据库请求,那么使用连接缓冲池可以显著提高程序的性能。
只需在程序的开头建立一个连接缓冲池,然后通过请求连接实例来访问数据库。
因为请求连接实例比创建物理数据库连接要快得多,程序执行时间会显著减少,因此能够更大地提高系统的性能。
(5) 系统读取 SCORM 标准课件信息的实现 标准的 SCORM 内容包规范的目标是定义一个标准的结构模式, 使之在不同系统间互换内容。
一个 SCORM 内容包包含两个组件:1. 一个清单文件imsmanifest.xml,该文件描述了关联包内资源的结构。
清单文件必须定义在内容包的根目录中。
2. 一些物理文件包装成的内容包。
清单文件由 4 个主要部分组成:1. Meta-data:内容包数据描述的入口。
2. Organizations:包含了学习资源的组织或内容结构作为一个单位。
3. Resources:在内容包中定义的学习资源束(集合)。
4. subManifests:嵌套的子清单。
Meta-data:是一种描述数据的数据。
元数据用来描述整个内容包。
元数据提供了内容包的自搜索和自发现的功能。
它提供了一种描述内容包特征的机制。
Organizations:组织用来描述在内容包中的内容的组织方式。
它可以包含一个或多个组织组件。
IMS 和 SCORM 都没有规定是否根据学习分类来定义组织。
所以命名方式留个了内容开发者。
Resources:清单中的资源组件用于描述外部资源,也用户在包中定位物理文件。
这些文件或许是媒体文件,文本文件,评估对象或其他的一些可表示为电子数据的内容。
概念上文件之间的分组和关系表现为资源组件。
联合资源通常被称为“内容”。
单个资源能被多个组件包含。
在 SCROM 中,这些组件就是简单的 Asset。
如果这些组件能与 LMS 通信,则称之为 SCO。
下面是程序读入 imsmanifest.xml 文件,提取标准课件信息的部分代码段: ......Collection resourceBeans new ArrayListCollection organizationBeans new ArrayListCollection organizationTmpBeans new ArrayList try SAXReader reader new SAXReader URL url new URLfileServerUrl entrance quot/imsmanifest.xmlquot Document doc reader.readurl Element root doc.getRootElement Element pfoo Element orgFoo root.elementquotorganizationsquot Element fileFoo root.elementquotresourcesquot for Iterator i fileFoo.elementIteratorquotresourcequot i.hasNext Element childElement Elementi.next String identifier childElement.attributeValuequotidentifierquot Element fileElement childElement.elementquotfilequot String file fileElement.attributeValuequothrefquot OrganizationBean organizationBean new OrganizationBean organizationBean.setIdentifieridentifier organizationBean.setResourceFilefile resourceBeans.addorganizationBean 。
。
。
。
。
。
catch org.dom4j.DocumentException e System.out.printlnquotDocumentException: 课 件 组 织 文 件 XML 文 档 格 式 有 错 。
quot e.toString catch Exception e System.out.printlnquotEXCEPTION:quot e.toString ......(6) 流媒体服务器的搭建 就目前来看,最流行的流媒体点播服务器只有两种,即 Windows Media 服务和 RealServer。
在这里主要介绍在 Windows 2003 Server 环境下如何搭建视频点播服务器。
WindowsMedia 服务采用流媒体的方式来传输数据。
通常格式的文件必须完全下载到本地硬盘后,才能够正常打开和运行。
在 windows2003 中,微软内置了流媒体服务器组件,可以实时广播符合微软要求的流 。
媒体文件了。
需要安装微软的 media encoder 9(免费软件)3.5 平台建设框架与功能设计 在线学习平台 学习平台门户系统 学 培 教 考 资 用 系 习 训 学 评 源 户 统 中 管 管 管 管 管 管 心 理 理 理 理 理 理 应用支撑平台 课件服务 流媒体服务 中间件 WEB 服务 学习资源库 计算机技术 法律知识 行政管理 。
。
。
基础设施 服务器 数据库 网络 安全 图 3:平台建设框架图(1) 前台学员学习中心 ① 课程目录 列出系统内现有的全部课程,并可查看并提出学习申请。
② 在线注册系统 可以用来做课堂或线上教学的注册,也能包括选择特定的时间和地点、查看登记名 册、更换或改变注册,也可为了学分而纪录已完成的训练。
③ 我的课程 显示当前学员所有已申请的课程及相关属性,学员可以通过点击“现在上课”按钮 进入相应的课程主页学习。
一般情况,课程主页中包含课程的介绍信息、培训课件多 媒体课件,普通网页,Office 文件、案例分析、考试及 FAQ 等,具体内容取决于课程 的设计者。
④ 我的学习历程 按照参加培训的时间和培训计划,学员可以看到自己所有的课程学习档案。
档案的 内容包含课程名称,总计学习时间,总计学习次数,最后学习时间、学习状态(是否完 成)及考评结果等信息。
⑤ 我的评测项目 学员在该页面可以看到分配给自己的所有考试、竞赛、作业和练习。
在系统设定的 时间和次数范围内,学员可以点击参加按钮进入答卷页面参加评测。
⑥ 我的成绩 学员在该界面可以查看到自己参加过的所有考试、作业、练习及竞赛成绩和相关统 计数据。
⑦ 参加调查 该页面列出管理员分配的热点调查和问卷调查任务,学员可以通过点击参加按钮进 行投票和答卷。
。
(同一调查,仅能参加一次) ⑧ 学习论坛 学员可进入论坛相应版块查看,发布,回复贴子(或有在线老师指导或答疑)。
⑨ 个人资料 查看及修改个人信息,修改密码(2) 用户管理 在本系统中出现的所有人的角色称为人员,由人员管理功能负责统一管理。
人员管理有五个主要功能:人员增减、基本资料录入、人员分类和权限分配。
(3) 培训目标管理 系统支持培训目标分类管理,允许新增、编辑、删除培训目标,帮助培训管理人员根据企业的经营目标和培训需求分析,制订相应的员工培训目标。
(4) 培训计划管理 依据培训目标,参考现有培训体系,对培训课程、学员、时间等进行安排。
(5) 课程体系管理 对课程体系进行分类管理,依据企业经营目标和个人职业规划等,建立统一的,科学的,长期的课程体系,为具体的培训安排提供参考和模板的作用。
(6) 选修课程安排 管理员可以查看到所有学员申请的课程,并查看学员申请原因,并执行是否批准操作。
对于拒绝审批的课程可以将拒绝原因发送给申请者。
(7) 课件管理 对课件进行分类管理。
其中新建课件功能,允许用户创建符合 SCORM 标准的多媒体课件和普通课件;导入课件功能,允许用户导入 SCORM 标准的课件,也支持导入普通的非标准课件。
也可手工新建课件。
(8) 课程管理 对培训体系中的课程进行设计和分类管理。
课程的内容包含课程的基本信息、课件、案例分析、考试等。
(9) 教学任务分配 将课程.
上一篇:
J2EE考试复习试题
下一篇:
湖南成考英语复习学会这三招,让考试更简单参考资料