日期:2013-11-11  浏览次数:20506 次

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协议,将文件在计算机间传送。