6.3 Intranet基于Web的数据库应用 6.31Web数据库应用的三层体系结构 632数据库与Web的交互 第6章 Intrane与 EXtranet ●四南大字画字
6.3 Intranet基于Web的数据库应用 6.3.1 Web数据库应用的三层体系结构 6.3.2 数据库与Web的交互 第6章 Intranet与Extranet
6.31Web数据库应用的三层体系结构 Intranet中利用web三层结构可以比较圆满地解决基于C/S 系统存在的问题。Web三层体系结构,即客户端浏览器∧eb服 务器/数据库服务器(B/D, Browser/ eb server/ Database Server)结构,该体系结构就是所谓的B/S模式。B/WD三层体 系结构如图6.3所示。 驅 客户端浏览器 Web服务器 数据库服务器 图63B∧WD三层体系结构 第6章 Intrane与 EXtranet
第6章 Intranet与Extranet 6.3.1 Web数据库应用的三层体系结构 Intranet中利用Web三层结构可以比较圆满地解决基于C/S 系统存在的问题。Web三层体系结构,即客户端浏览器/Web服 务器/数据库服务器(B/W/D,Browser/Web Server/Database Server)结构,该体系结构就是所谓的B/S模式。B/W/D三层体 系结构如图6.3所示。 客户端浏览器 Web服务器 数据库服务器 图6.3 B/W/D三层体系结构
6.31Web数据库应用的三层体系结构 客户端浏览器 从Web的观点可看出,任何事物都是由文件和关联构成的。 客户端浏览器是客户机程序进入Web的窗口,它的工作是读取 文件和跟着用户选择的关联走。其任务是: >为用户定制一个请求 将用户的请求发送给Web服务器 >接收Web服务器发出的信息,并将其呈现给用户 目前浏览器主要有 Netscape的 Communicator、 Microsoft 的 Internet Explorer、基于文本的ynx、 Opera等。 第6章 Intrane与 EXtranet
第6章 Intranet与Extranet 6.3.1 Web数据库应用的三层体系结构 1. 客户端浏览器 从Web的观点可看出,任何事物都是由文件和关联构成的。 客户端浏览器是客户机程序进入Web的窗口,它的工作是读取 文件和跟着用户选择的关联走。其任务是: ➢ 为用户定制一个请求 ➢ 将用户的请求发送给Web服务器 ➢ 接收Web服务器发出的信息,并将其呈现给用户 目前浏览器主要有Netscape的Communicator、 Microsoft 的Internet Explorer、基于文本的Lynx、Opera等
6.31Web数据库应用的三层体系结构 2.Web服务器 eb服务器提供HTTP服务,它接受客户的请求,并把静态 和动态内容组装成Web页面,然后传递给客户。Web服务器通 常具有连接数据库的功能,并能提供其它一些服务 Web服务器的任务是 接收用户的请求 检查用户请求的合法性 针对用户请求获取并制作数据,包括对数据进行前期处 理和后期处理 把信息发送给提出请求的客户机 第6章 Intrane与 EXtranet
第6章 Intranet与Extranet 6.3.1 Web数据库应用的三层体系结构 2. Web服务器 Web服务器提供HTTP服务,它接受客户的请求,并把静态 和动态内容组装成Web页面,然后传递给客户。Web服务器通 常具有连接数据库的功能,并能提供其它一些服务。 Web服务器的任务是: ➢ 接收用户的请求 ➢ 检查用户请求的合法性 ➢ 针对用户请求获取并制作数据,包括对数据进行前期处 理和后期处理 ➢ 把信息发送给提出请求的客户机
6.31Web数据库应用的三层体系结构 Web服务器与客户端浏览器之间的信息交互过程是这样的, 浏览器将用户的输入(如htp:/www.pku.edu.cn)进行分解 分为主机名和文件名两部分。如果客户没有提供文件名,则由 主机(Web服务器)提供默认文件(如 lindex htn)。Web服务 器与客户端连接后,检查客户端的请求,如果是一个文件,则 将文件的内容传给客户端,由浏览器显示出来;如果客户端的 请求是一个程序,则生成一个新的进程,提供相应的参数后运 行这个程序,并将程序的输出结果传输给客户端,如同这个输 出是一个已存在的文件。 第6章 Intrane与 EXtranet
第6章 Intranet与Extranet 6.3.1 Web数据库应用的三层体系结构 Web服务器与客户端浏览器之间的信息交互过程是这样的, 浏览器将用户的输入(如http://www.pku.edu.cn)进行分解, 分为主机名和文件名两部分。如果客户没有提供文件名,则由 主机(Web服务器)提供默认文件(如index.html)。Web服务 器与客户端连接后,检查客户端的请求,如果是一个文件,则 将文件的内容传给客户端,由浏览器显示出来;如果客户端的 请求是一个程序,则生成一个新的进程,提供相应的参数后运 行这个程序,并将程序的输出结果传输给客户端,如同这个输 出是一个已存在的文件
6.32数据库与Web的交互 管理信息系统的核心是对数据库中的数据进行加工、处理,从而 获得有用的管理信息。数据库的访问均可大致分为两大过程: 产生并提交用结构化查询语言SQL书写的查询或数据请求语句 到数据库引擎中。 执行查询并处理查询所得结果。 Web访问数据库也涉及这两个过程,但其中有着重要的不同之处 用户按照浏览器上用HTML编写的表格来输入查询和数据请求 >接口程序将输入到表格中的信息提取出来并组织称为有效的 sQL查询或处理语句,随后将其发送到数据库后台。 >接口程序在数据库引擎对数据进行处理后之后接收结果,并以 HTML格式将其传回到用户的浏览器上显示给用户阅读。 可见,Web访问数据库必须利用接口程序。 第6章 Intrane与 EXtranet
第6章 Intranet与Extranet 6.3.2 数据库与Web的交互 管理信息系统的核心是对数据库中的数据进行加工、处理,从而 获得有用的管理信息。数据库的访问均可大致分为两大过程: ➢ 产生并提交用结构化查询语言SQL书写的查询或数据请求语句 到数据库引擎中。 ➢ 执行查询并处理查询所得结果。 Web访问数据库也涉及这两个过程,但其中有着重要的不同之处: ➢ 用户按照浏览器上用HTML编写的表格来输入查询和数据请求。 ➢ 接口程序将输入到表格中的信息提取出来并组织称为有效的 SQL查询或处理语句,随后将其发送到数据库后台。 ➢ 接口程序在数据库引擎对数据进行处理后之后接收结果,并以 HTML格式将其传回到用户的浏览器上显示给用户阅读。 可见,Web访问数据库必须利用接口程序
6.32数据库与Web的交互 CG 通用数据网关接口(CGl, Common Gateway Interface)是 Web服务器与外部扩展程序交互的一个接口标准。Web服务器通 用调用CGl程序实现和Web浏览器的交互,也就是CG|程序接收 Web浏览器发送给Web服务器的信息,进行处理,将响应结果再 回送给Web服务器及Web浏览器。CG程序一般完成Web网页中 表单(Form)数据的处理、数据库查询和实现与传统应用系统的 集成等工作 CG的优点是:跨平台性能好,几乎可在任何操作系统上实现。 缺点是:CG程序一般都是一个独立的可执行程序,与Web服务 器各自占据不同的进程,且一个CG程序只能处理一个请求。 第6章 Intrane与 EXtranet
第6章 Intranet与Extranet 6.3.2 数据库与Web的交互 1. CGI 通用数据网关接口(CGI,Common Gateway Interface)是 Web服务器与外部扩展程序交互的一个接口标准。Web服务器通 用调用CGI程序实现和Web浏览器的交互,也就是CGI程序接收 Web浏览器发送给Web服务器的信息,进行处理,将响应结果再 回送给Web服务器及Web浏览器。CGI程序一般完成Web网页中 表单(Form)数据的处理、数据库查询和实现与传统应用系统的 集成等工作。 CGI的优点是:跨平台性能好,几乎可在任何操作系统上实现。 缺点是:CGI程序一般都是一个独立的可执行程序,与Web服务 器各自占据不同的进程,且一个CGI程序只能处理一个请求
6.32数据库与Web的交互 2.服务器AP 服务器AP的作用类似于CG,用于扩展服务器的功能,它以 动态链接库DL的形式提供,是驻留在Web服务器上的本机代码。 服务器AP可以实现CG程序所能提供的全部功能,其原理和 CG大体相同,都是通过交互式页面获得用户的输入信息,然后交 服务器后台处理,但二者的实现机制却不相同。 >在服务器AP下创建的程序以动态链接库的形式存在,而 cG程序一般是可执行程序; 在服务器AP的调用方式中被用户请求激活的DLL和Web服 务器处于同一进程中,在处理完某个用户请求后并不马上消失 而是和Web服务器一起继续驻留于内存中,等待处理其他用户 的HTTP请求,直到过了指定时间后一直没有用户请求为止; 第6章 Intrane与 EXtranet
第6章 Intranet与Extranet 6.3.2 数据库与Web的交互 2. 服务器API 服务器API的作用类似于CGI,用于扩展服务器的功能,它以 动态链接库DLL的形式提供,是驻留在Web服务器上的本机代码。 服务器API可以实现CGI程序所能提供的全部功能,其原理和 CGI大体相同,都是通过交互式页面获得用户的输入信息,然后交 服务器后台处理,但二者的实现机制却不相同。 ➢ 在服务器API下创建的程序以动态链接库的形式存在,而 CGI程序一般是可执行程序; ➢ 在服务器API的调用方式中被用户请求激活的DLL和Web服 务器处于同一进程中,在处理完某个用户请求后并不马上消失, 而是和Web服务器一起继续驻留于内存中,等待处理其他用户 的HTTP请求,直到过了指定时间后一直没有用户请求为止;
6.32数据库与Web的交互 基于服务器AP的所有进程均可获得服务器上的任何资 源,而且当它调用外部cG程序时,需要的开销也较单纯 的cG少,因此服务器AP的运行效率明显高于cG 3.|Dc 因特网数据库连接器(IDC, Internet database Connector)是 Microsoft的Web服务器ls( nternet Information Server)的一个动态链接库 Httpodbc. d,它是建 立在 ISAPI基础之上,通过开放数据库互连ODBC接口访问各 种数据库。 第6章 Intrane与 EXtranet
第6章 Intranet与Extranet 6.3.2 数据库与Web的交互 ➢ 基于服务器API的所有进程均可获得服务器上的任何资 源,而且当它调用外部CGI程序时,需要的开销也较单纯 的CGI少,因此服务器API的运行效率明显高于CGI。 3. IDC 因特网数据库连接器(IDC,Internet Database Connector)是Microsoft的Web服务器IIS(Internet Information Server)的一个动态链接库Httpodbc.dll,它是建 立在ISAPI基础之上,通过开放数据库互连ODBC接口访问各 种数据库
6.32数据库与Web的交互 4. ADC 同前几种方案中对数据库的操作都是在服务器端进行的不 同,先进数据库连接器(ADC, Advanced database Connector)提供的是一个处理数据库的 ActiveX控件,它的主 要特点是在浏览器上实现数据库访问操作。ADC在客户端使用 支持 Acitvex的浏览器,可访问所有支持ODBC的数据库 第6章 Intrane与 EXtranet
第6章 Intranet与Extranet 6.3.2 数据库与Web的交互 4. ADC 同前几种方案中对数据库的操作都是在服务器端进行的不 同,先进数据库连接器(ADC,Advanced Database Connector)提供的是一个处理数据库的ActiveX控件,它的主 要特点是在浏览器上实现数据库访问操作。ADC在客户端使用 支持AcitveX的浏览器,可访问所有支持ODBC的数据库