问答题X 纠错阅读以下软件架构设计的叙述,根据要求回答问题。
[说明]
某大型电子商务企业的主要业务之一是网上书城,其主要功能是通过Internet为用户提供各种图书信息的在线查询、浏览及订购相关图书等多种服务。PH软件公司承接了该大型网上书城系统的升级改造开发任务。该软件公司的领域专家对需求进行深入分析后,得到的部分系统需求如下。
(1)用户可能频繁地进行书目查询操作,网上书城需要返回众多符合条件的书目并且分页显示,而且可能每次查询的内容都不一样。
(2)网站管理员需要批量对相关书目信息进行修改,并且将更新信息记录到数据库。
(3)随着该网上书城知名度的不断提升,每天的业务量非常多,网站的用户访问量越来越大,因此对业务有持续性要求,且要求有限的资源更加合理地规划和使用。
(4)随着该企业业务规模的不断扩展,网上书城并购了多家其他同类的网上书城,需要将后台异构数据库系统进行整合。
该软件公司的系统架构师经过多方的研究和论证,集体提出了采用层次式架构风格设计该大型网上书城系统,包括表现层、业务逻辑层和数据访问层。

参考答案:在层次式架构风格中,数据访问层(数据持久层)主要负责和应用中的各种数据源(如DB2、Oracle等关系型数据源、XML数据及其他类型的非关系型数据、Web服务,以及各种特别的遗留系统等)打交道,并将它们整合起来,为业务逻辑层提供统一的数据服务。架构师在不同的应用场合下可能会选择不同的数据访问模式,并且还会不断地推陈出新,这里不会也不可能穷尽所有的数据访问模式,而只是列举了其中最为典型的几个。在线访问模式、Data Access Object模式、Data Transfer Object模式、离线数据模式,以及对象/关系映射(Object/Relation Mapping)模式是数据访问层设计中典型的数据访问模式。各种数据访问模式的说明如表2—15所示。
表2-15各种数据访问模式
数据访问模式 说明
在线访问模式 是最基本和最常用的数据访问模式,该数据访问模式会占用一个数据库连接,读取数据,每个数据库操作都会通
过这个连接不断地与后台的数据源进行交互
DAO模式 是标准J2EE设计模式之一,常用这种模式将底层数据访问操作与高层业务逻辑分离开。一个典型的DAO实现
通常有以下组件:①一个DAO工厂类;②一个DAO接口;③一个实现了DAO接口的具体类(包含访问特定数据
源的数据的逻辑);④数据传输对象(或称为值对象)
DTO模式 是经典EJB设计模式之一。DTO本身是这样一组对象或是数据的容器,它需要跨不同的进程或是网络的边界来
传输数据。这类对象本身应该不包含具体的业务逻辑,并且通常这些对象内部只能进行一些诸如内部一致性检查和
基本验证之类的方法,而且这些方法最好不要再调用其他的对象行为
离线数据模式 以数据为中心:数据从数据源获取之后,将按照某种预定义的结构(如SDO中的Data图表结构、ADO.NET中
的关系结构)存放在系统中,成为应用的中心;离线:对数据的各种操作独立于各种与后台数据源之间的连接或是
事务;与XML集成:离线数据集所维护的数据可以方便地与XMI。格式的文档之间互相转换;独立于数据源:该模
式的不同实现定义了数据的各异的存放结构和规则,这些都是独立于具体的某种数据源的
O/R映射 其指导思想来源于这样一种现实:大多数应用中的数据都是依据关系模型存储在关系型数据库中;很多应用
程序中的数据在开发或是运行时则是以对象的形式组织起来的。O/R映射就提供了这样一种工具或是平台,能够
帮助将应用程序中的数据转换成关系型数据库中的记录;或是将关系数据库中的记录转换成应用程序中代码便于
操作的对象
依题意,在网上书城系统应用中,第1个系统需求是用户根据检查条件查询相关的书目,返回符合条件的书目列表(可能内容非常多,数据量较大),而且可能每次查询的内容都不一样。通常,针对用户书目查询这一业务应用,如果查询返回的数据量并不是很大,同时也不频繁,则可以考虑采用在线访问的模式;如果返回的数据量较大(比如返回众多符合条件的书目并且分页显示)而且较为频繁,则需要考虑在线访问模式和离线数据模式相结合,通过离线数据的缓存来提高查询性能。
第2个系统需求是网站管理员可能需要批量对相关书目信息进行修改,并且需要将更新的信息返回至数据库。此类数据应用的特点表现为,与数据库交互的次数并不频繁,但是每次操作的数据量相对较大;同时,也希望能够使得本地操作有较好的交互体验。针对这种应用情况,往往适合采用离线数据访问的模式,DTO模式也是不错的选择。如果该网上书城应用系统采用的是IBM WebSphere平台,则可以使用SDO技术,或者使用Java中的CachedRowSet技术;如果采用的是基于微软的应用系统平台,则可以采用ADO.NET技术。
第3个系统需求是一个关于“多用户并发访问”的需求,如何让网上书城应用系统能够处理大规模的并发用户访问是一个很复杂的问题,涉及应用的架构、采用的软件、相应的配置和应用程序的调优等方面的问题。对于数据访问层设计,一个常见的方法是使用连接池的模式,以便能够处理更多的用户请求。如果在网上书城应用系统中使用了IBM WebSphere Application Server(或BEA WebLogic、Tomcat等)应用服务器,则这些应用服务器都提供了连接池的机制。
第4个系统需求是一个关于“整合异构数据源”的需求,因为有了新的、不同类型的数据库系统的加入,需要和旧的数据库系统进行整合。后台数据系统种类繁多,配置复杂的情况是随处可见的。可能这个网上书城在刚刚起步的时候只是用了MS SQL Server 2000来作为后台数据源。后来随着业务的增加,又有了新的Oracle(或DB2)系统。除此之外,可能还有很多诸如XML文档等需要和已有的系统集成起来,这些都是令人头痛的问题。在很多实际项目中,经常需要软件开发公司花很大的力气开发一些导入/导出工具来集成此类数据,而现在已经有了专门的产品来完成这些任务。例如,IBM WebSphere InformationIntegration等产品就可以用来支持各种关系型数据源及非关系型数据源的数据整合。
查答案就用赞题库小程序 还有拍照搜题 语音搜题 快来试试吧
无需下载 立即使用

