【案例五】(共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. HyperLogLog算法分析及其应用

    HyperLogLog 算法的原理讲解以及 Redis 是如何应用它的 探索HyperLogLog算法(含Java实现) 神奇的HyperLogLog算法 Sketch of the Day: Hyp ...

  2. java poi 读取有密码加密的Excel文件

    String excelPath = "Excel文件路徑"; String password = "Excel文件密碼"; Workbook workbook ...

  3. c#WinForm中TeeChart控件的注册和使用

    首先要注册好TeeChart控件,注册方法参考:https://blog.csdn.net/my_clear_mind/article/details/79741020 完成注册之后,新建一个WinF ...

  4. .net core 读取appsettings.json乱码

    .net core 读取配置文件乱码:vs2019读取appsettings.json乱码问题; .net core 读取appsettings.json乱码问题;用notepad++或者其他编辑器打 ...

  5. 深入理解 Kubernetes 资源限制:CPU

    原文地址:https://www.yangcs.net/posts/understanding-resource-limits-in-kubernetes-cpu-time/ 在关于 Kubernet ...

  6. loadrunner 由mdrv进程终止导致的非正常终止

    因为脚本迭代次数多的问题,迭代了3次,后来改成了迭代1次(1个Vuser),就不会了,

  7. Ipfs基础入门

    Ipfs介绍 Ipfs(Inter-Planetary File System!),中文译为星际网络文件系统,是基于默克尔有向无环图(merkle dag)的全球性p2p文件系统. 是一个面向全球的, ...

  8. Java之路---Day17(数据结构)

    2019-11-04-23:03:13 目录: 1.常用的数据结构 2.栈 3.队列 4.数组 5.链表 6.红黑树 常用的数据结构: 包含:栈.队列.数组.链表和红黑树 栈: 栈:stack,又称堆 ...

  9. poj3045 Cow Acrobats (思维,贪心)

    题目: poj3045 Cow Acrobats 解析: 贪心题,类似于国王游戏 考虑两个相邻的牛\(i\),\(j\) 设他们上面的牛的重量一共为\(sum\) 把\(i\)放在上面,危险值分别为\ ...

  10. python数据分析三剑客之: matplotlib绘图模块

    matplotlib 一.Matplotlib基础知识 Matplotlib中的基本图表包括的元素 - x轴和y轴 axis 水平和垂直的轴线 - x轴和y轴刻度 tick 刻度标示坐标轴的分隔,包括 ...