荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: Minatl (Minatl), 信区: Program
标  题: www
发信站: BBS 荔园晨风站 (Wed Jan 20 19:17:22 1999), 转信

    一、引言

WWW是目前Internet上发展最快的领域,也是Internet网上最重要的信息检索手段。早期
的Web页面(HomePage)主要用来传递静态HTML文档,后来由于CGI接口,特别是Java和
JavaScript语言的引入,使得Web页面可以方便地传播动态信息。借助Java和JavaScript语
言,可以设计出具有动
画、声音、图形/图像和各种特殊效果的Web页面。
    WWW的主要内容包括超文本传输协议(HTTP)、超文本标记语言(HTML)、通用网关接
口(CGI)、Java和JavaScript语言等。
    HTTP(HyperTextTransferProtocol),是一个专门为Web服务器和Web浏览器之间交换
数据而设计的网络协议。它通过规定通用资源定位符(URLs)使客户端的浏览器与服务器的
Web资源建立链接关系,从而奠定了用户对Internet透明访问的基础。

HTML是WWW的通用标记语言,它用来创建Web页面和控制Web信息显示格式。HTML不是编程语
言,而是一种描述语言。HTML2.0得到了IETF(InternetEngineeringTaskForce)的支持而
成为Internet国际标准。目前,HTML已经发展到3.0和3.2版,只是新版本的标准尚未完全
统一,不同的商?
叶訦TML2.0进行了一定的扩充,引入了更多新的功能。例如,Netscape公司在HTML3.0中
增加了页面底图(BackgroundImages)和表(Table)定义等标记,使得Web页面更加引人入
胜。

CGI是通用网关接口(CommonGatewayInterface)的简称,它是Web服务器与外部程序之间的
通信接口,服务器并不关心外部应用程序是用什么语言(如C、C++、Pascal、Delphi或
Perl)编写的,它只是负责接收用户输入的信息,并把CGI程序所产生的结果———HTML文
档或其他符合HTTP?
娑ǖ奈募卮没АJ率瞪希珻GI是动态Web页面制作的第一步,但由于CGI程序实现比较
困难,而且效率不高,它已经逐渐被新的技术所取代。

Java是由Sun公司开发的面向对象(Object-oriented)程序设计语言,它支持Client/
Server计算。Java最初的目标是建立一个适合于家用电器产品使用的系统环境,但并没有获
得成功,所幸的是它以其固有的优点被用来弥补和扩充HTML语言的不足,成为Internet领域
后来居上的重要?
ぞ摺ava很有可能成为今后十年互联网上的主流语言。

JavaScript是由Sun公司和Netscape公司共同研制的基于对象(Object-based)的语言,它
舍弃了Java中最复杂的类(Class)定义和继承等成分,而只保留了它的表达式和控制语句
。这种简化并不影响它在WWW中发挥重要作用,相反,因为有了JavaScript,一般的Web页面
设计者都可以十?
秩菀椎厥迪止ブ挥锌孔ㄒ党绦蛟北嘀聘丛拥腃GI程序才能完成的功能,从而使Web技术得
到进一步普及。
    交互式动态HTML页面的实现需要以大量数据资源为基础,为了对数据资源进行高效的存
取,自然会引入数据库系统,于是,Web数据库便应运而生了。
    许多数据库和WWW商家都把数据库与Web的连接性作为发展战略的一个重要组成部分。
    Oracle公司通过Oracle7数据库和Web技术的全面集成,提供了一个Intranet开发平台,
OracleWebServer允许Web客户直接通过Web浏览器来访问Oracle7数据库中存储的数据。
OracleWebServer(2.0版以上)用户能够调用存储过程生成动态Web页面,而无需依赖CGI


Sybase公司的战略计划中也处处体现出Internet的连接性,特别是通过加强Internet数据仓
库技术来突出其产品的稳健性和易扩展性;Sybase的交互式数据仓库允许用户通过其IQ(
InformationQuery)产品进行快速交互式查询,在SybaseSystem11中,Internet连接性也是
最主要的特色。
    作为世界上最大的Web产品供应商,Netscape公司也在其LiveWire开发工具中提供了一
个内部数据库对象database,通过database对象的各种方法,可完成对数据库服务器的连接
、检索、更新、提交、回退等操作。
    Microsoft公司的Web服务器IIS(InternetInformationServer)中也有一个数据库连接
