




文档简介
清华大学毕业设计论文 第 1 页 网络教学系统支撑平台中数据交换的研究 与实现 网络教学系统支撑平台中数据交换的研究 与实现 Research and Implementation of Data Transmission and Transformation in the Web based e Learning System 学 生 秦伟俊 指导教师 史元春 清华大学计算机科学与技术 2003 年 6 月 26 日 清华大学毕业设计论文 第 2 页 摘要摘要 作为一种全新的教育方式和手段 现代远程教育是传统教育与现代信息技术 的完美结合 目前在国内 网络教育已经成为网络技术最重要的应用领域之一 但是在网络教育技术上遇到需求亟待解决的问题 缺少统一的支撑平台 系统的 互操作性和扩展性受到极大的限制 作为 网络教育关键技术及示范工程 的重 要组成部分 网络学院示范工程是国家进行远程教育的有益尝试 在解决网络教 育关键技术上取得一定的突破 作为网络学院示范工程重要开发课题 网络教学系统采用先进的三层体系结 构和松散耦合结构 网络教学系统适应大规模复杂的应用需求和不断变化的业务 需求 具备良好的复用性 移植性和扩展性 并提供可靠的安全性维护 网络教 学系统建立统一的基础支撑平台 提供完善的基础服务支持 同时集成了数据交 换服务和用户认证服务 提供异构数据源访问功能 满足数据互操作性和管理服 务互操作性的要求 数据交换模块是网络教学系统支撑平台的重要组成部分 数据交换模块充分 地利用 EJB 的技术优势 提供了应用系统间数据交换服务 具有松耦合的结构 特点 便于和其他模块的集成 数据交换模块能便捷地访问异构数据源 提供给 用户强大的数据访问和查询能力 具有很强的数据互操作能力 数据交换模块主 要由数据传输模块和消息通信模块组成 数据传输模块依据用户需求的数据要求 获取数据 并向用户提供简单易用的数据访问方式 对应用层提供数据传输服务 和数据备份服务 对数据层提供数据访问控制服务 数据查找服务和数据维护服 务 消息通信模块完成应用子系统之间如有消息通信需求时 发送方通过调用消 息通信模块将消息发送到接受方的操作 本文将详细阐述网络教学系统支撑平台中数据交换模块的设计和实现 包括 需求分析 设计模型 应用技术 编码实现和集成测试等方面的工作 同时 针 对工程中遇到的异常情况 数据交换模块设计解决了大数据量数据传输的问题 另外 本文针对数据交换模块的优化和扩展性问题提出初步的设想 关键词关键词 网络教学系统 支撑平台 数据交换模块 三层体系结构 松散耦合结 构 EJB JMS 清华大学毕业设计论文 第 3 页 Abstract Modern e Education is a perfect combination of traditional education and modern information technology Today in China the Web based e Learning System is one of the most important implementations and research fields of network techniques which is the base of the Network Education Techniques and Exampled Project but it encounters some austere problems such as lack of uniform support platform restriction of interoperability and expansibility in the system Web based e Learning System has high availability reliability portability and expansibility for its loosely coupled architecture of three layers The system meets the large scale complex application needs and fluctuant business needs and provides reliable security service Web based e Learning System sets up uniform basic support platform provides solid basic service supports and integrates Data Transmission and Transformation Service and User Authorization Service Besides the system provides data access of other heterogeneous data resource meeting the needs of data interoperability and management interoperability The module of Data Transmission and Transformation short for DATS is one of the most important middleware in the Web based e Learning System With the advantage of Enterprise JavaBeans and loosely coupled architecture DATS provides Data Transmission and Transformation Service between application systems and has the quality of system integration technique DATS supports access of heterogeneous data resource provides powerful ability of data access and query to the customers DATS is composed of Data Transmission Module and Message Communication Module Data Transmission Module is to fetch data according to user requirement and provide simple data access method to the customer To the application layer Data Transmission Module provides data transmission service data transformation service and data backup service To the data layer Data Transmission Module provides data access control service data searching service Message Communication Module is to send message from sender to receiver 清华大学毕业设计论文 第 4 页 The paper will discuss the research and implementation of the DATS module in the Web based e Learning System including analysis of user requirement design of system module application techniques coding and system testing Besides that there is a section to talk about the solution of abnormal circumstance such as Mass Data Transmission In the end the paper involves some assumes of optimization and integration of the DATS module Keywords Web based e Learning System support platform DATS three layered architecture loosely coupled architecture EJB JMS 清华大学毕业设计论文 第 5 页 目录目录 网络教学系统支撑平台中数据交换的研究与实现 1 Research and Implementation of Data Transmission and Transformation in the Web based e Learning System 1 摘要 2 Abstract 3 目录 5 第一章 绪论 7 1 1 现代远程教育发展状况 7 1 2 网络学院示范工程概述 8 1 3 网络教学系统设计特点和相关技术 10 1 3 1 网络教学系统的设计特点 10 1 3 2 网络教学系统采用的相关技术 14 1 4 毕业设计中工作内容 15 第二章 数据交换模块整体设计 16 2 1 示范工程的设计框架 16 2 2 数据交换模块的设计目的 18 2 3 数据交换模块提供的功能 19 2 4 数据交换模块的整体设计框架 20 2 5 数据交换模块的基本子模块 21 第三章 数据传输子模块的设计和实现 22 3 1 数据传输子模块需求背景 22 3 2 数据传输子模块相关研究 25 3 3 数据传输子模块设计方案 26 3 3 1 数据传输设计结构图 26 3 4 2 数据传输调用过程说明 27 3 4 3 数据传输调用时序图 28 3 4 数据传输子模块技术实现 28 3 5 大数据量传输需求背景 30 3 6 大数据量传输设计方案 32 3 6 1 大数据量传输设计结构图 32 3 6 2 大数据量传输调用过程说明 33 3 6 3 大数据量传输调用时序图 33 3 7 大数据量传输技术实现 34 3 7 1 难点分析及其解决方法 34 3 7 2 各模块的功能说明 38 3 8 数据传输子模块总结 38 第四章 消息通信子模块的设计和实现 40 4 1 消息通信子模块需求背景 40 4 2 消息通信子模块相关研究 42 4 3 消息通信子模块设计方案 44 清华大学毕业设计论文 第 6 页 4 3 1 消息通信子模块设计结构图 44 4 3 2 消息通信子模块调用过程说明 46 4 3 3 消息格式的封装 46 4 4 消息通信子模块技术实现 46 4 5 消息通信子模块总结 47 第五章 数据交换模块的其他问题 48 5 1 数据交换模块扩展功能 48 5 2 系统集成问题 49 第六章 总结和展望 51 6 1 总结 51 6 2 展望 52 参考资料 53 后记 54 附录 英文综述 55 清华大学毕业设计论文 第 7 页 第一章第一章 绪论绪论 本章阐明作者毕业设计的工作背景 说明现代远程教育的发展状况和网络教 育的特点 介绍网络学院示范工程的基本情况 描述网络教学系统的设计背景 最后说明毕业设计过程作者的工作内容 1 1 现代远程教育发展状况现代远程教育发展状况 现代远程教育作为一种全新的教育方式和手段 它是传统教育与现代信息技 术的完美结合 现代远程教育的出现对传统的教育方式的影响是深远的 它所具 有的革命性的力量和其巨大的生命力以及带来的市场机会是有目共睹的 因此 伴随着中国经济 社会的全面发展以及现代信息技术在中国的逐步推广与普及 现代远程教育尤其是现代高等远程教育在中国如火如荼地开展起来 网络教育是现代远程教育中的重要组成部分 所谓网络教育指的是在网络环 境下 以现代教育思想和学习理论为指导 充分发挥网络的各种教育功能和丰富 的网络教育资源优势 向教育者和学习者提供一种网络教和学的环境 传递数字 化内容 开展以学习者为中心的非面授教育活动 网络教学目前逐渐成为一种趋 势 体现出以下的特点来 教育产业化 网络教育成主流 教育产业化是经济发展在全民教育方面的折射 未来 教育机构 未必是学校 通过网络投资或出售知识 课程 成本可以迅速降低 而 购买 者可以在互动中 充分表达自我 根据自己的需求自主选择知识教育 电子商务坚定信条是 在线 销售的价格将比其他任何地方的价格都要低 知识 销售 也不例外 人们越来越 关注 教育商品 和 教育消费者 所具有的价值 网络教育将有巨大的发展空间 网络化学习 无所不在 通过对互联网 局域网 外域网的整合 以及电子技术的日新月异 网络教 育可以无处不在 网络化学习将取代传统学习方式 从而创造更高的学习效率 网络教育一方面节省家庭对教育的投资 另一方面拓展了学生接受教育的范畴 突破时空的限制 使学习者学习得更加主动 更加自由 清华大学毕业设计论文 第 8 页 教育信息化 真正的数字革命 随着信息技术的发展 网络教育的出现使得教育机构或者研究机构里巨大的 学习资源和研究资源能够更有效地提供给广大学习者 特别是高等学校 教学对 象不仅仅局限于本校的学生 可以面向更为广大的学习群体 同时 学生不仅仅 局限于本校的学习资源 可以获得网络提供海量的数字学习资源 实现真正的数 字革命 新教育群体 聚散随心所欲 传统的教育有着时空的限制 有明确的教育者与受教育者之分 经验 交流 的增加也基本上是依靠从那些随时间而凝固的 静态的书本中获得知识 在未来 任何一个人都可以通过网络从世界上的任何地方找到与自己志趣相投的人 不分 国籍与种族 不分性别 年龄与受教育程度 任何人都可以请求他人与自己一同 分享经验与知识 在很短的时间内 人们就可以组织起来讨论 然后解散 成为 一种即时性的高效率学术沙龙或教育集体 学习为本 学习工作两不误 终身学习的传统概念是人们首先必须上学 然后工作 接下来是中止工作继 续上学 继续教育与赚钱养家始终是一对矛盾 但这有可能因为网络教育的成熟 而真正成为历史 学习者接受网络教育 不会受到时间和地域的限制 达到学习 工作两不误 1 2 网络学院示范工程概述网络学院示范工程概述 项目背景介绍项目背景介绍 本文研究的网络教学系统是网络学院示范工程的一个重点研究开发内容 网 络学院示范工程是 网络教育关键技术及示范工程 1 项目的重要组成部分 已列入 十五 国家科技攻关计划作为重大项目组织实施 网络学院示范工程是 一个利用互联网络技术进行远程教育的综合性系统 它向师生提供从网络课堂 实时教学 讨论答疑到作业考试的一切必要的学习环节 具有安全可靠 稳定易 扩展 易移植等特点 是一套具有自主版权的网络教育支撑系统 项目的重要性项目的重要性 清华大学毕业设计论文 第 9 页 网络教育关键技术及示范工程 通过对网络教育技术的攻关 来促进我国 远程教育以至国家的教育事业的发展 并且网络教学技术作为一项综合性的研究 课题 是国内外工业界 学术界和教育界共同的研究热点 因此 此项国家科技 攻关计划课题意义重大 作为一个研究验证整个 网络教育关键技术及示范工程 项目各项关键技术 的试验平台和显示网络教学效果的窗口 网络学院示范工程 在整个项目的研 究和实践中起着举足轻重的重要作用 1 国内外的状况和问题国内外的状况和问题 网络教育在美国 日本等信息化程度较高的国家已较为普及 技术研究受到 国家与企业的重视 其产业化属于初步发展阶段 但发展势头很猛 1 在国内 网络教育已经成为网络技术最重要的应用领域之一 1 但目前网络 教育工作的开展受信息基础设施和技术的限制 1 主要问题集中体现在 缺少统一的支撑平台 缺少优秀的应用系统 缺少高质量网络教学的经验 项目内容项目内容 为了解决现阶段国内网络教育存在的这些问题 网络学院示范工程 有针 对性地提出了三个方面的研究内容 建立先进的网络教育基础服务支撑平台 在平台上设计集成优秀网络教育子系统 基于网络教学系统开展广泛深入示范应用 项目目标项目目标 在这三方面内容研究的基础上 网络学院示范工程 需要达到如下目标 研究实现网络学院开展远程教育的一套具有自主版权的网络教育支持系统 在此 基础上开展全过程的网络教学应用示范 探索出切实可行的网络教育的新模式 在此过程中 积极推进教育软件产业化和网络教育产业化 2 项目计划项目计划 网络学院示范工程 整个项目分三个阶段完成 2 清华大学毕业设计论文 第 10 页 第一阶段 从 2002 年 1 月起 12 个月 为关键技术攻关阶段 重点解决 支撑平台和业务系统关键技术 并强调接口规范的制定 研究与实现 第二阶段 从 2003 年 1 月起 4 个月 为系统集成阶段 进行系统集成 功能测试 第三阶段 从 2003 年 5 月起 14 个月 为教学实践阶段 完成办学示范 评测 集成其他课题关键技术成果 并总结验收 项目进展项目进展 整个项目进展处于第二个阶段 将于 2003 年 6 月底完成系统集成 包括系 统各模块的设计和实现 系统的整体集成和系统的功能测试 作者参与项目中网 络教学系统支撑平台中数据交换模块的设计实现及其相关测试工作 1 3 网络教学系统设计特点和相关技术网络教学系统设计特点和相关技术 本节介绍网络教学系统的设计特点和相关应用技术 1 3 1 网络教学系统的设计特点网络教学系统的设计特点 网络教学系统区别于传统的远程教学系统 具有如下显著的特点 网络教学 系统采用三层体系结构 使其具有高可用性 移植性和扩展性 包括存储能力和 处理能力 具备负载均衡能力 实现数据的集中存储和备份 同时考虑数据业务 的安全问题 各应用层采用松散耦合结构 实现应用系统结构化和模块化设计 采用三层体系结构采用三层体系结构 目前用户应用需求已经发生了根本性的转变 传统的 Client Server 模式已经 不能适应现代应用需求 随着数据库应用的日渐发展 数据容量的不断增加 客 户需求的不断增加 分布式事务处理的需求 传统的应用模式在可扩充性 可维 护性 可重用性等方面存在着诸多的缺陷 网络教育系统采用三层体系结构 所谓三层结构是针对于 Client Server 模式 区别而成的 它的特点是在后台有一个后端数据支持服务器 在中端有一群应用 服务器 提供结合用户业务和具体应用的相关系统解决方案 在前端会有很多的 清华大学毕业设计论文 第 11 页 接入设备 通过接入设备与客户机连接 即在应用表示层和数据层之间增加一个 中间层 应用表示层表示前端应用系统 例如用户界面 它要求尽可能的简单 使最终用户不需要进行任何培训就能方便地访问信息 中间层提供应用逻辑和业 务逻辑 通常由中间件 application middleware 提供功能支持 所有的应用系 统 应用逻辑控制都在这一层 系统的复杂性也主要体现在应用层的设计 数据 层维护应用程序所需要的数据 通常指的是应用数据库 数据库服务器存储大量 的数据信息和数据逻辑 维护所有与数据有关的安全 完整性控制 数据一致性 和并发操作等 如图 1 所示的网络教学系统采用的三层体系结构示意图 图 1 三层体系结构示意图 三层体系结构具有如下的优点 1 能有效降低建设和维护成本 简化管理 多层应用结构在各个层次上的组件能够单独更新 替换 增加或者拆除 这 样系统维护更加方便 代价相对低廉 客户端采用瘦客户机 不必进行大量 的数据计算和处理 硬件配置要求不高 通过将业务逻辑集中到中间层 系 统获得了对业务逻辑的独立性 即当用户的需求改变时 开发人员可以迅速 清华大学毕业设计论文 第 12 页 地在中间层 应用服务器 上更新业务逻辑 而无需将更新后的应用提交到 众多的 PC 终端系统上去 即客户端无需任何改动 2 适应大规模复杂的应用需求 三层或多层结构 可以将数据处理从客户端转移到应用服务器和数据库服务 器上 这样 尽管客户端与应用服务器之间可能存在着多个甚至数百个的连 接 但是应用服务器与数据库服务器之间的连接却只有少数几个 从而达到 减少通信线路上传递的数据量的目标 这样的功能分配提供了很强的系统可 伸缩性 使得在用户数量急剧增加时还能保持系统性能的稳定 3 可适应不断的变化和新的业务需求 任何应用系统实施的重点不在于需求确定以后能否实现这些需求 而是在系 统实施后如何适应变化的需求 采用三层体系结构 技术人员通过在不同系 统层次上更新原有组件或加入新组件来调整系统 以适应不断变化的要求 4 访问异构数据库 多层结构的中间层能够提供广泛的异构数据库访问和复制能力 传统的 Client Server 结构需要在客户端上安装各种访问异构数据库的驱动程序 而 三层 多层结构只要在中间层有相应的驱动程序就可以访问异构数据源 对于 上层客户端来说完全是不透明的 5 能有效提高系统并发处理能力 多层体系构架的组件系统将界面发布 业务应用逻辑及数据存储分为多个层 次分散管理 逻辑或物理地将它们分开 可减轻系统压力 提高整体性能 并且中间层可以采取多机并行的方式 相互备份的方式 保证系统的高可用 性 三层 多 层结构提供了客户端与服务器之间的异步通信 使得客户不 必等待提交的分析处理结果而可以继续执行其他处理任务 6 能有效提高系统安全性 多层体系结构将应用程序 数据控制与应用逻辑分层独立管理 能严格控制 信息访问 信息传递中采用数据加密技术 可进一步减低信息失密的风险 应用服务器内建安全控制数据库 实现应用服务器与数据服务器的双重权限 控制 松散耦合结构松散耦合结构 清华大学毕业设计论文 第 13 页 网络教学系统各层采用松散耦合结构 loosely couple 实现结构化和模块化 设计 使系统在局部上发生变化时 不会对其他部分造成太大的影响 甚至没有 影响 这种设计思想主要体现在中间层的设计上 中间层对上层应用层子系统提 供必要的基础支撑服务 包括用户认证服务 用户档案管理服务 目录服务和数 据交换服务 平台上集成的应用子系统之间没有直接的数据关联 都是通过平台 中间层支持的服务来实现子系统之间的通讯和数据交换 示范工程网络教学任务 分解图如图 2 所示 图 2 网络教学系统任务分解图 清华大学毕业设计论文 第 14 页 1 3 2 网络教学系统采用的相关技术网络教学系统采用的相关技术 为了满足网络教学系统的应用需求和设计特点 系统采用 Java 2 平台企业版 The Java 2 Platform Enterprise Edition J2EE 的体系结构和相关技术 下面介 绍 J2EE 的相关技术 J2EE 旨在为支持 Java 语言服务器端部署而提供平台无关的 可移植的 多 用户的 安全的和标准的企业级平台 J2EE 是一个规范 定义了写企业级软件 时必须遵守的准则 3 J2EE 体系框架把绝大部分的应用逻辑和数据处理都集中在应用服务器上 应用服务层由几台或几十台机器组成 采用负载均衡理论 对应用逻辑进行分 解 这种结构提高了系统的处理效率 降低了系统的维护成本 当业务逻辑发 生改变时 只需要维护应用服务器上的逻辑构件 保证了数据的安全和完整统 一 同时还简化了体系结构设计和应用开发 具有良好的可扩展性 可满足各种 需求 可自由选择应用服务器 开发工具 组件 并提供了灵活可靠的安全模型 如图 3 所示 图 3 J2EE 体系结构图 清华大学毕业设计论文 第 15 页 1 4 毕业设计中工作内容毕业设计中工作内容 毕业设计主要工作是参与网络教学系统的开发工程中 所完成的工作主要是 完成网络教学系统支撑平台中数据交换模块的设计工作 根据用户需求 提出满 足需求分析的设计模型 结合 EJB 和 JMS 等技术完成编码实现工作 同时整理 编写文档并与其他组员协调交流 最后参与系统的集成和测试工作 清华大学毕业设计论文 第 16 页 第二章第二章 数据交换模块整体设计数据交换模块整体设计 本章将说明网络教学系统的整体设计方案 详细说明网络教学系统中重要基 础模块之一数据交换模块的设计目的 数据交换模块提供的功能以及数据交换模 块的整体设计构架 2 1 网络教学系统的设计框架网络教学系统的设计框架 2 1 1 网络教学系统支撑平台的设计目的网络教学系统支撑平台的设计目的 目前国内已有多种网络教学软件系统 如 PRCEDU 教学教务管理平台 PRCEDU 网络课件开发平台 科健远程教育系统等 都存在一个共同的问题 缺乏统一的支撑平台 以 PRCEDU 系统为例 PRCEDU 现代远程教育通用平台 体系比较全面 包括面向高校学生或企业员工的一系列网络学习系统和面向管理 人员的大型全网络式的教学或培训管理平台 以及面向高校老师的课件制作平台 清华大学毕业设计论文 第 17 页 等 几乎涵盖了现代远程教育和大型企业网络培训的所有业务需求 从中看出 整个远程教育系统采用将各个应用模块紧密耦合在一起构成完整的教学系统 模 块下层是 INTERNET 网络支撑平台 各模块之间如有应用需求关系时 模块间 直接交互 这样的体系结构能够存在一些隐性的问题 例如公共服务逻辑不清晰 各模块之间总存在数据传输需求 采用原有的设计各模块均具有数据传输功能 可将数据传输服务作为单独的模块提供服务 扩展性比较差 各模块紧密耦合 如果某个模块更新之后 可能所有与之相关的其他模块都需要修改 软件的维护 成本费用增大 针对现有网络教学软件系统存在的一些问题 网络学院示范工程 研究的网络教学系统试图建立一个统一的支撑平台 提供给应用层模块基础服 务 简化模块业务逻辑 可能带来的好处有 完善的基础服务支持 支撑平台集成系统的基础服务 目前主要包括用户认证服务 数据交换服务 用户档案管理服务和目录服务等基础服务 用户认证服务为上层的网络教学业务 系统提供用户身份认证功能 并协助业务系统实现单点登陆的功能 数据交换服 务为上层应用子系统之间提供统一的数据传输支持 并支持应用子系统间的消息 通信 良好的软件复用性 移植性和扩展性 支撑平台采用松耦合的设计 系统需求其他的基础服务模块时能方便地集成 到支撑平台中 提供可靠的安全性维护 2 1 2 网络教学系统的设计框架网络教学系统的设计框架 作为网络学院示范工程重要开发课题 网络教学系统采用先进的三层体系结 构和松散耦合结构 网络教学系统适应大规模复杂的应用需求和不断的业务需 求 具备良好的复用性 移植性和扩展性 并提供可靠的安全性维护 网络教学 系统建立统一的基础支撑平台 提供完善的基础服务支持 同时集成了数据交换 用户认证 用户档案管理等服务 提供异构数据源访问功能 满足数据互操作性 和管理服务互操作性的要求 清华大学毕业设计论文 第 18 页 图 3 网络教学系统模块图 依据网络教学系统功能需求和三层体系结构设计思想 本系统采用如下所示 的系统框架结构 如图 4 所示 网络教学系统对用户呈现教学门户统一访问入口 下属实时教学 课件点播 教学管理 结算系统 答疑系统 作业系统 测验考 试 资源管理 质量评估等九个应用子模块提供相对独立的应用逻辑 中间组件 支撑平台为上层应用层提供认证服务 用户档案管理服务 目录服务和数据交换 服务等基础服务 并维护底层核心数据库和交换数据库 作者主要研究网络教学 系统支撑平台中数据交换模块的设计和实现 2 2 数据交换模块的设计目的数据交换模块的设计目的 支撑平台中重要的基础服务模块是数据交换模块 数据交换模块在整个网络 教学系统中起到重要的作用 提供上层应用子系统间数据传输和消息通信功能 保证应用子系统间的松耦合结构 维护底层数据库 对上层应用子系统屏蔽数 据库操作 并能访问其他数据源 清华大学毕业设计论文 第 19 页 数据交换模块自身充分地利用 EJB 的技术优势 提供了应用系统间数据交换 服务 具有松耦合的结构特点 便于和其他模块的集成 数据交换模块能便捷 地访问异构数据源 提供给用户强大的数据访问和查询能力 具有很强的数据 互操作能力 作为网络教学系统重要的基础支撑模块之一 数据交换模块提供数据传输服 务和数据备份服务 应用子系统需求数据或有数据输出或需要数据更新时向 数据交换模块发出请求 该模块完成数据传输和数据备份工作 对于底层数据 层 该模块提供数据访问控制服务 数据查找服务和数据维护服务 完成对 底层数据库的数据交换事务 数据库数据维护 对需求的数据和服务的查找工 作以及保证数据的安全性和一致性 应用子系统设计关注于自身的业务处理 不需要考虑底层数据传输 数据格式注册和数据备份以及消息通信等细节操作 数据交换模块向上层子系统提供数据交换支持 数据交换模块完成独立的数据 导入导出备份和数据格式注册转换事务逻辑 各模块各自完成相对独立的应用 逻辑 达到系统松散耦合结构的需要 2 3 数据交换模块提供的功能数据交换模块提供的功能 根据示范工程中上层应用子系统的需求 数据交换模块提供如下的功能 应用子系统导入数据服务 应用子系统根据业务所需要的数据类别和格式信息向数据交换模块申请所 需要的数据 数据交换模块依据需求从其他应用子系统处获取相应的数据 应用子系统导出数据服务 应用子系统根据业务需求准备好的数据 向数据交换模块提供所需要的数 据 数据交换模块根据准备好的信息 从该应用子系统获取数据 数据到达 更新服务 应用子系统根据所需数据的类别 格式信息 向数据交换模块请求所需数据 更新 注册数据格式服务 应用子系统向数据交换模块注册输入输出的数据格式 清华大学毕业设计论文 第 20 页 转换数据格式服务 数据交换模块根据应用需求对输入输出的数据格式进行转换 查询数据格式服务 数据交换模块对应用子系统提供所有输入输出的数据格式查询服务 数据交换模块中数据导入 导出服务和数据到达 更新服务是其基本服务 为 上层应用子系统提供必要的基础支持 同时 数据交换模块提供注册数据格式 转换数据格式 查询数据格式和数据备份等扩展功能 如图 5 所示 图 5 数据交换模块提供的功能关系图 2 4 数据交换模块的整体设计框架数据交换模块的整体设计框架 为了满足文中 1 3 1 系统的设计特点 数据交换模块设计提出基本模块设计 模型 如下图 6 所示 数据交换模块主要包括对外发布的应用服务 API 向应用 子系统提供必须的应用服务 满足应用子系统数据交换需求 同时屏蔽下层逻辑 操作 数据交换业务逻辑实现 该层实现数据交换的功能 例如数据导入导出 到达 更新等功能 其中实现消息发送 接受机制 数据安全性 一致性维护 对 数据库数据持久性的维护工作 采用图 6 所示的体系结构 目的在于将数据交换模块需要完成的业务逻辑抽 象出来 进行结构化和模块化设计 应用程序开发人员将不必了解低层次的事务 清华大学毕业设计论文 第 21 页 和状态管理的细节 多线程 资源共享和其他复杂的低级 API 数据交换模块 的业务逻辑由中间件来实现 中间件在三层体系结构中扮演承上启下的角色 利 用 EJB 技术完成业务逻辑 图 6 数据交换模块设计框架图 2 5 数据交换模块的基本子模块数据交换模块的基本子模块 根据数据交换模块的需求 数据交换模块主要完成数据传输和消息通信 那 么从功能上分为两个基本子模块 数据传输子模块和消息通信子模块 在第三章 和第四章中将分别就数据传输子模块和消息通信子模块的需求分析 设计模型和 实现技术等方面进行详细的说明 清华大学毕业设计论文 第 22 页 第三章第三章 数据传输子模块的设计和实现数据传输子模块的设计和实现 根据第二章 2 5 节数据交换模块基本应用子模块 本章将就其中的数据传输 子模块的需求背景 相关研究 设计方案和技术实现等方面进行讨论 同时针对 系统中可能出现的异常情况 大数据量数据传输问题进行深入讨论 3 1 数据传输子模块需求背景数据传输子模块需求背景 数据交换模块的基本功能之一是数据传输功能 数据传输功能指的是数据交 换模块依据用户需求的数据要求获取数据 并向用户提供简单的数据访问方式 以一个实际应用背景说明数据传输子模块的功能需求 如下图 7 所示 应用 子系统甲根据自身应用需求 需要从应用子系统乙获取必要的特定数据 例如 2002 年 1 月 1 日之前计 94 班全体学生的姓名 的实际需求 图 7 数据传输功能应用背景示例 在传统的紧密耦合设计模式中 应用子系统甲如果需要应用子系统乙的某项 数据 那么应用子系统甲则需要和应用子系统乙之间建立数据连接 这种数据连 接在设计初期就完全确定下来 而且在数据传输的整个过程中数据连接一直保持 的 以上的设计模式存在诸多的问题 首先应用子系统甲必须考虑与应用子系统 乙之间数据连接和数据获取的整个细节过程 如数据连接 数据获取 数据组织 和例外处理等过程 如果应用子系统间的服务越来越多 设计模式越来越复杂 那么应用子系统所需要考虑的设计模式越复杂 从而造成应用子系统的业务逻辑 过于庞杂 不仅要考虑自身数据处理的过程 而且考虑自身需要的数据的获取过 程 造成 胖客户端 的情况 其次 应用子系统可扩展性比较差 如果应用子 清华大学毕业设计论文 第 23 页 系统的数据组织形式发生变化 那么所有订阅该项数据的应用子系统访问方式都 要发生改变 所以系统的扩展能力和移植能力非常差 当系统需要进行模块更新 时 原先设计的应用子系统需要修改代码适应新的应用需求 耗费高昂的系统维 护代价 从更高层次上说 使用紧密耦合的应用程序开发方法会在服务质量 安全性 隐私权 数据完整性和复杂事务处理方面提供一定的安全防护 紧密耦合的应用 程序知道它们与之合作的应用程序的位置 这意味着一定的 安全性 保证 紧密耦合的应用程序知道它们的合作应用程序如何操作 这意味这它们能够确保 应用程序间可靠的会话 并且能够确保性能特征达到一定的程度 紧密耦合的 应用程序更易于管理 因为两端都是已知的 构建松散耦合的应用程序更简单 因为开发者不需要花大量的时间定义哪里可以找到合作应用程序 也不需要花时 间定义允许它们进行通信的规则 松散耦合的应用程序的维护也可能更容易 应 用程序的松散耦合还提供了一定级别的灵活性和互操作性 使用传统的方法构建 高度集成的 跨平台的 程序对程序通信环境提供的灵活性和互操作性无法与之 相比 图 8 说明紧密耦合应用程序的行为与松散耦合应用程序的行为 4 图 8 紧密耦合应用程序的行为与松散耦合应用程序的行为 清华大学毕业设计论文 第 24 页 因此 本系统采用松散耦合设计思想 数据交换模块中间层增加数据传输功 能子模块 示意图如图 9 所示 图 9 数据传输模块应用示例 在应用子系统甲和应用子系统乙之间增加数据传输子模块的中间层 应用子系统 甲自身不用关心如何获取来自应用子系统乙的该项数据的具体过程 数据交换模 块向应用子系统提供数据传输功能 同时提供数据传输的 API 应用子系统甲只 需要向数据交换模块提出该项数据的导入请求 即调用数据交换模块对外发布的 数据传输 API 数据交换模块依据格式化的数据请求从应用子系统乙获取该项 数据 组织成统一的数据组织格式然后传输给应用子系统甲 同时提供简单统一 的数据访问方式 这样 应用子系统甲则不需要关心底层数据传输的操作细节 只需要关心自身的业务逻辑 例如该项数据的处理工作 可以看出 数据交换 模块向上层应用子系统来说是不透明的 上层应用子系统看不到数据交换模块完 成的业务逻辑 它只关心需要哪些数据 向数据交换模块申请 同时数据交换模 块根据数据申请要求从其它数据源获取数据 提供给用户 那么 数据交换模块 和上层应用子系统处于松散耦合状态 如果数据交换模块的中间件模块发生更新 或者新增的情况也不会影响上层应用子系统的设计 便于系统的移植性和扩展 性 清华大学毕业设计论文 第 25 页 3 2 数据传输子模块相关研究数据传输子模块相关研究 根据数据传输子模块的需求分析和网络教学系统自身的结构特点 本节中讨 论设计和实现数据传输子模块中采用的相关实用技术及其研究 Enterprise JavaBeans 技术技术 Java 由于其良好的跨平台行而成为服务器端的理想语言 为了利用 Java 实现 服务器端的计算 SUN 推出了一个完整的开发平台 J2EE 其目的是为基于 Java 的服务器端配置提供一个独立于平台的可携带的多用户企业级的安全平台 而 J2EE 的基石就是 Enterprise JavaBeans EJB EJB 是建立基于 JAVA 的服务器端 组件的标准 它定义了如何编写服务器端组件 提供了组件与管理组件的应用服 务器之间的标准约定 EJB 是一种组件架构 使得开发人员能够快速开发出具有 伸缩性的企业级应用 EJB 是一个关于用 Java 语言开发的可部署的服务器端组件的组件体系结构 这个在客户端和服务器端的协议能使组件运行于任何应用服务器中 EJB 组件是 可部署的 具有三大优点 它是被业界认可的 移植性容易实现 快速应用系统开发 数据库连接数据库连接 JDBC 技术技术 在企业级应用程序中 数据库构成了其中的主要数据源之一 应用 Java 数据 库连接 Java Database Connectivity JDBC API 可以从 Java 中访问关系数据库 这种 API 提供了厂商之间的互连和在不同厂商提供的关系数据库之间进行数据 访问 JDBC 本质上就是一些 API 用于执行 SQL 语句 获取查询结果 通过使 用这些 API 可以编写数据库客户程序 从 applet 到 servlet 或 EJB 来连接到关 系数据库 执行 SQL 语句和处理获得的结果 JDBC API 针对 SQL 兼容的关系 数据库提供了一组通用的数据库访问方法 JDBC 抽象了许多具体于厂商的细节 问题 并且泛化了最通常的数据库访问函数 5 清华大学毕业设计论文 第 26 页 3 3 数据传输子模块设计方案数据传输子模块设计方案 通过 3 1 节数据传输子模块的需求分析以及 3 2 节涉及到的相关研究 本节 将说明数据传输子模块的设计方案 3 3 1 数据传输设计结构图数据传输设计结构图 数据传输子模块的功能是依据用户的实际需求 数据传输子模块从数据库或 者其他形式的数据源中获取相关数据 并对该数据按照注册的数据格式进行规范 化 最终将规范化的数据传送给用户 并提供友好的数据访问方法 根据 3 1 节 中数据传输子模块需求背景的描述和3 2节中数据传输子模块设计时需要考虑的 若干问题的分析 结合网络教学系统中应用子系统的实际需求 设计如图 10 所 示的数据传输子模块设计示意图 示意图中包括数据交换中心 DataCenter 一组 数据传输适配器 DataAdaptor 数据访问实体单元 EntityBean 其他数据源提供 的 API 和数据备份服务 DataBackup 各部分的说明将在 3 4 节详细阐述 数据传 输过程如下描述 上层的应用子系统 如实时教学系统应用子系统 如果有数据 传输请求 如需要计 94 班上课学生的姓名列表 应用子系统将向数据交换中心 DataCenter 申请该项数据传输请求 数据交换中心 DataCenter 根据该项数据传输 请求的内容 从相应的数据源 如教务管理系统维护的数据库 获取数据 从数 据源获取数据主要包括三种方式 第一种是通过调用相应的数据传输适配器 DataAdaptor 提供的服务获取数据 第二种是通过访问目的端数据库映射的数据 访问实体单元 EntityBean 获取数据 第三种是来自非数据库的数据形式 如 XML 描述的数据 通过其他API提供的服务获取数据 同时 数据交换中心DataCenter 将获取的数据规范化 并提供统一的访问方法 清华大学毕业设计论文 第 27 页 图 10 数据传子模块设计示意图 3 4 2 数据传输调用过程说明数据传输调用过程说明 数据传输子模块对外发布 API queryData 应用子系统如果有数据传输请求 数据导入请求 数据导出请求 将该请求向数据交换中心 DataCenter 申请 清华大学毕业设计论文 第 28 页 数据交换中心 DataCenter 根据该请求 从数据库中获取数据 其中有三种方式获 取数据 第一种是调用数据传输适配器 DataAdaptor 获取数据 第二种是通过从 相应数据库中表项所映射的 EntityBean 获取数据 第三种是通过其他 API 获取 数据 3 4 3 数据传输调用时序图数据传输调用时序图 根据 3 4 2 节描述的数据传输模块调用过程说明 总结数据传输各模块调用 时序图 如图 11 所示 图 11 数据传输各模块调用时序图 3 4 数据传输子模块技术实现数据传输子模块技术实现 本节说明数据传输子模块设计中各个部分的实现方法 并总结数据传输 各模块的功能说明各模块的功能说明 本节介绍数据传输模型各模块的功能 数据交换中心 DataCenter 本模块是数据交换中心 主要功能是处理应用子系统的数据导入 数据 清华大学毕业设计论文 第 29 页 导出 数据更新等业务逻辑 例如 应用子系统需要其他应用子系统的 数据库中数据 只需向数据交换中心提出此项数据传输请求 由数据交 换中心完成该项数据导入业务逻辑 在技术实现上 数据交换中心采用 EJB 中的无状态会话 Bean 实现 会话 Bean 是一种代表用户执行操作的 EJB EJB 用户通过与会话 Bean 的交互 从企业应用系统获取需要利用 的功能或者服务 无状态会话 Bean 不为特定用户保留会话状态 支持多 个用户 对于那些用户很大的应用 无状态会话 Bean 具有可伸缩性 数据传输适配器 DataAdaptor 数据传输适配器 DataAdaptor 的作用是根据应用子系统不同需求 从相 关数据库中获取要求的数据 在技术实现上 DataAdaptor 是利用 JDBC 连接数据库并获取数据 然后将数据组织成 EesTable 类对象返回给数据 交换中心 数据访问实体单元 EntityBean 比较于数据传输适配器 DataAdaptor 数据访问实体单元 EntityBean 是另 一种数据获取方式 实体 Bean 代表底层的对象 通常用实体 Bean 代表 关系数据库中的数据 一个简单的实体 Bean 可以定义成代表数据库表的 一个记录 也就是每一个实例代表一个特殊的记录 更复杂的实体 Bean 可以代表数据库表间关联视图 因此 可以通过具有 CMP 的实体 Bean 访问关系数据库获取用户需求的数据 同时保证数据的持久性 数据组织格式 EesTable EesTable 类是数据交换模块中用于封装需求数据的数据结构 并提供统 一方便的访问借口 从数据库中获取数据后 将数据按照注册格式进行 组织 对照数据库中相关数据项设计成 EesTable
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 育婴师职业道德规范与责任意识试题及答案
- 深入剖析健康管理师考试的教材与教学内容试题及答案
- 育婴师在疾病防控中的角色试题及答案
- 精细化母猪护理考核的试题及答案
- 激光焊接技术应用实例试题及答案
- 管理师考试重要考点回顾与练习试题及答案
- 电大艺术欣赏试题及答案
- 新启示下的卫生管理证书考试要素试题及答案
- 药物质量控制体系建设试题及答案
- 网络规划设计师的课程设计理念试题及答案
- 单片机课程设计报告电子密码锁
- 义务教育小学科学课程标准-2021版
- 小王子阅读分享演讲稿
- 省级临床重点专科心血管内科评分标准(试行)
- 土木工程施工现场安全控制措施
- 《犯罪学》教学大纲
- 农业银行反洗钱知识竞赛培训试题及答案
- JJF 1101-2019环境试验设备温度、湿度参数校准规范
- GB/T 531.1-2008硫化橡胶或热塑性橡胶压入硬度试验方法第1部分:邵氏硬度计法(邵尔硬度)
- 第4章 毒作用机制毒作用影响因素
- 中医药方大全教学教材
评论
0/150
提交评论