NET平台下基于O/R Mapping的数据库访问中间件的设计与实现

NET平台下基于O/R Mapping的数据库访问中间件的设计与实现

论文摘要

数据库应用系统是以数据库管理系统存储基础数据,用应用程序对这些数据进行各种操作、处理以实现不同的业务逻辑的应用系统,是当前企业、政府信息化的一种主流的系统软件模式。数据库应用系统中的数据访问层是其基本的也是必不可少的组成。在四川省经济信息中心的多个数据库应用系统项目中,用传统的方法开发数据访问层,存在编码质量不一、大量重复工作、移植性差、可重用性低、不利于维护等问题。本文针对中小型企业信息系统的开发模式和以上问题,设计、实现了一个在.NET平台下的基于Object/Relational Mapping和代码自动生成技术的跨数据库的数据访问中间件EasyDAO,以达到在开发时减少开发工作量和方便系统功能扩展,在运行时系统运行高效及方便维护和管理的目标。本文从对数据库应用系统架构和数据访问层实现方法的总结和分析出发,介绍和讨论了Object/Relational Mapping技术的原理、实现方法和技术优势。在以上理论研究的基础上,本文从用户需求出发,使用UML建模技术,应用适当的设计模式,设计出整个EasyDAO中间件的工作流程、主要模块、主要类和XML结构等。在开发完成后进行了功能完成情况统计和性能测试,并与通常的数据库访问方式进行对比。文中完成的数据库访问中间件分为运行时类库和开发时辅助构建工具两部分。运行时类库提供实体/关系映射的处理,提供数据访问、事务处理、自定义事件接口,它为业务逻辑层提供了业务实体对象,并通过缓存提高访问速度;开发时辅助构建工具其构建有两层意思:一是扫描数据库以构建EasyDAO工程对象;二是根据工程对象构建EasyDAO实体扩展层。辅助构建工具为开发人员提供了一个友好的配置、开发环境,用户可以利用这个工具来创建工程,完成不同种类数据源的数据库架构扫描,在所得架构上设置映射对象的属性和校验信息,编辑应用系统中需要用到的SQL语句。该工具利用CodeDOM及XML技术,提供实体扩展层代码生成及XML映射文件生成功能。另外,该工具还提供数据库变化扫描和确认功能,对于实际开发很有意义。测试结果表明EasyDAO的开发达到了预期的目标,通过EasyDAO中间件访问数据库和直接通过.NET平台下的ADO.NET访问数据库有相近的性能。而该产品在实际的项目运用当中也为减少开发工作量、提高维护效率起到了实际的效果。在文末针对目前版本EasyDAO的功能和不足制定了下一步升级计划。

论文目录

  • 摘要
  • Abstract
  • 第一章 引言
  • 1.1 课题背景
  • 1.2 研究现状
  • 1.3 相关技术
  • 1.3.1.N ET Framework
  • 1.3.2 ADO.NET
  • 1.3.3 XML
  • 1.3.4 CodeDOM
  • 1.3.5 Object/Relational Mapping
  • 1.4 本文主要工作
  • 第二章 数据库应用系统架构
  • 2.1 C/S架构与B/S架构
  • 2.1.1 客户端/服务器架构
  • 2.1.2 浏览器/服务器架构
  • 2.1.3 C/S架构与B/S架构的对比
  • 2.1.3.1 C/S与B/S的区别
  • 2.1.3.2 C/S架构软件的优势与劣势
  • 2.1.3.3 B/S架构软件的优势与劣势
  • 2.2 三层架构及数据访问层
  • 2.2.1 数据库应用系统三层架构
  • 2.2.2 数据访问层实现方法
  • 2.2.2.1 内嵌SQL方法
  • 2.2.2.2 紧耦合映射方法
  • 2.2.2.3 健壮持久层方法
  • 2.3 基于中间件的三层架构
  • 2.4 中小型数据库应用系统和EasyDAO
  • 2.5 本章小结
  • 第三章 对象/关系映射简介
  • 3.1 对象模型与关系模型
  • 3.1.1 关系模型
  • 3.1.2 对象模型
  • 3.2 对象/关系映射原理
  • 3.3 对象/关系映射的方式
  • 3.3.1 对象属性的映射
  • 3.3.2 类映射到数据表
  • 3.3.3 对象间关系的映射
  • 3.3.4 完整性约束检查
  • 3.4 对象/关系映射的优势
  • 3.5 EasyDAO中的对象/关系映射
  • 3.6 本章小结
  • 第四章 EasyDAO 中间件的设计
  • 4.1 EasyDAO中间件的设计目标
  • 4.2 EasyDAO中间件的总体设计
  • 4.2.1 EasyDAO中间件的组成
  • 4.2.2 EasyDAO类库的设计
  • 4.2.2.1 EasyDAO在数据库应用系统中的位置
  • 4.2.2.2 EasyDAO的层次结构
  • 4.2.2.3 EasyDAO的处理过程
  • 4.2.2.4 EasyDAO实体关系层
  • 4.2.2.5 EasyDAO执行支持层
  • 4.2.2.6 EasyDAO数据库连接管理层
  • 4.2.2.7 EasyDAO实体扩展层
  • 4.2.3 EasyDAO构建工具类库设计
  • 4.2.3.1 EasyDAOProject工程类
  • 4.2.3.2 EasyDAOBuilder数据库扫描类
  • 4.2.3.3 EasyDAOBuilder扩展层生成类
  • 4.2.4 EasyDAO构建工具UI设计
  • 4.3 本章小结
  • 第五章 EasyDAO 完成情况及测试
  • 5.1 EasyDAO功能完成情况
  • 5.2 EasyDAO性能测试情况
  • 5.2.1 测试环境
  • 5.2.2 测试用例
  • 5.2.3 测试场景
  • 5.2.4 测试结果
  • 5.2.4.1 性能指标
  • 5.2.4.2 测试结果说明
  • 5.3 EasyDAO升级计划
  • 5.3.1 EasyDAO V1.1
  • 5.3.2 EasyDAO V2.0
  • 5.4 本章小结
  • 第六章 结论
  • 致谢
  • 参考文献
  • 在学期间的研究成果
  • 相关论文文献

    标签:;  ;  ;  ;  ;  

    NET平台下基于O/R Mapping的数据库访问中间件的设计与实现
    下载Doc文档

    猜你喜欢