参考答案:
【问题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)√
详细解析:
本题关注大型互联网应用设计,主要考查大型互联网应用开发中的开发架构选择、持久化处理及系统集成等相关技术。
【问题1】本问题考查大型互联网应用的开发架构选择,主要关注Alibaba的WebX框架与轻量级Spring MVC框架的对比。WebX框架是Alibaba公司开发的开源开发框架,WebX本身划分为SpringExt、WebX Framework、WebX Turbine三个主要层次。其中SpringExt层基于Spring,提供扩展组件的能力,是整个框架的基础;WebX Framework层基于Server API,提供各种基础服务;WebX Turbine层基于WebX Framework对网页开发提供进一步支持。从多应用支持角度看,WebX通过多应用路径生成机制,可自动避免一个工程中多个应用URL路径出现冲突;从基础服务支持角度看,WebX框架属于重量级Web开发框架,提供了创建一个Web应用所需要的大量基础功能,系统中集成了前端模板、持久化以及常用的后端服务,包括邮件服务、URL路径映射、后端表单验证、安全攻击防护机制、资源加载、文件上传等大量服务;从可扩展性角度看,WebX中的SpringExt子框架是对Spring框架的扩展,能简化Spring的配置,加强了Spring组件的扩展性;开发者可以定制、甚至重写WebX框架逻辑,实现新的框架或功能。综上不难看出,WebX框架比传统Spring MVC框架具有更明显的优势,可以更好支持大型复杂Web应用的开发。
【问题2】
本问题考查Hibernate与MyBatis两种持久化方案对不同持久化需求的支持情况。Hibernate与MyBatis均是开源对象/关系映射(ORM)框架,都可以实现JDBC的对象封装,将POJO与数据库表建立映射关系,从而支持在Java程序中使用对象编程思维来操作数据库。二者均可自动生成简单基本的DAO层方法。相对而言,Hibernate开发简洁,因此SQL语句通常是自动生成的,而MyBatis中的SQL语句通常是手工编写的,因此当系统中需要对复杂查询操作的SQL语句进行人工调优时,MyBatis更为方便;Hibernate支持自动化的多表关联操作,但使用时一般要求数据库中的关系设置与实际关联操作有直接的对应关系;由于Hibernate使用时通常自动生成相应的SQL语句,因此具备良好的数据库移植性,而MyBatis中手动编写的SQL语句则通常需要针对不同厂商的数据库进行修改,可移植性不好。
【问题3】
本问题考查Web服务集成方案的选择。REST风格RPC与SOAP RPC是两种常用的Web服务集成方案。相对而言,SOAP将Web服务封装为经典程序设计模型中的对象RPC模式,从而支持Web服务的调用,而REST风格RPC则将Web服务映射为标准的HTTP操作,属于更轻量级的服务集成方案。在REST方案中,HTTP标准的GET、POST、PUT、DELETE操作可直接映射为对题目中配置管理数据和监测数据的CRUD等无状态操作,而SOAP方案则支持上下文及会话状态管理,更适合于需多步执行的有状态操作;且由于REST风格RPC基于标准HTTP协议且无状态,因此客户端请求的处理可以在任何服务器上执行,很容易在服务端实现基于HTTP的负载均衡,从而使服务器具备良好的横向可扩展性;而SOAP作为W3C所定义的SOA架构核心规范之一,基于同架构下的WS-Security规范可提供良好的安全性支持,但REST方案中则缺少对服务安全性的直接支持。