你可能喜欢

问答题阅读以下关于系统安全性和数据存储系统架构的叙述,根据要求回答问题。
[说明]
某市行政审批服务中心大楼内涉及几类网络,分别为因特网(Internet)、市电子政务专网、市电子政务外网、市行政审批服务中心大楼内局域网和各部门业务专网。行政审批服务中心网络建设工作组计划以市电子政务专网为基础,建设市级行政审批服务中心专网(骨干万兆、桌面千兆)。在大楼内部署5套独立链路,分别用于连接政务外网、政务专网、大楼内局域网、因特网和涉密部门内网。行政审批服务中心网络结构(部分)如图2—8所示。

[问题1]
在图2—8所示的数据交换区中,数据交换服务器通过双链路连接至交换机。在数据交换服务器业务的峰值时段,一条链路只能传送总业务量的90%,因而需要两条链路同时工作,才能完成数据交换服务器的全部传送请求。非峰值时段约占整个工作时间的60%,只需要一条链路工作就可以传送全部业务。假定每条链路的可用性为0.9,请计算这两条链路系统(数据交换区中虚线椭圆区域)的平均可用性(注:请简要列出计算过程)。

参考答案:可用性是指网络或网络设备(如服务器等)可用于执行预期任务时间所占总量的百分比。依题意,试题中只要求计算图2—8数据交换区...
赞题库

赞题库-搜题找答案

(已有500万+用户使用)


  • 历年真题

  • 章节练习

  • 每日一练

  • 高频考题

  • 错题收藏

  • 在线模考

  • 提分密卷

  • 模拟试题

无需下载 立即使用

版权所有©考试资料网(ppkao.com)All Rights Reserved