APP下载

基于数据库应用的WEB结构分析

2012-05-08唐金艺

电脑知识与技术 2012年7期

唐金艺

摘要:该文将基于数据库应用的Web开发从三层逻辑体系结构(客户层、中间层、数据库层)的角度分析,阐述了各层的组成、实现功能和工作方式。

关键词:三层结构;Web开发;瘦客户;DBMS

中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)07-1490-03

Analysis of WEB Architecture Based on Database Application

TANG Jin-yi

(Computing Technology Institute of Navy, Beijing 100841, China)

Abstract: In this paper, it is analysed WEB developing based on database application from three layer logical architecture including client layer, middle layer and database layer. And the composing, function and work model of each layer are also explained.

Key words: three layer architecture; web developing; slim client; DBMS

随着Web的诞生直至发展到今天,大量高效的服务是通过存储在数据库中的数据展现在Web站点上的。基于数据库应用的Web站点案例包括大型数据信息的检索、电子商务、电子政务和金融服务等各种行业。支撑此技术的主要原因在于其便宜且普遍存在的互联网络,这些用户使用标准的Web浏览器软件并运行在各种普通的计算机上;而对于开发者而言,可以方便的获得Web服务器软件,数种完善且强大的脚本编程语言可以帮助其方便的开发于Web服务器和Web协议一起使用的应用程序。

数据库应用于Web的整合基本上可以理解为是通过三层逻辑来完成的,顶层是应用程序接口的客户端Web浏览器,最底层是DBMS(Data-Base Management System数据库管理系统)和数据库,中间层是通过脚本语言开发的应用逻辑。

1三层逻辑体系结构

建立Web数据库应用程序是由客户层、中间层、数据库层三层逻辑体系结构模型构成(如图1所示)。位于底层的数据库层包含数据库和管理数据库的DBMS组成,可以实现用户创建、删除、修改和查询数据的工作;数据库层上面是中间层,其中包含大部分应用逻辑并在其他两层间进行数据通信;顶层是客户层,通常是与应用程序交互Web浏览器软件。

图1三层逻辑体系结构图

从具体实现的角度看,完成Web的工作是由3个标准的工具:HTML(Hypertext Markup Language超文本标记语言)、HTTP(Hypertext Transfer Protocol超文本传输协议)和TCP/IP协议组成的。HTML能够使用Web浏览器应用程序很好地结构化和表示信息。TCP/IP是一个有效的联网协议,它通过互联网在应用程序间传输数据,且对于Web数据库应用的开发者来说是完全透明的。建立Web数据库应用过程中要解决的问题是如何使用HTTP将数据库应用程序与Web连接起来。

1.1 HTTP

三层逻辑体系结构为Web数据库应用提出了一个概念上的框架。Web本身提供连接应用程序的客户层和中间层的协议和网络,也就是说是由HTTP提供了浏览器到服务器的连接。HTTP是一个将三层逻辑体系结构绑定在一起的组件。HTTP协议由Web浏览器请求来自Web服务器的资源,并用于Web服务器返回响应。

1.2状态

传统的数据库应用程序是有状态的,而HTTP是无状态的。无状态意味着Web浏览器和Web服务器之间的交互是完全独立的。因为HTTP是无狀态的,因此很难开发有状态的Web数据库应用。这时需要一个在HTTP中维护状态的方法,以便可以利用信息流和结构。通常的解决办法是在Web浏览器和Web服务器中间互换一个唯一识别用户及会话的记号(Token)。

1.3瘦客户

已知以三层逻辑体系结构建立的Web数据库应用不能很好的适应HTTP,那为什么还要使用该模型呢?原因就在于Web浏览器是瘦客户。客户层中包含较少的应用逻辑,最大限度减少客户端的逻辑处理。浏览器只是简单地发送对资源的HTTP请求和显示服务端的响应。三层模型意味着客户层无需建立、安装或配置。任何具有Web浏览器的用户都可以使用整合了数据库应用的Web程序。而不必像厚客户那样在两层逻辑体系结构模式下安装附加的软件、使用特定的操作系统或使用特殊的硬件平台。也就是说一个应用程序可以提供给大量的、不同地理位置的分散用户。这种瘦客户的Web浏览器体系结构可以很好的适应三层逻辑体系结构。

2客户层

