论企业应用系统的数据持久层架构设计 数据持久层(Data Persistence Layer)通常位于企业应用系统的业务逻辑层和数据源层之间,为整个项目提供一个高层、统一、安全、并发的数据持久机制,完成对各种数据进行持久化的编程工作,并为系统业务逻辑层提供服务。它能够使程序员避免手工编写访问数据源的方法,使其专注于业务逻辑的开发,并且能够在不同项目中重用本框架,这大大简化了数据的增加、删除、修改、查询功能的开发过程,同时又不丧失多层结构的天然优势,继承延续应用系统架构的可伸缩性和可扩展性。当运用关系型数据

题目

论企业应用系统的数据持久层架构设计 数据持久层(Data Persistence Layer)通常位于企业应用系统的业务逻辑层和数据源层之间,为整个项目提供一个高层、统一、安全、并发的数据持久机制,完成对各种数据进行持久化的编程工作,并为系统业务逻辑层提供服务。它能够使程序员避免手工编写访问数据源的方法,使其专注于业务逻辑的开发,并且能够在不同项目中重用本框架,这大大简化了数据的增加、删除、修改、查询功能的开发过程,同时又不丧失多层结构的天然优势,继承延续应用系统架构的可伸缩性和可扩展性。当运用关系型数据库作为数据存储机制时,在业务层与数据源间加入数据持久层,能够解决对象与关系的“阻抗不匹配”问题,将对象的状态持久化存储到关系型数据库中。

请围绕“企业应用系统的数据持久层架构设计”论题,依次从以下三方面进行论述。 1.概要叙述你参与分析和设计的企业应用系统开发项目以及你所担任的主要工作。 2.分析在企业应用系统的数据持久层架构设计中有哪些数据访问模式,并详细阐述每种数据访问模式的主要内容。 3.数据持久层架构设计的好坏决定着应用程序性能的优劣,请结合实际说明在数据持久层架构设计中需要考虑哪些问题。


