中间件技术在数据库中的运用

时间:2022-10-30 09:23:08

中间件技术在数据库中的运用

摘要:随着企业信息愈来愈庞大,网络环境的日益复杂,越来越多的客户机/服务器引入了中间件技术,中间件通常是由一个API定义的软件层,负责处理不兼容的操作系统或文件结构,调节客户机/服务器或服务器与服务器之间的通信。

关键词:中间件;数据库中间件;客户机/服务器

中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)03-10645-01

1 引言

随着企业信息量的不断扩大和网络环境的日益复杂,越来越多的客户机/服务器引入了中间件技术,从小的局域网到大的分布式系统都用到了某种形式的中间件技术,不管是一个客户向服务器请求或是一个应用程序从数据库下载数据,某种形式的中间件都会在用户不可见的情况下存在并起作用。

2 中间件的基本概念及其分类

2.1 中间件的概念

中间件通常是由一个API定义的软件层,它负责处理不兼容的操作系统或文件结构,调节客户机/服务器或服务器与服务器之间的通信,通常工作在网络层或传输层之上并且和下层的通信服务相互独立。

其工作机制为:客户端的应用程序需要从网络中的某个地方获取一定的数据或服务,这些数据或服务可能处于一个运行着不同操作系统和特定查询语言数据库的服务器中。客户机/服务器应用程序负责寻找数据的部分只需访问一个中间件系统,由中间件完成到网络中找到数据或服务,进而传输客户请求,重组答复信息,最后将结果送回应用程序的任务。

2.2 中间件的分类

数据库中间件(DM,Database Middleware)

远程调用中间件(RPC,Remote Procedure Call)

面向消息中间件(MOM,Message Oriented Middleware)

对象请求(ORB Object Request Brobers)

事务处理管理(TPM,Transaction Processing Monitor)

专用中间件(PM,Proprietary Middleware)

DM通常是数据库供应商的产品,它只提供数据库的连接,其应用比较固定,大多数的客户机/服务器系统都有一个客户程序存取服务器上的数据库,采用中间件是非常理想的。

RPC使客户机/服务器的计算更进一步,应用程序的开发者就像使用一个函数调用本地数据库一样,使用远程过程调用去访问一个远端服务器上的数据,同时,一个RPC也可以将程序控制传递到远端服务器上。

MOM比RPC更进一步,它基于消息传递和消息队列,可以提供一个更可靠的连接,避免了因网络或服务器的错误而导致的系统瘫痪,这种技术可以在客户机和服务器之间提供同步或异步连接,并且消息能够在任意时刻即时传送或存储转发,和RPC相比,MOM适合需要多个数据和进程可靠传送的分布式环境。

ORB被视为从面向对象技术到分布式技术的推动力量,它可以包含更复杂的分布式请求或服务信息,并且可以用于非结构或非关系的数据库中。

TPM主要是对需要快速的、可靠的多用户给出复杂的分布式环境控制。

PM是许多客户机/服务器开发工具和大型客户机/服务器应用都有其专用的中间件。

本文主要对数据库中间件做详细的阐述。

数据库中间件是所有中间件中应用最广和发展前景最好的一种中间件,它作为前端客户机和后端数据库之间的一个应用层,起到一个桥梁的作用,负责接收客户端的数据请求,做一些简单的处理后,把请求再传递给相应的后端数据库,进行最后的数据处理,然后将结果由数据库中间件返回给客户端。数据库中间件不单进行与数据库连接等有关数据库的处理,也可以将传统C/S环境下的客户端进行的处理移植到中间层上,精简客户端,减轻客户机的负担,这样做可以增强系统的并行处理或性能,改善安全性能,减低对客户端的系统要求,也为NC(网络终端)等的实现准备了技术基础。

3 常用的数据库中间件种类

3.1 通用网关接口CGI

CGI是Web服务器与CGI应用程序之间进行信息传递的一种标准,是目前访问数据库最常用的方法之一,它移植性好。几乎所有的web服务器都支持CGI标准,CGI程序驻留在Web服务器上,当Web服务器受到客户浏览器的请求后,执行相应的CGI程序,并通过Web serve将结果返回给浏览器。CGI有一个致命的弱点,那就是CGI程序不能被多个客户请求共享。每当接到一个请求后,即使有一个该CGI程序的实例在运行,也必须重新启动一个相同的实例。即创建一个并发进程,并发请求越多,创建的并发

进程越多,占用的内存空间越大,这样就限制了应用程序自身所用的内存资源,而且每个请求创建一个进程一也会消耗很多时间,在需要多个数据库连接的多用户应用中,采用CGI来连接数据库势必会随着用户的增加而延长用户连接数据库的等待时间,使系统的性能降低,并可导致系统最终的崩溃。

3.2 Web API

Web API同CGI一样也是一种中间件,它是针对CGI程序的诸多不足而提出的,为了提高Web server与数据库服务器的通信效率和性能。Netscape和Microsoft推出了运行于各自服务器软件的NSAPI和ISAPI。与CGI作为独立运行机制不同,这些API都是以DLL形式提供的,它们和Web serve软件处少相同地址空间,Web serve进程可以直接调用这些web API。所以,使用Web API的速度明显快于CGI程序,功能也比较强大,但它也有缺点,如NSAPI和ISAPI互不兼容,只能运行在特定的web服务器和操作系统之上,互相不能移植。

3.3 DJBC技术

针对CGI和web API的上述缺点,人们借鉴了ODBC成功的经验,开发出了Java语言的数据库访问接口――DJBC。它由一组用Java语言写成的类和接口组成。与DJBC类似,也是通过数据库驱动程序管理器调用具体数据库驱动程序来向数据库SQL语句,支持对多种数据库的访问。由于Java语言与平台无关,以利用DJBC API写成的访问数据库的程序具有很好的通用性,移植方便,但由于Java的性能问题,DJBC访问数据库的速度很慢,对系统硬件的要求也很高。

4 数据库中间件方法的优缺点

移植性好中间件封装了各种与平台有关的细节,使更换操作系统和通信协议等底层的配置无需改变应用程序代码。

集成方便中间件可以非常容易的集成到应用开发环境中,无需大的代码改动。

易于扩充中间件的局部改进和整体升级只要保持对外接口不变就不会影响到系统的其他部分,在功能上对应用程序实现了透明性。

使用简单中间件对各种数据源使用统一的访问方法,使用户不必关心数据库选择等琐碎的操作,降低了用户参与的程度。

中间件方法比使用传统的数据库访问方法具有独有的好处,任何一个DBMS都有连接数据库用户数的限制,不可能无限制的接收用户连接。按传统方式连接数据库,需要先建立数据连接,然后通过这个用户连接进行数据库操作。这时就会受到数据库用户数的限制。当与DBMS连接的用户数量达到这个上限时,新的用户连接请求就会失败,使用数据库中间件技术访问数据库的思想是把数据库连接的操作从客户端向后移到中间层,这样多个用户就可以共享一个数据库连接,从而增加了用户的访问数量。但这样做的缺点是数据库操作比较集中,统一由数据库中间件负责数据间的同步及点到点的通信,对数据库中间件的可靠性要求比较高,一旦中间件出现问题,所有的数据连接都将断掉。从而导致系统的瘫痪。这种方法尤其不适合高性能的应用处理。因为它需要大量的数据通信,对数据库中间件的要求将更加严格。

总之,优秀的中间件系统在灵活性、扩展性、可靠性、安全性和可管理程度等方面表现突出,能够将应用系统有机的结合在一起,形成能稳定、迅速解决各种应用的客户/服务器环境,这一也是使用中间件的原则。

5 结束语

随着计算机应用及Internet的飞速发展和普及,企业网络应用规模的日益庞大,结构的日趋复杂化,多样化,中间件技术必将会得到更加快速的发展。

参考文献:

[1]刘易斯.数据库子事物处理[M].北京:高等教育出版,2002.

[2]王鹏.数据库技术及其应用[M].北京:人民邮电出版社,2000.

[3]王辉,施小英.中间件服务及其集成框架[J].计算机工程与应用,1998,19(9):25-27.

本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。

上一篇:数据库应用软件开发框架的研究 下一篇:浅谈计算机在医院中的应用