阅读以下关于Web应用系统开发的问题,在答题纸上回答问题1至问题3。 A公司承担了某企业应用系统的开发任务,用户要求系统最终应发布到Web上供企业员工及企业客户使用。项目组在进行方案论证时,首先肯定了该系统需使用B/S结构,但在系统应采用的底层平台上产生了分歧,一方认为应采用微软.NET平台,一方认为应采用Java企业版平台。经过认真讨论,结合两种平台的特点及项目的实际需求,项目组最终决定采用Java企业版平台作为系统开发运行的基础平台。 【问题1】(9分) 请在以下平台特点(1)~(9)中,选择出.NE

题目
阅读以下关于Web应用系统开发的问题,在答题纸上回答问题1至问题3。
A公司承担了某企业应用系统的开发任务,用户要求系统最终应发布到Web上供企业员工及企业客户使用。项目组在进行方案论证时,首先肯定了该系统需使用B/S结构,但在系统应采用的底层平台上产生了分歧,一方认为应采用微软.NET平台,一方认为应采用Java企业版平台。经过认真讨论,结合两种平台的特点及项目的实际需求,项目组最终决定采用Java企业版平台作为系统开发运行的基础平台。
【问题1】(9分)
请在以下平台特点(1)~(9)中,选择出.NET平台与Java企业版平台各自具备的优势填入表5-1的(a)~(f)项中,选择出两个平台共有的特点填入表5-1的(g)~(i)项中。
(1)良好跨平台可移植性支持
(2)易于部署与配置
(3)多程序设计语言支持
(4)良好的Web多层应用开发支持
(5)丰富的多厂商外部支持
(6)良好的O/R(对象/关系)映射支持
(7)针对特定平台的优化支持
(8)良好的源代码以外的可定制性支持
(9)良好的Web服务支持
表5-1 .NET平台与Java平台的优势对比

【问题2】(8分)
MVC(Model-View-Controller)模式是Web应用系统开发中常用的一种软件架构模式。请分别针对基于EJB的重量级框架和基于Struts等的轻量级框架,说明MVC模式中的各组件应采用何种构件实现。
项目组在进行需求调研时,发现用户界面部分的变动可能会比较频繁,因此需要降低系统界面与业务逻辑之间的耦合度。MVP(Model-View-Presenter)模式是由MVC模式派生出的一种设计模式,其主要目的是降低MVC模式中模型(Model)与视图(View)的耦合度,请用300字以内文字,从组件耦合度、组件分工及对开发工程化支持等三方面说明MVP模式与MVC模式的主要区别。
【问题3】(8分)
因为系统中大量业务逻辑涉及企业的核心商业数据,为保证系统数据一致性,完善的事务(Transaction)控制是系统实现时必需考虑重要因素之一。请用200字以内文字说明事务的基本特征,并简单描述EJB规范中提供的两种事务控制的基本方法。


相似考题

1.试题三 (25 分)阅读以下关于 Java 企业级应用系统开发架构选择方面的叙述,在答题纸上回答问题 1 至问题 3。某软件公司承担了某中小型企业应用软件开发任务,进度要求紧迫。为了按时完成任务,选择合适的企业应用系统开发架构非常重要。项目组在进行方案论证时,项目组成员提出了两种开发思路。(1)刘工建议采用 J2EE 5.0 和 EJB 3.0 进行开发。理由是 J2EE定义了标准的应用开发体系结构和部署环境,EJB 是 J2EE 的基础和核心。J2EE 5.0 主要目标是简化开发,相比 EJB 2.1,EJB 3.0 具有很多改进和提高。(2)杜工建议采用 Struts,Spring 和 Hibernate 轻量级开源框架相结合的方式。理由是随着 Java开源项目阵营的发展壮大, 一些基于 POJOs (Plan Old Java Objects)的开源框架被广泛地引入到 Java 企业应用开发中来,与重量级的 EJB 框架相比,这些轻量级的框架有很多优点。 项目组仔细比较分析了两种方案的特点、优点和不足之处。认为杜工和刘工的建议都合理,但是从结合当前项目实际情况出发,最后决定采用杜工的建议。【问题 1】 (6 分)Java 企业应用框架一般被划分为三个层次,请用 150 字以内文字说明都有哪三个层次?功能分别是什么?【问题 2】 (12 分)请用 200 字以内的文字叙述 Struts,Spring 和 Hibernate 开源框架特点和结合方式。【问题 3】 (7 分)请用200字以内的文字说明基于Struts, Spring和Hibernate的轻量级框架与基于EJB的重量级框架解决问题的侧重点有什么不同?

