⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄

📁 介绍了数据库方面的基础知识
💻
字号:
作者:一面湖水
日期:2000-1-17 5:04:24
*** 九十年代的新潮流:客户/服务器与Internet

作者:李旭东 (北方工业大学) 

内容:作者论述了C/S技术不会因Internet的到来而夭折,它们的关系必然

      是“你中有我,我中有你”。 

引言 

一、计算模式的转变和发展

二、客户/服务器与Internet谁主沉浮?

三、Internet与客户/服务器的结合 

四、数据库服务器的访问 


--------------------------------------------------------------------------------


引言 

80年代是微机与网络的时代。这一时代的到来,使客户/服务器(Client/Server, 

即C/S)技术得以飞速发展,规模向下优化(Downsizing)和规模适化(Rightsizing)

已是大势所趋。进入90年代后,由于信息技术的发展和信息量的高度膨胀,使已诞

生了20多年的Internet以惊人的速度发展起来,很快便达到了高潮,并围绕着

Internet出现了许多新的技术和新的应用。可以说,信息产业已经进入一个新

的时代--网络中心计算(Network-CentricComputing)的时代。“以网络计算

为中心”的理论得到了全世界计算机界的认可。Internet正是在这种模式下运

转的。网络计算已经成为各大公司Internet的发展战略。 


--------------------------------------------------------------------------------

一、计算模式的转变和发展 

多年来,计算机一直朝着大型化的方向发展,系统的处理能力有很大的提高, 

这就是计算机界的规模向上优化(Upsizing)。但是,发展的同时又造成了大

型系统的日益复杂化,数据的维护、管理以及硬件的定期更新均需要大量的人

力和物力。80年代后,传统的大型主机与哑终端受到 了以PC机为主体的微机网

络的挑战。一方面, 由于大型系统固有的缺陷,如缺乏灵活性、无法适应信息

量急剧增长的需求并为整个企业提供全面的解决方案等等。另一方面,由于微

处理器的日新月异,其强大的处理能力和低廉的价格使微机网络迅速发展,已

不仅仅是简单的个人系统,这便形成了计算机界的Downsizing。 同时,以PC机

为主体的文件服务器已不能满足分布计算 的需求,而客户/服务器技术正是一

种分布计算模式。它集中了大中型系统及文件服务器的优点,并更好地系统开

放性和可扩展性,即寻找一种Rightsizing。客户/服务器的这种计算模式定义

了台式机如何与服务器连接,以实现数据和应用的共享,并利用台式机的处理

能力将数据及应用分布到多个处理机上。这种模式当时被应用于组和部门的资

源共享。 但是,信息的全球化已经打破了区域的界限。电子贸易及电子商务作

为Internet的强大驱动力,迫使客户/服务器向广域的范围延伸。如今,

Internet已经成为全球 最大的网络互连环境,“地球村”正在形成,未来的世 

界将是一个完整的信息统一体。在这当中,Internet正是其强大的引擎。1995年

是Internet席卷全世界的一年,它已经成为全球信息基础,亦是未来信息高速公

路的雏形。 


--------------------------------------------------------------------------------


二、客户/服务器与Internet谁主沉浮? 

目前,人们可利用Internet,从内部网(Intranet)和WWW(World WideWeb) 

上,以非并行的方式访问到大量的信息。因此,有人提出,未来的Internet与

Intranet将会取代今天的客户/服务器。这种说法值得商榷。 

无论是C/S还是Internet,都是面对某种应用的计算模式。C/S被设计为局部 

(Local)的应用,而Internet是工作在全局(Global)范围内的,无平台限制。 

Internet得以发展的原因,主要在两方面。一方面,Internet具有先天的开放性, 

这一点,实出地体现在TCP/IP及Internet的技术规范对任何人都是公开的,同时,

由于TCP/IP标准协议被人们所认可,才使Internet成为国际上最为流行的 计算

网络。另一方面,Internet使用了基于客 户/服务器的服务。 

在这里,首先比较一下C/S与Internet的工作: 

(1)C/S的工作模式 

C/S是松散耦合系统。 它们通过消息传递机制进行对话,一个请求程序 