三层逻辑体系结构中的客户层通常是Web浏览器,Web浏览器软件处理并显示HTML资源,向服务端发出对资源的HTTP请求,并处理HTTP响应。正如前面所讨论的,使用Web浏览器作为瘦客户层有着显著的优点,包括简易的部署和在更广范围的多平台支持。

可用的浏览器产品有很多,而每种浏览器都有各自不同的特征。现在被广泛使用的两种浏览器是Netscape和Internet Explorer。它们共同的基本特征:

1)发送请求并显示来自Web服务器的响应(通常在图形界面下);

2)呈现页面时解释有HTML标记的页面(包括标题、正文、图像、超文本)

3)可以将CSS(Cascading Style Sheet层叠样式表)应用到HTML页面上

4)支持图像、电影、声音等其他类型对象

5)可以运行嵌入在HTML页面里的脚本语言(如:VBScript JavaScript)代码

6)可以运行用Java或ActiveX编程语言开发的组件

3中间层

在多数的三层逻辑体系结构中,大部分的应用逻辑都是在中间层完成的。客户层向用户展示数据,并收集来自用户的数据,数据库层保存获取的数据。剩下的工作都是由中间层完成的。它驱动显示给用户的数据的结构和内容,并且将来自用户的输入处理为数据库上的查询,以读取或写入数据。它还将状态管理添加到HTTP协议。中间层是将Web页面和DBMS整合在一起。

具体的说,中间层的组件基本可以理解为Web服务器、Web脚本编程语言和脚本编程语言引擎。Web服务器处理HTTP请求并解析为客户端的响应。Web服务器监听网络上的HTTP请求、接收由客户端的Web浏览器发出的HTTP请求或其他服务请求,然后返回包含所请求的资源的HTTP响应。

4数据库层

数据库层是管理数据的。数据管理通常包括数据的存储和查询,以及更新、管理允许多个中间层进程的同步或并行访问、提供安全性、确保数据的完整性和提供数据备份等支持技术。在许多Web数据库应用中,这些服务是由DBMS系统提供的,并且数据存储在关系型数据库中。当然对于数据库层存储数据,还有非关型的DBMS软件可以选择,包括搜索引擎和简单的网关服务等。

管理关系型数据需要复杂的DBMS软件。但是多数的DBMS系统都设计为隐藏了软件的复杂性,因为其设计的透明性,对于理解DBMS的基础体系结构并不重要。要有效的使用DBMS,需要一些技能来设计数据库,并公式化DBMS的命令和查询。绝大多数的DBMS软件都是选择SQL作为查询语言。

DBMS系统主要用于存储、搜索和管理数据。数据库是一个相关数据的集合。存储的数据可以是由几个实体或行组成。具体的DBMS是一系列组件,用于定义、构造和操作数据库。

DBMS是由一下几个组件构成(如图2所示)。

1)应用程序接口

与DBMS通信的库。多数DBMS有一个命令解释器,它使用这些库来延迟从键盘输入给DBMS的请求并显示响应。在Web数据库应用中,命令行解释器通常被中间层脚本编程语言一部分的函数库所取代。

2)SQL解释器

用于检查进来的查询语句的语法并将这些语句转换成内部命令。

3)查询计算器

通过参考数据库统计和属性为计算一个查询生成不同的计划,选择其中一个计划,并将其转换为将要执行的低级动作。

4)数据访问

图2 DBMS组件构成

对存储在磁盘中的数据访问进行管理的模块包括一个转换管理器、恢复管理器、主存缓冲管理器、数据安全管理器,以及文件和访问方法管理器。

5)数据库

物理数据本身存储在数据文件中。为了对数据快速的访问,数据还包含索引文件,而数据库和系统摘要统计主要用于查询计划的生成和优化。

5结束语

随着互联网信息规模的扩大,复杂程度的提高和高效应用的积聚增加,基于数据库应用的Web技术越来越引起人们的关注。其在复杂的电子表格或文本文件关系管理;容许多用户处理;高速访问、安全性、数据恢复等方面为你的开发使用带来许多意想不到的实惠。随着该技术的不断成熟,基于数据库应用的Web技术将会有广泛的应用背景。

参考文献:

[1] Date C J.数据库系统导论[M].8版.孟小峰,王珊,姜芳艽,译.北京:机械工业出版社,2007.

[2] Silberschatz A,Korth H F,Sudarshan S.数据库系统概念[M].5版.杨冬青,马秀莉,唐世渭,等,译.北京:机械工业出版社,2006.