问答题
阅读以下关于基于Web的应用程序方面的叙述,回答问题1,问题2和问题3。
近年来,IT词汇表中出现了一条新的术语,它就是“Web应用程序”。参与业务软件系统的所有人似乎都有构建Web应用程序的计划,而在与业务不相关的软件方面也有很多人对此感兴趣。对于很早前就采用这种构架的许多人来说,Web应用程序这个词像系统本身一样,已经从成功的小型Web站点插件发展成了强壮的n层应用程序。Web应用程序可以同时为分布在世界各地的、成千上万的用户提供服务,这种情况早已司空见惯。构建Web应用程序是一件严肃的事情。
在实际应用中,Web应用程序这个词对不同的人而言含义略有不同。一些人认为凡是用到Java的都是Web应用程序,而另一些人则认为凡是使用Web服务器的都是Web应用程序。多数人的意见介于这两者之间。站在本文的角度,我们将Web应用程序大体定义为 Web系统(Web服务器、网络、HTTP、浏览器),在这个系统中,用户的输入(导航和数据输入)会影响到业务状态。该定义试图将Web应用程序确立为一个具有业务状态的软件系统,并且它的“前端”基本上是通过Web系统传递的。
问答题
[问题1]
用250字分析Web应用程序的总体构架与一个客户机服务器系统的区别。
【正确答案】
【答案解析】Web应用程序最重要的优点之一在于它的部署。部署Web应用程序通常指的是建立网络的服务器端构件。客户端不需要特别的软件或配置。两者的另一个重大差异在于客户机和服务器通信的本质。Web应用程序的基本通信协议是HTTP,这是一个无连接协议,它不是为最大的通信吞吐量设计的,而是为强壮性和容错而设计的。在Web应用程序中,客户机和服务器的通信通常围绕Web页导航进行,而不是在服务器端和客户端对象之间直接通信。在一定的抽象程度上,Web应用程序中所有的信息传递都可描述为Web页实体的请求和接收。通常所说的Web应用程序构架与动态Web站点的构架并无太大区别。
问答题
[问题2]
通过简化一些细节,模型可以帮助我们理解系统。试用200字简述建模的过程。
【正确答案】
【答案解析】如何选择建模对象对理解问题和提供解决方案有重大影响。Web应用程序与其他软件密集型系统一样,通常由用例模型、实施模型;部署模型、安全模型等一组模型来表示。 建立页、页之间的链接、构成页的所有动态内容,以及在客户机上出现过的页的动态内容模型。将这些工件映射到建模元素可以明确区分业务逻辑和表示逻辑。
问答题
[问题3]
Web服务器分为三大类:脚本页、编译页,以及两者的混合,试用400字分析其各自的工作特点。
【正确答案】
【答案解析】在第一类中,客户机浏览器能请求的每一个 Web页在Web服务器的文件系统中都用一个脚本文件来表示。这个文件一般是HTML和其他一些脚本语言的混合。对页发出请求后,Web服务器委派一个可识别该页的引擎对其进行处理,最终结果以格式为HTML的流的形式返回给发出请求的客户机。Microsoft 的Active Server Pages、Java Server Pages 都属于这一类。 在第二类中,Web服务器加载并执行一个二进制构件。这个构件和脚本页一样,有权访问与页请求一起发送的所有信息(表单字段值和参数)。经过编译的代码利用请求的详细信息,并通常要访问服务器端的资源,以生成HTML流并返回给客户机。编译页包含的功能往往比脚本页大,尽管并未明确这一规律。通过向编译页请求传递不同的参数,可获得不同的功能。任何一个编译构件实际都可以包含整个目录脚本页的所有功能。Microsoft的ISAPI和NetsCApe的NSAPI就是表示这种构架类型的技术。 第三类指的是那些一旦发出请求即进行编译的脚本页,以后的所有请求都使用编译过的页。只有最初页的内容改变了,该页才会进行另一次编译。这类页介于灵活的脚本页和高效的编译页之间。