Presentation is loading. Please wait.

Presentation is loading. Please wait.

6.3 Intranet 基于 Web 的数据库应用 6.3.1 Web 数据库应用的三层体系结构 6.3.2 数据库与 Web 的交互 第 6 章 Intranet 与 Extranet.

Similar presentations


Presentation on theme: "6.3 Intranet 基于 Web 的数据库应用 6.3.1 Web 数据库应用的三层体系结构 6.3.2 数据库与 Web 的交互 第 6 章 Intranet 与 Extranet."— Presentation transcript:

1 6.3 Intranet 基于 Web 的数据库应用 6.3.1 Web 数据库应用的三层体系结构 6.3.2 数据库与 Web 的交互 第 6 章 Intranet 与 Extranet

2 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 所示。 图 6.3 B/W/D 三层体系结构

3 6.3.1 Web 数据库应用的三层体系结构 1. 客户端浏览器 从 Web 的观点可看出,任何事物都是由文件和关联构成的。 客户端浏览器是客户机程序进入 Web 的窗口,它的工作是读取 文件和跟着用户选择的关联走。其任务是:  为用户定制一个请求  将用户的请求发送给 Web 服务器  接收 Web 服务器发出的信息,并将其呈现给用户 目前浏览器主要有 Netscape 的 Communicator 、 Microsoft 的 Internet Explorer 、基于文本的 Lynx 、 Opera 等。

4 6.3.1 Web 数据库应用的三层体系结构 2. Web 服务器 Web 服务器提供 HTTP 服务,它接受客户的请求,并把静态 和动态内容组装成 Web 页面,然后传递给客户。 Web 服务器通 常具有连接数据库的功能,并能提供其它一些服务。 Web 服务器的任务是:  接收用户的请求  检查用户请求的合法性  针对用户请求获取并制作数据,包括对数据进行前期处 理和后期处理  把信息发送给提出请求的客户机

