internet与数据库
2024-07-21 02:07:42
供稿:网友
internet与数据库
http://tech.sina.com.cn 2000/04/14 软件世界 中国科学院软件研究所李春晓
时代变了,问候语也变了。朋友见面,一句“吃了吗?”,别
人准以为你刚从历史中钻出来,改问“上网了吗?”说不定一聊就刹不住车。
而“internet”、“数据库”,恐怕早已是计算机业内人士及广大爱好者们津津乐道的词汇了,足见int ernet和数据库发展的如火如荼、势不可挡。
走进internet
弹指一挥间,internet发展至今,正当而立之年的它,像一个庞大的蜘蛛网覆盖着我们的星球。
究其本源,internet的名字来源于美国国防部的一个名为“the internetting proj ect”网络项目,即arpanet。后来,由于美国国家基金会nsf(national science foun dation)的巨资投入,使得nsfnet在80年代后期成为internet的主干网。到了90年代,ans公司 (advanced network& service inc.)组建了新的高速主干网ansnet,并迅速与ns fnet的全部主干网点连通,从而成为目前的internet主干网。随即internet呈燎原之势,遍及全球。
当我们用一台步入internet时,我们已在面对整个世界。
那么,internet都能干些什么?
internet的服务
细说internet的服务,数以万计,但归结起来大致可以分为三类:基本服务、信息服务和新闻公告类服务,见表1。
在internet的各类服务中,发展最快、最深入人心的当数www(world wide web)。它使用的技术主要是超文本标志语言html(hyper text markup language)和全球资源定位器u rl(universal resource locator),其精彩之处在于,只需手握鼠标轻轻一点便能“漫游” 全球,漫游过程恰与人脑的发散思维合拍。
www呼唤数据库
www网上最基本的传输单位是页面,一个预先写好的页面(静态页面)总是被保存在www服务器的文件系统中。
起初,www只支持较简单的文档,随着应用需求的不断提高和技术的发展,它不仅可以支持文字、图形、图像、声音等多媒体信息,还可以支持一些较为复杂的对象,比如电子表格对象。web页面中的精华是被称为“超链接”的特殊正文,用户使用浏览器从www服务器上读取页面,而超链接能够使用户在不同的页面之间自由转移,即所谓的“漫游”。
一个www的信息提供者在信息量及变动较少的情况下,可以不辞辛苦,一个一个写页面,然后存放在www服务器中守株待兔。一旦数据量大到一定程度,显然只靠静态页面就捉襟见肘了。让页面动起来的想法由此应运而生,这时只好请数据库粉墨登场,在“动态页面”中扮演主角。
数据库的登场,不仅解决了动态性,同时也让那些有实时性、交互性要求的用户满意而归。
走进数据库
相对于internet来说,“数据库”的名词在50年代就已出现,可谓老资格了。为了管理复杂而庞大的数据,人们研究了各种组织、使用数据的方法,于是乎就有了各种数据库的结构模型,总括起来,不外乎层次型、网络型、关系型和面向对象型。但四个兄弟中,还是关系型算老大,应用得最多。看来搞好关系并不是人的专利。
较大型的数据库,比如oracle、ibm、informix、sybase等,都可以有效地组织和管理大批量数据,并且进行快速的查询。这正是web数据库应用的基础。
web与数据库的结合
将web与数据库相结合,开发动态的web数据库应用,已成为一门新技术。要了解数据库所处的位置,通过动静页面处理上的比较就不言自明了。
除了通用网关接口(cgi)之外,还可以用应用程序编程接口(api)实现与数据库的交互。cgi提供了一种与数据库连接的简单方法,但它的局限性也是明显的,对于每次请求都要重新启动cgi程序,既影响速度又浪费资源,导致性能降低和等待时间增加。与cgi相比,api应用程序与web服务器结合更紧密,占用系统的资源也要少得多,运行效率大大提高。但api也不全是优点,因为开发api应用程序要比开发cgi应用程序复杂得多,而且各种api之间兼容性较差。
除了在web服务器端采用上述方法之外,还可以通过web浏览器把应用下载到客户端运行,在客户端直接访问数据库。客户端应用包括:java applet、activex、plug-in等,其中最典型的是java app let。
在java applet中访问数据库,可以使用jdbc(java database connectiv ity)技术,通过jdbc提供的api来实现对分布在网上的不同数据库的各种操作,还可以把对数据库的访问交给专用服务器来完成,而java applet通过与专用的服务器的socket通信来传递数据库操作的请求和结果。
流行的web数据库产品
1.microsoft
microsoft的web服务器产品为internet information server(iis) ,它提供isapi(intranet server api)作为扩展web服务器功能的编程接口;同时,它还提供一个internet数据库连接器(idc),可以实现对数据库的查询和更新。microsoft的另一个产品是mi crosoft visual interdev,又提出了asp(active server pages)作为实现动态web应用的解决方案。microsoft visual interdev是一个web应用快速开发环境,它提供了服务器和客户机端的编程工具、数据库工具和内容编辑工具,还提供集成化的站点管理功能。
2.netscape
为了提高性能,netscape在它的web服务器中引进了应用程序编程接口nsapi(netscape server api)。利用nsapi,开发人员可以扩展服务器的功能,包括对外部数据库的访问。nsapi可支持 windows nt、solaris和hp/ux等平台,但目前还缺少较好的开发工具来进行nsapi的直接编程。
3.oracle
oracle webserver不仅仅是一个web服务器产品,通过其高效率、多线程的可伸缩体系结构,o racle webserver能与oracle数据库有效结合,并提供相应的开发环境,因而也是开发web数据库应用的工具。
4.informix
iuwa与其他web解决方案不同,它在informix数据库中智能化地管理全部web应用程序,包括ht ml文档、应用程序模板及各种多媒体内容。主要有iuwc、iuserver、数据刀片等工具和服务。
5.borland
borland在开发工具方面一直居领先地位,特别表现在它基于dbe(borland databa en gine)的开放数据库连接技术及delphi的可视化快速应用程序开发(rad)工具等方面。delphi的客户/ 服务器版本不仅是一种高效的客户/服务器快速应用开发工具,更提供了面向web应用的新技术。
6.sybase
sybase提出了连接web服务器和sybase数据库服务器的一个中间件web.sql,可运行于win dows nt、sun solaris等平台;它支持cgi和nsapi两种接口。sybase的pb(power builder)从5.0起也增加了许多对internet的支持,使得开发人员可以快速地建立、动态web服务器的应用。
总之,以上产品和技术各有特色,但还没有一种能够同时兼容不同的操作系统、web服务器和数据库系统,并且具有较好的开发和运行效率。因此在设计系统时要各种因素综合考虑。
表1
服务类别服务名称简述
基本类电子邮件(e_mail)通过网络实现internet用户之间的快速、低廉的通信。
基本类远程登录(telnet) internet用户通过telnet协议,用仿真终端方式远程登录到in ternet主机。
基本类文件传送服务(ftp) internet用户通过ftp协议,将文件在计算机间传送。
信息类 gopher意为“go for”,通过gopher协议,使用多级菜单界面为internet用户提供信息查询功能。
信息类 wais为internet用户提供自动查询分布在网上的各类数据库的功能。
信息类 www(world wide web)基于超文本的信息查询工具,可实现全球范围的各类信息的检索。
新闻公告类网络新闻(usenet)利用网络进行讨论的国际论坛。
新闻公告类电子公告板(bbs)发布公告信息。