18143453325 在线咨询 在线咨询
18143453325 在线咨询
所在位置: 首页 > 营销资讯 > 信息时代 > 浏览器/服务器应用开发工具(数据库)

浏览器/服务器应用开发工具(数据库)

时间:2022-11-01 08:30:01 | 来源:信息时代

时间:2022-11-01 08:30:01 来源:信息时代

    浏览器/服务器应用开发工具 : 用于开发浏览器、Web服务器、应用服务器及数据库服务器的软件工具。按照Web数据库访问机制的不同,可将浏览器/服务器模式归纳为三种结构: 以Web服务器为中心、以应用服务器为中心、以数据库服务器为中心。这三种结构分别适用于不同的应用环境,可根据不同的情况选择使用。前两种结构主要用于信息系统的开发,后一种结构主要用于信息系统的数据库管理。以应用服务器为中心的软件结构把Web技术和三层客户/服务器有机结合在一起,是目前信息系统采用的主流软件结构。
1. 以Web服务器为中心
以Web服务器为中心的软件结构是早期Web数据库应用开发最主要的方式,它来自于传统的Web应用程序结构。在这种软件结构中,核心是Web服务器,所有的数据库应用逻辑都在Web服务器端的服务器扩展程序中执行。服务器扩展程序是使用CGI或Web API在Web服务器端编写的数据库应用程序。服务器扩展程序通过标准的数据库访问中间件(如基于ODBC/JDBC的程序等)完成和数据库的交互,生成HTML文档,通过HTTP协议发送到客户端浏览器中显示。以Web服务器为中心的软件结构如图1所示。


图1 以Web服务器为中心的软件结构


服务器扩展程序主要使用CGI、Web API两种编程接口编写。它们的概念和特点有:
CGI(common gateway interface),即公共网关接口,是Web上最早使用的也是使用最广泛的数据库应用技术。Web服务器使用环境变量传输有关的请求信息到CGI程序,CGI应用程序从数据库中获得数据,然后格式化生成HTML文档返回浏览器。CGI是作为一个独立的进程在Web服务器上运行的,进程的创建和关闭都会严重消耗系统的资源,这是CGI最显著的缺陷。
在CGI之后,出现了Web API(Web application programming interface),它是Web服务器应用编程接口的统称。Web API的运行方式和CGI类似,但是在执行时是动态加载到Web服务器进程内,相比CGI而言运行效率有所提高。
上述两种编程接口与传统的客户/服务器结构相比,在用户界面、事务处理以及系统的运行效率等方面还存在着很大的不足。其主要原因是:
(1) 用户界面受HTML语言的限制: 由于HTML语言在设计时主要面向文档显示,因而不论是在显示能力还是在交互能力上,都无法与传统的基于客户/服务器结构的数据库应用相比。
(2) Web服务器负载过重:由于所有的应用逻辑都在Web服务器端执行,这就使得客户端和Web服务器通信频繁,再加上在Web服务器端访问数据库的开销,使得Web服务器运行负载过重。
(3) HTTP协议的效率低: Web所使用的HTTP协议是一种无状态的应用层协议,客户端和Web服务器之间不保存网络连接,因而也不保存客户的状态信息,这种协议适合于文档的传送,但用于数据库应用开发时,存在严重的效率问题。
通过上述分析,可以清楚地看到,问题的根本原因在于Web框架自身。由于Web最初的目的在于文档的发布,它的实现机制和标准的制订,包括HTML、HTTP以及Web服务器等,都是基于这种文档发布的需求。而数据库应用系统的特征在于分布计算和事务处理,因此,这种软件结构无法很好地满足数据库应用开发需要。
目前,支持这种软件结构的产品有: Microsoft Internet Information Server(IIS)、Netscape Web Server、IBM WebSphere、ColdFusion、Apache Server(免费)等。它们通常都支持CGI编程接口。由于各厂商的Web服务器有所不同,它们支持的Web API也有所不同,例如,Microsoft IIS支持的是ISAPI,Netscape Web Server支持的是NSAPI。
2. 以应用服务器为中心
以应用服务器为中心的软件结构是Web服务器和三层客户/服务器结合的成果。它把两方面的优势集中于一体,不仅具备Web的界面统一、易于发布和维护等优点,而且具备三层客户/服务器的逻辑分层清晰、效率高等优点。此外,ActiveX、Java等构件技术的成熟也促进了这种软件结构的成熟和完善。
这种软件结构可分为四部分: 客户机浏览器、Web服务器、应用服务器、数据库服务器。应用服务器端采用了构件技术,应用构件封装了所有的数据库应用逻辑,它们通过标准的数据库访问中间件(如ODBC/JDBC等)完成和数据库的交互。Web服务器仍然负责接收客户机浏览器的HTTP请求,并将请求的页面和控件返回给客户端。但是,对于客户端的表现逻辑,存在两种不同的解决方式: 一种是基于构件的方式,如图2所示; 另一种是基于脚本的方式,如图3所示。