器IDC(InternetDatabaseConnector),可以动态地查询和更新数据库。
    需要指出的是,目前尚未形成Web数据库工业标准,不同商家的产品各有长短。
    二、从Client/Server应用
    到Intranet/Web应用
    在过去的十几年里,Client/Server结构为实现企业级的信息共享起到了举足轻重的作
用,但随着企业规
模的日益扩大,应用程序复杂程度的不断提高,传统的Client/Server结构也暴露出许多问
题,尤其是系统软件和应用软件变得越来越复杂。这不仅给应用软件实现带来困难,还给软
件维护造成不便;随着用户需求的改变,Client端应用软件可能需要增加新的功能或修改用
户界面,那么该
软件的应用范围越广,软件维护的开销也就越大。另外,Client/Server结构所采用的软件
产品大都缺乏开放的标准,一般不能跨平台运行。当把Client/Server结构的软件应用于广
域网时就暴露出更大的不足。

Intranet/Web技术可以比较圆满地解决上述问题。Intranet是采用Internet技术的企业内
联网络,它既可与Internet互联,也可以独立使用,具有很大的灵活性。用户只要在内部
Intranet上建立自己的Web服务器,并通过Web服务器与数据库服务器连接,就能够大大降低
软件维护开销,因?
捎肐ntranet/Web技术,我们只需开发和维护服务器端应用程序(无需开发客户端程序)
,而服务器上所有的应用程序都可通过Web浏览器在客户机上执行,从而统一了用户界面。
由于几乎各种操作系统上都有Web浏览器,所以Intranet/Web应用可以方便地实现跨平台操
作。
    三、Web服务器与数据库服务器
    的连接技术
    1.CGI技术
    CGI是最早的Web数据库连接技术,几乎所有的Web服务器都支持CGI。程序员可以选择任
何一种语言,如C、C++、Delphi、VisualBasic或Perl来编写CGI程序。

CGI是一个位于服务器和外部应用程序之间的通信协议,CGI程序可以与Web浏览器进行交互
,并可以通过数据库的调用接口与数据库服务器进行通信。例如,CGI程序可以从数据库服
务器中获取数据,并转化为HTML页面,然后由Web服务器发送给浏览器;也可以从浏览器获
得数据,并存入指?
ǖ氖菘庵小?
    按照应用环境的不同,CGI可以分为标准CGI和WinCGI两种。
    (1)标准CGI

标准CGI通过环境变量或者命令行参数来传递Web服务器获得的用户请求信息,Web服务器与
浏览器之间的通信采用标准输入/输出方式。当Web服务器接收到浏览器发来的CGI请求时,
首先对该请求进行分析,并设置所需的环境变量或命令行参数,然后创建一个子进程启动
CGI程序。CGI程序?
葱型瓯虾螅帽曜际涑鼋葱薪峁祷豔eb服务器。CGI的输出类型可以是HTML文档、图
形/图像、纯文本或声音等。
    (2)WinCGI
    标准CGI采用标准输入/输出进行数据通信,但许多Windows环境的编程工具(如
VisualBasic和BorlandDelphi等)不支持标准输入/输出方式,因此就无法用这些工具来开
发基于标准CGI的应用程序。
    WinCGI也称为间接CGI或缓冲CGI。这种方法在(不支持标准输入/输出的)CGI程序和
CGI接口之间插入一个缓冲程序,该缓冲程序与CGI接口之间用标准输入/输出进行通信;
CGI程序则采用临时文件(缓冲区),而不是标准输入/输出进行数据通信。

当Web服务器接收到浏览器的请求时,先创建一个子进程启动缓冲程序,该缓冲子进程与
Web服务器进行通信,它通过标准输入/输出、环境变量和命令行参数获得有关数据,并将
这些数据保存在一个输入缓冲区中;然后,缓冲子进程再创建一个子进程启动CGI程序,
CGI程序读取输入缓冲区
中的内容,处理浏览器的请求,并将要输出的内容存入输出缓冲区;缓冲程序通过环境变量
或命令行参数等方式传递输入缓冲区和输出缓冲区的地址(或临时文件名)到CGI子进程。

在整个处理过程中,缓冲子进程与CGI子进程之间应保持同步,以监测CGI程序执行的状态。
当缓冲子进程得到CGI子进程的输出时,设置有关环境变量并终止该CGI子进程,然后采用标
准输出与Web服务器通信,并通过Web服务器将CGI程序的输出结果返回给浏览器。Web服务器
进程与缓冲进程
也应保持同步,以监测缓冲程序执行的状态。
    WinCGI最主要的特点是:Web服务器与CGI程序之间的数据交换是通过缓冲区,而不是通