(Client)首先通过网络协议(如TCP/IP及IPX/SPX等) 与接收程序(Server)进行 

连接,由客户端发出请求给服务器,服务器则进行相应的处理,然后,经传递机送 

回客户端。 

(2)基于C/S服务的Web工作方式 

首先,Web客户(Web Client)经浏览器指定 URL(Uniform Resource Locator),

并向Web Server发出请求。其后, Web Server把URL转换为页面所在服 

务器上的文件名。 若文件是简单的HTML(Hgper Text Marked language)文件,那 

么,Web Server直接把它送给Web浏览器;若该文件产是遵循CGI标准的驻留程 

序,则由Web Server运行它,并把运行结果输出至Web浏览器。 从以上工作方式可 

以看出,C/S和Internet是在两种逻辑实体进程之间进行透明的连接。进程可以在同 

一机器里,也可以在网络中的不同机器里,但其本质都是请求应答。Internet的主要 

传输协议是HTTP(HyperText Transmission Protocol),其运作采用 请求/响应的

握手方式。 我们可以看出,Inernet的 所有服务都是基于C/S的。因此, Internet

的计算是C/S 的一种高度扩展, 是 由C/S逐步发展而来的,它不是C/S的革命,而是

一种自然而然的扩充,两者必然会无缝地捆绑在一起,长期共存,共同发展。 


--------------------------------------------------------------------------------

三、Internet与客户/服务器的结合 

同以前的C/S一样,Internet已经成为一种新的计算平台,是一种满足某种商业 

需求计算方式。但是,目前Internet的发展尚成熟,其开发工具更是少之又少,

很难找到一个支持智能数据库、组件的开发和群件的开发等特性的有利环境。 

幸运的是,由于 有成熟 的 C/S技术的有力支持,开发大规模的Web应用所需的

工具也将迅速地发展起来。 

未来Internet与C/S的发展趋势可用一个公式来表示: Internet=Multi-Tiers C/S 

C/S最初被设计成两层模式(Two-Tiers), 即Client -Server。在这种结构中,

所有的表示逻辑和应用逻辑(商业规则)等重头戏均 在Client端,而使 Client 

变得很“肥”(称为肥客户机)。Server则成为数据库服务器,进行商业数据的

处理和维护,因此,Server相对变得很“瘦”(称为瘦服务器)。这就使应用系

统的性能、可能性、可伸缩性和可扩展性很差。并且,随着应用的复杂会造成

Client过于肥大,而迫使用户必须在硬件上进行更新,如一些应用程序需要有

8MB内存的运行环境才能运行起来等。这对用户的投资没有起到保护的作用。因

此,两层结构已经受到责难,而Internet的出现恰好弥补了这种构架的不足,

将两层结构自然延伸为三层或N层结构,如图1所示。图1 三层或N层结构的C/S 

在这种多层的结构中,Web Server既作为一个浏览服务器, 同时又是应用服务 

器。在这处中间服务器中,可以将整个应用逻辑和商业规则驻留在其上,而只

有表示层存在于Client,使Client变得很单纯,从而大大地减轻了Client的负

担。这种客户被称之为瘦客户(Thin Client)。 在这种结构中,只需随机地

增加中间层服务器(应用服务器),即可满足应用的需要。这时的CLlient变得

很小,简单通用,大部分的应用驻留在网络中间应用服务器(Middle 

Application Server)上。同时, 应用服务器支持多种RDBMS的数据类型,并

通过对象中间技术(Java, DCOM及CORBA),在网络上寻找对象应用程序,完成

对象间的通讯。这样更屏蔽了网络通讯的细节,使Client和Server均不需要了

解对方的具体工作,而实现无缝透明的连接。对象的重用可以减少代码的重复

而使应用程序短小灵活。中间件的发展必然将推动Internet和C/S的迅速结合。 


--------------------------------------------------------------------------------


四、数据库服务器的访问 

Web Client通过Web Server(应用服务器)访问Database Server。 

1.CGI协议(NSAPI或ISAP) 

