2017-架构师案例(九)

某软件企业受该省教育部门委托建设高校数字化教育教学资源共享平台,实现以众筹众创的方式组织省内普通高校联合开展教育教学资源内容建设,实现全省优质教学资源整合和共享。该资源共享平台的主要功能模块包括:

(1)统一身份认证模块:提供统一的认证入口,为平台其他核心业务模块提供用户管理、身份认证、权限分级和单点登录等功能;

(2)共亨资源管理模块:提供教学资源申报流程服务,包括了资源申报、分类定制、资料上传、资源审核和资源发布等功能;

(3)共亨资源展示模块:提供教育教学共享资源的展示服务,包括资源导航、视频点播、资源检索、分类展示、资源评价和推荐等功能;

(4)资源元模型管理模块:依据资源类型提供共享资源的描述属性、内容属性和展示属性包括共享资源统一标准和规范、资源加工和在线编辑工具、数字水印和模板定制等功能;

(5)系统综合管理模块:提供系统管理和维护服务,包括系统配置、数据备份恢复、资源导入导出和统计分析等功能。

项目组经过分析和讨论,决定采用基于Java EE的MVC 模式设计资源共享平台的软件架构,如图2-1所示。

【问题:2.1】(9 分)

MVC架构中包含哪三种元素,它们的作用分别是什么?请根据图 2-1 所示架构将JavaEE 中JSP、Servlet、Service、JavaBean、DA0 五种构件分别填入空(1)~(5)所示位置。

解析:

MVC包含Model,view,Controller。

分别是展示层 view,负责给用户展示数据和接收数据。

控制层controller,则是负责接收用户数据,并且连接model层。

Model层把数据持久化到数据库。

1JSP

2Servlet

3service

4JavaBean

5DAO

【问题:2.2】(6 分)

项目组架构师王工提出在图2-1所示架构设计中加入EJB构件,采用企业级JavaEE架构开发资源共享平台。请说明EJB构件中的Bean(构件)分为哪三种类型,每种类型Bean的职责是什么。

解析:

会话bean:负责数据请求,服务区会话传输数据。

实体bean:负责处理数据和数据库的交互,把数据持久化到数据库。

消息bean:负责异步数据的传输。

【问题:2.3】(10分)

如果采用王工提出的企业 JavaEE架构,请说明下列(a)-(e)所给出的业务功能构件中,有状态和无状态构件分别包括哪些。

(a)ldentification Bean(身份认证构件)

(b)ResPublish Bean(资源发布构件)

(c)ResRetrieval Bean(资源检索构件)

(d)OnlineEdit Bean(在线编辑构件)

(e)Statistics Bean(统计分析构件)

解析:

有状态的:a,b,d

无状态的:c,e

有状态的:a,d

无状态的:b,c,e


问题2

某制造企业为拓展网上销售业务,委托某软件企业开发一套电子商务网站。初期仅解决基本的网上销售、订单等功能需求。该软件企业很快决定基于.NET平台和SQLServer数据库进行开发,但在数据库访问方式上出现了争议。王工认为应该采用程序在 线访问的方式访问数据库;而李工认为本企业内部程序员缺乏数据库开发经验,而且应用单,应该采用0RM (对象关系映射)方式。最终经过综合考虑,该软件企业采用了李工的建议。

随着业务的发展,该电子商务网站逐渐发展成一个通用的电子商务平台,销售多家制造企业的产品,电子商务平台的功能也日益复杂。目前急需对该电子商务网站进行改造,以支持对多种异构数据库平台的数据访问,同时满足复杂的数据管理需求。该软件企业针对上述需求,对电子商务网站的架构进行了重新设计,新增加了数据访问层,同时采用工厂设计模式解决异构数据库访问的问题。新设计的系统架构如图 4-1所示。

【问题:4.1】(9分)

请用300字以内的文字分别说明数据库程序在线访问方式和ORM方式的优缺点,说明该软件企业采用ORM的原因。

