我很希望B/S快点退出历史舞台!
建设一个client and server多对多的互联网环境。并且client的部署和B/S一样方便,甚至你可以没有client的概念,而只有获得服务的概念。
放眼过去,.net战略最为接近。
我不明白为什么很多认为基于浏览器等的所谓Web OS会大放光彩。
显然由OS延伸来构造一个互联网应用平台合理的多。
传统we作为运行平台有先天的不足!
就从传统web说起,一个html浏览器(client)<---->html提供者(web服务器)。也就是它也只是传统C/S架构一
种,只是它基于标准而带来了普及性,使得html浏览器(client)逐步演变为一个基础设施(平台)。很多应用在往这个架构上移,于是基于这个架构的
被称为B/S的架构出现了。然而很遗憾,它原先并不是作为互联网应用平台角度而设计的,于是就有了以下的感慨:
纵观web的历程,就是在一个不适合交互的基础架构上搭建交互。
扭曲的发展!
强扭的瓜的感觉。
所以我们要的是一个更为通用的互联网应用平台,它应该吸取B/S的URL的想法,但是他指向的是实际的程序,并被下载到本地运行。但这个过程某种程度上被透明,所以对用户来说他完全可以没有client的概念!当然他首先应该有这样一个互联网应用平台。
其实这就是让用户直接可以面向服务,面向服务是个好概念,所以它并不局限于人于机器之间。软件不同的组件之间或不同应用之间(可分布在不同物理设备上)可以面向服务的概念集成在一起------即SOA.其中已多对多,松耦合为特点。
实际上通过一个执行环境(运行时)去统一所有的计算设备已经被认为是不可行的,曾经的很多分布式架构以及java都试图这样做,java希望世界所有的计算设备上都运行着java,并都通过java来交流。很遗憾,java没有做到。
所以SOA来了,就目前来说 web 服务 被认为是实现SOA的良好架构,而 web
服务的核心是什么,不管怎么说我觉得XML必是其一,而XML又是基于公共标准的。这里的关键为了实现应用之间的互联互通,我们无需要两个应用都构架于同
一个执行环境(运行时),因为我们仅将我们将要在线上交换的信息达成一致。
这就带来了松耦合,及强大的灵活性。在SOA下信息孤岛确实可以被很好的解决。
所以有人说SOA之于企业应用,就如同TCP/IP之于互联网。
其实html有今天的普及,也是因为它是一个基于文本的公共标准的消息格式不依赖于执行环境,但是它的设计目标性太强不具有通用性的要求。因为它一开始就是为一个具体的应用架构而设计的。然而后面对于它的要求不断拓宽,甚至希望它能变
成一个运行平台于是xxxscript开始了,但是这时实际上已经存在了执行环境的依赖了,因为不同xxxscript有不同的执行环境
所以这时就有这个网页怎么在这个浏览器上不能打开的这样的说法了。而反过来虽然有了xxxscript但是还是受到B/S架构的很多
限制(B/S的页面模型)。所以与其不伦不类还不如将与人打交道的最终客户端直接置身于本地的执行环境中,并且这个执行环境要具备“使得client的部
署和 B/S一样方便,甚至你可以没有client的概念,而只有获得服务的概念。”
如果对这个执行环境美其名曰一下:那么就叫它RIA平台吧!
显然这个东西没有一个公共的标准,所以几路人马现在是各自而战,来打造这一平台,并且进行部署。
如Flex那一路,在部署的时候搞的是:悄悄的进行,打抢的不要。因为是目前主流浏览器都装有flash player,等于无形中它的RIA平台已经部署好了。
而MS显然是大张旗鼓:我是老大我怕谁。一句话,因为对MS来说vista就是RIA平台。当然细分一下应该是其上的.net平台来支撑RIA。因为MS原有在桌面OS的垄断地位,使得它将.net融于vista以大兵团作战,成败在此一举!
不管怎么说,vista比起其他几路人马,确实是最完整,最强大的RIA平台。
b/s增强前台交互能力的方向意味着什么,意味着在要有更强的描述行为逻辑的语言(程序设计语言)写的东西在本地执行,那么这些描述行为逻辑的语言是不是有好多,。。。。。。???!!!!
其二,有很多应用仅凭Http(请求---响应)这种交互方式不够,比如有些是要请求----回调,还有一些是观察者模型的交互等
等.比如报价系统就是属于这种观察者模型的,客户端发送某个报价信息的请求,那么以后这个报价一有变化服务器端就要立刻通知客户端(这里TGP连接要一直
保持着).
其三,是UI,采用HTML描述的UI过于不足,很多应用需要构建丰富的UI.
如果B/S架构做到了以上说的,那么还是B吗???平台无关性又如何保证???
其实对于这个问题应该这么说: b/s向基础平台发展是一个扭曲的发展,
因为它是一个应用架构.
而由OS延伸则更为合理.
当然如果某个应用符合B/S架构,那么b/s当然是不错的选择.只是它向基础平台发展是一个扭曲的发展.(再次强调!)
或者这个话题可以这么说:
希望b/s向基础平台发展可以快点结束了!
我们来看一个问题。
定义一个描述信息(内容)的语言的标准(HTML,XML...),和定义一个一统的程序语言(java ,c,c++,c#,.................)的标准哪一个容易。
事实告述我们应该是前者。也就是说Application背后的运行环境注定是多样性的。
那么web为什么能跨平台呢?因为它们共享的是前者,一个HTML标准,HTML不是Application。然而扭曲就从这里开始,HTML不断扩展在向Application演进,随之跨平台特性不断削弱。
那么这样一个演化说明了什么呢?说明我们需要Application,且它要像web一样易部署。我们可以称使得这样的Application得以运行的平台为互联网应用平台。
但Application终究有很多不同的平台,互联网应用平台也不例外。但我们想想web演化的最后是不是还是难逃Application平台的多样性呢!(而且它走的路扭曲的多)
所以问题关键回到了谁将最有可能成为互联网应用平台的老大,目前来看实力最强还是vista.
其实个人感觉vista一大使命就是要将传统OS延伸成一个互联网应用平台,很多人似乎忽略了MS的这个野心。
Tim Berners-Lee的说Web是一个"信息空间"。很精辟!
但我们更需要互联网是一个"服务空间",技术一点的话叫"Application空间",只是这些Application要以服务的方式提供出去.所以人性化的讲法叫"服务空间".
当然提供信息也是服务,所以前者是后者的一个子集!