5 6.3.1 Web 数据库应用的三层体系结构 Web 服务器与客户端浏览器之间的信息交互过程是这样的, 浏览器将用户的输入(如 http://www.pku.edu.cn )进行分解, 分为主机名和文件名两部分。如果客户没有提供文件名,则由 主机( Web 服务器)提供默认文件(如 index.html )。 Web 服务 器与客户端连接后,检查客户端的请求,如果是一个文件,则 将文件的内容传给客户端,由浏览器显示出来;如果客户端的 请求是一个程序,则生成一个新的进程,提供相应的参数后运 行这个程序,并将程序的输出结果传输给客户端,如同这个输 出是一个已存在的文件。

6 6.3.2 数据库与 Web 的交互 管理信息系统的核心是对数据库中的数据进行加工、处理,从而获 得有用的管理信息。数据库的访问均可大致分为两大过程:  产生并提交用结构化查询语言 SQL 书写的查询或数据请求语句 到数据库引擎中。  执行查询并处理查询所得结果。 Web 访问数据库也涉及这两个过程,但其中有着重要的不同之处:  用户按照浏览器上用 HTML 编写的表格来输入查询和数据请求。  接口程序将输入到表格中的信息提取出来并组织称为有效的 SQL 查询或处理语句,随后将其发送到数据库后台。  接口程序在数据库引擎对数据进行处理后之后接收结果,并以 HTML 格式将其传回到用户的浏览器上显示给用户阅读。 可见, Web 访问数据库必须利用接口程序。

7 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 程序只能处理一个请求。

8 6.3.2 数据库与 Web 的交互 2. 服务器 API 服务器 API 的作用类似于 CGI ,用于扩展服务器的功能,它以 动态链接库 DLL 的形式提供,是驻留在 Web 服务器上的本机代码。 服务器 API 可以实现 CGI 程序所能提供的全部功能,其原理和 CGI 大体相同,都是通过交互式页面获得用户的输入信息,然后交 服务器后台处理,但二者的实现机制却不相同。  在服务器 API 下创建的程序以动态链接库的形式存在,而 CGI 程序一般是可执行程序;  在服务器 API 的调用方式中被用户请求激活的 DLL 和 Web 服 务器处于同一进程中,在处理完某个用户请求后并不马上消失, 而是和 Web 服务器一起继续驻留于内存中,等待处理其他用户 的 HTTP 请求,直到过了指定时间后一直没有用户请求为止;

9 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 接口访问各 种数据库。

10 6.3.2 数据库与 Web 的交互 4. ADC 同前几种方案中对数据库的操作都是在服务器端进行的不 同,先进数据库连接器( ADC , Advanced Database Connector )提供的是一个处理数据库的 ActiveX 控件,它的主 要特点是在浏览器上实现数据库访问操作。 ADC 在客户端使用 支持 AcitveX 的浏览器,可访问所有支持 ODBC 的数据库。

11 6.3.2 数据库与 Web 的交互 5. ASP+ADO 模式 ASP ( Active Server Pages )是 IIS 提供的一种动态网页技 术,它能够将 HTML 文本、脚本命令及 ActiveX 组件混合在一起 构成 ASP 页,实现对 Web 数据库的访问。当用户使用浏览器访 问 ASP 网页时, Web 服务器响应,调用 ASP 引擎来执行 ASP 文 件,并解释其中的脚本语言,通过 ODBC 连接数据库,由数据 库访问组件 ADO ( ActiveX Data Objects )完成数据库操作,最 后 ASP 生成包含有数据库查询结果的 HTML 页面并返回用户端。

12 6.3.2 数据库与 Web 的交互 ADO 组件由七个对象和四个集合组成。其中,最重要的是 Connection 、 Command 和 Recordset 三个对象。 Connection 对象用 于创建应用程序和数据库之间的连接, Command 对象用于定义数 据库的操作,而 Recordset 对象则包含了从数据库中查询到的结果 集合。 在 ASP 中通过 ADO 访问数据库,一般要通过以下四个步骤:  创建一个到数据库的 Connection ;  查询一个数据集合,即执行 SQL ,产生一个 Recordset ;  对数据集合进行需要的操作;  关闭 Connection 。

13 6.3.2 数据库与 Web 的交互 6. JSP+JDBC 模式  J2EE J2EE 是由 SUN 公司领导、多家公司共同参与制定的一个企业应用程 序开发标准。近年来, Java 技术已经发展成为适用于多个领域需求的 Java 2 平台。目前, Java 2 平台根据其应用领域的不同有三个版本。 J2SE ( Java 2 Platform Standard Edition )适用于桌面系统 。 J2ME ( Java 2 Platform Micro Edition )适用于小型设备和智能卡 系统 。 J2EE ( Java 2 Platform Enterprise Edition )适用于建立服务器 应用程序和服务 。

14 6.3.2 数据库与 Web 的交互 J2EE 的体系结构可以分为四层,如下图 6.4 所示。 J2EE 拥有 Java 固有的跨平台特性,它具有以下优势:立足于 企业信息系统的基础之上开发新的系统,可以充分利用用户原有 的投资;允许企业开发人员把一些通用、烦琐的服务器端任务交 给中间件供应商完成,把自己的精力集中在商业逻辑上,可以大 大提高开发效率;支持异构环境,用 J2EE 开发的应用程序能非常 方便地部署在不同平台上,具备良好的可扩展性。 图 6.4 J2EE 的体系结构

15 6.3.2 数据库与 Web 的交互  JSP JSP ( Java Server Pages )是由 Sun Microsystems 公司倡 导、许多公司参与一起建立的一种开放的、可扩展的动态网页 技术标准,目前有 1.0 和 1.1 两个版本。在 HTML 网页文件中加入 Java 程序片断( Scriptlet )和 JSP 标记( tag ),就构成了 JSP 网页。作为 Java 平台的一部分, JSP 拥有 Java 编程语言 “ 一次编 写,到处运行 ” 的特点。它还具有 Java 技术的所有优点,包括 “ 健壮 ” 的存储管理和安全性。

16 6.3.2 数据库与 Web 的交互  JDBC JDBC ( Java Database Connectivity )是 Java 应用程序与 数据库的通用接口( Java API ),它规定了 Java 如何与数据库 进行交互作用。 JDBC 由一组用 Java 语言写的类和接口组成。 JDBC 与 Java 结合,使用户容易对数据库进行操作。用 Java 和 JDBC 编写的数据库应用软件具有与平台无关的特性,可在各种 数据库系统上运行。 JDBC 访问数据库的过程是:首先由用户的浏览器连接到 Web 服务器上,下载含有 Java 小程序的 HTML 页, Java 小程序 在客户端运行并使用 JDBC 接口,直接与数据库服务器交互,并 直接把查询结果的 HTML 页返回给浏览器。

17 6.3.2 数据库与 Web 的交互  JSP 应用模型 ① 简单模型 在简单模型中,浏览器直接调用 JSP 页面, JSP 页面自己生成被请 求的内容。 JSP 页面可以调用 JDBC 等组件来生成结果,创建 HTML ,并 将结果发送回浏览器。图 6.5 说明了这种简单的 JSP 访问模型。 图 6.5 简单的 JSP 访问模型

18 6.3.2 数据库与 Web 的交互 ② 使用 Servlet 基于 Web 客户机直接对 Servlet 提出请求,由 Servlet 生成动 态的内容,再将结果捆绑到一个结果对象中。 JSP 页面从该对象 中访问动态内容,并且将结果返回给浏览器。如图 6.6 所示。采 用这种方式,可以在应用程序之间创建共享的、可重用的组件, 并且作为更大应用的一部分来实现。 图 6.6 JSP 和 Servlet 结合使用

19 6.3.2 数据库与 Web 的交互 ③ 采用 EJB 技术的可扩展处理。 Java Bean 是一种可重用的 Java 组件,它可以被 Applet , Servlet , JSP 等 Java 程序调用。 JSP 页面可以作为企业版的 Java Bean ( EJB , Enterprise Java Bean )体系结构中的一个 中间层次,在这种情况下, JSP 页面和后端数据源之间通过 EJB 组件进行交互。如图 6.7 所示。 图 6.7 采用 EJB 技术的可扩展处理

20 6.3.2 数据库与 Web 的交互 7. ASP.NET+ADO.NET 模式 .NET Microsoft 公司的.NET 体系结构是 Windows 分布式网络应用程序 体系结构的演进, Microsoft 公司对.NET 的描述是: “.NET 是一个革 命性的新平台,它建立在开放的 Internet 协议和标准之上,采用许多 新的工具和服务用于计算和通信。 ” 简单地说,.NET 是一个开发和运 行软件的新环境。 图 6.8 为.NET 的基本层次结构。.NET 框架的基本模块包括以下 几个部分: Web 服务( Web Services )、通用语言运行时环境 ( common language runtime )、服务框架类库( class library )、 数据访问服务 ADO.NET 、表单应用模板和 Web 应用程序模板 ASP.NET 。

21 6.3.2 数据库与 Web 的交互 图 6.8.NET 框架的基本层次结构

22 6.3.2 数据库与 Web 的交互  ASP.NET ASP.NET 是一种建立在通用语言上的程序架构。 ASP.NET 向 后兼容 ASP ,运行在.NET 平台上,以前的 ASP 脚本几乎不经修改 就可在.NET 平台上运行,从而保护了企业先前的相关投资。  ADO.NET ASP.NET 中的 ADO.NET 和 ASP 中的 ADO 相对应,它是 ADO 的 改进版本。在 ASP.NET 中通过 Managed Provider 所提供的应用程 序编程接口( API ),可以轻松地访问各种数据源的数据,包括 OLE DB 所支持的数据库和 ODBC 支持的数据库。 为了将数据访问和数据操纵分离, ADO.NET 使用了两种组件: DataSet 对象和.NET Data Provider 。

23 6.3.2 数据库与 Web 的交互 DataSet 对象是一个存在于内存中的数据库,在 ADO.NET 中 处于核心地位,它提供了一种与数据库来源无关的数据表示方 式,可以表示、存储和管理来自远程或本地的数据库、 XML 文 件或数据流甚至应用程序的局部数据。 由于有了 DataSet ,所以 ADO.NET 访问数据库的步骤变为:  创建一个数据库连接;  请求一个记录集合;  把记录集合暂存到 DataSet ;  如果需要,返回第二步, DataSet 可以容纳多个数据集合;  关闭数据库连接;  在 DataSet 上做所需要的操作。


Download ppt "6.3 Intranet 基于 Web 的数据库应用 6.3.1 Web 数据库应用的三层体系结构 6.3.2 数据库与 Web 的交互 第 6 章 Intranet 与 Extranet."

Similar presentations


Ads by Google