Web体系结构
- 格式:docx
- 大小:19.16 KB
- 文档页数:7
(1)web 是internet 提供的一种服务(2)web 是存储在全世界internet 计算机中数量巨大的文档的集合(3)web 上海量的信息是由彼此关联的文档组成的(4)web 的内容保存在web 站点中,用户可以通过浏览器访问web 站点(1)用户打开计算机,启动浏览器程序,并在浏览器中指定一个URL ,浏览器便向该URL 所指向的Web 服务器发出请求。
(2)Web 服务器接到浏览器的请求后,把URL 转换成页面所在服务器的文件路径名。
(3)如果URL 指向的是普通的HTML 文档,Web 服务器直接将它送给浏览器。
(4)如果HTML 文档中嵌有CGI 程序,Web 服务器就运行CGI 程序,并将结果传送至浏览器。
Web 服务器运行CGI 程序时还可能需要调用数据库服务器和其它服务器客户机/服务器的通信过程:客户机向服务器发送请求,要求执行某项任务,而服务器则执行某项任务。
从本质上讲,web 是基于客户机、服务器的一种体系结构。
PC 等微型计算机的性能/价格比工作站,小型机,大型机高得多,因此人们将数据等大量信息存储在共享的服务器上,用价格低廉的个人计算机与之相连,以便享用服务器的高性能。
在这种客户机/服务器模型中,典型的通信过程为:客户机向服务器发送请求,要求执行某项任务,而服务器则执行此项任务,并向客户机返回响应。
在客户机/服务器体系结构中,通常很容易将客户机和服务器理解为两端的计算机。
但事实上,客户机和服务器概念上更多的是指软件,是指两台机器上相应的应用程序。
对于web 系统,客户机上所运行的浏览器程序基本上是标准化的,所以人们建立客户机/服务器系统的主要任务就落到了服务器端。
Web 的体系结构因而可以称作浏览器/服务器结构。
(1)查找提交的字符串,当遇到“&”时,在该点断开串,将前面的内容作为一个变量,变量名是等于前面的东西,值是等号后面的东西(2)用空格代替全部加号 (3)用相应的ASCII 码字符代替所有%##(##表示十六进制数)1通过使用项目名称访问集合中的具体项目2使用在集合中保存项目时关联的名称访问项目3通过使用与项目关联的索引或号码也可以访问项目4通过使用速记名称访问项目1、Application 对象给定应用程序的所有用户之间共享的信息。
1.WEB结构特点:1)web是一种超文本信息系统。
2)web事图形化的和易于导航的。
3)web与平台无关。
4)web是分布式的。
5)web具有新闻性。
6)web是动态的,交互的。
2.web开发技术有哪些1)ASP。
ASP事一种功能强大的服务器端脚本编程环境。
ASP最大的好处是可以包含HTML标签,也可以直接存取数据库以及使用ACTIVEX控件,它采用脚本语言vbscript,javascript作为开发语言。
它结合html网页,ASP指令和ACTIVEX组建建立动态、交互且高效的web服务器应用程序。
特点:1.全嵌入html,与html及script语言完美结合。
2.无需手动编译或连接程序。
3.面向对象,并可扩展active server组件功能.4.存取数据库轻松容易。
5.可使用任何语言编写自己的active server组件。
6.无浏览器兼容问题。
7.程序代码隐蔽,在客户端仅可看到由ASP输出的动态html文件。
2)PHP。
PHP是一种跨平台的服务器端嵌入式脚本语言,它是一种易于学习和使用的服务器端脚本语言,嵌入html文件,大量的借入C,JAV A和PERL语言的用法。
PHP支持目前绝大多数的数据库,web开发者使用PHP能够快速的写出生成动态网页的脚本代码。
PHP是完全免费的,可以从PHP官方网站自由下载,可以不受限制的获得源代码,并可以加入自己需要的功能。
特点:1.支持多种系统平台,包括windows9X,windows NT,windows2000professional 和windows2000server系统,以及各种Unix系统和Linux系统。
2.强大的数据库操作功能。
3.易于与现有的网页融合。
4.具有丰富的功能。
5.可移植性好。
3)JSP。
JSP是基于JAV A servlet及整个JAV A体系的web开发技术,利用这一技术可以建立先进,安全和跨平台的动态网站。
JSP与ASP两者都是为实现web 动态交互网页制作而提供的技术支持环境,都嫩替代CGI使网站建设与发展变得简单而快捷。
WEB开发三层架构概述关于三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。
区分层次的目的即为了“高内聚,低耦合”的思想。
1、表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。
2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。
3、数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增、删、改、查。
概述在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。
微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或成为领域层)、表示层。
三层结构原理:3个层次中,系统主要功能和业务逻辑都在业务逻辑层进行处理。
所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。
这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。
三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。
通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交互。
表示层位于最外层(最上层),离用户最近。
用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。
业务逻辑层业务逻辑层(Business Logic Layer)无疑是系统架构中体现核心价值的部分。
它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也即是说它是与系统所应对的领域(Domain)逻辑有关,很多时候,也将业务逻辑层称为领域层。
例如Martin Fowler在《Patterns of Enterprise Application Architecture》一书中,将整个架构分为三个主要的层:表示层、领域层和数据源层。
Web系统的三层结构①数据访问层 (2)②业务逻辑层 (2)③用户表示层 (3)B/C系统常常采用如图4所示的多层体系结构,这种多层结构在层与层之间相互独立,任何一层的改变不会影响其他层的功能。
根据所实现的逻辑功能,按照分布式结构的思想,整个应用程序结构大致分为三层:用户表示层、业务逻辑层和数据访问层,也可以根据实际需求将其扩展为N层体系结构。
在系统的开发过程中,需要在逻辑上清晰三层分别实现的功能,并以此设计整个系统的实现及管理整个系统的代码文件。
不能把处于不同层次的文件混在一起。
否则会造成系统逻辑上的混乱,是庞大的系统难于管理和维护,容易导致系统的失败。
图4 Web系统的典型多层体系结构由图4我们了解到,数据访问层从数据源或其他服务中获取原始数据,业务逻辑层把数据转换为符合业务需求的有意义的信息,最后用户表示层把信息转换为用户能够理解的内容。
层次体系结构就是以这种方式来完成多个复杂的业务功能。
当应用程序达到一定的复杂程度之后,创建N层体系结构的应用程序,清晰的层次将使得系统的生成、扩展和维护变得轻松。
①数据访问层数据访问层中包含一个类Database,它完成了最基本的数据访问功能。
大多数业务应用程序必须访问存储在数据库中的数据。
该数据层中的数据访问组件负责将存储在这些数据库中的数据公开给业务逻辑层。
数据访问组件将业务逻辑层与特定数据存储解决方案的细节隔离开来。
这种隔离具有以下优点:1)尽量减少数据库提供方的更改造成的影响。
2)尽量减少数据表示的更新所造成的影响3)封装操作单个位置的特定数据项的所有代码,极大地简化了测试和维护过程。
可以直接用作简单应用程序的数据访问组件。
通过开发一组用于管理对象关系映射复杂性的类,对于更复杂的应用程序很有益处。
②业务逻辑层在 2.0中,利用SqlDataSource、AccessDataSource等控件无需编写代码就可以选择、更新、插入和删除数据库数据,为开发工作提供了极大的方便。
Web体系结构
Web体系结构是非常重要的,了解不难,但是要了解透彻就需要一定的时间和精力去做,学习提升的是自己。
我们就Web体系结构和大家详细介绍一下。
传统的Web数据库系统一般实现Web数据库系统的连接和应用可采取两种方法,一种是在Web服务器端提供中间件来连接Web服务器和数据库服务器,另一种是把应用程序下载到客户端并在客户端直接访问数据库。
中间件负责管理Web服务器和数据库服务器之间的通信并提供应用程序服务,它能够直接调用外部程序或脚本代码来访问数据库,因此可以提供与数据库相关的动态HTML页面,或执行用户查询,并将查询结果格式化成HTML页面。
通过Web服务器返回给Web 浏览器。
最基本的中间件技术有通过网关接口CGI和应用程序接口API两种。
公共网关接口
CGI是外部应用程序(CGI程序)与Web服务器之间的接口标准,是WWW服务器运行时外部程序的规范,按照CGI编写的程序可以扩展服务器的功能,完成服务器本身不能完成的工作,外部程序执行时间可以生成HTML文档,并将文档返回WWW服务器。
CGI应用程序能够与浏览器进行交互作用,还可以通过数据库的API与数据库服务器等外部数据源进行通信,如一个CGI程序可以从数据库服务器中获取数据,然后格式化为HTML文档后发送给浏览器,也可以将从浏览器获得的数据放到数据库中。
几乎使用的服务器软件都支持CGI,开发人员可以使用任何一种WWW服务器内置语言编写CGI,其中包括流行的C、C++、VB和Delphi等。
从体系结构上来看,用户通过Web浏览器输入查询信息,浏览器通过HTTP协议向Web服务器发出带有查询信息的请求,Web服务器按照CGI协议激活外部CGI程序,由该程序向DBMS发出SQL请求并将结果转化为HTML后返回给Web服务器。
再由Web服务器返回给Web 浏览器。
这种结构体现了客户/服务器方式的三层模型,其中Web服
务器和CGI程序实际起到了HTML和SQL转换的网关的作用。
CGI的典型操作过程是:分析CGI数据;打开与DBMS的连接;发送SQL请求并得到结果;将结果转化为HTML;关闭DBMS的连接;将HTML结果返回给Web服务器。
基于Web的数据库访问利用已有的信息资源和服务器。
其访问频率大,尤其是热点数据。
缺点:
①客户端与后端数据库服务器通信必须通过Web服务器,且Web 服务器要进行数据与HTML文档的互相转换,当多个用户同时发出请求时,必然在Web服务器形成信息和发布瓶颈。
②CGI应用程序每次运行都需打开和关闭数据库连接,效率低,操作费时;
③CGI应用程序不能由多个客户机请求共享,即使新请求到来时CGI程序正在运行,也会启动另一个CGI应用程序,随着并行请求的数量增加,服务器上将生成越来越多的进程。
为每个请求都生成进程既费时又需要大量内存,影响了资源的使用效率,导致性能降低并增加等待时间;
④由于SQL与HTML差异很大,CGI程序中的转换代码编写繁琐,维护困难;
⑤安全性差,缺少用户访问控制,对数据库难以设置安全访问权限;
⑥HTTP协议是无状态且没有常连接的协议,DBMS事务的提交与否无法得到验证,不能构造Web上的OLTP应用。
扩展接口
为了克服CGI的局限性,出现的另一种中间件解决方案是基于服务器扩展API的结构。
与CGI相比,API应用程序与Web服务器结合得更加紧密,占用的系统资源也少得多,而运行效率却大大提高,同时还提供更好的保护和安全性。
服务器API一般作为一个DLL提供,是驻留在WWW服务器中的程序代码,其扩展WWW服务器的功能与CGI相同。
WWW开发人员不仅可以API解决CGI可以解决的一切问题,而且能够进一步解决基于不同WWW应用程序的特殊请求。
各种API与其相应的WWW服务器紧密结合,其初始开发目标服务器的运行性能进一步发掘、提高。
用API开发的
程序比用CGI开发的程序在性能上提高了很多,但开发API程序比开发CGI程序要复杂得多。
API应用程序需要一些编程方面的专门知识,如多线程、进程同步、直接协议编程以及错误处理等。
主要的WWWAPI 有Microsoft公司的ISAPI、Netscape公司的NSAPI和OReily公司的WSAPI等。
使用ISPAI开发的程序性能要优于用CGI开发的程序,这主要是因为ISAPI应用程序是一些与WWW服务器软件处于同一地址空间的DLL,因此所有的HTTP服务器进程能够直接利用各种资源这显然比调用不在同一地址空间的CGI程序语句要占用更少的系统时间。
而NSAPI同ISAPI一样,给WWW开发人员定制了NetscapeWWW服务器基本服务的功能。
开发人员利用NSAPI可以开发与WWW服务器的接口,以及与数据库服务器等外部资源的接口。
,。