相似考题
更多“论企业应用系统的数据持久层架构设计 数据持久层(Data Persistence Layer)通常位于企业应用系 ”相关问题
  • 第1题:

    开放系统互联参与模型(081)分为7层、物理层、数据链路层、网络层、传输层、会话层、表示层和( )

    A、接口层

    B、持久化层

    C、web层

    D、应用层


    正确答案:D

  • 第2题:

    阅读以下关于Web应用系统架构设计的叙述,在答题纸上回答问题1至问题3. 【说明】 某信息技术公司计划开发一套在线投票系统,用于为市场调研、信息调查和销售反馈等业务提供服务。该系统计划通过大量宣传和奖品鼓励的方式快速积累用户,当用户规模扩大到一定程度时,开始联系相关企业提供信息服务,并按照信息服务种类和用户投票数量收取费用。 为了降低开发成本和提高开发效率,项目组经过讨论后决定采用轻量级Java EE开发框架设计系统应用架构。在应用架构设计中,除了满足系统主要功能需求,还需要考虑的因素包括: (1)项目开发采用MySQL数据库存储数据,一但将来可能移植到其它数据库平台; (2)系统开发过程中尽可能降低或者消除SQL语句开发的工作量; (3)投票系统中数据之间的关系复杂,需要支持数据对象的聚合和继承等关系。 项目组基于MVC模式设计出了投票系统的架构,包括表示层、业务逻辑层、数据持久层和数据层。在具体讨论数据持久层采用哪种技术方案时,老王建议采用成熟的Hibernate框架,小李则认为iBatis更加灵活,更适合作为投票系统数据持久层开发技术。

    【问题1)(5分) 请用300以内文字说明什么是数据持久层,使用数据持久层能够为项目开发带来哪些好处? 【问题2】(12分) 针对在线投票系统的实际应用需求和要求,项目组应选用哪种技术实现数据持久层?请用200字以内文字说明其采用该技术的原因。 【问题3】(8分) 数据持久层是Web应用系统框架中重要的组成部分,主流的数据持久层技术分别基于不同的技术方案,请在表5-1中(1)-(4)处分别根据(a)~(d)所列技术的方案类别填入其序号。 表5-1 数据持久层技术分类(a) BMP, CMP (b)iBatis/MyBatis (c)SprmgJdbcTemplate (d)TopLink,JDO,Hibernate


    正确答案:【问题1】
    数据持久层是一组软件服务,将应用程序与该程序所使用的数据源分离,为整个项目提供一个统一、安全、并发的数据持久机制。
    好处:
    1、程序代码重用性强,即使更换数据库,只需要更改配置文件,不必重写程序代码。
    2、业务逻辑代码可读性强,在代码中不会有大量的SQL语言,提高程序的可读性。
    3、持久化技术可以自动优化,以减少对数据库的访问量,提高程序运行效率。
    4、简化开发工作,让开发人员更关注于业务逻辑的开发。
    5、通过对象/关系映射向业务逻辑提供面向对象的数据访问。
    【问题2】
    1、项目组应选Hibernate框架
    2、选择该技术的原因是:
    (1)从移植的角度来看使用Hibernate更容易移植到其它数据库平台。
    Hibernate与具体数据库的关联只需在XML文件中配置即可,所有的HQL语句与具体使用的数据库无关,移植性很好。MyBatis项目中所有的SQL语句都是依赖所用的数据库的,所以不同数据库类型的支持不好。
    (2)使用Hibernate能降低或者消除SQL语句开发工作量, Hibernate 提供了方法完成持久层操作,程序员不需要对SQL 的熟练掌握,便可完成任务。
    (3)Hibernate提供了对象状态管理的功能,使开发者不再需要理会底层数据库系统的细节,而MyBatis在这一块没有文档说明,用户需要对对象自己进行详细的管理。
    【问题3】
    (1) (c)                
    (2) (b)                
    (3) (d)                
    (4) (a)

  • 第3题:

    分层架构将软件系统的组件分成多个互不重叠的层,包括

    A.数据层

    B.持久层

    C.业务层

    D.表现层

    E.物理层

    F.应用层


    数据层;持久层;业务层;表现层

  • 第4题:

    从功能角度数据库应用系统可以划分为四个层次来实现,其中数据的完整性维护工作出现在( )。

    A.表示层

    B.业务逻辑层

    C.数据访问层

    D.数据持久层


    参考答案:D

  • 第5题:

    阅读以下关于Web系统架构的设计的叙述,回答下列问题。
    某信息技术公司计划开发一套在线投票系统,用于为市场调研、信息调查和销售反馈等业务提供服务。该系统计划通过大量宣传和奖品鼓励的方式快速积累用户,当用户规模扩大到一定程度时,开始联系相关企业提供信息服务,并按照信息服务种类和用户投票数量收取费用。

    为了降低开发成本和提高开发效率,项目组经过讨论后决定采用轻量级Java EE开发框架设计系统应用架构。在应用架构设计中,除了满足系统主要功能需求,还需要考虑的因素包括:1.项目开发采用MySQL,数据库存储数据,但将来可能移植到其他数据库平台;2.系统开发过程中尽可能降低或者消除SQL语句开发的工作量;3.投票系统中数据之间的关系复杂,需要支持数据对象的聚合和继承等关系。
    项目组基于MVC模式设计出了投票系统的架构,包括表示层、业务逻辑层、数据持久层和数据层。在具体讨论数据持久层采用哪种技术方案时,老王建议采用成熟的Hibernate框架,小李则认为iBatis更加灵活,更适合作为投票系统数据持久层开发技术。
    【问题1】请用300以内文字说明什么是数据持久层,使用数据持久层能够为项目开发带来哪些好处?
    【问题2】针对在线投票系统的实际应用需求和要求,项目组应选用哪种技术实现数据持久层?请用200字以内文字说明其采用该技术的原因


    答案:
    解析:
    数据持久层是根据分层思想,通过建立逻辑数据操作接口,采取一定的对象/关系映射策略,隐藏数据库访问代码细节,向业务开发人员提供透明的对象持久化操作机制。

    能够为项目开发带来的好处:(1)分离业务逻辑层和数据层,降低两者之间的耦合;(2)通过对象/关系映射向业务逻辑提供面向对象的数据访问;(3)简化数据层访问,隐藏数据库链接、数据读写命令和事务管理细节。
    项目组应该采用Hibernate框架。
    原因:(1)Hibernate支持多种不同类型数据库,满足项目组数据库移植需求;
    (2)Hibernate相对于iBatis减少了SQL语句开发的工作量;(3)iBatis生成的PO是扁平化的,无法像Hibernate一样支持对象的继承和聚合等立体化关系。

    答案:(1)(c) (2) (b) (3) (d) (4) (a)