摘要:文章简要介绍和分析了几种基于WEB的数据库访问技术及其局限性。详细论述了JSP/SERLET和JDBC技术原理在数据库访问中的实现过程和实现机制。论述了基于JAVA技术的BROWSER-SERVER多层体系架构模型的数字图书馆异构平台数据源访问系统解决方案。
关键词:异构平台数据库访问;JSP/SERVLET;JDBC;应用服务器;数字图书馆
A JAVA-BASED ACCESS SOLUTION TO HETEROGENEOUS DATABASEOF DIGITAL LIBRARY
ABSTRACT:This paper first introduced and analysed several web_based database access technologies and their limitations. It focused on the technical elements of SERVLET and JDBC, also, the implementation procedure and mechanism of accessing method to databases through them. At last, the system solution to accessing heterogeneous database in library based browser-server multi-tier model and java technology is given.
KEYWORDS: heterogeneous databases accessing; jsp/servlet; jdbc; digital library
国内数字图书馆的建设自90年代以来,在理论和实践方面均取得了巨大的进展。而今天,伴随着INTERNET/INTRANET和WEB技术迅速壮大与成熟,图书馆资源的数字化、网络化是满足越来越多的图书馆用户渴望通过网络来获取他们所许的知识信息的必然要求。
然而,由于实际存在的数据资源多种多样,图书馆往往保存有大量的诸如全文期刊库、书目数据库、学位论文库、会议记录库等众多的专题数字资源。它们的存储和读取方式不尽相同,有些是以数据库形式存放(SYBASE、ORACLE),有的直接以文件形式保存在计算机硬盘上,另有一些是以文件形式存放在光盘(塔)中,需要在INTERNET浏览器中以各自专有的客户端检索界面进行数据读取和检索,这就需要图书馆用户面对千变万化的检索要求来获取相应的数据资源,这对广大的图书馆用户,尤其是对计算机环境不太熟悉的人来说,是一个不小的困难。因此,建立这些不同平台,不同存储读取方式的数字资源的统一的检索查询界面,从而方便广大图书馆用户对图书馆丰富数字资源的有效查询和充分利用就成为现代图书馆建设中重要而且必要的事情。各种异构数据源的访问技术,尤其是基于JDBC的数据存取技术,由于其继承JAVA技术平台无关和移植性好的特性,正越来越成为实现异构数据源访问的重要选择。
1. 目前几种常见的数据库动态访问技术方案分析
CGI(COMMON GATE INTERFACE)公共网关接口。
这是一种基于WEB服务器的外部程序接口标准。传统的基于WEB的应用中,是通过CGI程序实现动态页面的。用户的请求传给WEB服务器时,由WEB服务器通过HTML页面调用相应的CGI脚本程序来访问后台数据库以响应和处理用户请求,获取数据结果。由于几乎所有的HTTP SERVER均支持CGI,且C、C++、perl、VB、VC等编程语言和工具均可以用于实现CGI程序的编程故其通用性较强。但是其最大的缺陷在于运行效率不高。用户的每一个请求都需要启动一个独立的CGI进程来运行相应的CGI程序。而且由于每一个进程对系统资源消耗比较大,如果采用这种方式,则一旦图书馆用户的并发访问数量大时,将会占用服务器端大量的系统资源。而图书馆业务的特点往往决定了在某个时间段图书馆用户量是很大的,高峰时刻常会有许多用户同时联机请求检索,这巨大的负荷必将造成服务器性能的急剧下降。同时,CGI程序是基于临时请求的非持久性连接。对一个CLIENT端的导致的服务器端CGI进程的运行在将处理请求的结果返回给客户端就立即终止。这种非持久性连接特性使得每一次运行CGI程序都要从头至尾的完整建立一次与数据库的连接。这一进程的巨大资源开销也会导致基于CGI程序的图书馆检索业务整体性能的下降。