图2 以应用服务器为中心——基于构件的方式



图3 以应用服务器为中心——基于脚本的方式


(1)基于构件的方式: 客户端表现逻辑通过构件实现。Web服务器端接受客户端的请求后,将相应的客户端构件(如Java Applet或ActiveX控件)同时下载到客户端。客户端构件再通过远程构件访问标准方法(如DCOM、IIOP、Java RMI等)向应用服务器上的应用构件发出请求,并获取处理结果。
这种方式的优点就是客户端从Web服务器下载构件后,客户端构件直接与应用服务器通信,无须再通过Web服务器访问数据库,降低Web服务器的负载,从而提高整个系统的响应速度。但是,它要求客户端必须能够支持特定的构件标准,对于系统的跨平台特性有所影响。
在企业内部的Intranet系统开发中,采用这种方式较好。因为在企业内部通常都是同一平台,采用统一的构件标准,易于开发和维护。同时,它具备了构件开发的易扩充、易重用特性。
(2)基于脚本的方式: 在这种方式中,客户端表现逻辑完全通过脚本实现。服务器端程序(如ASP、JSP等)由Web服务器端动态解释执行,这些程序可以调用应用服务器上的应用构件,并获取处理结果,最终Web服务器将依据执行结果生成适当的HTML返回给客户机浏览器。采用这种方式的技术主要有: ASP、JSP等,它们分别采用了ActiveX和Java构件标准。
基于脚本的方式优点在于跨平台特性好,客户端只需要安装浏览器即可,没有其他特殊的要求。缺点就是表现逻辑通过脚本语言实现,维护和扩展难度较大。
在Internet电子商务系统开发中,采用“基于脚本的方式”较好。因为WWW上客户端的种类千差万别,跨平台特性就成为重点要考虑的因素,它无法采用统一的构件标准,因此,不能采用“基于构件的方式”,只能选用“基于脚本的方式”,使其具有跨平台特性。但由于表现逻辑通过脚本语言实现,存在着维护和扩展工作量大、实现难度大等缺点。
Web服务器和应用服务器结合的软件结构实际上是Web和三层客户/服务器结构相结合的实现模式,既保留了Web低成本、开放性和客户端“零维护”的优点,又充分利用了三层客户/服务器结构在性能、功能上的诸多优点,同时为原有的客户/服务器系统向Web迁移提供了一条有效途径。
目前,支持这种软件结构的产品有: IBM WebSphere、ColdFusion、Oracle Application Server、Enhydra Application Server、Netscape Application Server、Microsoft IIS+MTS等。除微软的产品外,它们大都支持EJB和XML,采用Java作为应用服务器端的构件标准,适合于运行在多种平台上。此外,Enhydra已经通过Internet公开了其应用服务器源代码。Microsoft的产品只能基于微软的平台和DCOM标准,受到很大的局限性。
3. 以数据库服务器为中心
以数据库服务器为中心的软件结构主要来自于数据库管理的需求。随着数据库管理系统的不断发展,数据库管理逐渐成为一个复杂的工作。Internet的出现为数据库管理提供了新的思路,简单易用的浏览器界面完全可以作为通用的数据库管理操作界面。这种软件结构的核心是数据库服务器。数据库服务器中包含了HTTP服务器,它能够接受客户端的HTTP请求,并返回HTTP应答。以数据库服务器为中心的软件结构如图4所示。


图4 以数据库服务器为中心的软件结构


这种软件结构将数据库服务器和HTTP服务器紧密地结合起来,它提供了统一的界面,即Internet浏览器的方式来访问数据库,这就使得通过Web浏览器就可以开发、管理和监视Web站点和应用程序,并提供了统一访问方式,而且使得开发地点十分自由,所以生产率大大提高。而且还能够获得数据库服务器的所有强大功能,并缩短Web开发过程,比如说浏览数据库中的对象,查询和更新数据,甚至执行存储过程。目前,支持这种软件结构的产品有:Oracle WebDB、Microsoft SQL Server2000等。

74
73
25
news

版权所有© 亿企邦 1997-2022 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