付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、什么是Web应用程序? 如果我们要谈论 Web应用程序以及如何开发它们,那么我们就需要知道什么是Web应用程序,以 及是什么东西使得它们与我们创建的其他应用程序不同。让我们看看一些Web应用程序的定义,以及 这些定义的共同点。下面是从互联网上得到的三个定义: 定义一:一个 Web应用程序是作为单一实体管理的、逻辑上链接的Web页面的集合。换句话说, 一个网站,可以有多个来自不同客户的 Web应用。 定义二:一个 Web应用程序,是使用In ternet技术开发的,符合下面一项或者多项的应用程序: (1)使用数据库(如 Oracle或者SQL Server); (2)使用一种应用程序开发工具开发
2、(如 Oracle In ternet Developer Suite或 者 Microsoft Visual Studio); (3)需要持续地运行服务器过程(如新闻组和聊天室); (4)从数据输入屏幕或者 Web表单储存输入数据。 定义三:在软件工程中,一个 Web应用程序是一种经由In ternet或Intran et、以Web方式访问的应 用程序。它也是一个计算机软件应用程序,这个应用程序用基于浏览器的语言(如HTML、ASP、PHP、 Perl、Python等等)编码,依赖于通用的 Web浏览器来表现它的执行结果。 在我们看到这些定义时,有几点是比较突出的。首先,在Web应用程序中有
3、某种形式的浏览器或 者GUI。其次,所有定义中都隐含或者明确指出需要一台服务器。最后,Web应用程序不同于In ternet 应用程序,In ternet应用程序增加了额外的技术和能力。 Web应用程序首先是“应用程序”,和用标准的程序语言,如 C、C+、C#等编写出来的程序没有 什么本质上的不同。然而 Web应用程序又有自己独特的地方,就是它是基于 Web的,而不是采用传统 方法运行的。换句话说,它是典型的浏览器/服务器架构的产物。 浏览器/服务器架构(Browser/Server,简称B/S)能够很好地应用在广域网上,成为越来越多的企 业的选择。浏览器/服务器架构相对于其他几种应用程序体系
4、结构,有如下3方面的优点: (1) 这种架构采用In ternet上标准的通信协议(通常是 TCP/IP协议)作为客户机同服务器通信的 协议。这样可以使位于In ternet任意位置的人都能够正常访问服务器。 对于服务器来说,通过相应的Web 服务和数据库服务可以对数据进行处理。对外采用标准的通信协议,以便共享数据。 (2)在服务器上对数据进行处理,并将处理的结果生成网页,以方便客户端直接下载。 (3)在客户机上对数据的处理被进一步简化,将浏览器作为客户端的应用程序,以实现对数据的 显示。不再需要为客户端单独编写和安装其他类型的应用程序。这样,在客户端只需要安装一套内置浏 览器的操作系统,如
5、Window XP或Windows 2000或直接安装一套浏览器,就可以实现服务器上数据的 访问。而浏览器是现在计算机的标准设备。 理解了什么是浏览器/服务器架构,就了解了什么是Web应用程序。常见的计数器、留言版、聊 天室和论坛BBS等,都是Web应用程序,不过这些应用相对比较简单,而 Web应用程序的真正核心主 要是对数据库进行处理,管理信息系统(Man ageme nt In formation System,简称MIS )就是这种架构最 典型的应用。MIS可以应用于局域网,也可以应用于广域网。目前基于In ternet的MIS系统以其成本低 廉、维护简便、覆盖范围广、功能易实现等诸多特
6、性,得到越来越多的应用。 应用程序有两种模式C/S、B/S。C/S是客户端/服务器端程序,也就是说这类程序一般独立运行。而 B/S就是浏览器端/服务器端应用程序,这类应用程序一般借助 IE等浏览器来运行。WEB应用程序一般 是B/S模式。 在本课程中,术语Web应用程序或者 Webapp,是指那些用户界面驻留在 Web浏览器中的任何应用 程序。可以将其想像为一个连续统一体(如下图所示)。这个统一体的一端是呈现静态内容的Web应 用程序。大多数 Web网站都在此列(图中未画出)。而在另一端,则是行为类似常规桌面应用程序的 Web应用程序。Struts就是用来构建位于这个统一体右半边的 Web应用
7、程序的框架。 按从左到右的序,与常规皇亜应用程序R时用氏度佈戍捉高 PHP.ASP Struts Shale Ajax 在我们谈论 Web应用程序时,很多人会想到网站。但是一个应用程序应该是活动的,并处理数据 以提供信息。一个建立在网站之上的能够帮助用户的软件才是Web应用程序。除非您在网站上面增加 很多东西,否则一个网站本身并不是 Web应用程序。有些ISP允许您通过脚本增加交互处理过程, 而有 些则不允许。 几种典型的应用程序模型 应用程序是什么,简单的来说,它是人类客观世界的问题领域在计算机世界的解决方案。我们生活 的客观世界复杂多样,计算机世界也是博大精深,怎样从普遍的意义上来表述应用
8、程序是一个非常有用 的课题。应用程序的编程模型,也就是应用程序的拓扑结构,是一门关于应用程序的科学。从事软件设 计、软件开发的人员,如果能够就应用程序的编程模型有足够的重视,将受益匪浅。 引言 简单介绍应用程序编程模型的发展过程,以及我们常用的几种应用程序编程模型。通过对多个模型 的表述加深人们对编程模型的概念,为下面进一步描述Web应用模型打下基础。 1 应用程序的基本功能单元 组成应用程序的功能代码及其资源,按照其在应用程序中的功能,可以简单分解成为三个部分:用 户界面(User In terface),事务逻辑(Busi ness Logic) 和数据存取(Data Access)。应用
9、程序的基本功 能单元如图 2.几种典型的编程模型 随着计算机技术的发展和应用的深入,应用程序的编程模型在不断的演化,先后出现了:单层应用 模型(monolithic );两层客户/服务器应用模型(two-tier client/server);多层应用模型(multitier client/server);分布式系统;基于 Web 的多层应用模型(web-based multitier client/server)。 单层应用模型 早期为大型机编写的应用程序,没有将应用程序三个组成部分分开,即没有将用户界面、事务逻辑 和数据存取分开。这种体系结构跟当时的计算机水平和应用状况有一定的联系,当时的
10、用户通过哑终端 来共享大型机资源,哑终端没有任何处理能力,所有的用户界面、事务逻辑和数据存取功能都是在大型 机上实现,这样当时使用单层体系结构而没有出现多层体系结构是合理的。单层的应用程序结构见图2 所示。 闭户界面 枣务逻树 墩振存取 图2单层的应用程序模型 *两层客户/服务器应用模型 PC机的出现对应用程序模型的发展带来了巨大的推动力,这时出现了客户服务器模式的应用程序, 即应用程序的代码和资源被明确的划分为客户端和服务器端。因为PC机有了一定的处理能力,传统在 大型机上实现的用户界面和部分事务逻辑被移到 PC机上运行(我们将这种PC机端的代码称为应用程 序客户端),而大型机则提供部分事务
11、逻辑处理和数据存取的功能(我们将这种大型机端的代码称为应 用程序服务器端)。随着PC机处理能力在逐渐加大,客户端执行的任务逐渐增多,这时对服务器端的 硬件要求也在逐渐的降低。 根据事务逻辑在客户端和服务器端分配的不同,该种模型有图3所示几种形式。 爭舅禎a 1卜* 图3两层客户/服务器应用模型的三种形式 值得注意的是,客户/服务器应用程序常常体现为客户端和服务器端运行在不同的计算机上,但这 并不是必然的要求,在同一台计算机上同样可以实现客户 /服务器应用程序。 多层客户服务器应用模型 两层应用程序模型的出现极大的增加了应用程序的灵活性,同时也带来应用程序可维护性的提高。 但是,在两层应用程序中
12、仍然存在着不便维护的缺点,客户端的逻辑或是客户端的嵌入SQL极有可能 随着数据库的改变或是事务逻辑的变化而变化,不得不重新实现并发布一个新的客户端,也就是说,这 样的应用程序模型仍然是比较脆弱的。三层或是更多层应用模型的出现,解决了这样的问题。 在三层的应用程序模型中,事务逻辑与用户界面和数据存取明显的分离出来,将客户端的用户界面 与服务器端数据存取隔离开来,极大的改善了应用程序的可维护性。注意,虽然最常用的多层客户/服 务器模型是三层模型,但是,现在已经出现了将事务逻辑层和数据存取层增加的趋势。这种更多更细的 分层不但提高了系统的维护性能,同时也增加了系统的重用性和与分布式系统概念融合的可能
13、性。图4 所示为一个典型的三层模型。 用户界測 事务楚辑 趣掲存取 5所示。 图4三层客户/服务器应用模型 分布式系统 在分层的客户/服务器应用模型中,下一层为上一层提供服务,上一层调用下一层提供的服务,这 不利于功能的重用。为了最大限度的发挥系统的功能,分布式系统打破分层系统中对于客户和服务器的 定义,将应用程序的代码实现分解为遵循某个标准规范的对象,这些对象中提供的功能被封装到接口中 在某个具体的服务逻辑中,一个对象可能充当客户端的功能,它需要调用另一个对象提供服务;但是, 在另一个服务逻辑中,同一个对象可能为另一个对象提供服务,充当服务器的功能。 常见的分布式对象规范有 *基于Web的多层应用模型 WWW的发展,使得In ternet的应用不再局限于提供一些静态的内容、甚至也不满足于提供一些简 单的动态内容。传统以独立的软件包形式发布的一些应用程序,正逐渐被搬上In ternet ,以出租服务的 方式提供给用户,这就是 ASP(Applicatio n Service Provider) 。由于 Web的特点是In ternet 上的 HT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年公共卫生专项训练冲刺押题
- 电池化成工安全意识强化测试考核试卷含答案
- 粗液脱硅工安全规程水平考核试卷含答案
- 钢丝制品精整工冲突解决强化考核试卷含答案
- 遗体防腐师岗前实操知识能力考核试卷含答案
- 熔融纺纺丝操作工安全宣贯模拟考核试卷含答案
- 光纤着色并带工安全规程竞赛考核试卷含答案
- 矿石破碎筛分工安全管理测试考核试卷含答案
- 水上救生员岗前评优竞赛考核试卷含答案
- 膏药剂工达标知识考核试卷含答案
- 2025中国东方资产管理股份有限公司总部部门分公司高级管理人员社会招聘笔试历年典型考题及考点剖析附带答案详解2套试卷
- 2026石嘴山市能达建设发展有限公司招聘3人笔试参考题库及答案解析
- 《冠心病诊断与治疗指南(2025年版)》
- 2026年春人教版八年级下册英语Unit 1~Unit 8全册教案
- 2025-2026学年人教PEP版(新教材)小学英语三年级下册教学计划及进度表
- 2026年-(教科版2026新教材)科学一年级下册全册教学设计-新版
- 2026届云南省普通高中学业水平选择性考试调研测试政治试题
- GB/T 20839-2025智能运输系统通用术语
- 2026年就业市场:挑战与机遇并存高校毕业生就业指导与策略
- 多囊卵巢综合征中西医结合诊疗指南(2025年版)
- 电梯安装安全培训讲议课件
评论
0/150
提交评论