过标准输入/输出进行的。

显而易见,CGI程序是作为独立的外部应用程序来执行的,它与Web服务器上的其他进程竞争
处理器资源,因此导致运行速度缓慢。此外,用CGI开发Web应用是相当困难的,程序员不仅
要掌握HTML语言,还要精通低级编程语言。在数据库访问过程中,连接状态的管理是很重要
的,假如没有状
态管理,则来自浏览器的每一次请求都需要一个对连接的建立和释放过程,这样效率肯定很
低。遗憾的是CGI不提供状态管理功能。再者,每个CGI程序必须用某个特定数据库服务器专
用的SQL语言来手工编写数据库接口程序,故可移植性较差。
    2.WebAPI技术
    WebAPI通常以动态链接库(DLL)的形式提供,是驻留在Web服务器上的程序,它的作用
与CGI相似,也是为了扩展Web服务器的功能。
    目前最著名的WebAPI有Netscape的NSAPI、Microsoft的ISAPI和O'Reilly的WSAPI。
各种API均与其相应的Web服务器紧密联系在一起。

用NSAPI、ISAPI或WSAPI开发的程序,性能大大优于CGI程序,这些API应用程序是与Web服务
器软件处于同一地址空间的DLL,因此所有的HTTP服务器进程能够直接利用各种资源,这显
然比调用不在同一地址空间的CGI程序所占用的系统时间要短。程序员可以利用API分别开发
Web服务器与数据
库服务器的    接口程序。
    WebAPI的出现解决了CGI的低效问题,但用API编程比开发CGI程序更加困难。开发API程
序需要多线程、进程同步、直接协议编程等知识。
    为了解决复杂与高效之间的矛盾,Netscape与Microsoft均为各自的Web服务器提供了
基于API的高级编程接口。Netscape提供的是LiveWire,Microsoft提供的是IDC(
InternetDatabaseConnector)。
    (1)Netscape的LiveWire

