服务器

位置:IT落伍者 >> 服务器 >> 浏览文章

DELPHI基础教程:Delphi客户服务器应用开发(二)[1]


发布日期:2020年03月24日
 
DELPHI基础教程:Delphi客户服务器应用开发(二)[1]

本地型数据库接口

本地型数据库是伴随微机的产生而产生的dBASEII作为最早的并仍在使用的系统之一就是典型的本地型数据库

本地型数据库管理系统的数据存放在一个本地硬盘上DBMS接受来自用户或用户程序的命令这些命令通常是系统特有的数据库管理语言命令被转换为简单的磁盘访问命令并交付文件系统来处理然后DBMS接收来自磁盘上的数据并加以处理

在本地型DBMS应用中数据库引擎(DBE)运行于工作站上暗示数据是存放在工作站的局部驱动器上其实在网络中数据还可存放在文件服务器上这里数据库引擎使用典型的文件I/O调用和记录封锁技术来直接读写数据

存放数据的文件位于网络中的某个服务器上时DBMS的行力与单机情况无异 网络操作系统负责对服务器的管理因此对DBMS而言对服务器的使用就象使用局部的驱动器一样

当用户发出命令请求DBMS读取数据库中的数据时该请求首先由工作站(客户)的网络驱动程序处理它负责把请求从网络上传到所需的服务器网络文件系统服务器操作系统从适当的磁盘卷上找到数据并发回等待中的工作站驱动程序最后数据回传给DBMS这样DBMS使用这些数据就象使用本地存储的数据一样网络情况下的接口比单机情况下接口的处理增加了通信开销正常情况下这种额外开销不会影响用户的响应时间除非在网络通信的高峰期间或DBMS要求大数据量传递

对于本地型DBMS其大部分工作都在工作站一侧完成即使数据存储在文件服务器上其对数据的处理仍然要在工作站上进行这种方式的最主要的一个缺点是无论查询需要多么少的数据都需要首先将查询中的所有数据通过网络传到工作站然后由工作站负责选出满足查询条件的数据不难想象当几个用户同时操作数据库时数据库网络的带宽会很快阻塞

在这一方式下工作站不仅要负责所有用户界面管理还要负责所有数据处理的工作在当今的数据库应用中尤其是那些功能强且使用简便的系统用户界面的处理开销是相当大的象Windows这样的图形环境处理上的额处开销会更大为此而升级工作站是很得不偿失的

客户/服务器型数据接口

由于服务器硬件技术逐年迅速地提高数据库在处理模式上在近五年内发生了改变本地型DBMS逐渐让位给客户/服务器型DBMS尤其是在大中型企业中更是这样

正如名字所暗示的客户/服务器是将处理工作分散到工作站和服务器上去处理服务器不仅负责存取数据还要对数据作一定的处理工作这样在数据发送给工作站之前即求得查询结果集从而在大部分情况下可大大减少网络传输的开销因此也减轻了工作处理负担从而只需关心用户界面的处理工作即可

服务器处理数据带来的另一个好处是当服务器中数据库引擎使用了缓沖机制时多个工作站可以从中受益例如一用户查询了某数据当另一用户要查询同样的数据时即可从服务器缓沖中直接得到结果从而免去很多开销

客户/服务器系统的成功与否在很大程度上依赖于服务器硬件质量和容量用户越多服务器的处理负担越重相应服务器硬件性能也要跟得上否则就会导致响应时间比本地型数据库还要差的结果

处理工作而工作站负责用户界面处理工作

客户和服务器间的数据库接口要比本地型系统复杂得多它有几个转换级负责命令和结果集在工作站和服务器间的传送给出了客户/服务器数据库接口的详细情况

客户/服务器的前端应用程序实际上不直接与数据库引擎打交道每个客户服务器提供一个数据库通信接口该数据库通信接口运行于前端这些接口也称为数据库通信API等数据库通信接口的工作流程如下

① 前端应用程序发送命令给数据库通信接口

② 接口通过网络把命令传给数据库引擎

③ 数据库引擎在服务时上做查询或更新操作之类的工作通过网络文件系统访问物理数据

④ 数据库引擎将结果返送给工作站上的通信接口

⑤ 前端从接口上接到结果后显示或按用户要求做其它处理

客户/服务器型比本地型DBMS更接近ODBC的原理因为由前端向数据库的命令发送和由数据库向前端结果的返回都是透明的并不需知道具体传送方式如何各系统存在差别地方是客户/服务器系统在管理工作站和服务器间通信的方式不同彼此会不兼容此外对于本地型DBMS缺乏读取不同类型数据源的能力的问题这些问题在IDAPI中得到了有效解决

Borland Delphi 的解决方案

IDAPI是通过BDE(Borland Database Engine)和SQL Links来解决本地型数据库接口和客户/服务器型数据库接口的兼容问题的见图

Delphi 的数据库特性使你能很容易构造数据库应用程序这些应用程序能访问Visual dBASEParadoxLocal InterBase Server for Windows等本地数据库和OracleSybaseInformixSQL Server和Remote InterBase Server等客户/服务器数据库

BDE是Borland公司支持Delphi Client/Server SuiteParadox for WindowsVisual dBASE for Windows等产品的核心数据库引擎和互连软件BDE 提供了丰富和强壮的特性支持客户/服务器应用的开发

提供支持多种数据库如dBASEParadoxTextInterBaseOracleSybase和Microsoft SQL Server以及任何ODBC数据源的统一和一致的应用程序编程接口(API)开发者能不用修改数据库应用就能访问不同的数据库站点和数据库格式

● BDE是用于开发客户/服务器数据库应用的理想工具数据库应用程序既可访问本地数据库又可访问远程数据库

● 允许数据库用直接和灵活地访问数据源

● BDE对于Paradox和dBASE文件格式来是高性能的数据库引擎

● 支持使用ISAM(Indextd Sequential Access Method)SQL和QBE访问数据

● BDE是数据集成化引擎提高跨不同数据库的共享服务支持不同数据库格式的相互转化如dBASE和Oracle表从InterBase到Paradox拷贝数据甚至建立InterBase 和Oracle表之间的一对多关系

● BDE查询引擎为SQLQBE和面向集合访问提供一致性的查询语言支持用户定义和访问基本SQL的服务器和基于文件数据库的能力

● BDE支持全位功能如多线程抢占式多进程长文件名和UNC用户可在后台执行多个查询多个数据库应用可访问同一个数据库文件

BDE的体系结构是基于数据库驱动程序的它提供了各种共享服务

● 缓沖区管理(Buffer Manager)

● 排序引擎

● OS服务

● 内存管理

● BLOB快速存取

● SQL查询引擎

● SQL产生器

● 数据库重构

● 表的批处理

● 数据转换服务

● 连接服务

● 内存数据库服务

● SQL驱动程序服务

● 系统管理

● 语言管理

[] [] [] []

               

上一篇:DELPHI基础教程:Delphi客户服务器应用开发(一)[1]

下一篇:DELPHI基础教程:Delphi客户服务器应用开发(二)[4]