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)发布公告信息。