Web服务器与数据库服务器的连接是通过CGI接口。 CGI 代表通用网关接口, 

是控制Web Client、Web Server和Database Server之间数据传输的协议。当CGI程序 

接收用户的标准输入请求或环境变量时,会在Web Server上发出执行用户输入和数 

据查询请求信息, 并将结果送到HTML文件系统,然后,构造一个新的HTML 

页,经HTTP传送到Web Client。但是,每当请求结束时,CGI程序会同时被终止。 

为了减少每次连和断开时对系统的占用,实现Web Client和数据库的会话性连接, 

可以分离CGI程序中的数据库访问逻辑,而将其驻留在一个长期 激活的应用服务 

器上,从而实现与数据库的实时连接。这时,CGI程序只是作为一个消息传递者, 

将请求从Web Server发射到应用程序服务器。由于应用服务器的长期激话,而提高 

了系统性能和响应速度。同样,通过微软的IASAP和NetScape的NSAPI也可实现Web 

Client与数据库的连接,这些专用接口对系统的性能有很大的提高。为了实现数据库 

的独立性,CGI二进制应用程序主要通过ODBC应用接口,来实现对数据库的连接, 

如图2所示。 

图2 CGI通过ODBC实现对数据库的连接 

2.Java应用程序和应用服务器 

Java是Sun公司推出的一种面 向对象的跨平台的程序开发语言。它产生了一种 

全新的客户/服务器计算模式--以网络计算为中心的模式。 Java的独特能力使创建分 

布式的面向对象的应用成为可能,将数据和Java组成对象,使网络计算得以实现。 

基于网络的Java小应用程序与基于台式机的应用相比,Java小应用程序的主要优点在 

于不需要预装,在需要自动安装,而不需要时自动解除。因此,不存在C/S模式下的 

软件升级的概念。 Java是Internet上基于Web应用程序的最好选择。在Java的运行环 

境中,支持包括其他对象的类库,允许Java创建与用户交互的GUI对象,并打开套 

接口,实现远程通讯。这些我使我们能利用Java在Internet上开发数据应用程序。 在 

客户端,Java由Web浏览器从宿主机上下载并运行在Java的虚机上。Java小应用程序通 

过套接口与应用服务器对话。应用服务器以Java的名义访问数据库,在这种访问方式 

下避免了基于HTML模式下的一页的传输,一旦浏览器打开,JavaApplet会一直运行, 

直到用户终止 运行为止,从而做到 Web浏览器与数据库 的实 时连接。 

3.Java应用程序和JDBC 

另外一种连接Java应用程序和数据库服务器的方法是通过Java数据库连接 

(Java DataBase Connectivity,JDBC)。它是一系列Java应用程序访问各种RDBMS和 

其他面向对象数据库的API。JDBC类库是用Java语言编写的,实现了平台无关性。 

通过JDBC, Java应用程序可以直接访问数据库 服务器。目前,尽管JDBC仍处于早 

期阶段,但它已得到了主要数据库厂商的支持,并将随着Java的流行而成为Internet 

上数据库访问的标准。 结论无论从计算模式的发展还是数据库的访问, 我们都可 

以看出, 客户/服务器技术与Internet是紧密地联系在一起的,两者之间的差别是细 

徽的。 用户接口已经从Windows 向 浏览器过渡。分布计算已经由简单的两层关系 

扩展到拥有数据库 服务器和应用服务器的 三层模式,并逐步向N层结构发展。在N 

层结构中,中间层服务器(应用服务器)起着非常重要的作用,它是分布式计算环 

境中,客户与服务之间的桥梁。中间件技术市场将是计算机厂商的另一个战场。所 

以,对于Internet结构来说,就是扩展了并行化的客户/服务器结构。客户/服务器

模式进一步向支持多层结构的方向发展,使其能够挂接在Internet上。那些面向

Internet的应用也将因融入客户/服务器技术而得以加强。总之,客户/服务器技术

不而得到加强。 


总之,客户/服务器技术不会因Internet的到来而夭折,它始终是Internet服务的基

础。 Internet与客户/服务器技术的关系必然是“你中有我,我中有你”

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -