5.4 用数据绑定实现高效率动态网页

2016-02-19 14:02 9 1 收藏

下面请跟着图老师小编一起来了解下5.4 用数据绑定实现高效率动态网页,精心挑选的内容希望大家喜欢,不要忘记点个赞哦!

【 tulaoshi.com - Web开发 】

数据绑定(Data Binding)并不是一个新概念,IE 4.0就已对其给予了丰富的支持。但是,数据绑定并未受到应有的重视,许多开发者似乎更加愿意使用服务器端脚本(Server Script)的方法。然而实际上,无论是在动态网页的代码实现方面,还是在动态网页的工作效率方面,数据绑定的效率都比后者更高。

   本文将介绍数据绑定的体系结构、工作原理及其实现方式,最后对这两种方法在编程工作量和网页效率等方面做出比较和结论。

   首先让我们看一个简单的例子。某一网页显示仓库的当前库存情况,用户可自行选择数据的排序方式:按货物的名称、价格、库存量等排序。使用服务器端的技术,例如CGI、ISAPI,或者ASP等中间件,用户若需要N种排序方式,则应用程序脚本至少要向服务器提交N次数据请求。对于同样内容的数据,仅仅因为显示方式的不同,就要进行多次数据库操作,耗费大量的网络带宽。

   另一个常见的例子是,大量数据需要分页显示时,每一次翻页都需要重新向服务器建立连接,递交查询请求,再定位数据。对这些类似问题,数据绑定都提供了高效的解决方案。  

     数据绑定的体系结构和工作原理
   数据绑定体系结构包括四个组成部分:数据源对象(Data Source Object)、数据显示对象(Data Consumers)和两个代理器(Binding Agent与Table Reptition Agent)。数据源对象向网页提供数据,数据显示对象就是显示数据的HTML元素,代理器则用来保证前两者的工作同步。图1显示了这四个部分协同工作的原理。

   如图1所示,数据源对象负责与后台数据库服务器通信,并将DB Server返回的数据以集合形式缓存在本地Cache。此后,对此数据集所做的任何操作,如排序、过滤、取子集等,都在本地Cache中进行,由代理器来负责数据源和显示该数据的HTML元素之间的通信和同步。

 

 


   图1

  

    数据绑定的这种工作方式,使得程序开发人员只要使用扩展HTML和可插入的数据源对象,就能使脚本的编程量达到最小。与传统的服务器端脚本生成的网页相比,数据只要一次下载到客户端后,对该数据所做的任何操作都不再需要额外的服务器请求,因此节省了网络带宽,提高了下载速度。

    数据绑定的实现
   本节将根据数据绑定的体系结构,分别介绍它的各个组成部分及其实现。

   1. 数据源对象(Data Source Object)

   实现数据绑定的第一步是:确定网页所要显示的数据,据此选择一个适合的数据源对象(DSO),再在网页中引用该DSO。数据绑定的灵活性首先表现在支持多种DSO,IE 4.0及以上版本支持下列DSO类型:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

   ●Tabular Data Control(TDC):这是一种简单的DSO,提供对格式化文本文件的访问。也就是说,TDC提供的数据● 动态控制被显示数据的数量,即可动态改变分页显示时每页包含的记录数。

   支持Update功能的Data Consumer不但支持上述功能,还支持记录的增加、修改和删除。也就是说,用户在交互页面上对数据的增加、修改和删除,将影响到显示该数据的元素所绑定到的数据集。为了方便对数据集的控制,数据绑定允许开发人员使用ADO(Active Data Objects)提供的所有方法和属性来维护DSO提供的数据集,包括Insert、Update、Delete及Navigation等操作。

   数据绑定中一个非常重要的问题是,一定要清楚对Data Consumer所做的操作到底影响了哪些数据:是只对本地Cache中的数据起作用,还是已真正改变了后端数据库(这与DSO的类型有关)。TDC、XML Data Source以及MSHTML Data Source都只支持对Cache中的数据进行改变,而不支持将改变后的Cache中的数据提交到数据源所连接的后端数据库。而RDS和JDBC DataSource Applet都支持修改后端数据库的功能。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

比较及结论
   从表1可以看出,相对于服务器端脚本,数据绑定所生成的网页工作效率明显提高。但是使用该方法对程序员的要求较高,需要对Data Binding的深刻理解才能充分发挥将它的优良特性。复杂的工作就是高效率所必须付出的代价,在应用中,开发者应根据具体的需求和实际情况,选择适宜的方法或是将两者结合使用,以便获得最高的性能价格比。

 

表1 
 比较项目
 数据绑定
 服务器端脚本
 
网页工作效率
 数据下载
 同步/异步
 同步
 
对数据进行过滤或排序
 只需建立一次连接
 n次操作需建立n次连接
 
分页显示
 只需建立一次连接
 每次翻页需要新连接和定位数据
 
通过data consumer直接修改数据库
 支持,且不需编程
 支持,但需编程
 
结论
 下载速度明显提高,与用户交互快,提供高质量的服务
 下载速度与交互速度不如数据绑定方式
 
编程工作效率
 编程灵活性
 高
 高
 
编程工作量
 少
 多
 
编程复杂性
 高
 低
 
结论
 编程工作量少,使用灵活.但要求程序员必须熟悉dso和data consumer所支持的特殊方法和属性,编程比服务器端脚本复杂
 虽然编程工作量大,但使用灵活简便,只需熟悉一般数据库操作的程序员即可胜任
 

来源:https://www.tulaoshi.com/n/20160219/1606044.html

延伸阅读
上班族如何高效率利用午休? 工作起来忙个不停,已是多数上班族的常态,但有时会加重大脑负担,导致注意力下降。美国伊利诺伊大学研究指出,适当的休息能令大脑恢复活力,有助提高工作效率。为此,美国刊文提醒,午休也有章可循,做对了可以事半功倍。 休息时一定要离开电脑。很多上班族午休时会坐在电脑前刷微博放松,但这样...
标签: Java JAVA基础
用JSP构建动态网站 孙以义 杜鹃 一、 什么是JSP JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准,其网址为http://www.javasoft.com/products/jsp。 在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。Web服务器在遇到访问JSP网页...
标签: autocad教程
关键字: AutoCAD 2009 AutoCAD对象 中望CAD AutoCAD三维造型 AutoCAD造型本文详细介绍AutoCAD结合CAXA电子图板提高效率 我这里有一种自认为比较好的方法先供大家参考一下,可能有些班门弄斧的嫌疑,但我知道的,我想可能还是有部分人不知道,就算是抛砖引玉,献丑一次吧,希望各位理解和支持,并提出宝贵的意见和建议!谢谢一起学习...
标签: 电脑入门
今天正式开玩OneNote。最早见到Win8系统Metro的OneNote应用,对其简洁的界面深表喜爱!很清楚的笔记本--分区--页面管理层级上手很容易,接下来Win8e.com会有几篇文章深入挖掘OneNote的优秀之处并分享给大家,以下是微软官方的一则宣传视频,一起欣赏下吧: 您的笔记与您形影不离 可在您的各种设备上使用。  随身携带笔记。 当您在 Window...
标签: 心理健康
生活中总是会有这么一类人存在,他们喜欢将所有的事情都拖到最后一起处理,一旦时间来不及,他们就没办法完成这些事情。有的严重的甚至会影响到工作和生活。那么得了拖延症怎么办呢?你知道拖延症怎么治疗吗?今天我们就来为大家介绍一下方法,教大家7天治愈拖延症。 其实拖延症人人都有,只是有的人比较轻,而有的人比较严重而...

经验教程

12

收藏

96
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部