【案例五】(共25分)

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

【说明】

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

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

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

【问题1】 

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

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

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

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

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

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

从需求(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】  

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

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

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

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

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

【解析】

本问题考查大规模用户并发请求处理技术。

在题干中给出的5种相应技术手段中,HTML静态化手段可实现对系统经常访问的网页进行静态化以提高系统访问效率,但系统页面通常需要根据数据库中的用户信息、商品信息、订单信息及评论信息动态显示,且内容更新频繁,因此不适合采用。对于缓存技术手段,根据在线购物业务的特征,系统应用需要频繁访问数据库,因此可以对经常访问的数据建立缓存,以提高并发访问效率。根据技术原则(a),系统中商品信息及用户信息按类别划分不同数据库或表存放,因此可以采用库表散列的手段提高数据库并发访问效率。根据需求(2),系统需有效处理大量并发请求,且系统预期用户呈明显地域集中分布特征,因此可以采用集群与镜像手段提高用户的并发访问效率,且技术原则(b)要求系统应提供热备份机制以防止服务器意外失效,因此可以采用镜像机制提高系统的可靠性,根据题干中技术原则(c),又可根据需要追加集群与镜像所需的软硬件投入。负载均衡将是大型Web应用解决高负荷访问和大量并发请求时常用的有效解决方法,在系统采用集群和镜像技术手段时,负载均衡也是系统必须采用的相应配合手段。综上不难看出,除HTML静态化手段外,其他四种技术手段均可应用于本系统,以提高大规模用户并发访问的处理效率。

2014(5)系统设计,web应用的更多相关文章

  1. myeclipse 2014新建maven web 项目步骤

    首先在myeclipse中配置maven的安装路径: 在pom.xml中加上: 1 2 3 4 5 6 7 8 9 10  <plugins>           <plugin&g ...

  2. 【转】组件化的Web王国

    本文由 埃姆杰 翻译.未经许可,禁止转载!英文出处:Future Insights. 内容提要 使用许多独立组件构建应用程序的想法并不新鲜.Web Component的出现,是重新回顾基于组件的应用程 ...

  3. BAT及各大互联网公司2014前端笔试面试题:HTML/CSS篇

    BAT及各大互联网公司2014前端笔试面试题:HTML/CSS篇 2014/08/03 · Web前端, 开发 · CSS, HTML, 技术面试 分享到: 188 MongoDB集群之分片技术应用 ...

  4. 2016年后web开发趋势是什么?

    2016 年后 Web开发趋势是什么 来源:yafeilee.me 发布时间:2016-05-06 阅读次数:1378 3   近二年的进展 前端发展日新月异, 甚至有一句戏言: "每六星期 ...

  5. SharePoint 2013 App Remote Event Receivers

    当我们在使用App的时候,就会发现一些问题,比如那些网站部署.更新或者卸载了,我们很关心我们的App是否有人用,这就需要远程事件接收器了. 1.在我们的测试App的解决方案上选中鼠标,按F4弹出属性, ...

  6. hibernate中.hbm.xml和注解方式自动生成数据表的简单实例(由新手小白编写,仅适用新手小白)

    绝逼新手小白,so 请大神指点! 如果真的错的太多,错的太离谱,错的误导了其他小伙伴,还望大神请勿喷,大神请担待,大神请高抬贵嘴......谢谢. 好了,正题 刚接触ssh,今天在搞使用.hbm.xm ...

  7. 机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2)

    ##机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2)---#####注:机器学习资料[篇目一](https://github.co ...

  8. sql Server插不进数据,以及Id自增的教程及注意事项

    参考于:https://jingyan.baidu.com/article/fec4bce244f902f2608d8b7a.html 使用SQL Server 2014 数据库做web的项目出现错误 ...

  9. 转 一次完整地http请求

    作者:斯巴达克斯 时间:January 11, 2014 分类:WEB 声明:本文章中的说法仅是个人理解总结,不一定完全正确,但是可以有助于理解. 关于HTTP协议可以参考以下: HTTP协议漫谈 h ...

随机推荐

  1. Code Review最佳实践(转)

    我一直认为Code Review(代码审查)是软件开发中的最佳实践之一,可以有效提高整体代码质量,及时发现代码中可能存在的问题.包括像Google.微软这些公司,Code Review都是基本要求,代 ...

  2. Python学习笔记之使用 python -m SimpleHTTPServer 快速搭建http服务

    0x00 概述 搭建FTP,或者是搭建网络文件系统,这些方法都能够实现Linux的目录共享.但是FTP和网络文件系统的功能都过于强大,因此它们都有一些不够方便的地方.比如你想快速共享Linux系统的某 ...

  3. HTML5 下拉控件绑定数据

    <select id="CommunityList" class="form-control" > <option>請選擇社團</ ...

  4. SQlServer 变量定义 赋值

    declare @id int declare @name char(10) ;注意:char(10)为10位,要是位数小了会让数据出错 set @id=1 select @id=1 select @ ...

  5. 微服务架构 ------ 插曲 Mybatis逆向工程

    1.首先是pom.xml, 我们需要引入需要的mvn插件 <?xml version="1.0" encoding="UTF-8"?> <pr ...

  6. ztree实现复选框单选功能

    /** * ztree的默认配置项 * */ var setting = { view: { selectedMulti: false //按住ctrl是否可以多选 }, check: { enabl ...

  7. vulnhub AI: Web: 1

    vulnhub AI: Web: 1 提取flag攻略 导入虚拟机,开机. 扫描NAT的C段,确定虚拟机IP和开放端口. 尝试访问该网站 发现什么都没有,抽根烟冷静一下...... 来波目录扫描吧 使 ...

  8. bugku——普通的二维码(进制转换)

    题目地址:http://ctf.bugku.com/files/5e480ecb178711e82bc847a208e15b32/misc80.zip 就一张二维码图片,用一些在线工具识别是乱码,用Q ...

  9. 4 Linux文件与目录管理

    Linux的目录文件结构为树状结构,最顶级目录为根目录 / 其他目录通过挂载可以将他们添加到树中,通过解除挂载可以移除他们 绝对路径: 根目录开始 eg: /usr/share/doc 相对路径: 不 ...

  10. 在知识爆炸的年代如何学习,避免成为PPT架构师

    计算机的发展大体遵循摩尔定律,IT要学的东西越来越多,感觉无从下手 然后发现许多人,专门喜欢说这些名词概念装高大上,脱离一线开发,技术跟风盲目崇拜新的骚东西,比如docker,k8s,微服务,open ...