RIA==计算向客户端的转移+服务器向数据中心的回归==美好时代的来临

HTML5将干掉一切。

FLASH,SILVERLIGHT,JAVA FX,FLEX。。。

一直将目光聚集在MS,ADOBE,SUN这些公司的周围。这是个错误。

计算任务当然一定需要也将会得到执行,不管在数据库还是在服务器,或是客户机。它总会在某个地方完成。这是确定的。区别只是,我到底想让它在哪里完成。或,我到底想在哪里完成它。

如果这些都是真的或高概率的,那么,对于服务器来说,真正的挑战将会开始浮出水面:数据服务与并发。

什么是数据?

数据指的是信息。指的是系统的价值所在。如对于一个门户网站来说,一篇文章就是数据。但对于大多数企业级应用来说,数据指的仅是数据(原义上的数据)本身。

对于面向内容的应用,RIA的意义仍然不小。面向内容的应用相对于面向数据的应用,多了一个挑战:缓存。因为内容的信息特性是它的大尺寸。对于大尺寸信息,缓存是唯一的也是最好的性能优化手段。但是系统不可能缓存全部内容,所以,在缓存以外,系统还必须拥有处理长尾内容(访问频率比较低,但数量庞大)的机制。此时,数据服务的思想仍然可以得到应用即拥有它的价值。

一个不需要的担心是,客户机不如服务机性能优越。诚然!但当访问高峰来临时,情况就不一样了。客户机在这样的时刻大部分都在翘着二郎腿干瞪眼,而服务器却忙得不得了。让客户机从服务器拿过来一部分的计算任务,这其实正是分布式计算的出发点。分布式计算的思想在服务器端已经得到了广泛的应用。为什么不把它扩展到客户端上来呢?

有一个问题:不管计算到底在哪里完成,服务器都有一定量的工作要做:要么自己完成“工作”,要么将“工作”传输给客户机。当“工作”本身的尺寸比较大时,应该对传输这个“工作”所需的I/O工作量与完成(即在本地执行。待完成以后再将结果传回客户机)这个“工作”所需的工作量进行比较。如果传输的工作量大于在本地执行的工作量,那么显然应该在本地执行这个工作。

 

除了RIA,其实还有一件更值得做的事情。那就是,在浏览器上做P2P。

你可能感兴趣的:(html5)