更多“阅读以下关于Web应用系统开发的问题,在答题纸上回答问题1至问题3。 A公司承担了某企业应用系统的开发任务,用户要求系统最终应发布到Web上供企业员工及企业客户使用。项目组在进行方案论证时,首先肯定了该系统需使用B/S结构,但在系统应采用的底层平台上产生了分歧,一方认为应采用微软.NET平台,一方认为应采用Java企业版平台。经过认真讨论,结合两种平台的特点及项目的实际需求,项目组最终决定采用Java企业版平台作为系统开发运行的基础平台。 【问题1】(9分) 请在以下平台特点(1)~(9)中,选择出.NE”相关问题
  • 第1题:

    阅读以下关于Java企业级应用系统开发体系结构选择方面的叙述,在答题纸上回答问题1至问题3。

    博学公司承担了某中小型企业应用软件开发任务,进度要求紧迫。为了按时完成任务,选择合适的企业应用系统开发体系结构非常重要。因此,首席架构师张博士召集了相关技术人员进行方案讨论,在进行方案论证时,项目组成员提出了两种开发思路。

    (1)谢工建议采用J2EE和EJB进行开发。理由是J2EE定义了标准的应用开发体系结构和部署环境,EJB是J2EE的基础和核心。J2EE的主要目标是简化开发。

    (2)王工建议采用Struts、Spring和Hibernate轻量级开源框架相结合的方式。理由是随着Java开源项目阵营的发展壮大,一些基于POJOs(PlanOldJavaObjects)的开源框架被广泛地引入到Java企业应用开发中来,与重量级的EJB框架相比,这些轻量级的框架有很多优点。

    针对这两种思路,张博士仔细比较和分析了两种方案的特点、优点和不足之处。认为王工和谢工的建议都合理,但是,从结合当前项目实际情况出发,最后决定采用王工建议。

    请用200字以内的文字叙述Struts、Spring和Hibernate开源框架特点和结合方式。


    Struts框架+Spring框架+Hibernate框架实现了表现层、业务逻辑组件层和持久层的结合。
    Struts是MVC模式的开源框架,主要用于企业应用中表示层的实现。借助于Struts,开发人员开源把主要精力集中在业务处理上,简化遵循MVC设计模式的Web应用开发工作,很好地实现代码重用,提高开发效率。Struts框架包括:
    (1)模型。Struts中模型是一个Action类,开发者通过其实现商业逻辑,同时用户请求通过控制器向Action的转发过程是基于由struts-config.xml文件描述的配置信息的。
    (2)视图。视图是由与控制器配合工作的一整套JSP定制标签库构成,利用它们可以快速建立应用系统的界面。
    (3)控制器。本质上是一个Servlet,将客户端请求转发到相应的Action类。
    (4)一些用来做XML文件解析的工具包。
    Spring是业务组件层轻量级框架。Spring框架是一个基于IoC和面向方面编程的体系结构。用户可以通过Spring来利用POJOs编程,使用依赖注入(DependencyInjection,DI)解析POJO间的依赖性,然后使用面向方面编程将服务与它们相关联。采用依赖注入使得它可以很容易地实现Bean的装配,提供了简洁的AOP并据此实现事务管理等。
    Spring的核心要点是:支持不绑定到特定J2EE服务的可重用业务和数据访问对象。这样的对象可以在不同的J2EE环境(Web或EJB.、独立应用程序、测试环境之间重用。Hibernate属于持久层框架。Hibernate是一个开源的O/RMapping框架,它对JDBC进行了非常轻量级的对象封装。可以在应用EJB的J2EE框架中取代CMP,完成数据持久化的重任。

  • 第2题:

    阅读以下关于Java企业级应用系统开发架构选择方面的叙述,在回答问题 1至问题3。

    某软件公司承担了某中小型企业应用软件开发任务,进度要求紧迫。为了按时完成任务,选择合适的企业应用系统开发架构非常重要。项目组在进行方案论证时,项目组成员提出了两种开发思路。

    (1)刘工建议采用J2EE 5.0和EJB 3.0进行开发。理由是J2EE定义了标准的应用开发体系结构和部署环境,EJB是J2EE的基础和核心。J2EE 5.0主要目标是简化开发,相比EJB 2.1,EJB 3.0具有很多改进和提高。

    (2)杜工建议采用Struts,Spring和Hibernate轻量级开源框架相结合的方式。理由是随着Java开源项目阵营的发展壮大,一些基于POJOs (Plan Old Java Objects)的开源框架被广泛地引入到Java企业应用开发中来,与重量级的EJB框架相比,这些轻量级的框架有很多优点。

    项目组仔细比较分析了两种方案的特点、优点和不足之处。认为杜工和刘工的建议都合理,但是从结合当前项目实际情况出发,最后决定采用杜工的建议。

    Java企业应用框架一般被划分为三个层次,请用150字以内文字说明都有哪三个层次?功能分别是什么?


    正确答案:[解答要点] 表现层、业务逻辑组件层和持久层。 表现层用来建立应用系统的界面对应视图(View)。 业务逻辑组件层来开发应用逻辑对应控制器(Controller)。 持久层是实现持久化存储对应模型(Model)。
    [解答要点] 表现层、业务逻辑组件层和持久层。 表现层用来建立应用系统的界面,对应视图(View)。 业务逻辑组件层来开发应用逻辑,对应控制器(Controller)。 持久层是实现持久化存储,对应模型(Model)。 解析:Java企业应用框架一般被划分为三个层次:表现层、业务逻辑组件层和持久层。
    表现层用来建立应用系统的界面,对应视图(View)。例如,表现层采用JSF(Java Server Face),JSF的开发流程的核心是事件驱动,组件和标签的封装程度非常高,很多典型应用已经不需要开发者去处理HTTP,整个过程是通过IoC(依赖注入)来实现的。
    业务逻辑组件层用来开发应用逻辑,对应控制器(Controller)。例如,业务逻辑组件层采用EJB3.0的Session Bean。EJB3.0允许开发者使用耦合松散的组件来开发应用,实现一个EJB所有使用的类和接口都减少了。
    持久层是实现持久化存储,对应模型(Model)。例如,采用EJB3.0实体Bean持久化模型,吸收了Hibernate的一些思想采用O/R Mapping模式。

  • 第3题:

    阅读以下关于 Web 系统架构设计的叙述,在答题纸上回答问题 1至问题 3。 【说明】 某公司开发的 B2C 商务平台因业务扩展,导致系统访问量不断增大,现有系统访问速度缓慢,有时甚至出现系统故障瘫痪等现象。面对这一情况,公司召开项目组讨论会议,寻求该商务平台的改进方案。讨论会上,王工提出可以利用镜像站点、CDN内容分发等方式解决并发访问量带来的问题。而李工认为,仅仅依靠上述外网加速技术不能完 全解决系统现有问题,如果访问量持续增加,系统仍存在崩渍的可能。李工提出应同时结合Web内网加速技术优化系统改进方案,如综合应用负载均衡、缓存服务器、Web应用服务器、分布式文件系统、分布式数据库等。经过讨论,公司最终决定采用李工的思路,完成改进系统的设计方案。

    【问题 1】 (10分) 针对李工提出的改进方案,从 a ~j 中分别选出各技术的相关描述和对应常见支持软件填入表 5-1 中的(1) ~(10) 处。保存静态文件,减少网络交换量,加速响应请求 可采用软件级和硬件级负载均衡实现分流和后台减压 文件存储系统,快速查找文件 FastDFS HAProxy JBoss Hadoop Distributed File System(HDFS) Apache Tomact Squid MongoDB 【问题 2】(9 分) 请用100字以内的文字解释分布式数据库的概念,并给出提高分布式数据库系统性能的 3 种常见实现技术。 【问题3】 (6 分) 针对 B2C 商务购物平台的数据浏览操作远远高于数据更新操作的特点,指出该系统应采用的分布式数据库实现方式,并分析原因。


    正确答案:问题1
    (1)(b)
    (2)(e)
    (3)(a)
    (4)(i)
    (5)(c)
    (6)(7)(d)(g)
    (8)(9)(f)(h)
    (10)(j)
    问题2
    分布式数据库是由一组数据组成的,这组数据分布在计算机网络的不同计算机上,网络中的每个节点具有独立处理的能力(称为场地自治),它可以执行局部应用,同时,每个节点也能通过网络通信子系统执行全局应用。
     
    分布式数据库系统性能提升策略:
    1. 全局查询树的变换
    2. 副本的选择与多副本的更新策略
    3. 查询树的分解
    4. 半连接与直接连接

    问题3
    在本题所涉及到的环境中,由于读取数据的需求非常强烈,涉及到的数据量极大,而更新较少,可以在分布式数据库中采用一主多从的机制来分散读取数据的压力。更新数据时,操作主库,从主库再同步到从库,从库只负责读取数据。

  • 第4题:

    试题五(共25分)

    阅读以下关于Web应用的叙述,在答题纸上回答问题1至问题3。

    某软件企业拟开发一套基于Web的云平台配置管理与监控系统,该系统按租户视图、系统管理视图以及业务视图划分为多个相应的Web应用,系统需求中还包含邮件服务、大文件上传下载、安全攻击防护等典型Web系统基础服务需求。

    【问题1】(5分) 在选择系统所采用的Web开发框架时,项目组对Alibaba开发的WebX框架与轻量级Spring MVC框架进行了对比分析,最终决定采用WebX框架进行开发。请用300字以内文字,从多应用支持、基础服务支持以及可扩展性这三个方面对WebX与Spring MVC框架进行对比。 【问题2】(12分) 在确定系统釆用的持久层技术方案时,项目组梳理了系统的典型持久化需求,对照需求对比分析了 Hibernate和MyBatis两种持久化方案,请分析两种持久化方案对表 5-1中所列项目需求的支持情况,将候选答案序号A或B填入表5-1相应位置。【候选答案:A 支持 B 不支持或支持差】 【问题3】(8分) 系统实现相应的配置管理与监控功能时,需要集成云平台侧提供的大量服务以实现配置数据的读取写入与不同视图监测数据的获取。项目组在确定服务集成方案时,对比了REST风格RPC与SOAP RPC两种方案,经过分析讨论,项目组最终决定采用REST风格RPC机制实现服务集成,请判断表5-2中给出的选择REST方案的理由是否合理。


    正确答案:【问题1】
    (1)基础服务支持:因为WebX在阿里巴巴和淘宝用了很多年,对于超大访问量的电子商务网站,WebX经受了考验,被证明是成熟可靠的。
    (2)多应用支持:WebX和Spring MVC一样,完全建立在Spring框架之上,可以使用Spring的所有特性。WebX被设计成多个层次,层次间的分界线很清晰,每个层次都足够开放和易于扩展。
    (3)可扩展性:WebX对Spring做了扩展,一个组件可以扩展另一个组件,也可以被其它组件扩展。这种机制使WebX具有较好的扩展性,且比未经扩展的Spring更易使用。
    【问题2】
    (1)A     (2)B      (3)B      (4)A      (5)A      (6)B
    【问题3】
    (1)√     (2)×      (3)×      (4)√

  • 第5题:

    试题二(共25分)

    阅读以下关于分布式存储系统设计的叙述,回答问题1至问题3。

    某软件公司开发基于云计算的分布式文档协作平台( DDCP),系统部分需求如下所示:

    (1)实现文档的分布式存储,客户端可随时随地上传和下载文档;

    (2)支持多客户端并发编辑同一文档,某个客户端所做修改会实时显示在其他客户端;

    (3)要求系统具有自我修复机制,当系统中某个节点失效时,无需人工干预能够自动实现节点替换并恢复到一致状态。

    项目组经过讨论,决定采用现有的分布式文件系统作为基础架构,但在具体选用哪种设计方案时产生了分歧。王工建议采用Hadoop分布式文件系统HDFS作为系统参考架构,但张工认为Google分布式文件系统GFS更适合该系统需求。最后经过更为详细

    的分析和讨论,同意了张工的建议,采用GFS作为分布式文档协作平台的文件系统架构。

    【问题1】(12分)

    请用300字以内的文字说明GFS和HDFS有何异同,并针对系统需求,用200字以内的文字说明选择GFS的原因。

    【问题2】(8分)

    针对图2-1所示DDCP基础架构,请分别说明一次数据读操作和一次并发写操作的过程。

    【问题3】(5分)

    请分别叙述采用GFS和HDFS架构,单点失效问题是如何解决的。


    正确答案:
    试题二分析
    分布式数据存储系统是实现云计算和面向服务计算等分布式计算模型的基础,采用不同的分布式文件系统架构决定了分布式数据存储系统的运行效率、可伸缩性、容错能力及安全性等。分布式文件系统是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连,从而实现了数据的分布式存储和管理。
    Google的GFS文件系统和Hadoop分布式文件系统HDFS是当前最流行的两种分布式文件系统参考架构。
    本题主要考查应试者对于分布式文件系统设计的掌握情况,特别是GFS和HDFS分布式文件系统架构的设计。本题结合一个典型的实际项目案例,首先要求分析GFS和HDFS之间的异同,然后针对系统需求分析采用GFS文件系统的原因;针对项目中所设、计的DDCP基础架构,分析数据读写操作的过程;最后针对具体的单点失效问题,说明两种分布式文件系统架构所提供的解决方案。
    【问题1】
    本问题要求考生针对GFS和HDFS两种分布式文件系统架构的特点展开分析并进行总结。
    (1) GFS是一个面向大规模数据密集型应用的、可伸缩的分布式文件系统,虽然运行在多台普通硬件设备上,但是它提供了灾难冗余的能力,为大量客户机提供高性能的服务。一个GFS集群中包含了一个单独的Master节点、多台Chunk服务器,并且同时被多个客户端访问。GFS存储的文件被分割为固定大小的Chunk并分配标识,缺省提供3个存储复制节点,Master节点管理所有的文件系统元数据,GFS客户端代码以库的形式被链接到客户程序里,无论是客户端还是Chunk服务器都不需要缓存文件数据。
    (2) HDF-S是一个高度容错性的系统,能够提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS采用Master/Slave架构,一个HDFS集群由一个Namenode和一定数目的Datanodes组成。Namenode是一个中心服务器,负责管理文件系统的命名空间以及客户端对文件的访问,集群中的Datanode 一般是一个节点一个,负责管理它所在节点上的存储。一个文件被分成一个或多个数据块,这些块存储在一组Datanodeh上,Namenode执行文件系统的命名空间操作并确定数据块到具体Datanode节点的映射,Datanode在Namenode的统一调度下负责处理文件系统客户端的读写请求。
    【问题2】
    本问题要求考生认真分析图中给出的DDCP系统架构,依据图中节点之间的数据传
    输关系描述数据传输过程。
    (1)读数据的过程:应用程序将读数据请求发送给客户端后,客户端访问主服务器请求所需数据位置信息,主服务器查询数据分块和地址信息返回给客户端,客户端根据地址信息向块服务器发送读数据请求,块服务器将所请求数据发送给客户端,客户端将数据转发给应用程序。
    (2)写数据的过程:应用程序分别将数据和写数据请求发送给客户端,客户端依次访问主服务器请求所写数据位置信息,主服务器依次查询数据分块和地址信息发送给客户端,客户端将所要写入的数据重新组织,将属于同一个块服务器的数据按照分组报文和分组序列信息发送给块服务器数据缓存( Primary),客户端将所写数据按照分组报文发送给块服务器数据缓存( Secondary),块服务器数据缓存(Primary)按照分组序列将数据写入到块服务器数据块( Primary),块服务器(Primary)将分组序列发送给块服务器(Secondary),块服务器数据缓存(Secondary)按照分组序列将数据写入块服务器数据块( Secondary),块服务器(Secondary)将写入完成信息发送给块服务器(Primary),块服务器数据( Primary)将写数据完成信息发送给客户端。
    【问题3】
    本问题要求应试者掌握单点失效问题产生的原因,并能够结合GFS和HDFS架构的特点进行分析,说明所采用的解决方案。
    参考答案
    【问题1】
    GFS与HDFS相比的相同点是:单一控制机和多台工作机;通过数据分块和复制实现可靠性和高性能;树状文件系统结构。
    GFS与HDFS相比的不同点是:多次写入和多客户端并发增加数据;Master单点失效问题;数据快照的支持;实时性支持。
    针对系统需求,文档协作要求多客户端并发写入文件支持;解决主服务器单点失效问题;系统补偿操作需要数据快照。
    【问题2】
    读数据过程:
    ④应用程序将读数据请求发送给DDCP客户端;
    ②DDCP客户端访问DDCP主服务器请求所需数据位置信息;
    ③DDCP主服务器查询数据分块和地址信息发送给DDCP客户端;
    ④DDCP客户端根据地址信息向DDCP块服务器发送读数据请求;
    ⑤DDCP块服务器将所请求数据发送给DDCP客户端;
    ⑥DDCP客户端将数据转发给应用程序。
    并发写数据过程:
    ①并发写的应用程序分别将数据和写数据请求发送给DDCP客户端;
    ②DDCP客户端依次访问DDCP主服务器请求所写数据位置信息;
    ③DDCP主服务器依次查询数据分块和地址信息发送给DDCP客户端;
    ④DDCP客户端将所要写入的数据重新组织,将属于同一个DDCP块服务器的数
    据按照分组报文和分组序列信息发送给DDCP块服务器数据缓存(Primary);
    ⑤DDCP客户端将所写数据按照分组报文发送给DDCP块服务器数据缓存
    (Secondary);
    ⑥DDCP块服务器数据缓存(Primary)按照分组序列将数据写入到DDCP块服务
    器数据块( Primary);
    ⑦DDCP块服务器(Primary)将分组序列发送给DDCP块服务器(Secondary);
    ⑧DDCP块服务器数据缓存(Secondary)按照分组序列将数据写入DDCP块服务
    器数据块(Secondary);
    ⑨DDCP块服务器(Secondary)将写入完成信息发送给DDCP块服务器(Primary);
    ⑩DDCP块服务器数据(Primary)将写数据完成信息发送给DDCP客户端。
    【问题3】
    GFS中采用主从模式备份Master的系统元数据,当主Master失效时,可以通过分布式选举备机接替主Master继续对外提供服务,而由于复制及主备切换本身有一定的复杂性,HDFS Master的持久化数据只写入到本机(可能写入多份存放到Master机器的多个磁盘中防止某个磁盘损害),出现故障时需要人工介入。

  • 第6题:

    阅读以下关于 Web 系统架构设计的叙述,在答题纸上回答问题1 至问题 3。

    【说明】

    某公司开发的 B2C 商务平台因业务扩展,导致系统访问量不断增大,现有系统访问速度缓慢,有时甚至出现系统故障瘫痪等现象。面对这一情况,公司召开项目组讨论会议,寻求该商务平台的改进方案。讨论会上,王工提出可以利用镜像站点、CDN 内容分发等方式解决并发访问量带来的问题。而李工认为,仅仅依靠上述外网加速技术不能完全解决系统现有问题,如果访问量持续增加,系统仍存在崩渍的可能。李工提出应同时结合 Web 内网加速技术优化系统改进方案,如综合应用负载均衡、缓存服务器、Web 应用服务器、分布式文件系统、分布式数据库等。经过讨论,公司最终决定采用李工的思路,完成改进系统的设计方案。

    【问题 1】 (10 分)

    针对李工提出的改进方案,从 a ~j 中分别选出各技术的相关描

    述和对应常见支持软件填入表 5-1 中的(1) ~(10) 处。

    【问题 2】(9 分)

    请用 100 字以内的文字解释分布式数据库的概念,并给出提高分布式数据库系统性能的 3 种常见实现技术。

    【问题 3】 (6 分)

    针对 B2C 商务购物平台的数据浏览操作远远高于数据更新操作的特点,指出该系统应采用的分布式数据库实现方式,并分析原因。


    答案:
    解析:
    【问题 1】 (10 分)
    答案:(1)b;(2)e;(3)a;(4)i;(5)c;(6)d;(7)g;(8)f;(9)h;(10)j。
    【问题 2】(9 分)

    答案:分布式数据库是由一组数据组成的,这组数据分布在计算机网络的不同计算机上,网络中的每个节点具有独立处理的能力(称为场地自治),它可以执行局部应用,同时,每个节点也能通过网络通信子系统执行全局应用。

    (1)采用数据分片技术,提高访问的局部性,提升系统性能。

    (2)采用查询优化技术(包括:全局查询树的变换、副本的选择与多副本的更新策略、查询树的分解、半连接与直接连接)提高查询速度。

    (3)读写分离技术

    【问题 3】 (6 分)

    答案:在本题所涉及到的环境中,由于读取数据的需求非常强烈,涉及到的数据量极大,而更新较少,可以在分布式数据库中采用一主多从的机制来分散读取数据的压力。更新数据时,操作主库,从主库再同步到从库,从库只负责读取数据。

  • 第7题:

    阅读以下关于Web应用的叙述,在答题纸上回答问题1至问题3。【说明】某软件企业拟开发一套基于Web的云平台配置管理与监控系统,该系统按租户视图、系统管理视图以及业务视图划分为多个相应的Web应用,系统需求中还包含邮件服务、大文件上传下载、安全攻击防护等典型Web系统基础服务需求。【问题1】(5分)在选择系统所采用的Web开发框架时,项目组对Alibaba开发的WebX框架与轻量级Spring MVC框架进行了对比分析,最终决定采用WebX框架进行开发。请用300字以内文字,从多应用支持、基础服务支持以及可扩展性这三个方面对WebX与Spring MVC框架进行对比。【问题3】(8分)系统实现相应的配置管理与监控功能时,需要集成云平台侧提供的大量服务以实现配置数据的读取写入与不同视图监测数据的获取。项目组在确定服务集成方案时,对比了REST风格RPC与SOAP RPC两种方案,经过分析讨论,项目组最终决定采用REST风格RPC机制实现服务集成,请判断表5-2中给出的选择REST方案的理由是否合理。


    答案:
    解析:
    【问题1】(5分)答案:(1)基础服务支持:因为WebX在阿里巴巴和淘宝用了很多年,对于超大访问量的电子商务网站,WebX经受了考验,被证明是成熟可靠的。(2)多应用支持:WebX和Spring MVC一样,完全建立在Spring框架之上,可以使用Spring的所有特性。WebX被设计成多个层次,层次间的分界线很清晰,每个层次都足够开放和易于扩展。(3)可扩展性:WebX对Spring做了扩展,一个组件可以扩展另一个组件,也可以被其它组件扩展。这种机制使WebX具有较好的扩展性,且比未经扩展的Spring更易使用。

  • 第8题:

    阅读以下软件架构设计的问题,在答题纸上回答问题1和问题2。
    某软件开发公司欲为某电子商务企业开发一个在线交易平台,支持客户完成网上购物活动中的在线交易。在系统开发之初,企业对该平台提出了如下要求:
    (1)在线交易平台必须在1s内完成客户的交易请求。
    (2)该平台必须保证客户个人信息和交易信息的安全。
    (3)当发生故障时,该平台的平均故障恢复时间必须小于10s。
    (4)由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行硬件升级必须在6小时内完成。
    针对这些要求,该软件开发公司决定采用基于架构的软件开发方法,以架构为核心进行在线交易平台的设计与实现。
    【问题1】(9分)
    软件质量属性是影响软件架构设计的重要因素。请用200字以内的文字列举六种不同的软件质量属性名称,并解释其含义。
    【问题2】(16分)
    请对该在线交易平台的4个要求进行分析,用300字以内的文字指出每个要求对应何种软件质量属性;并针对每种软件质量属性,各给出2种实现该质量属性的架构设计策略。


    答案:
    解析:
    【问题1】
    常见的软件质量属性有多种,例如性能(Performance)、可用性(Availability)、可靠性(Reliability)、健壮性(Robustness)、安全性(Security)、可修改性(Modification)、可变性(Changeability)、易用性(Usability)、可测试性(Testability)、功能性(Functionality)和互操作性(Inter-operation)等。
    这些质量属性的具体含义是:
    (1)性能是指系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段时间内系统所能处理事件的个数。
    (2)可用性是系统能够正常运行的时间比例。
    (3)可靠性是指软件系统在应用或错误面前,在意外或错误使用的情况下维持软件系统功能特性的基本能力。
    (4)健壮性是指在处理或环境中,系统能够承受压力或变更的能力。
    (5)安全性是指系统向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。
    (6)可修改性是指能够快速地以较高的性能价格比对系统进行变更的能力。
    (7)可变性是指体系结构经扩充或变更成为新体系结构的能力。
    (8)易用性是衡量用户使用一个软件产品完成指定任务的难易程度。
    (9)可测试性是指软件发现故障并隔离、定位其故障的能力特性,以及在一定的时间和成本前提下,进行测试设计、测试执行的能力。
    (10)功能性是系统所能完成所期望工作的能力。
    (11)互操作性是指系统与外界或系统与系统之间的相互作用能力。
    【问题2】
    (1)在线交易平台必须在1s内完成客户的交易请求。该要求主要对应性能,可以采用的架构设计策略有增加计算资源、改善资源需求(减少计算复杂度等)、资源管理(并发、数据复制等)和资源调度(先进先出队列、优先级队列等)。
    (2)该平台必须严格保证客户个人信息和交易信息的保密性和安全性。该要求主要对应安全性,可以采用的架构设计策略有抵御攻击(授权、认证和限制访问等)、攻击检测(入侵检测等)、从攻击中恢复(部分可用性策略)和信息审计等。
    (3)当发生故障时,该平台的平均故障恢复时间必须小于l0s。该要求主要对应可用性,可以采用的架构设计策略有Ping/Echo、心跳、异常和主动冗余等。
    (4)由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行平台升级必须在6小时内完成。该要求主要对应可修改性,可以采用的架构设计策略有软件模块泛化、限制模块之间通信、使用中介和延迟绑定等。
    【解析】

    本题考查考生对于质量属性及质量属性实现策略的掌握情况。
    【问题1】
    常见的软件质量属性有多种,例如性能(Performance)、可用性(Availability)、可靠性(Reliability)、健壮性(Robustness)、安全性(Security)、可修改性(Modification)、可变性(Changeability)、易用性(Usability)、可测试性(Testability)、功能性(Functionality)和互操作性(Inter-operation)等。
    这些质量属性的具体含义是:
    (1)性能是指系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段时间内系统所能处理事件的个数。
    (2)可用性是系统能够正常运行的时间比例。
    (3)可靠性是指软件系统在应用或错误面前,在意外或错误使用的情况下维持软件系统功能特性的基本能力。
    (4)健壮性是指在处理或环境中,系统能够承受压力或变更的能力。
    (5)安全性是指系统向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。
    (6)可修改性是指能够快速地以较高的性能价格比对系统进行变更的能力。
    (7)可变性是指体系结构经扩充或变更成为新体系结构的能力。
    (8)易用性是衡量用户使用一个软件产品完成指定任务的难易程度。
    (9)可测试性是指软件发现故障并隔离、定位其故障的能力特性,以及在一定的时间和成本前提下,进行测试设计、测试执行的能力。
    (10)功能性是系统所能完成所期望工作的能力。 
    (11)互操作性是指系统与外界或系统与系统之间的相互作用能力。
    【问题2】
    本题主要结合实际案例,考查实现各种质量属性的策略。
    (1)在线交易平台必须在1s内完成客户的交易请求。该要求主要对应性能,可以采用的架构设计策略有增加计算资源、改善资源需求(减少计算复杂度等)、资源管理(并发、数据复制等)和资源调度(先进先出队列、优先级队列等)。
    (2)该平台必须严格保证客户个人信息和交易信息的保密性和安全性。该要求主要对应安全性,可以采用的架构设计策略有抵御攻击(授权、认证和限制访问等)、攻击检测(入侵检测等)、从攻击中恢复(部分可用性策略)和信息审计等。
    (3)当发生故障时,该平台的平均故障恢复时间必须小于l0s。该要求主要对应可用性,可以采用的架构设计策略有Ping/Echo、心跳、异常和主动冗余等。
    (4)由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行平台升级必须在6小时内完成。该要求主要对应可修改性,可以采用的架构设计策略有软件模块泛化、限制模块之间通信、使用中介和延迟绑定等。

  • 第9题:

    阅读以下关于Java企业级应用系统开发体系结构选择方面的叙述,在答题纸上回答问题1至问题3。 博学公司承担了某中小型企业应用软件开发任务,进度要求紧迫。为了按时完成任务,选择合适的企业应用系统开发体系结构非常重要。因此,首席架构师张博士召集了相关技术人员进行方案讨论,在进行方案论证时,项目组成员提出了两种开发思路。 (1)谢工建议采用J2EE和EJB进行开发。理由是J2EE定义了标准的应用开发体系结构和部署环境,EJB是J2EE的基础和核心。J2EE的主要目标是简化开发。 (2)王工建议采用Struts、Spring和Hibernate轻量级开源框架相结合的方式。理由是随着Java开源项目阵营的发展壮大,一些基于POJOs(PlanOldJavaObjects)的开源框架被广泛地引入到Java企业应用开发中来,与重量级的EJB框架相比,这些轻量级的框架有很多优点。 针对这两种思路,张博士仔细比较和分析了两种方案的特点、优点和不足之处。认为王工和谢工的建议都合理,但是,从结合当前项目实际情况出发,最后决定采用王工建议。 Java企业应用框架一般被划分为3个层次,请用150字以内文字说明都有哪3个层次?功能分别是什么?


    正确答案: Java企业应用框架一般被划分为3个层次:表现层、业务逻辑组件层和持久层。
    表现层用来建立应用系统的界面,对应视图。例如,表现层采用JSF(JavaServerFacE.,JSF的开发流程的核心是事件驱动,组件和标签的封装程度非常高,很多典型应用已经不需要开发者去处理HTTP,整个过程是通过IoC(InversionofControl,控制反转)来实现的。
    业务逻辑组件层用来开发应用逻辑,对应控制器。例如,业务逻辑组件层采用EJB的会话Bean。EJB允许开发者使用耦合松散的组件来开发应用,实现一个EJB所有使用的类和接口都减少了。
    持久层是实现持久化存储,对应模型。例如,采用EJB的实体Bean持久化模型,吸收了Hibernate的一些思想采用对象关系映射(Object-RelationMapping,O/RMapping)模式。

  • 第10题:

    问答题
    阅读以下关于Java企业级应用系统开发体系结构选择方面的叙述,在答题纸上回答问题1至问题3。 博学公司承担了某中小型企业应用软件开发任务,进度要求紧迫。为了按时完成任务,选择合适的企业应用系统开发体系结构非常重要。因此,首席架构师张博士召集了相关技术人员进行方案讨论,在进行方案论证时,项目组成员提出了两种开发思路。 (1)谢工建议采用J2EE和EJB进行开发。理由是J2EE定义了标准的应用开发体系结构和部署环境,EJB是J2EE的基础和核心。J2EE的主要目标是简化开发。 (2)王工建议采用Struts、Spring和Hibernate轻量级开源框架相结合的方式。理由是随着Java开源项目阵营的发展壮大,一些基于POJOs(PlanOldJavaObjects)的开源框架被广泛地引入到Java企业应用开发中来,与重量级的EJB框架相比,这些轻量级的框架有很多优点。 针对这两种思路,张博士仔细比较和分析了两种方案的特点、优点和不足之处。认为王工和谢工的建议都合理,但是,从结合当前项目实际情况出发,最后决定采用王工建议。 请用200字以内的文字叙述Struts、Spring和Hibernate开源框架特点和结合方式。

    正确答案: Struts框架+Spring框架+Hibernate框架实现了表现层、业务逻辑组件层和持久层的结合。
    Struts是MVC模式的开源框架,主要用于企业应用中表示层的实现。借助于Struts,开发人员开源把主要精力集中在业务处理上,简化遵循MVC设计模式的Web应用开发工作,很好地实现代码重用,提高开发效率。Struts框架包括:
    (1)模型。Struts中模型是一个Action类,开发者通过其实现商业逻辑,同时用户请求通过控制器向Action的转发过程是基于由struts-config.xml文件描述的配置信息的。
    (2)视图。视图是由与控制器配合工作的一整套JSP定制标签库构成,利用它们可以快速建立应用系统的界面。
    (3)控制器。本质上是一个Servlet,将客户端请求转发到相应的Action类。
    (4)一些用来做XML文件解析的工具包。
    Spring是业务组件层轻量级框架。Spring框架是一个基于IoC和面向方面编程的体系结构。用户可以通过Spring来利用POJOs编程,使用依赖注入(DependencyInjection,DI)解析POJO间的依赖性,然后使用面向方面编程将服务与它们相关联。采用依赖注入使得它可以很容易地实现Bean的装配,提供了简洁的AOP并据此实现事务管理等。
    Spring的核心要点是:支持不绑定到特定J2EE服务的可重用业务和数据访问对象。这样的对象可以在不同的J2EE环境(Web或EJB.、独立应用程序、测试环境之间重用。Hibernate属于持久层框架。Hibernate是一个开源的O/RMapping框架,它对JDBC进行了非常轻量级的对象封装。可以在应用EJB的J2EE框架中取代CMP,完成数据持久化的重任。
    解析: 暂无解析

  • 第11题:

    问答题
    阅读以下关于Java企业级应用系统开发体系结构选择方面的叙述,在答题纸上回答问题1至问题3。 博学公司承担了某中小型企业应用软件开发任务,进度要求紧迫。为了按时完成任务,选择合适的企业应用系统开发体系结构非常重要。因此,首席架构师张博士召集了相关技术人员进行方案讨论,在进行方案论证时,项目组成员提出了两种开发思路。 (1)谢工建议采用J2EE和EJB进行开发。理由是J2EE定义了标准的应用开发体系结构和部署环境,EJB是J2EE的基础和核心。J2EE的主要目标是简化开发。 (2)王工建议采用Struts、Spring和Hibernate轻量级开源框架相结合的方式。理由是随着Java开源项目阵营的发展壮大,一些基于POJOs(PlanOldJavaObjects)的开源框架被广泛地引入到Java企业应用开发中来,与重量级的EJB框架相比,这些轻量级的框架有很多优点。 针对这两种思路,张博士仔细比较和分析了两种方案的特点、优点和不足之处。认为王工和谢工的建议都合理,但是,从结合当前项目实际情况出发,最后决定采用王工建议。 请用200字以内的文字说明基于Struts、Spring和Hibernate的轻量级框架与基于EJB重量级框架解决问题的侧重点有什么不同?

    正确答案: 作为重量级框架,EJB框架强调高可伸缩性,适合于开发大型应用系统。在EJB体系结构中,一切与基础结构服务相关的问题和底层分配问题都由容器来处理。另外,EJB容器通过减少数据库访问次数以及分布式处理等方式提供了专门的系统性能解决方案,能够充分解决系统性能问题。
    轻量级框架侧重于减少开发的复杂度,相应地它的处理能力便有所减弱(如事务功能弱、不具备分布式处理能力),比较适用于开发小型应用系统。采用轻量框架后,一方面因为采用基于POJOs的方法进行开发,使应用不依赖于任何容器,这可以提高开发调试效率;另一方面轻量级框架多数是开源项目,开源社区提供了良好的设计和许多快速构建工具以及大量现成可供参考的开源代码,这有利于项目的快速开发。轻量级框架的产生并非是对重量级框架的否定,可以说二者是互补的。轻量级框架旨在开发具有更强大,功能更完备的企业应用;而新的EJB版本则在努力简化J2EE,从而使EJB不仅是擅长处理大型应用系统,也能用于开发中小型系统,这也是EJB轻量化的一种努力。对于大型应用系统以及将来可能涉及到能力扩展的中小型应用系统而言,
    采用结合使用轻量级框架和重量级框架也不失为一种较好的解决方案。
    解析: 暂无解析

  • 第12题:

    问答题
    阅读以下软件架构设计的问题,在答题纸上回答问题1和问题2。 某软件开发公司欲为某电子商务企业开发一个在线交易平台,支持客户完成网上购物活动中的在线交易。在系统开发之初,企业对该平台提出了如下要求。 (1)在线交易平台必须在1秒内完成客户的交易请求。 (2)该平台必须保证客户个人信息和交易信息的安全。 (3)当发生故障时,该平台的平均故障恢复时间必须小于10秒。 (4)由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行硬件升级必须在6小时内完成。 针对这些要求,该软件开发公司决定采用基于架构的软件开发方法,以架构为核心进行在线交易平台的设计与实现。 请对该在线交易平台的4个要求进行分析,用300字以内的文字指出每个要求对应何种软件质量属性;并针对每种软件质量属性,各给出两种实现该质量属性的架构设计策略。

    正确答案: (1)在线交易平台必须在1秒内完成客户的交易请求。该要求主要对应性能,可以采用的架构设计策略有增加计算资源、改善资源需求(减少计算复杂度等)、资源管理(并发、数据复制等)和资源调度(先进先出队列、优先级队列等)。
    (2)该平台必须严格保证客户个人信息和交易信息的保密性和安全性。该要求主要对应安全性,可以采用的架构设计策略有抵御攻击(授权、认证和限制访问等)、攻击检测(入侵检测等)、从攻击中恢复(部分可用性策略)和信息审计等。
    (3)当发生故障时,该平台的平均故障恢复时间必须小于10秒。该要求主要对应可用性,可以采用的架构设计策略有Ping/Echo、心跳、异常和主动冗余等。
    (4)由于企业业务发展较快,需要经常为该平台添加新功能或进行硬件升级。添加新功能或进行平台升级必须在6小时内完成。该要求主要对应可修改性,可以采用的架构设计策略有软件模块泛化、限制模块之间通信、使用中介和延迟绑定等。
    解析: 暂无解析

  • 第13题:

    阅读以下关于企业应用集成的叙述,在回答问题1至问题3。

    某软件公司承担了某大型企业应用系统集成任务,该企业随着信息化的进展,积累了许多异构的遗产信息系统,这些系统分别采用J2EE、.NET等技术进行开发,分布在不同的地理位置,采用不同的协议进行数据传输。企业要求集成后的系统能够实现功能整合,并在组织现有功能的基础上提供增值服务。为了按时完成任务,选择合适的企业应用集成方法和架构非常重要。项目组在讨论方案时,提出了两种集成思路。

    (1)刘工建议采用传统的应用集成方法,将应用集成分为多个层次,并采用消息代理中间件连接遗产系统。

    (2)王工建议采用基于SOA的方法进行应用集成,将现有遗产系统采用Web Service的方式进行包装,暴露统一格式的接口,并采用企业服务总线(ESB)进行连接。

    项目组仔细分析比较了两种方案的优点和不足后,认为刘工和王工的建议都合理,但是结合当前项目的实际情况,最后决定采用王工的建议。

    请分析比较两种方案优点和不足,完成表1-1中的空白部分。


    正确答案:(1)将现有系统看作抽象的服务的提供者集成方法统一明确; (2)不同层次的集成方法关注点不同功能组合方面能力较弱; (3)一般为中心辐射型(hub-and-spoke)系统之间的耦合度较高; (4)集成系统具有模块化松耦合的特点可扩展性较好。
    (1)将现有系统看作抽象的服务的提供者,集成方法统一明确; (2)不同层次的集成方法关注点不同,功能组合方面能力较弱; (3)一般为中心辐射型(hub-and-spoke),系统之间的耦合度较高; (4)集成系统具有模块化,松耦合的特点,可扩展性较好。 解析:该问题考查的是在进行企业应用集成时,采用传统的多层划分、基于中间件集成方式和与基于SOA的集成方式的特点比较,主要强调基于SOA思想在应用集成中的优势。需要注意的是,如果企业只是进行小规模或较浅层次的“战术”级应用集成,采用传统的集成方式即可较好的完成任务,但是如果企业想从集成系统的灵活性和可扩展角度考虑,能够持续地集成已有信息系统,并进行“战略”意义上的长远规划,那么面向服务的架构无疑是一种更加优越的方法。采用SOA的思想进行应用集成,企业现有的应用系统都可以看作广义上的服务提供者,因此(1)处应该填写“将现有系统看作抽象的服务的提供者,集成方法统一明确”,这个答案要强调两点:一是服务提供者,二是集成方式统一;传统的应用集成方式往往采用分层的方式对待整个集成活动,因此在(2)处应该填写“不同层次的集成方法关注点不同,功能组合方面能力较弱”:对于(3),传统的集成方式大多会采用中心辐射型的集成架构,系统的耦合程度较高;对于(4),由于在面向服务的体系结构中,服务是统一的抽象模块,因此集成系统具有模块化、松耦合的特点,可扩展性较强。

  • 第14题:

    阅读下列说明,回答问题1至问题3。

    【说明】

    某企业进行企业信息化工程建设,主要包括综合布线工程、网络与主机平台建设、应用系统开发。

    综合布线系统一般由哪几个子系统组成?请列出。


    正确答案:工作区子系统、水平子系统、管理间子系统、垂直干线子系统、设备间子系统、建筑群子系统。
    工作区子系统、水平子系统、管理间子系统、垂直干线子系统、设备间子系统、建筑群子系统。 解析:综合布线系统(PDS)应是开放式星型拓扑结构,应能支持电话、数据、图文和图像等多媒体业务的需要。
    综合布线系统宜按下列6个部分进行设计。
    .工作区子系统;
    .水平布线子系统;
    .管理间子系统;
    .垂直千线子系统;
    .设备间子系统;
    .建筑群子系统。

  • 第15题:

    阅读以下关于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)

  • 第16题:

    试题一(25 分)

    阅读以下关于企业应用集成的叙述,在答题纸上回答问题 1 至问题 3。

    某软件公司承担了某大型企业应用系统集成任务,该企业随着信息化的进展,积累了许多异构的遗产信息系统,这些系统分别采用 J2EE、.NET 等技术进行开发,分布在不同的地理位置,采用不同的协议进行数据传输。企业要求集成后的系统能够实现功能整合,并在组织现有功能的基础上提供增值服务。为了按时完成任务,选择合适的企业应用集成方法和架构非常重要。项目组在讨论方案时,提出了两种集成思路。

    (1)刘工建议采用传统的应用集成方法,将应用集成分为多个层次,并采用消息代理中间件连接遗产系统。 (2) 王工建议采用基于SOA的方法进行应用集成, 将现有遗产系统采用Web Service的方式进行包装,暴露统一格式的接口,并采用企业服务总线(ESB)进行连接。 项目组仔细分析比较了两种方案的优点和不足后,认为刘工和王工的建议都合理,但是结合当前项目的实际情况,最后决定采用王工的建议。

    【问题 1】 (8 分)

    请分析比较两种方案优点和不足,完成表 1-1 中的空白部分。

    【问题 2】 (8 分)

    针对该企业的集成实际情况,请用 200 字以内的文字叙述王工建议中企业服务总线(ESB)应该具有的基本功能。

    【问题 3】 (9 分)

    王工的方案拟采用 Web Service 作为基于 SOA集成方法的实现技术。 请根据该系统的实际情况,用 300 字以内的文字说明系统应该分为哪几个层次,并简要说明每个层次的功能和相关标准。


    正确答案:

  • 第17题:

    阅读以下关于Web应用的叙述,在答题纸上回答问题1至问题2。

    【说明】

    某软件公司拟为其客户开发一套基于Web的电子商务系统,该系统向终端用户提供在线购物功能。近期,项目组召开会议对以下两项需求进行了重点讨论:

    (1)系统终端用户的界面呈现应提供丰富的多媒体信息,包括文本、图片、动画、视频及语音消息。

    (2)系统上线后需应对大量客户端并发请求处理,商家促销活动时,并发用户数可能会达到20万的规模;系统预期用户呈明显地地域集中分布特征。



    【问题1】

    项目组在讨论实现需求(1)的技术方案时,首先确定了以下技术原则:

    (a)应在开发阶段容易获得良好的协作开发环境支持;

    (b)应考虑客户端浏览器的兼容性;

    (c)应尽可能使系统具有良好的可维护性;

    (d)应考虑公司开发人员的技术学习成本。

    项目组就Flex与HTML5两种技术方案进行了论证,综合考虑上述技术原则要求,最终采用了基于Flex的技术方案,请结合需求(1)及上述技术原则,对比Flex与HTML5两种技术方案的优劣,说明采用基于Flex的技术方案的原因。

    【问题2】

    项目组在讨论实现需求(2)的技术方案时,首先确定了以下技术原则:

    (a)系统中商品信息及用户信息按类别划分不同数据库或表存放;

    (b)系统应提供热备份机制以防止服务器意外失效;

    (c)为满足大规模并发处理要求,系统软硬件投入可根据需要追加。

    项目组经过集思广益,抽取了HTML静态化、缓存、库表散列、集群与镜像、负载均衡等候选技术手段。请结合需求(2)及相应技术原则,分析上述技术手段在本项目中的可行性,将结果填入表格5-1中。


    答案:
    解析:
    【问题1】
    答:从需求(1)看,该系统域于典型的富互联网应用,而基于Flex与HTML5的技术方案均可实现系统客户端多媒体呈现的基本要求,但HTML5往往需要同时配合CCS与JavaScrip t来实现完整的页面展现,对照项目组确定的技术原则,这两种方案存在以下主要区别:

    (1)协作开发环境支持:Flex具备更好的协作开发环境,包括IDE、编泽器、调试工具及分析工具等,而目前HTML5开发过程中没有很好的协作环境,调试过程比Flex 开发相对困难。

    (2)浏览器兼容性:Flex通过插件来实现浏览器的兼容性,一次开发可以适应目前主流的浏览器,而HTML5目前的浏览器兼容性较差,调试时需要针对不同浏览器调整可靠性、屏幕大小等具体参数,来确定界面呈现的具体效果,因此其兼容性目前相对Flex而言要更差一些。

    (3)可维护性:基于Flex的开发方法目前已比较成熟,如Flex Spark幵发框架对MVC模式有良好的支持,可以实现表现层与逻辑层的分离,而在HTML5中,由于目前JavaScript对面向对象支持并不完善等原因,使得基于HTML5的开发没有形成规范的开发流程,因此系统的维护成本要比Flex高。

    (4)技术学习成本:由于HTML5往往需要同时配合CCS与JavaScript来实现完整的页面展现,因此对不熟悉的技术人员来讲,需要学习的技术较多,与Flex相比,学习成本,尤其是初学的成本要更大一些。

    【问题2】

    答:(1)HTML静态化手段可实现对系统经常访问的网页进行静态化以提高系统访问效率,但系统页面通常需要根据数据库中的用户信息、商品信息、订单信息及评论信息动态显示,且内容更新频繁。

    因此不适合采用。

    缓存技术手段:根据在线购物业务的特征,系统应用需要频繁访问数据库,因此可以对经常访问的数据建立缓存,以提高并发访问效率。因此适合。

    根据技术原则(a),系统中商品信息及用户信息按类别划分不同数据库或表存放,因此可以采用库表散列的手段提高数据库并发访问效率。因此适合。

    (2)根据需求(2),系统需有效处理大量并发请求,且系统预期用户呈明显地域集中分布特征,因此可以采用集群与镜像手段提高用户的并发访问效率,且技术原则(b)要求系统应提供热备份机制以防止服务器意外失效,因此可以采用镜像机制提高系统的可靠性,根据题干中技术原则(c),又可根据需要追加集群与镜像所需的软硬件投入。

    (3)负载均衡将是大型Web应用解决高负荷访问和大量并发请求时常用的有效解决方法,在系统采用集群和镜像技术手段时,负载均衡也是系统必须采用的相应配合手段。

    综上不难看出,除HTML静态化手段外,其他四种技术手段均可应用于本系统,以提高大规模用户并发访问的处理效率。

  • 第18题:

    阅读以下关于Web应用系统开发的问题,在答题纸上回答问题1至问题3。
    A公司承担了某企业应用系统的开发任务,用户要求系统最终应发布到Web上供企业员工及企业客户使用。项目组在进行方案论证时,首先肯定了该系统需使用B/S结构,但在系统应采用的底层平台上产生了分歧,一方认为应采用微软.NET平台,一方认为应采用Java企业版平台。经过认真讨论,结合两种平台的特点及项目的实际需求,项目组最终决定采用Java企业版平台作为系统开发运行的基础平台。 【问题1】(9分)
    请在以下平台特点(1)~(9)中,选择出.NET平台与Java企业版平台各自具备的优势填入表5-1的(a)~(f)项中,选择出两个平台共有的特点填入表5-1的(g)~(i)项中。
    (1)良好跨平台可移植性支持
    (2)易于部署与配置
    (3)多程序设计语言支持
    (4)良好的Web多层应用开发支持
    (5)丰富的多厂商外部支持
    (6)良好的O/R(对象/关系)映射支持
    (7)针对特定平台的优化支持
    (8)良好的源代码以外的可定制性支持
    (9)良好的Web服务支持


    答案:
    解析:
    试题分析本题主要考查Web应用系统开发的知识,考生需要区分.NET平台和J2EE平台的区别,并理解掌握MVC的基本概念,并进一步掌握MVP设计模式。
    【问题1】
    本问题主要考查.NET和J2EE平台的区别,考生需要从跨平台可移植性、部署与配置、多程序设计语言支持、Web多层应用开发支持、多厂商外部支持、O/R(对象/关系)映射支持、针对特定平台的优化支持、源代码以外的可定制性支持以及Web服务支持等方面作答。
    【问题2】
    本问题主要考查MVC和MVP模式的区别。MVC(Model-View-Controller)模式是Web应用系统开发中常用的一种软件架构模式,包括基于EJB的重量级框架和基于Struts等的轻量级框架等。MVP模式与MVC模式的主要区别为:(1)在组件耦合度方面:在MVP模式中,视图并不直接使用模型,它们之间的通信通过Presenter进行,从而实现了视图与模型的分离,而在MVC模式中,视图直接与模型交互。(2)在组件分工方面:在MVP模式中,视图需要处理鼠标及键盘等触发的界面事件,而在MVC模式中这通常是由控制器完成的工作;在MVP模式中,系统核心业务逻辑组织集中在Presenter中,而在MVC模式中,相应的控制器通常只完成事件的分发。(3)在开发工程化支持方面:MVP模式可更好地支持单元测试,而在MVC模式中,由于模型与视图绑定,因此难以实施相应的单元测试;在MVP模式中,Presenter基于约定接口与视图和模型交互,可更好地支持组件的重用。
    【问题3】
    本问题主要考查事务的基本特征和EJB规范中提供的事务控制的基本方法。事务的基本特征包括:原子性:一个事务中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚到事务开始前的状态,就像这个事务从来没有执行过一样。 一致性:在事务开始之前和事务结束以后,数据的完整性限制没有被破坏。 隔离性:两个事务的执行是互不干扰的,两个事务时间不会互相影响。 持久性:在事务完成以后,该事务对数据所作的更改便持久地保存在数据库之中,并且是完全的。
    EJB规范支持的两种事务控制方法为:
    容器维护的事务(Container Managed Transaction,CMT):由EJB容器根据部署描述符或EJB构件注释中指定的事务属性自动控制事务的边界,容器维护的事务是方法级的,即默认将一个方法当作一个事务执行,当方法执行的过程中发生系统级异常,容器会自动将事务回滚,从而将方法前面执行的结果恢复。
    Bean维护的事务(Bean Managed Transaction,BMT):由程序员在EJB的源代码中控制事务执行的边界,事务的边界通过Java事务接口(Java Transaction API,JTA)进行控制,Bean维护的事务可以跨越方法的边界。试题答案(5)【问题1】
    (a)~(c):(2)、(3)、(7),以上三个答案顺序可调换;
    (d)~(f):(1)、(5)、(8),以上三个答案顺序可调换;
    (g)~(i):(4)、(6)、(9),以上三个答案顺序可调换;
    【问题2】
    在基于EJB的重量级框架中,实现的构件分别为:
    模型(Model):由EJB构件实现
    视图(View):由JSP构件实现
    控制器(Controller):由Servlet构件实现
    在基于Struts等的轻量级框架中,实现的构件分别为:
    模型(Model):由Java Bean构件实现
    视图(View):由JSP构件实现
    控制器(Controller):由Servlet构件实现
    MVP模式与MVC模式的主要区别为:
    (1)在组件耦合度方面:在MVP模式中,视图并不直接使用模型,它们之间的通信通过Presenter进行,从而实现了视图与模型的分离,而在MVC模式中,视图直接与模型交互。
    (2)在组件分工方面:在MVP模式中,视图需要处理鼠标及键盘等触发的界面事件,而在MVC模式中这通常是由控制器完成的工作;在MVP模式中,系统核心业务逻辑组织集中在Presenter中,而在MVC模式中,相应的控制器通常只完成事件的分发。
    (3)在开发工程化支持方面:MVP模式可更好地支持单元测试,而在MVC模式中,由于模型与视图绑定,因此难以实施相应的单元测试;在MVP模式中,Presenter基于约定接口与视图和模型交互,可更好地支持组件的重用。
    【问题3】
    事务的基本特征包括:
    原子性:一个事务中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚到事务开始前的状态,就像这个事务从来没有执行过一样。
    一致性:在事务开始之前和事务结束以后,数据的完整性限制没有被破坏。
    隔离性:两个事务的执行是互不干扰的,两个事务时间不会互相影响。
    持久性:在事务完成以后,该事务对数据所作的更改便持久地保存在数据库之中,并且是完全的。
    EJB规范支持的两种事务控制方法为:
    容器维护的事务(Container Managed Transaction,CMT):由EJB容器根据部署描述符或EJB构件注释中指定的事务属性自动控制事务的边界,容器维护的事务是方法级的,即默认将一个方法当作一个事务执行,当方法执行的过程中发生系统级异常,容器会自动将事务回滚,从而将方法前面执行的结果恢复。
    Bean维护的事务(Bean Managed Transaction,BMT):由程序员在EJB的源代码中控制事务执行的边界,事务的边界通过Java事务接口(Java Transaction API,JTA)进行控制,Bean维护的事务可以跨越方法的边界。

  • 第19题:

    阅读以下关于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)

  • 第20题:

    试题五 (共 25 分)阅读以下关于 Web 系统架构设计的叙述,在答题纸上回答问题 1 至问题 3.【说明】某电子商务企业因发展良好,客户量逐步增大,企业业务不断扩充,导致其原有的 B2C 商品交易平台己不能满足现有业务需求。因此,该企业委托某软件公司重新开发一套商品交易平台。该企业要求新平台应可适应客户从手机、平板设备、电脑等不同终端设备访问系统,同时满足电商定期开展"秒杀"、"限时促销"等活动的系统高并发访问量的需求。面对系统需求,软件公司召开项目组讨论会议,制定系统设计方案。讨论会议上,王工提出可以应用响应式Web设计满足客户从不同设备正确访问系统的需求。同时,采用增如镜像站点、CDN 内容分发等方式解决高并发访问量带来的问题。李工在王工的提议上补充,仅仅依靠上述外网加速技术不能完全解决高用户并发访问问题,如果访问量持续增加,系统仍存在崩溃可能.李工提出应同时结合负载均衡、缓存服务器、web 应用服务器、分布式文件系统、分布式数据库等方法设计系统架构。经过项目组讨论,最终决定综合王王和李工的思路,完成新系统的架构设计。 【问题 1】 (5 分)请用 200 字以内的文字描述什么是"响应式 Web 设计",并列举 2 个响应式 Web 设计的实现方式。【问题 2】 (16 分)综合王工和李工的提议,项目组完成了新商品交易平台的系统架构设计方案.新系统架构图如图 5-1 所示。请从选项 (a) - (j) 中为架构图中(1) - (8) 处空白选择相应的内容,补充支持高并发的 Web 应用系统架构设计图(a) Web 应用层(b) 界面层(c) 负载均衡层(d) CDN内容分发(e) 主数据库(f) 缓存服务器集群(g) 从数据库(h) 写操作(i) 读操作(j) 文件服务器集群

    【问题 3】 (4 分) 根据李工的提议,新的 B2C 商品交易平台引入了主从复制机制。请针对交易平台的特点,简要叙述引入该机制的好处。


    答案:
    解析:
    响应式Web设计是在开发和设计网页过程中产生的一种方式,它的目的是让内容布局能随用户使用显示器的不同而变化。响应方式:(1)弹性网格和布局(2)图片 (3)CSS media query参考答案:(1)d (2)c (3)f (4)a (5)(6)e h (7)(8)g i参考答案:(1) 可扩展性更优采用单台数据库服务器,随着访问量增加,必然会产生访问瓶颈,而主从结构大大方便服务器扩容,不影响系统使用。(2) 性能大大提升商务平台用户量大,并发访问高,主从方式采用一主多从,满足不同用户可以从不同数据库读取数据,提高访问速度。(3) 相当于做了负载均衡一主多从相当于分担了主机任务,做了负载均衡。(4) 保证数据安全 主从方式实现了数据冗余,不会因某台机器硬件故障引起数据丢失。

  • 第21题:

    以下关于支持Java运行平台的叙述,哪项错误?()  

    • A、Java可在Solaris平台上运行
    • B、Java可在Windows平台上运行
    • C、Java语言与平台无关。Java程序的运行结果与操作系统无关
    • D、Java语言与平台无关。Java程序的运行结果依赖于操作系统

    正确答案:D

  • 第22题:

    问答题
    论基于Web的数据库应用系统的开发技术 浏览器和HTTP协议在全球因特网的成功应用,促进了企业中的B/S结构的迅速推广。基于Web的数据库应用系统通常采用三层(或更多层)C/S结构,允许用于各类不同的平台和选择相应的数据库应用环境 请围绕"基于Web的数据库应用系统的开发技术"论题,依次从以下3个方面进行论述: ①概要叙述你参与分析和开发的软件项目,以及你所担任的主要工作。 ②具体讨论你在基于Web的数据库应用系统开发中所采用的主要技术,包括开发过程中遇到的问题和所采取的措施。 ③分析你所采用的开发技术的具体效果。现在你认为应当做哪些方面的改进,以及如何加以改进?

    正确答案: 写作要点
    完成本题的写作,需要对Web开发的相关架构有充分的了解,相关知识可参看"8.1.5分层架构"。除了解技术知识,在写作方面还要注意以下几个方面的要点:
    ①在文章中首先用400~600字的篇幅简要叙述自己参与分析和开发的系统概要和所担任的工作。
    ②具体讨论在基于Web的数据库应用系统开发中所采用的主要技术,包括开发过程中遇到的问题和所采取的措施。特别要注意描述三层结构的逻辑和物理部署,讨论数据是如何在三层之间传送的。
    ③最后要根据项目实际情况,分析所采用的开发技术的具体效果,你现在认为还有哪些可以改进的地方(例如,应用服务器性能的改进等),如何加以改进。
    解析: 暂无解析

  • 第23题:

    问答题
    阅读以下关于Java企业级应用系统开发体系结构选择方面的叙述,在答题纸上回答问题1至问题3。 博学公司承担了某中小型企业应用软件开发任务,进度要求紧迫。为了按时完成任务,选择合适的企业应用系统开发体系结构非常重要。因此,首席架构师张博士召集了相关技术人员进行方案讨论,在进行方案论证时,项目组成员提出了两种开发思路。 (1)谢工建议采用J2EE和EJB进行开发。理由是J2EE定义了标准的应用开发体系结构和部署环境,EJB是J2EE的基础和核心。J2EE的主要目标是简化开发。 (2)王工建议采用Struts、Spring和Hibernate轻量级开源框架相结合的方式。理由是随着Java开源项目阵营的发展壮大,一些基于POJOs(PlanOldJavaObjects)的开源框架被广泛地引入到Java企业应用开发中来,与重量级的EJB框架相比,这些轻量级的框架有很多优点。 针对这两种思路,张博士仔细比较和分析了两种方案的特点、优点和不足之处。认为王工和谢工的建议都合理,但是,从结合当前项目实际情况出发,最后决定采用王工建议。 Java企业应用框架一般被划分为3个层次,请用150字以内文字说明都有哪3个层次?功能分别是什么?

    正确答案: Java企业应用框架一般被划分为3个层次:表现层、业务逻辑组件层和持久层。
    表现层用来建立应用系统的界面,对应视图。例如,表现层采用JSF(JavaServerFacE.,JSF的开发流程的核心是事件驱动,组件和标签的封装程度非常高,很多典型应用已经不需要开发者去处理HTTP,整个过程是通过IoC(InversionofControl,控制反转)来实现的。
    业务逻辑组件层用来开发应用逻辑,对应控制器。例如,业务逻辑组件层采用EJB的会话Bean。EJB允许开发者使用耦合松散的组件来开发应用,实现一个EJB所有使用的类和接口都减少了。
    持久层是实现持久化存储,对应模型。例如,采用EJB的实体Bean持久化模型,吸收了Hibernate的一些思想采用对象关系映射(Object-RelationMapping,O/RMapping)模式。
    解析: 这是一道关于EJB重量级框架和Struts、Spring和Hibemate的轻量级框架的比较分析试题,解答此类试题的关键在于考生要对相关技术比较熟悉。