PowerPoint 演示文稿

Download Report

Transcript PowerPoint 演示文稿

S
第十九章
网络与数据库
自90年代internet出现以来,Web成为世界上最大的网络
信息系统。Web技术和数据库技术的结合,开拓出许多
数据库应用的新领域。本章介绍基于Web的数据库应用
的概念和技术。
第一节 网络上的数据的分布和组织
第二节 网络异构多数据源的访问
第三节 Web与Web数据库
S1
第一节
网络上的数据的分布和组织
网上一个完整的应用实体可以分解为应用和数据两个组成
部分。应用与数据在集中式环境里是在同一个计算机中的,
而在网络环境则可分布在不同的网络结点中。
网络上数据呈多种形态,如不同形式的数据库和不同形式
的文件。总体上分为两类:结构化数据和半结构化数据。
前者如传统的数据库及有严格规范的文件系统,适合于传
统、规范的数据需要;后者如网上的E-MAIL数据、HTML
数据、XML数据等,这类数据在组织、表达和存取上都较
为自由和方便。上述两类数据的相互配合使用把网络应用
推向更为广泛的范围。
接下页
S11
1. 网上的应用结点和数据结点
把网络结点分成应用结点和数据结点两种,这是为规范结点
功能与建立合理的网络数据流通秩序而设置的基本分布结构。
数据结点的功能是存储和管理数据,向网上应用结点提供数
据支撑与服务。网上的数据库服务器、文件服务器和邮件服
务器均属于此类结点。
应用结点的功能是运行应用程序,与用户交互,建立用户界
面,通过接口访问数据结点的数据。客户器、浏览器和应用
服务器属于此类结点。
除非由于考虑信息安全性等特殊原因而对访问者范围作出特
别限制,在一般情况下数据结点均向所有应用结点开放。应
用结点对数据结点的访问是单方向的。
接下页
S12
2. 两种典型的网上数据分布结构
客户机/服务器结构方式(C/S),这种方式自90年代兴起,主要
用于数据库结构上。基本结构如下图:
(数据库)服务器 放置DBMS和存储数据
客户机1
客户机2
客户机3 负责应用逻辑和用户界面
客户机通过网络向服务器提出数据服务请求,服务器作出响应,
把结果或状态信息返回客户机。根据需要,服务器也可以设置
多个,或以链式方式构造。在链式结构的情况下,为对用户作
出响应,服务器可能需要向别的服务器提出请求,如下图。
(数据库)服务器
(数据库)服务器
客户机1 客户机2 客户机3
(数据库)服务器
接下页
S121 浏览器/服务器结构方式(B/S) 这种方式主要面向internet和
Web应用。应用结点以浏览器方式工作,服务器仍以DBMS
和数据库存储为主。与C/S方式不同的是,为了在全球实现
应用结点和数据结点的连接,需要一个专门的接口结点,这
种结点称为web结点或web服务器,可认为是一种数据结点。
这种由浏览器、web服务器和数据库服务器三个部分组成的
结构称为浏览器/服务器结构(B/S)。利用web结点间的通信功
能,浏览器可访问任何数据库服务器。这种访问方式称为浏
览器/服务器方式(B/S)。示意图如下:
数据库服务器A3
数据库服务器A3
Web服务器A2
浏览器A1
internet
Web服务器A2
浏览器A1
目前的三层结构要求中间层增加中间件和共享应用软件。
中间件是位于操作系统和分布应用之间的具有标准协议和
程序接口的通用服务,管理计算资源和网络通信。
S21
第二节 网上异构多数据源的访问
目前,访问异构多数据源常用的接口标准是SQL/CLI,
相关的软件开发工具集是微软发布的ODBC.
1.SQL/CLI的基本原理和基本内容
基本原理:SQL/CLI分为访问接口和访问实现两部分。
访问接口是一组具统一格式的访问数据源的函数,面
向用户而与各个具体的数据源无关。访问实现由驱动
程序管理器和数据源驱动程序集组成。驱动程序管理
器根据用户指定的数据源搜索出相应的驱动程序,从
而实现对数据源的访问。这种访问机制屏蔽了异构多
数据源的差异细节,改善了开发环境和应用移植性。
访数
问据
函源
数的
驱
动
程
序
管
理
搜
索




