第 11章 Web数据库应用
教材:数据库技术及应用 2006年 4月
宁可、吴菁、胡海编著
本章要点
? Web数据库的体系结构
? EAServer组件技术
? Web站点建立与管理
? PowerBuild通过 PowerDynamo建立 Web应用
? Microsoft通过 ASP技术访问 Web数据库
目 录
11.1 Web数据库概述
11.2 Web数据库体系结构
11.3 Sybase采用的 Web体系结构
11.4 EAServer组件技术
11.4.1 EAServer组件安装
11.4.2 创建 EAServer组件
11.4.3 创建 EAServer客户端
11.5 Web站点的建立与管理
11.5.1 创建 Web站点
11.5.2 重新生成 Web站点
11.5.3,删除 Web站点
11.5.4 Web站点的管理
11.5.5 Sybase通过 PowerDynamo发布 Web应用
11.6 Microsoft的 Web应用
小结
11.1 Web数据库概述
数据库技术是数据库在计算机上进行操作与存储最有效, 最成
功的技术, 而计算机网络最大的特点是资源共享, 因此, 数据与资
源共享这两种技术的结合即成为现在广泛应用的 Web数据库 ( 网络数
据库 ) 。 简单地说, Web数据库就是客户端用户利用浏览器作为输入
界面, 输入所需的数据, 浏览器将这些数据传送到 Web服务器, Web
服务器再对输入数据进行实施处理, 并将其执行的结果返回给浏览
器 。
目前,数据库技术在数据库管理方面已经比较成熟,而 Web技术
具有简单易学、与操作平台无关的特点,使建立在 Web上的数据库应
用具有许多优点,客户端通过浏览器就可对数据库进行操作。在现
代的 Web应用中,B/S( Brower/Server)模式已经成为网络应用程序
的主流方式。
11.2 Web数据库体系结构
传统的 Web应用是采用超文本传输协议 HTTP( HyperText Transfer
Protocol) 与 Web服务器进行交互, 以获取 Web服务器端的文本, 图像等
信息, 但无法在浏览器上获得实时数据, 进行实时处理数据和精确地控
制事务 。 因此, 为了实现对后台数据库联机访问, 从而更好地控制每个
事务, 得到更快的访问速度, 在动态网页的设计中, 通常采用客户端浏
览器 /Web服务器 /数据库服务器的三层体系结构 ( B/W/D,Browse/Web
Server/Database Server) 。 它是从传统的基于两层结构的客户 /服务
器体系结构 ( C/S,Client/Server) 演变而来 。 如图 11-1所示 。
图 11-1工作原理是:用户通过浏览器向 Web服务器发出数据查询请
求,Web服务器运行脚本程序,连接数据库服务器并向数据库服务器发
出查询请求,数据库服务器执行 SQL查询后,把查询到的数据返回给 Web
服务器,Web服务器中脚本程序产生特定 HTML格式文件后把操作结果返
回给客户端。
Web数据库体系结构图
传统的 Web数据库访问技术有 CGI,服务器 API等等, 但随着 Web应用技术
的发展, 出现了多种 Web数据库应用模式, 如基于 Microsoft平台的 ASP+ADO模
式, 基于 Java平台的 JSP+JDBC模式, 此外 Sybase等大型数据库厂商还有其专
用的 Web应用实现方案 。
下面将重点介绍 Sybase的 Web应用以及 Microsoft通过 ASP实现访问 Web数
据库的技术。
11.3 Sybase采用的 Web体系结构
随着互联网技术的飞速发展, 源自于客户 /服务器结构的三层及多层体系结构的应
用成为网络应用程序的主流趋势, 基于中间件的各种应用服务器也应运而生 。 Sybase的
EAServer企业应用服务器便是其中十分出色的一种 。 EAServer服务器的特色在于它可以
给多种应用体系结构提供统一的解决方案 。
在 Sybase的分布式应用解决方案中, 处于核心地位的企业应用服务器 EAServer是
由组件服务器 Jaguar CTS和动态页面服务器 PowerDynamo组成, 通过强大而快速前端开
发工具 ( PowerBuilder) 为用户提供了面向 Internet/Intranet的三层体系结构 ( 如图
11-2所示 ) 的应用开发工具 。
1,组件事务服务器 Jaguar CTS
Jaguar CTS是一种高性能的组件事务服务器, 是 Sybase新的适应性组件体系结构
的中间层核心产品 。 Jaguar CTS提供了基于组件的分布式应用程序的中间层逻辑框架,
Jaguar组件在客户端和数据库服务器之间的中间层执行 。
2,动态页面服务器 PowerDynamo
PowerDynamo 是一个动态 HTML页面服务器, 是作为 Web 服务器功能的延伸 。
PowerDynamo可以实现在 Web 环境执行程序, 存取数据库以及动态地产生网页内容 。
PowerDynamo是由一系列的网关程序构成, 它可以存储, 管理和访问静态的 HTML文档和
动态的数据库信息, 它甚至可以通过代理与 Jaguar CTS相连并调用 Jaguar上的组件方
法 。 因此, 利用 PowerDynamo不仅可以在 Web服务器上动态发布数据库信息, 而且还可
以构建基于 Web的客户机 /服务器应用 。
在 EAServer中, 动态页面服务器 PowerDynamo相当于目前常见的 ASP,JSP以及 PHP
等, 而组件事务服务器 Jaguar CTS就相当于 Microsoft的 MTS。 在同类产品中,
EAServer性能是非常优秀的 。
Sybase的 Web体系结构实现的基本思路是:数据库服务器在后台运行,负责数据的
集中存储和检索,Web服务器介于客户端浏览器(前台)和数据库服务器(后台)之间,
负责接收来自客户端的请求后,Web 服务器将相应的页面传送给客户端浏览器。如果
客户端浏览器需访问后端数据库数据,则通过 URL可以指示 Web 服务器运行驻留在动态
页面服务器或 EAServer服务器的某个应用程序实施对数据库的访问,而这类程序通常
遵从 CGI( common Gateway Interface),NSAPI (Netscape Server API)或 ISAPI
( Microsoft Internet Server API)标准。
11.4 EAServer组件技术
11.4.1 EAServer组件安装
EAServer组件由 Jaguar CTS和 PowerDynamo组成, Jaguar CTS,PowerDynamo的安装过
程跟安装其它软件一样, 按照向导操作即可 。 需要注意的是在安装 PowerBuilder8.0中
EAServer组件后, 需要安装一些补丁和修改一些参数 ( 假设 Jaguar CTS,PowerDynamo安装
在 C盘 ), 主要原因是 EAServer组件对 Pentium IV以上的处理器不支持 。 需要作如下修改,
(1) 从 http://java.sun.com/下载 jdk-1_2_2_008-win.exe,把它安装到指定目录,
c:\Program Files\Sybase\Shared\Sun\jdk122。
(2) 把 Jaguar CTS3.6.1的版本升级到 Jaguar CTS3.6.1( Build 36114), 安装路径为
c:\Program Files\Sybase\Shared\Sun\jdk122 。
(3) 修改系统变量 PATH的值为 c:\Program Files\Sybase\Shared\Sun\jdk122\bin 。
(4) 设置系统变量 JDK_LATEST的值为 c:\Program Files\Sybase\Shared\Sun\jdk122 。
(5) classpath 必须包含以下值,c:\Program Files\Sybase\Shared\Sun\
Jdk122\lib\classes.zip 。
(6) 修改文件名:搜索 nt4.0,把 Sybase文件夹下所有文件名中的 4改为 5。
11.4.2 创建 EAServer组件
在 PowerBuilder 8.0中,EAServer组件的建立过程包括组件的创建、编辑、测试及发布等,
1,组件的创建
PowerBuilder 8.0为创建和发布 EAServer组件,系统提供了的几种向导工具,具体包括,
? Target向导:此向导工具用于创建一个新的应用库及相应的新的应用对象,引导用户
创建 EAServer组件。
? Obiect向导:此向导工具以一个已存在的应用库为基础,创建一个 EAServer组件。
? Proiect对象:此向导工具用来创建一个工程对象,在工程对象中可以创建和配置
EAServer组件。
2,组件的编辑
可在用户对象画板中为建立组件的用户对象编写函数、实例变量,并在有关的事件中
为用户对象编写脚本代码。
3,组件的测试
在用户对象画板中可以选择 Live Editing选项来自动生成工程以达到测试目的。
4,组件的发布
在工程画板中打开工程对象,设置组件接口和生成工程,并将
EAServer组件发布到 EAServer服务器上。
下面举例说明 EAServer组件的创建过程, 在本例中, 组件建立采用
第一种向导工具即 Target向导方式创建 。
演示创建过程
11.4.2 创建 EAServer组件
11.4.3 创建 EAServer客户端
EAServer客户端的创建涉及 EAServer组件代理对象, EAServer服务器的连接,
EAServer组件方法的调用及客户端界面设计等多项工作 。 而对于 EAServer组件代理
对象和 EAServer服务器的连接, Powerbuilder 8.0提供了相应的代理对象向导和连
接对象向导工具 。 使我们可以通过向导工具快速完成相应的设计工作 。
创建 EAServer客户端应用主要包括以下几个方面,
? 使用 EAServer连接对 象向 导创建 一个 标准类 用户对 象, 该对象 从
Connection系统对象继承而来 。 我们可以通过在脚本中编写代码来使用该对象, 以
连接到 Jaguar CTS服务器上 。
? 使用 EAServer组件的代理对象向导创建一个工程, 然后通过该工程生成相
关组件的代理对象 。
? 在客户端用户界面中创建用于交互的窗口对象, 菜单对象, 各种控件等,
并编写有关的处理语句 。
? 在有关的脚本代码中创建 EAServer组件对象实例, 使用连接对象和代理对
象调用服务器中一个或多个组件的方法 。
? 测试和调试客户端应用 。
? 客户端应用发布 。
演示
11.5 Web站点的建立与管理
用户可以在 Sybase Central中创建 Dynamo Web站点 。 Sybase Central是一个
客户端应用程序, 无论数据库建立在网络上的任何位置, 用户都可以创建一个数
据库驱动的 Web站点 。
Sybase Central是 Web站点管理实用工具, 通过它可以管理以下动态 Web内容,
? 页面设计
? 站点管理
? 配置网站的应用服务器
? 个人 Web服务器 。 通常情况下, 访问 Web必须有一个活动的 Internet连接, 而有
了个人 Web服务器后, 就不存在这个问题, 它可以为开发 Web站点的内容提供了脱
机访问数据和浏览 Web文档 。
PowerDynamo包含一套用于管理 HTML模板的连接和 Web站点管理工具。
PowerDynamo主要集中在 HTML文档与数据库数据的结合方面,并且 Web站点管理使
用工具和数据库管理使用工具都以插入方式嵌入 Sybase Central这个图形化工具
中,它们使用统一接口,并且管理这两个方面的技术。 PowerDynamo的核心是一个
解释器,负责处理嵌入 HTML页面和其他文档中的标记指令,如内嵌的 SQL语句等,
并将结果连同静态的 HTML一起返回给 Web服务器。
11.5 Web站点 的建立与管理
11.5.1 创建 Web站点
11.5.2 重新生成 Web站点
11.5.3 删除 Web站点
11.5.4 Web站点的管理
11.5.5 Sybase通过 PowerDynamo发布 Web应用
演示操作过程
11.6 Microsoft的 Web应用
最初, WWW的网页是静态的, 但由于维护比较困难, 所以动态网页的研究和开发
就成为迫切需要解决的问题 。 由于 WWW最大的特点就是开放性, 客户端只要有浏览器
就可以了, 因此, 基于 B/S体系结构的软件系统就成为趋势 。 起初, 人们利用 CGI( 通
用网关接口 ) 来实现网上数据库, 但是, 普通用户很难掌握 CGI技术, 在这种情况下,
ASP这种网络程序设计语言就应运而生了 。
ASP( Active Server Page) 是 Microsoft开发的一种服务器端执行脚本环境 。
ASP可以将网页经过服务器端解释并且执行后生成标准的 HTML文件再传递给客户端 。
一般情况下, 客户端的浏览器向网站提出访问 ASP文件请求, 服务器则利用 ASP的直译
程序解释要访问的 ASP文件, 并将执行的结果以 HTML文件格式送往客户端 。 由于执行
的结果按照标准的 HTML文件的格式传送给客户端, 所以只要客户端浏览器遵循标准的
HTML文件规范, 就不会存在不兼容问题 。
ASP是在 CGI和 IDC的基础上发展起来的,包含于 IIS( Internet Information
Server) 4.0和 PWS( Personal Web Server)之中,它既克服了 CGI技术效率低、编程
繁琐的缺点,又克服了 IDC技术功能简单的不足,已成为开发动态 Web应用程序的主流
开发环境。
小结
本章首先介绍了 Web数据库的基本概念, 为了实现浏览器对
数据的实时处理和控制事务, Web数据库采用体系结构也由传统
的 CS ( Clint/Server ) 结 构 过 渡 到 BWD ( Browser/Web
Server/Database Server) 结构, 也称为 B/S结构, 就是我们通
常说的, 瘦客户, 模式 。 PowerDynamo正是 Sybase公司为适应
BWD结构而推出的, 它是介于 Web服务器和数据库服务器之间的
应用服务器 。
Microsoft是通过 ASP技术访问 Web数据库,
由于 ASP简单易学, 又有 Microsoft的强大支持,
所以目前 ASP使用非常广泛, 很多大型站点都是
ASP开发的 。 利用它们可以很方便地实现存取数
据库功能 。