11.2中间件技术 11.2.1概述 对于那些相对独立的软件供应商而言,经常要为每 个DBMS编写一个版本的应用程序,或者为每个要访问 的DBMS编写针对DBMS的代码。这就意味着,大量的资源 都耗在了编写和维护DB的访问上,更不用说应用程序了。 此时应用程序的评价标准不再是质量,而是它能否在给 定的DBMS中访问数据库。 这就需要开放的数据库连接,就是人们需要用一种 新的方法来访问不同的数据库。为此,在C/S结构中必须 广泛使用中间件技术,以隐藏各种复杂性,屏蔽各种系 统之间的差异。ODBC、 OLEDB和JDBC就是这种优秀的中间 件技术。 2021/2/20 Information College. ChangJun
6 2021/2/20 Information College · ChangJun 11.2 中间件技术 11.2.1 概述 对于那些相对独立的软件供应商而言,经常要为每 一个DBMS编写一个版本的应用程序,或者为每个要访问 的DBMS编写针对DBMS的代码。这就意味着,大量的资源 都耗在了编写和维护DB的访问上,更不用说应用程序了。 此时应用程序的评价标准不再是质量,而是它能否在给 定的DBMS中访问数据库。 这就需要开放的数据库连接,就是人们需要用一种 新的方法来访问不同的数据库。为此,在C/S结构中必须 广泛使用中间件技术,以隐藏各种复杂性,屏蔽各种系 统之间的差异。ODBC、OLEDB和JDBC就是这种优秀的中间 件技术
中间件( middleware)是分布式环境中保证操作系 统、通信协议、数据库等之间进行对话、互操作的软件 系统。 中间件的作用是保证网络中各部件(软件和硬件) 之间透明地连接,即隐藏网络部件的异构性,尤其保证 不同网络、不同DBMS和某些访问语言的透明性,即下面 三个透明性 、网络透明性:能支持所有类型的网络 2、服务器透明性:不管服务器上的DBMS是何种型号 ( ORACLE、 SYBASE、DB2等),一个好的中间件都能通过 标准的SQL语言与不同DBMS上的SQL语言连接起来。 3、语言透明性:客户机可用任何开发语言进行发送请 求和接受回答,被调用的功能应该像语言那样也是独立 的 2021/2/20 Information College. ChangJun
7 2021/2/20 Information College · ChangJun 中间件(middleware)是分布式环境中保证操作系 统、通信协议、数据库等之间进行对话、互操作的软件 系统。 中间件的作用是保证网络中各部件(软件和硬件) 之间透明地连接,即隐藏网络部件的异构性,尤其保证 不同网络、不同DBMS和某些访问语言的透明性,即下面 三个透明性。 1、网络透明性:能支持所有类型的网络 。 2、服务器透明性:不管服务器上的DBMS是何种型号 (ORACLE、SYBASE、DB2等),一个好的中间件都能通过 标准的SQL语言与不同DBMS上的SQL语言连接起来。 3、语言透明性:客户机可用任何开发语言进行发送请 求和接受回答,被调用的功能应该像语言那样也是独立 的
11.2.10DBC的体系结构 1989年, Microsoft、 Lotus、 Sybase和DEC四个公司 联合提出一个称为SQL互连( SQL Connectivity)的访问 接口规范,定义了一批访问数据库的函数。 1990年,数据库厂商集团 SAG SQL互连作为其调用级 接口(CLI)规范基础。 1992年, Microsof公司发布了一个扩充CL的软件开 发工具集,称开放数据库互连(ODBC),得到许多数据库 和软件开发商的支持。 1995年,IS0正式批准SQL/CLI为SQL-92的一个附件, 称SQL-92/CL。 1999年,SQL/CLI成为SQL:1999标准的一部分,且 为多数RDBS产品所支持。 2021/2/20 Information College. ChangJun
8 2021/2/20 Information College · ChangJun 11.2.1 ODBC的体系结构 1989年,Microsoft、Lotus、Sybase和DEC四个公司 联合提出一个称为SQL互连(SQL Connectivity)的访问 接口规范,定义了一批访问数据库的函数。 1990年,数据库厂商集团SAG SQL互连作为其调用级 接口(CLI)规范基础。 1992年,Microsoft公司发布了一个扩充CLI的软件开 发工具集,称开放数据库互连(ODBC),得到许多数据库 和软件开发商的支持。 1995年,ISO正式批准SQL/CLI为SQL-92的一个附件, 称SQL-92/CLI。 1999年, SQL/CLI成为SQL:1999标准的一部分,且 为多数RDBMS产品所支持
采用API的应用编程 应用程序 应用程序 应用程序 公共接口API 网络软件 Foxpro SQL Server Sybase Oracle DB 2 2021/2/20 Information College. ChangJun
9 2021/2/20 Information College · ChangJun 采用API的应用编程
ODBC的分层体系结构 ODBC数据库应用程序 驱动程序管理器 SQL Server Oracle Foxpro Syba DB2 驱动程序 驱动程序 驱动程序 驱动程序 驱动程序 SOLServer Oracle Foxpro Sybase 数据源 数据源 数据源 数据源 数据源 DB DB DB DB DB 2021/2/20 Information College. ChangJun
10 2021/2/20 Information College · ChangJun ODBC数据库应用程序 SQL Server 驱动程序 Oracle 驱动程序 DB2 驱动程序 Sybase 驱动程序 Foxpro 驱动程序 驱动程序管理器 SQL Server 数据源 Oracle 数据源 Foxpro 数据源 Sybase 数据源 DB2 数据源 DB DB DB DB DB ODBC的分层体系结构