驱动程序A
数据源A
驱动程序B
数据源B
驱动程序C
数据源C
接下页
S211
基本内容:
SQL/CLI有若干函数,其具体开发工具是微软的ODBC/SDK.
它把61个访问函数划分为以下十类:
第一类:和一个数据源相连接;
第二类:取得有关驱动程序和数据源的信息;
第三类:设置并检索驱动程序属性;
第四类:设置并检索描述字符段;
第五类:准备SQL请求;
第六类:提交请求;
第七类:检索结果及有关结果的信息;
第八类:获取有关数据源系统表的信息(编目函数);
第九类:结束一条语句;
第十类:结束一个连接。
接下页
S22
2. ODBC的基本结构和工作流程
基本结构:
基于SQL/CLI标准的实现工具ODBC/SDK V3.0有四部分:
(1)应用程序
应用程序嵌有的SQL语句在运行时被转换为若干个动态
连接库中的ODBC函数。
(2)驱动程序管理器
负责管理和调度驱动程序。
(3)驱动程序
是相应于某个数据源的ODBC函数执行码,存放于动态
连接库,提供给应用程序调用。一个SQL/CLI接口一般
可连接若干个DBMS,故有若干个驱动程序。
(4)数据源
提供的数据可以是RDBMS,也可以是OODBMS或各类
接下页
文件形式。
S221
工作流程:
(1)调用驱动程序管理器,把目标数据源对相应的驱动程序调入
动态连接库;
(2)根据SQL语句,调用动态连接库中若干个相应的ODBC函数;
(3)执行ODBC函数,把SQL语句以字符串的形式传到数据源处;
(4)数据源执行所收到的SQL语句,把结果返回应用程序。
应
用
程
序
驱
动
程
序
管
理
器
驱动程序
数
据
源
Oracle驱动程序 统一
Sybase驱动程序 接口
Excel驱动程序
在ODBC发展的同时,也出现了基于Java实现的数据库接口
JDBC,其基本功能类似ODBC,但将ODBC的函数调用改
成‘类’的调用。
接下页
S23 3 CORBA
这是一种基于对象的网上分布式互操作计算模型。
(1) CORBA设计思想
CORBA的操作形式包括:
应用对数据(单向性),应用对应用(双向性)。
CORBA模型基本上是基于对象概念的模型。客观世界的基本
独立单位是对象(‘类’),对象间通过消息互相调用,如下图:
对象1
消息
对象2
CORBA的模型OMA是基于上述对象模型的,其组成如下:
实现用户
公共设施CF 具有公用使用
应用对象AO
应用功能
价值的对象,
如打印对象等
消息:把应用对象 对象请求代理ORB
和公共设施的请求
统一转送相关的对
象服务,并把服务
结果回送给对象
对象服务OS
这是为对象服务的对象,可
接下页
以是数据,也可以是应用。
S231 (2) CORBA工作原理
OMA模型的对象分为两种:应用对象称为客户方,服务对象
称为服务方。对象请求代理ORB把客户方的请求转送服务方,
并反向传送服务的结果。下图描述了这个过程:
客户方是应 公共设施1 公共设施2 应用1 应用2 接口定
义语言
用程序或公
调用2
调用1
调用2
调用1
OMG IDL
用设施
对象请求代理ORB
应用包装器 RDB包装器 文件包装器 WWW包装器
服务方是 服务性应用 RDBMS 文件系统 3W浏览服务器
数据源,包括数据库
Internet
RDB
文件存储
及文件等Internet数据。
客户方从接口仓库提取相关接口定义并加入调用参数即构成
完整的调用请求;ORB接受和分析请求,并将其通过包装器
转换接口传递到服务方执行;执行结果由ORB返回客户方。
S31第三节 Web与Web数据库
1. 互联网与Web
Web是world wide web的简称,也称为3W,是互联网用户交换
与共享信息的工具。Web信息的基本单位是具超文本结构的网
页。网页间通过锚(引用点)和超链(指向)实现互相引用。锚和
超链相当于有向图的结点与有向边。当用户浏览web数据时依
靠有向图的帮助可依次访问到一系列分布的网页。当使用搜索
引擎查询资料时,通过关键字索引,得到符合查询条件的网页
的URL(统一资源定位符),并以此为起点作导航式访问。网页
间的跳转对用户是透明的。
Web的实现一般需要三种软件:
(1)网页制作软件,
如微软的FrontPage,MACROMEDIA的DreamWeaver等;
(2)用于构造Web应用的超文本标记语言HTML和
可扩展标记语言XML;
(3)用于浏览web数据的浏览器,
如微软的Internet Explorer和网景的Netscape Navigator。接下页
S32
2. Web与数据库接口
数据库管理有严格的数据模型和数据模式,
而web具有松散结构和自由访问方式,
两者的结合为Web的广泛应用提供数据支撑,
但必须建立它们之间的接口。
下边是两类常见的接口方式:
(1)通过脚本语言访问数据库,
例如在HTML中嵌入脚本(scipt)语言程序和SQL语言程序。
(2)通过JDBC访问数据库,
例如在HTML中嵌入Java小品(applet),数据库服务器下载
Java小品后即可通过JDBC访问数据库并以HTML形式返回。
接下页
S33
3. XML与XML数据库
XML(Extensible markup language)是W3C在1996年设计的超越
HTML能力范围的新语言。下边是比HTML更为优越的特点:
(1)用户可以自由定义标记,方便信息的交互和共享;
(2)数据的内容与表示分开,数据有多种表示方式;
(3)XML文档由于有一个由用户描述的文档类型说明,使人和
机都能读懂,其数据不仅可以象传统数据库那样自由创建、
查询和更新,而且可以适应于复杂和困难的结构。
由于XML与数据库建立联系时具有上述优越性,因此近年出
现了XML数据库,其中最流行的表示方法是native,使用一种
类SQL语言对数据库中带标记数据进行查询和其它操作。
Oracle V9i使用XMLSQL语言操纵XML文档数据。
接下页
S34
4. Web数据库
通常把建立在Web上的数据库称为Web数据库。用户访问数
据库需要用到两个接口:应用端与Web的接口及Web与数据库
的接口。Web数据库的组成采用三层结构。见下图。
数据库服务器
应用服务器
Web服务器
数据库服务器
internet
应用服务器
Web服务器
客户层(浏览器)是客
浏览器
浏览器
户与Web交互的界面
瘦客户机
硬件简单 负责Web与客户的联系,根据浏览器端的要求
成本较低 决定是调用应用服务器的程序并把HTML格式
的查询结果返回浏览器,还是直接返回web页。
接下页
接受web服务器的调用请求,访问分布在互联网上的
数据库服务器,把结果以HTML格式传回web服务器。
S35
5. 动态网页
Web信息的基本单位是具超文本结构的网页。网页分为静态和
动态两种。静态网页直接用HTML书写,Web服务器的工作仅
是把存储的静态网页传给用户浏览器。其缺点是不易更新,也
无法适应用户的各种需要。动态网页则是在用户请求下,通过
运行存储在Web服务器上的脚本程序实时产生,所形成的HTML
文件能满足不同用户的不同需要。更为灵活的结构是另设数据
库服务器向Web服务器提供数据,使网页变化有更大的自由度。
URL
SQL查询
查询结果
客户机 HTML文件 Web
浏览器
服务器
运行脚本程序
产生HTML文件。
脚本及其调用的组件
构成实现业务的中间件
数据库
服务器
执行SQL查询,
返回查询结果。