什么是Web应用程序

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

什么是Web应用程序?

如果我们要谈论Web应用程序以及如何开发它们,那么我们就需要知道什么是Web应用程序,以及是什么东西使得它们与我们创建的其他应用程序不同。让我们看看一些Web应用程序的定义,以及这些定义的共同点。下面是从互联网上得到的三个定义:

定义一:一个Web应用程序是作为单一实体管理的、逻辑上链接的Web页面的集合。换句话说,一个网站,可以有多个来自不同客户的Web应用。

定义二:一个Web应用程序,是使用Internet技术开发的,符合下面一项或者多项的应用程序:(1)使用数据库(如Oracle或者SQL Server);

(2)使用一种应用程序开发工具开发(如Oracle Internet Developer Suite或者Microsoft Visual Studio);

(3)需要持续地运行服务器过程(如新闻组和聊天室);

(4)从数据输入屏幕或者Web表单储存输入数据。

定义三:在软件工程中,一个Web应用程序是一种经由Internet或Intranet、以Web方式访问的应用程序。它也是一个计算机软件应用程序,这个应用程序用基于浏览器的语言(如HTML、ASP、PHP、Perl、Python等等)编码,依赖于通用的Web浏览器来表现它的执行结果。

在我们看到这些定义时,有几点是比较突出的。首先,在Web应用程序中有某种形式的浏览器或者GUI。其次,所有定义中都隐含或者明确指出需要一台服务器。最后,Web应用程序不同于Internet 应用程序,Internet应用程序增加了额外的技术和能力。

Web应用程序首先是“应用程序”,和用标准的程序语言,如C、C++、C#等编写出来的程序没有什么本质上的不同。然而Web应用程序又有自己独特的地方,就是它是基于Web的,而不是采用传统方法运行的。换句话说,它是典型的浏览器/服务器架构的产物。

浏览器/服务器架构(Browser/Server,简称B/S)能够很好地应用在广域网上,成为越来越多的企业的选择。浏览器/服务器架构相对于其他几种应用程序体系结构,有如下3方面的优点:(1)这种架构采用Internet上标准的通信协议(通常是TCP/IP协议)作为客户机同服务器通信的协议。这样可以使位于Internet任意位置的人都能够正常访问服务器。对于服务器来说,通过相应的Web 服务和数据库服务可以对数据进行处理。对外采用标准的通信协议,以便共享数据。

(2)在服务器上对数据进行处理,并将处理的结果生成网页,以方便客户端直接下载。

(3)在客户机上对数据的处理被进一步简化,将浏览器作为客户端的应用程序,以实现对数据的显示。不再需要为客户端单独编写和安装其他类型的应用程序。这样,在客户端只需要安装一套内置浏览器的操作系统,如Window XP或Windows 2000或直接安装一套浏览器,就可以实现服务器上数据的访问。而浏览器是现在计算机的标准设备。

理解了什么是浏览器/服务器架构,就了解了什么是Web应用程序。常见的计数器、留言版、聊天室和论坛BBS等,都是Web应用程序,不过这些应用相对比较简单,而Web应用程序的真正核心主要是对数据库进行处理,管理信息系统(Management Information System,简称MIS)就是这种架构最典型的应用。MIS可以应用于局域网,也可以应用于广域网。目前基于Internet的MIS系统以其成本低廉、维护简便、覆盖范围广、功能易实现等诸多特性,得到越来越多的应用。

应用程序有两种模式C/S、B/S。C/S是客户端/服务器端程序,也就是说这类程序一般独立运行。而B/S就是浏览器端/服务器端应用程序,这类应用程序一般借助IE等浏览器来运行。WEB应用程序一般是B/S模式。

在本课程中,术语Web应用程序或者Webapp,是指那些用户界面驻留在Web浏览器中的任何应用程序。可以将其想像为一个连续统一体(如下图所示)。这个统一体的一端是呈现静态内容的Web应用程序。大多数Web网站都在此列(图中未画出)。而在另一端,则是行为类似常规桌面应用程序的Web应用程序。Struts就是用来构建位于这个统一体右半边的Web应用程序的框架。

在我们谈论Web应用程序时,很多人会想到网站。但是一个应用程序应该是活动的,并处理数据以提供信息。一个建立在网站之上的能够帮助用户的软件才是Web应用程序。除非您在网站上面增加很多东西,否则一个网站本身并不是Web应用程序。有些ISP允许您通过脚本增加交互处理过程,而有些则不允许。

几种典型的应用程序模型

应用程序是什么,简单的来说,它是人类客观世界的问题领域在计算机世界的解决方案。我们生活的客观世界复杂多样,计算机世界也是博大精深,怎样从普遍的意义上来表述应用程序是一个非常有用的课题。应用程序的编程模型,也就是应用程序的拓扑结构,是一门关于应用程序的科学。从事软件设计、软件开发的人员,如果能够就应用程序的编程模型有足够的重视,将受益匪浅。

引言

简单介绍应用程序编程模型的发展过程,以及我们常用的几种应用程序编程模型。通过对多个模型的表述加深人们对编程模型的概念,为下面进一步描述Web应用模型打下基础。

1.应用程序的基本功能单元

组成应用程序的功能代码及其资源,按照其在应用程序中的功能,可以简单分解成为三个部分:用户界面(User Interface),事务逻辑(Business Logic)和数据存取(Data Access)。应用程序的基本功能单元如图1所示。

图1 应用程序功能分解

2.几种典型的编程模型

随着计算机技术的发展和应用的深入,应用程序的编程模型在不断的演化,先后出现了:单层应用模型(monolithic);两层客户/服务器应用模型(two-tier client/server);多层应用模型(multitier client/server);分布式系统;基于Web的多层应用模型(web-based multitier client/server)。

▪单层应用模型

早期为大型机编写的应用程序,没有将应用程序三个组成部分分开,即没有将用户界面、事务逻辑和数据存取分开。这种体系结构跟当时的计算机水平和应用状况有一定的联系,当时的用户通过哑终端来共享大型机资源,哑终端没有任何处理能力,所有的用户界面、事务逻辑和数据存取功能都是在大型机上实现,这样当时使用单层体系结构而没有出现多层体系结构是合理的。单层的应用程序结构见图2所示。

图2 单层的应用程序模型

•两层客户/服务器应用模型

PC机的出现对应用程序模型的发展带来了巨大的推动力,这时出现了客户服务器模式的应用程序,即应用程序的代码和资源被明确的划分为客户端和服务器端。因为PC机有了一定的处理能力,传统在大型机上实现的用户界面和部分事务逻辑被移到PC机上运行(我们将这种PC机端的代码称为应用程序客户端),而大型机则提供部分事务逻辑处理和数据存取的功能(我们将这种大型机端的代码称为应用程序服务器端)。随着PC机处理能力在逐渐加大,客户端执行的任务逐渐增多,这时对服务器端的硬件要求也在逐渐的降低。

根据事务逻辑在客户端和服务器端分配的不同,该种模型有图3所示几种形式。

相关文档
最新文档