解析:

ORM访问的优缺点:

  1. 优点是不需要懂sql,方便it人员上手
  2. 缺点是灵活性差,不能自定义sql。
  3. 没有sql维护成本更低。

在线访问方式:

  1. 优点是灵活性更高,随意定义sql查询
  2. 缺点是需要it人员懂sql,上手稍微难点。
  3. 维护成本增加。

因为该项目开发人员缺乏数据库的开发经验,而且应用简单,所以采用ORM。

【问题:4.2】(9分)请用100字以内的文字说明新体系架构中增加数据访问层的原因。请根据图4-1所示,填写图中空白处(1)-(3)。

解析:

增加数据访问层的原因:

1为了支持多种异构数据平台,需要把业务代码和数据平台结构分离,不适合于业务代码混合。

2分离后,单独增加层次感,逻辑更清晰。

3分层后更方便扩展和维护。

1 执行业务逻辑

2 工厂层

3 数据库访问接口层

【问题:4.3】(7分)

应用程序设计中,数据库访问需要良好的封装性和可维护性,因此经常使用工厂设计模式来实现对数据库访问的封装。请解释工厂设计模式,并说明其优点和应用场景:;请解释说明工厂模式在数据访问层中的应用。

解析:

抽象工厂设计模式可以生产一系列的对象,不需要去指定具体的类,优点是不需要去单独创建对象,在一起更方便维护。应用场景是当需要创建许多对象的时候。

在数据库访问层可以采用工程模式,更灵活的访问数据库。

【说明】

某电子商务企业因发展良好,客户量逐步增大,企业业务不断扩充,导致其原有的B2C商品交易平台己不能满足现有业务需求。因此,该企业委托某软件公司重新开发一套商品交易平台。该企业要求新平台应可适应客户从手机、平板设备、电脑等不同终端设备访问系统,同时满足电商定期开展"秒杀"、"限时促销"等活动的系统高并发访问量的需求。面对系统需求,软件公司召开项目组讨论会议,制定系统设计方案。讨论会议上,王工提出可以应用响应式Web设计满足客户从不同设备正确访问系统的需求。同时,采用增加镜像站点、CDN 内容分发等方式解决高并发访问量带来的问题。李工在王工的提议上补充,仅仅依靠上述外网加速技术不能完全解决高用户并发访问问题,如果访问量持续增加,系统仍存在崩溃可能。李工提出应同时结合负载均衡、缓存服务器、Web应用服务器、分布式文件系统、分布式数据库等方法设计系统架构。经过项目组讨论,最终决定综合王王和李工的思路,完成新系统的架构设计。

【问题:5.1】(5分)

请用200字以内的文字描述什么是"响应式 Web 设计",并列举2个响应式Web设计的实现方式。

解析:

1流式布局

2弹性布局加媒体查询

【问题:5.2】(16 分)综合王工和李工的提议,项目组完成了新商品交易平台的系统架构设计方案。新系统架构图如图5-1所示。请从选项(a)-()中为架构图中(1)(8)处空白选择相应的内容,补充支持高并发的Web应用系统架构设计图。

a  web应用层

B 界面层

C 负载均衡层

D CDN内容分发

E 主数据库

F 缓存服务器集群

G 从数据库

H 写操作

I 读操作

J 文件服务器集群

1 d CDN内容分发

2 c 负载均衡层

3 f缓存服务器集群

4 a web应用层

5 e 主数据库

6 h 写数据

7 g 从数据库

8 I读数据

【问题:5.3】(4 分)

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

解析:

1高可用,当其中一个数据库宕机,不会影响整个系统无法运行。

2性能提升,主数据库写数据,从数据库读数据,读写分离。

3扩展性好,可以增加服务器方便扩展。

4数据更安全,不会因为一台硬件故障,而导致数据丢失。

  • 12
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

后端从入门到精通

你的鼓励是我最大的动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值