数据访问接口体系及数据对象模型探讨--[2]

数据访问接口体系及数据对象模型探讨 (Beat 1.0)

**
[email protected]
[email protected] **

个人文集:
http://www.csdn.net/develop/author/netauthor/RedStar81/





** 一、数据访问接口体系探讨 ** ** **

** 1.Open Client/Open Server **

C/S 结构的中间件具体来说是配置在客户端和服务器端的软件包 ( 注 2::).Sybase Open Client/Open Server 使分布式异构环境下的互操作成为可能 . 这里我们简述 Sybase C/S 中间件的工作原理 .Open Client 是客户端的 API, 它使客户端应用程序和第三方的工具软件把 SQL 语句和远程过程调用 (RPC) 通过网络发送给 Sybase SQL Server, 或经由 Open Server 应用 ( 以利用 Open Server 开发为标志的应用 ) 发送到其它的数据源 ( 数据库系统或 Objects Managents 或普通的数据存储体 ) 或其它类型的服务器 . 从 Open Client API 调用到信道传输有两种很重要的行为发生 ,TDS( 同于 Telnet 、 Ftp 等属于应用层协议 ) 格式化程序负责将上层的以 API 调用为标志的 SQL 或 RPC 等转化为 TDS 消息包而支持多种传输规程的网络库把 TDS 包按对应客户端与服务器端通信协议的封装格式化 . 自然在客户端 , 信道传输行为发生之前 , 同于其它的网络应用还有很多的行为 ( 具体参看有关协议模型的资料 ).Open Server 是服务器端的 API, 它允许客户机以 SQL 语句或 RPC 形式向一个非 Sql Server 数据源或其它类型的服务器发送请求 . 而后使该数据源或特殊服务器以标准的 TDS 格式向客户端送回状态和数据 .Open Server 可构成较为理想的 C/S 结构环境 , 即所有的客户端能按统一的方式与所有的服务器交互 , 而所有的服务器亦能按统一的方式接受客户端的请求 , 并以标准的格式向客户端返回结果 . 作为扩展 , 我们这里再介绍点关于 Open Client/Open Server 的知识 , 以便读者在下面详细探讨的 ODBC 体系分析中看到一些历史的技术因素 . 事实上 , 正如上面所述 ,Open Client/Open Server 都是 API, 到 Sybase System 11 为止 , 成熟的 API 包含客户端的 DB-Library 、 Client-Library 和服务器端的 Server-Library 还有公共的 CS-Library. 重要的特性对比列举如下

**_ 1. _ ** Client-Library 优于 较老的 DB-Library 而且 Client-Library 是与 SQL 无关的 .

**_ 2. _ ** DB-Library 不支持服务器端的游标 .Client-Library 功能全面 , 支持所有类型的游标 , 包括敏感和不敏感游标

**_ 3. _ ** Open Server 是服务器端的 API, 用来开发服务器端应用 . 提供一致的数据访问框架能力 .Open Server 应用既可与 Sybase 通信又可与非 Sybase 通信而 Sybase SQL Server 连接其它的数据源需要利用 Open Server API 开发 Sybase Open GetWay.

这里稍微提一下 , 通过对 Open Client/Open Server 实现的功能、当时数据库系统服务特性、 ODBC 等较晚出现的接口体系、现时数据库系统服务特性的综合分析对比 , 你会发

现 Open Client 应用 (Open Client Application, 包含 Sybase Open GetWay 、 Normal DataSource Application 、 Mail Open Client 及其它的一些体现统一的数据访问框架的应用 ) 在后来的数据接口体系中亦可实现同样功能但是实现的方式、功能的实现体及其分布大不相同 . 虽然到现时还有一些影子 .

** 2.ODBC(Open DataBase Connectivity : ** ** 开放数据库连接 ** ** ) **

ODBC 是 Microsoft Windows Open Standards Architecture (WOSA,Windows 开放服务体系 ) 的重要组成部分 , 由 Microsoft 公司于 1991 年底发布 , 短短几年已成为事实上的工业标准 . 它建立了一组规范 , 提供了一套分层 ( 随着层的扩展 , 数据服务能力不断的增强 ) 的标准 API( 支持 SQL), 它解决了嵌入式 SQL 接口的非规范核心 , 数据应用系统用它来访问任何提供了 ODBC 驱动程序 ( 一组 DLL) 的数据库 , 结束了过去针对不同的数据库系统开发须掌握相应数据访问 API 的时代 . 事实上 , 可将 ODBC 体系看作统一的数据访问界面 , 而使这种统一的数据访问成为可能的就是各数据库产品厂商提供的相应的 ODBC Provider(ODBC 提供者即 ODBC 驱动 ), 但 ODBC 一般只能用于关系数据库 , 很难访问对象数据库或其它非关系数据库或数据系统 . 下面简述 ODBC 体系的组成和工作原理 . ODBC 规范阐释 ,ODBC 体系有四个组成部分 :Application 、 Driver Manager 、 Driver 、 Data Source.( 如下图 ).

odbc gig

结合现实的高层开发工作流程如下:

**_ 1. _ ** 数据应用系统首先获得在 ODBC 数据源管理器中建立的 DSN( 存储了与数据提供程序连接的详细信息包含数据库位置、数据库类型及相应的 ODBC 驱动程序等 ), 然后 Driver Manager 依赖一种叫做数据库独立的交流 (Database Indepedent Communications Technology) 的技术与数据源建立联系 ( 其中涉及客户端和服务器端多种 Agent 对象的问题 , 详情不叙 , 可参见下图 ).

odbc2 gif

**_ 2. _ ** Driver Mangaer 调用特定 ODBC 驱动程序将 ODBC 标准 API 转化为适用于具体数据库系统的函数调用 ( 数据库特征不同之处也在这里翻译如 SQL 语法差异等 ), 然后经由客户端的 Request Agent 发送到数据源 .

**_ 3. _ ** 数据源 Database Agent 处理操作 , 将结果返回到客户端的 Request Agent, 再向上经 Driver( 这里会有翻译和标准化错误码的行为 ) <SPAN

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus