基于WEB的数据库访问技术

2014-10-21 12:55李晓杰
电子世界 2014年23期
关键词:客户端应用程序服务器

李晓杰

【摘要】基于WEB的数据库访问技术,在各具体业务应用与底层用户数据库间建立一种可扩展、可移植,具有较强伸缩性的统一的对外接口,以有效地支撑业务网络应用。

【关键词】WEB;数据库访问技术

1.引言

在三层C/S中应用程序访问数据库服务器都需要一定的数据访问技术的支持。从总体上数据访问技术可以分为数据访问接口和数据访问对象两部分 ,两者之间的关系如图1所示。

图1 数据访问技术关系图

数据访问接口:提供一组标准化接口(数据库引擎),允许应用程序访问不同类型的数据库管理系统。如ODBC,JDBC,OLE DB等;数据访问对象:提供用于通过数据库访问接口访问数据库管理系统的通用标准对象,不受应用程序开发语言的限制,实现对数据库的连接、增加、删除和查询等操作。如常见的有DAO,RDO,ADO,ADO.NET等对象模型。在数据访问技术研究初期,不同的数据库厂商都会提供不同的数据访问接口,开发人员需要针对不同的數据库管理系统(DBMS)学习不同的专用数据库访问技术,比如 DB2系统的 CLI Library、Oracle 的 OCI Library等。这对开发人员造成了极大的困惑,使得数据库应用程序的开发很困难,影响开发进度;而且所开发的应用程序局限性很大,严重依赖于数据库平台,不利于应用程序的跨数据库平台移植。

2.通用基于WEB数据库访问技术

信息化时代,网络和信息管理高速发展,数据库技术日臻成熟,功能日趋完善,而网络和数据库之间的关联与应用日益紧密,用户对信息的要求随之也要达到高标准的实时性与交互性,因此WEB服务器与数据库技术的结合显得格外重要。数据库访问中间件技术出现一改传统两层结构,采取C/S三层结构,充分发挥了WEB技术和数据库技术二者结合的综合优势与潜力,提高了性能、访问效率和安全性。常见的基于WEB的数据库访问技术分为以下几种:

2.1 CGI技术

CGI即通用网关接口,是Web服务器与应用程序交互传递信息的一种标准接口。CGI的工作原理是客户端浏览器通过URL向Web服务器提出请求,服务器的守护进程将此请求传给相应CGI程序进行处理,然后CGI将处理结果返回客户端浏览器。CGI优点:通用性强,基本支持所有HTTP服务器,交互能力强,跨平台性能极佳,操作简单灵活。CGI缺点:应用程序通常独立执行,客户共享性差,内存资源占用率高,执行速度相对慢,运行效率偏低。另外CGI不具备事务处理的功能特点,使得其应用受到一定限制。

2.2 WebAPI

API是应用编程接口,它是数据库程序的关键组件,每种数据库一般都带有动态链接库,同时也配置专属调用接口。针对CGI缺点,Web服务器供应商们开发了各自专用Web服务器的API应用编程接口,目前比较流行的是微软开发的ISAPI和Netscape开发的NSAPI。Netscape同时提供专门设计的Livewire,它是全面开发方案,研发人员可开发管理WWW网点和WWW界面,可使用SQL语句或ODBC来直接访问相关数据库;Microsoft的ISAPI以DLL形式提供,是动态连接库,通过ODBC访问相关数据库,主要以IDC文件形式发送。WebAPI工作原理是通过WEB交互式主页获取用户请求,然后提交服务器后端处理。优点:运行效率较高,资源可高效分配使用。缺点:开发难度大,可移植性差,应用程序运行环境严格,缺乏通用性。

2.3 ODBC

ODBC即开放数据库互连,是微软创建的一个有关数据库的通用标准接口。ODBC的工作原理是Web服务器通过ODBC向数据库发出SQL请求,属于标准SQL查询,数据管理系统在执行SQL查询后将结果传回Web服务器。ODBC组成部件包括 Application、Administrator、Driver Manager、ODBC API、ODBC驱动程序DLL、数据源。优点:能用统一方式处理所有类型数据库。因生成的程序相对独立,故开发人员无需了解产品细节即可编写程序,提供极大的方便性。缺点:访问方式较慢,使用范围受限制。

2.4 OLE_DB

OLE_DB全称对象连接和嵌入数据库,是微软开发的应用程序接口,OLE DB基于ODBC之上建立, 访问对象范围更加广泛,包括关系数据库和非关系数据库。OLE在实现桌 面应用程 序集成的同时,还定义实现了一种连接机制,允许应用程序作 为软件对象彼此进行连接。

OLE DB的数据库操作模型由客户与服务器组成,客户指应用程序,通过OLE DB接口数据源进行访问与控制;服务器是提供OLE DB接口的软件组件,按照提供的内容可分成服务器提供程序和数据提供程序。

OLE DB包括一组COM接口,分别对应各种类型的数据库管理系统。构成OLE DB的每一个组件是一个COM对象,每个组件分别输出一系列接口。OLE DB的组件组成有:枚举器、数据源对象、会话、事务对象、命令对象、行集、错误对象。OLE DB优点是 访问速度高,效率高。

2.5 JDBC

JDBC是Java数据库连接,Java提供的一种标准应用程序编程接口,JDBC定义了Java与数据库之间的一系列类和接口,均由Java语言编写。数据库开发人员可通过它用纯Java语言编写完整的应用程序,建立与数据库的链接,并且将执行处理的SQL语句非常方便地传送至各种数据库。JDBC写的程序能够自动将SQL语句传送给相应的数据库管理系统,不必为每种数据库的平台编写不同的程序。

JDBC对数据库访问的过程是:请求与数据库建立连接,向数据库发送SQL请求,为结果集定义存储应用和数据类型,查询结果,处理错误,控制传输,提交及关闭连接。简单点说就是用户通过WEB发出请求,通过JDBC接口连接数据库处理请求,然后再将结果返回用户浏览器。JDBC 技术优势:可操作性强,可维护性强,使用效率高,安全性及事务处理能力高。

3.专用网络数据库访问技术

一般来说,每种数据库都具备专用web数据库访问技术,因其专用性故效率颇高。在数据库行业里,Oracle 提供了行业领先的业务流程管理(BPM)和业务流程自动化(BPA) 产品,有助企业提高效率与可视性,积极推动实现卓越的客户服务与运营,并促进实现新一代的面向服务的SOA体系结构的价值。因Oracle 的极强优越性,现在通信行业的业务支撑系统都使用Oracle数据库作为用户数据库。

3.1 SQL*Net概述

ORACLE数据库具有极强网络功能,它支持多种网络协议,如TCP/IP、X.25、SPX/IPX等,支持异种数据库互联、异种网络协议互联。SQL*Net是在Oracle特有的TNS技术上发展起来的网络中间件产品软件。ORACLE支持流行的C/S体系结构方式,使得应用与数据库核心分布处理,极大地提高了资源的利用率和处理效率。Ct/S的Server端安放ORACLE Server;Client端安放用户界面程序或ORACLE 的Client端产品,如SQL*Plus;SQL*Net是ORACLE的网络软件,通过SQL*Net可以实现Client与Server的连接,SQL*Net是建立在某一网络协议之上的网络中间件产品。

3.2 SQL*Net网络功能

SQL*Net提供的网络功能包括网络透明性、自动字符集转换、异种机网络、协议独立性、位置透明。网络透明性指在一个本地数据库基础上开发的应用,可以不必修改就分布到网络上去运行;自动字符集转换指两个通讯节点之间不同的字符集和国际语言支持数据描述可以通SQL*Net来管理;异种机网络指通过多协议转换来实现多种网络协议之间的互联;协议独立性是指在任何一台计算机上编制的应用,都可以不必修改就分布到任何协议的网络上去运行;位置透明是指通过位置透明的策略,可以使網络中的数据,如同放在单一本地数据库中一样使用,若数据分布发生变化,应用程序不必作任何修改。

3.3 SQL*Net的C/S结构系统配置

在客户/服务器结构下,通信的两端不论是客户端或服务器端都需配置SQL*Net中介软件,服务器端在数据库主机上还需启动一个侦听程序(listener),以便能够不断侦听所有来自网络各地的客户端联机请求。侦听程序处理客户端联机请求的做法有以下类型:

(1)专用服务器:当侦听程序受到一个客户端联机请求时,侦听程序新启动一个专用服务器程序负责服务用户程序的各项要求,并将执行结果传回给用户程序。整个通信过程,专用服务器程序与用户程序通过SQL*Net来对话。

(2)多线程服务器:当侦听程序受到一个客户端联机请求时,侦听程序将用户程序连接到一个已预先启动的共享调度程序(Shared Dispatcher)上,此共享调度程序负责接受用户程序的各项要求,并将之放入要求队列,共享服务器从队列中取出数据加以执行,然后将执行结果放至响应队列中,同享调度程序再自响应队列中取得数据后传回给客户端,整个通信过程,专用服务器程序与用户程序通过 SQL*Net来对话。

参考文献

[1]刘一,李玲.跨数据库中间件在ERP中的应用[J].RFID 世界网,2011(01).

[2]Oracle Company.Oracle 10g数据库应用教程[J].移动通信,2009(10).

[3]郭亚,刘晓晴.基于WEB技术的自助服务开发平台[J].中国金融电脑,2003(12).

猜你喜欢
客户端应用程序服务器
删除Win10中自带的应用程序
谷歌禁止加密货币应用程序
2018年全球服务器市场将保持温和增长
虚拟专用网络访问保护机制研究
新闻客户端差异化发展策略
三星电子将开设应用程序下载商店
微软软件商店开始接受应用程序
浅析IEEE 802.1x及其客户端软件
用独立服务器的站长注意了
定位中高端 惠普8路服务器重装上阵