LiveWire是一个通用的Web开发环境,而不仅仅是数据库访问接口。LiveWire的编程语言是
JavaScript,它提供了一个database对象,该对象的方法可用来操作关系数据库。当一个应
用程序要连接数据库服务器时,LiveWire就建立一个database对象。每个应用程序只能有一
个数据库对象。
    用database对象的connect方法可连接数据库服务器,例如:
    database.connect(″ORACLE″,″OraSvr″,″system″,″manager″,″MyDB″

    可连接到ORACLE数据库服务器OraSvr上system/manager用户的MyDB数据库实例上。
    LiveWire提供了几种显示数据库查询结果的方法。其中,最简单而且最快的是用
database对象的SQLTable方法。SQLTable方法以HTML表的形式返回SQL语句的查询结果。
    SQLTable自动控制查询结果的输出格式,这是最简单的方法。如果你希望自己定制输出
格式,可用数据库光标建立自己的显示函数。
    每个数据库查询都将返回一个光标,光标可以看成数据库查询结果构成的虚表或视图,
每个光标都支持当前行(currentrow)的概念,它是指向结果表中记录的指针。
    一旦应用程序与数据库连接成功,你就可以用database对象的cursor方法来为指定的
SQL查询语句建立光标。
    cursorNameΚdatabase.cursor(″SELECT语句″,updatable)
    其中cursorName是为光标对象所取的名字;“SELECT语句”是数据库服务器支持的SQL
查询语句;updatable是一个布尔参数,它表示该光标是否允许修改。
    可修改光标(updatablecursor)允许借助光标的当前行来更新数据库中的表。但这时
的光标只能限定为单表的查询结果。
    应用程序可以用disconnect方法关闭数据库连接:
    database.disconnect()
    一旦关闭了数据库连接,应用程序便无法建立光标或使用其他database方法。
    事务是一组数据库操作的集合,这些操作要么一起成功,要么一起失败。操作的提交或
回退是一同生效的。事务处理的概念对维护数据的完整性和一致性是十分重要的。尽管各种
数据库服务器事务处理的实现方法有所不同,LiveWare提供了统一的事务处理接口。
    主要是数据库更新语句(INSERT,UPDATE和DELETE)要在事务控制之下完成。
database对象的beginTransaction、commitTransaction和rollbackTransaction方法分别用
来启动、提交和回退事务。

多媒体数据(图像、声音、文本、动画等)可以二进制大对象(BLOB)的形式存入数据库。
LiveWire有两种处理二进制数据的方法,第一种是把文件名存入数据库,而文件实体放在数
据库外;第二种是直接用BLOB类型的字段存储多媒体数据,再通过LiveWire提供的BLOB方法
来访问这些数据

    LiveWire仅仅支持NetscapeEnterprise/FastTrackServer,而不支持其他的Web服务器

    (2)Microsoft的IDC
    IDC是MicrosoftWeb服务器IIS(InternetInformationServer)的一个动态链接库,它
通过ODBC接口访问各种数据库。IDC包含两种类型的文件:IDC脚本文件(*.IDC)和HTML
模板文件(*.HTX)。
    IDC脚本文件(*.IDC)用来控制数据库访问,其中包括数据库名、用户名、口令和
SQL语句等数据库连接参数,以及与此IDC文件对应的HTML模板文件(*.HTX)的存储路径

    HTML模板文件(*.HTX)是实际HTML文档的模板,它以直观的方法说明怎样将查询到
的数据插入Web页面。模板中可以有静态文字、图形/图像或其他HTML页面元素。
    对数据库服务器的每一次查询都需要一个IDC脚本文件(*.IDC)和一个HTML模板文件
(*.HTX)。脚本文件必须存储在Web服务器上,而模板文件则可以存储在Web服务器能够
访问到的任何地方。

IDC的处理流程大致如下:Web服务器IIS对浏览器传来的URL字符串进行分析,如果当前URL
以“.IDC”结束,就说明这是一个IDC请求,于是将其传给IDC接口模块,IDC将依次读取脚
本文件并与数据库服务器进行通信;IDC模块从数据库服务器得到查询结果后,通过指定的
模板文件而得到一
个实际的HTML文档;然后将该文档交给Web服务器IIS,由IIS将HTML文档返回Web浏览器。
    IDC不仅可以从数据库中查询数据,也可以向数据库中存储数据。与LiveWire类似,
IDC仅仅支持Microsoft的IIS,而不支持其他的Web服务器。
    3.RAD技术

RAD是快速应用开发(RapidApplicationDevelopment)的缩写。传统的RAD工具,如
PowerBuilder、Delphi、Uniface、NewEra、Oracle/Developer2000等早已为人们熟知。
近两年来,随着Web数据库应用需求的不断升温,市场上已经出现了一批Web数据库RAD工具
,例如,Powersoft公?
疚狿owerBuilder增加了一个InternetDevelopmentKit,PowerBuilder6.0更加突出了
Intranet/Web技术;Borland公司在推出IntraBuilder之后,又把In
tranet/Web技术真正融入最新的Delphi3.0中;Oracle公司的新版Designer2000和
Developer2000也能够直接生成Web数据库应用;Uniface公司通过其Webenabler产品将代码
直接转化为Web数据库应用。
    RAD工具的主要特点是具有图形开发界面和可视计算技术的支持,程序员只需通过简单
的鼠标点击和键盘交互操作,即可快速生成应用程序代码。这里,我们简单介绍几种有代表
性的RAD工具。
    (1)IntraBuilder
    在使用BorlandIntraBuilder之前,必须首先在Web服务器上安装IntraBuilderServer,
并在开发平台上安装IntraBuilderDesigner集成设计工具。
    IntraBuilder是一个基于JavaScript语言的可视开发工具,它能够快速生成和发布
Intranet/Web数据库应用;用户通过Web浏览器访问IntraBuilder应用程序。
IntraBuilderServer具有连接数据库与Web服务器的能力。
    IntraBuilder包括三个主要组成部分:
    ①IntraBuilderDesigner是一个集成开发环境,可以完成所有Web应用开发工作,它包
括图形用户界面、程序自动生成工具Experts和可视化RAD设计工具。
    ②IntraBuilderServer运行在Web服务器上,用来处理客户机的请求,目前
IntraBuilderServer只能安装在WindowsNT或Windows95上。
    ③内置Intranet应用程序。这些程序的所有模块均可重用(reuse),程序员可以利用
现成的格式(Form)、表(Table)、报表(Report),以及JavaScript代码来生成新的应
用程序。

一个IntraBuilder应用程序通常包含表(Table)、格式(Form)、报表(Report)和页面
(HomePage)等构件。我们可以用两种方法来实现IntraBuilder应用程序。一是在
IntraBuilderExperts工具的指导下,通过人-机交互,自动生成表、格式、报表和页面等
元素;二是利用IntraBui
lderDesigner可视化设计工具分别建立应用程序的各元素。
    (2)Uniface
    Uniface是Compuware公司推出的基于组件的可视化开发环境。Uniface组件包括格式(
Form)、服务程序(Service)和报表(Report)等。所有程序模块中的定义都是可重用的
(reusable),程序员可以利用继承方法重用已经完成的程序模块,从而提高软件生产效率
和软件可靠性。

Uniface的Webenabler产品使得程序员能够像开发Client/Server应用程序那样定义应用模
型和用户界面,我们只需选择生成HTML的选项,并将应用程序安装在服务器上,就可完成
Web应用开发。此时,用户既可在Client/Server模式下通过Uniface运行环境执行应用程序
,也可在Web浏览器
上通过可交互的动态HTML访问与Client/Server模式下功能和界面完全一致的应用。
    Webenabler和Web服务器必须安装在同一台机器上,这与IntraBuilderServer需要与
Web服务器安装在一台机器上的要求十分相似。每当Web服务器接收到用户请求,便通过
Webenabler启动UnifaceWeb应用。
    Webenabler产品同时包含了CGI、NSAPI和ISAPI接口,因此可以对MicrosoftIIS、
NetscapeEnterprise/FastTrackServer等不同商家的Web服务器提供透明的支持。
    (3)Oracle/Designer2000与Oracle/Developer2000

Oracle公司利用具有Internet连接能力的中介产品实现Oracle7数据库服务器与Web服务器的
结合;OracleWebServer通过Oracle7和Web技术的全面集成提供了一个Internet/
Intranet开发平台。OracleWebServer允许Web客户直接通过浏览器访问Oracle7数据库中存
储的数据,并能够调用存
储过程生成动态Web页面,而无需依赖CGI。
    Oracle公司提供了两个工具—Designer2000和Developer2000,可用于完成Web应用程
序的开发,它们的编程语言是扩充的PL/SQL,而程序员无需手工编码即可生成PL/SQL程序

    Designer2000是一个完整的CASE工具,它为应用系统分析人员和设计人员提供了图形方
式的分析和建模、应用程序结构设计、数据库结构设计和应用程序生成等功能。此外,它还
能实现Client/Server应用向Intranet/Web应用的升级。

如果在进行Client/Server应用开发时已经采用Designer2000作为设计开发工具,那么现
在只需选用新版Designer2000,进一步操作就可完成转换,即在模块结构层次图中选中某一
模块,然后选择WebServer生成工具进行Web应用生成即可。无需重新设计和编码,无需修改
任何内容,最大
程度地保护了软件投资。

如果在进行Client/Server应用开发时没有采用Designer2000,而是用Developer2000完
成的,此时首先要用Designer2000的反向设计功能,对用Developer2000开发的应用程序进
行分析,把其中涉及到的数据库信息和应用程序结构的分析结果形成数据定义信息和模块定
义信息,同时把这
两类信息记录到共享分析库中。然后,依据模块定义信息,通过使用WebServer生成工具即
可生成相应的Web应用程序。Web应用可以生成动态的HTML页面,通过HTML页面,用户能够完
成各种数据库访问,包括查询、插入、修改和删除等,只需把这些PL/SQL程序包安装到
Web服务器上,就可?
ü榔魇褂昧恕?
    Developer2000也能生成Web应用,在保持原有功能的同时,Developer2000中的Report
工具可以让用户通过鼠标点击方式生成HTML格式的报表,构成Web应用,其操作方式同
Client/Server结构的报表工具一样简单。
    4.Java/JDBC技术
    JDBC技术是JavaDatabaseConnectivity的缩写,它    是JavaSoft公司设计的Java语言
的数据库访问API。
    最初的Java语言并没有数据库访问能力。JDBC是第一个支持Java语言的标准的数据库
API,其目的在于使Java程序与数据库服务器的连接更加方便。在功能方面JDBC与ODBC相同
,它给程序员提供了统一的数据库访问接口。
    JDBC访问数据库的过程是这样的:用户通过浏览器从Web服务器上下载含有JavaApplet
的HTML页面。如果其中的JavaApplet调用了JDBC,则浏览器运行的JavaApplet直接与指定的
数据库建立连接。
    JDBC是一个与数据库系统独立的API,它包含两部分:JDBCAPI和JDBCDriverAPI。
JDBCAPI提供了应用程序到JDBCDriverManager的通信功能;JDBCDriverAPI支持
JDBCDriverManager与数据库驱动程序的通信。
    JDBCDriverManager类似于ODBCDriverManager,用来管理各数据库软件商提供的JDBC驱
动程序。JavaSoft公司提供了一个通用的JDBCDriverManager,而各数据库公司只需提供一
个与ODBC类似的JDBC驱动程序,开发人员就可以用Java语言访问数据库。
    此外,JavaSoft公司还提供了一个特殊的驱动程序,JDBC-ODBC桥,该软件支持JDBC通
过现有的ODBC驱动程序访问数据库服务器。JavaSoft公司认为,通过JDBC-ODBC桥访问数据
库不会造成明显的性能下降。
    JDBCAPI提供了一系列Java类接口,其中:
    Java.sql.DriverManager负责处理JDBC数据库驱动程序的加载和卸载。
DriverManager类作为JDBC的管理层,负责寻找并装载与URL指定的数据库相符的JDBC驱动程
序,该驱动程序与远程数据库相连,返回一个Java.sql.Connection对象。
    Java.sql.Connection负责建立与数据库服务器的连接。
    Java.sql.Statement可以通过Connection对象执行一条SQL语句。
    Java.sql.ResultSet表示从数据库服务器返回的结果集。通过操作该结果集可实现对
数据库的访问。
    要访问数据库,必须首先建立一个Java.sql.Connection对象,可以通过调用
DriverManager.get.Connection得到此对象。该方法的参数是一个URL,它唯一指定了
要访问的数据库。
    通过使用Java.io.Input对象,JDBC允许访问数据库中存放的图像和视/音频信息。

JDBC也支持数据库事务处理。在缺省情况下,JDBC处于“自动提交”模式,也就是说,把
每一次请求都当作一个事务来处理。但是,也可以显式地把多个请求作为一个事务来处理。
当所有的请求完成后,使用connection.Commit方法提交当前事务,或者使用con
nection.Rollback退回
当前事务。
    JDBC也支持光标(Cursor)操作。光标用来定位一个特定的记录。当光标被激活时,可
以在光标指定的记录上完成数据操作。
    目前JDBC已经得到许多软件商的支持,包括Oracle、Sybase、Borland和IBM等。大多
数流行的数据库系统都已推出了自己的JDBC驱动程序。
    四、结束语
    本文所述的四种技术都能实现WWW与数据库的连接,但它们的工作原理不尽相同。

CGI和API技术是将Web服务器与某一进程或API相连,该进程或API再将得到的结果转化为
HTML文档,并返回Web服务器,然后由Web服务器把得到的HTML文档传给浏览器。就是说,与
数据库服务器的通信是由Web服务器完成的。虽然API技术比CGI技术提高了效率,但仍然没
有克服编程复杂的困
难。
    为了解决高效与复杂之间的矛盾,Netscape和Microsoft等公司分别推出了LiveWire
和IDC等基于API的高级编程接口,从而大大降低了程序实现的难度。
    RAD技术可以看成是基于API编程接口的进一步提高,它借助可视化计算技术快速生成应
用程序,大幅度减少了手工编程的工作量,增强了软件的可靠性。
    JDBC技术与上述几种技术有很大不同,这里,由(Java兼容的)Web浏览器将嵌入HTML
文档中的JavaApplet直接下载到客户机上运行。也就是说,与数据库服务器的通信是由Web
浏览器直接完成的。

我们必须清醒地认识到,WWW技术是90年代初才问世的,Web数据库更是近两三年才发展起来
的新技术,目前的国际标准化程度很低,各软件商推出的产品和技术大多互不兼容。CGI是
得到普遍遵守的规范,但CGI程序实现难度大且运行效率低下,因此缺乏生命力,它必然要
被新的标准所取代
。WebAPI技术提高了程序运行效率,但用API编程比用CGI更困难。另外,由于各种不同的
API互不兼容,用某种API编写的程序只能在特定的Web服务器上运行,使用范围受到极大限
制。RAD(包括各种基于API的高级编程接口)工具,虽然解决了直接用API编程带来的困难
,提高了软件开发效
率,但仍具有和API相同的问题:与特定的Web服务器捆得太紧,缺乏通用性。值得关注的是
JDBC技术,它借鉴了ODBC成功的经验,并且可以直接利用现有的ODBC驱动程序访问数据库
。JavaSoft公司推出JDBC之后,得到绝大多数数据库商家的支持,随着Java语言在WWW中发
挥的作用日益显?
嘈臞DBC会取代CGI而成为新的标准。

--
※ 来源:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: 192.168.0.240]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店