构建的可伸缩性和达到的性能:一个虚拟座谈会
这个由业界主要专家们参加的座谈会探究了在使应用程序具备尽可能好的伸缩性及性能的过程中所面临的挑战和思考过程。
- Architecture, Java, .NET, Ruby,
作者 霍泰稳 发布于 2008年6月21日 上午6时52分
在6月12日Google举办的Google开发者日上,Google中国对外宣布其“开放平台战略”,并表示已经和包括天涯、Myspace、CityIN、天际网、豆瓣、校内网、海内网等在内的国内知名SNS网站结成联盟。而在JavaEye站长Robbin写的一个针对OpenSocial分析的博客中将其归结为“一个Google的公关骗局”,引起了不小的反响,也有网友对此提出不同的看法。
在Robbin的博客中,他首先提到OpenSocial只是一个Widget,或者说是一个小工具,远不能和Facebook上的应用相提并论,也没有办法处理复杂的应用:
OpenSocial是怎么回事呢?OpenSocial仅仅是一个xml文件而已!这个xml你既可以上传到提供OpenSocial容器的SNS网站上面,你也可以放在自己的网站上面。……因此OpenSocial根本就没有办法做复杂的应用,他顶多只算是一个可以嵌入页面的widget,可以搞点花哨的页面效果,可以用AJAX方式抓点数据来显示,或者增加点锦上添花的AJAX搜索什么的小功能,但你想用OpenSocial来做类似Friends for Sale那样复杂度的应用的话,没门!
在论述中,Robbin将Facebook上的App比喻成“用Java来做一个全功能的Web应用”,而将OpenSoacial的Widget比喻成“用Html/JavaScript写一个纯静态的Web应用”。随后,他从接口的规范和版本的兼容性上对OpenSocial提出质疑:
目前号称支持OpenSocial的这些网站列表,支持的标准是各自不同的,有支持v0.5的,有支持v0.6的,也有支持v0.7的。你当网站是搞企业开发啊,你Google升级一个版本,我们一定能很快的升级代码,支持上去吗?万一我平台上面好多老版本的widget已经在跑了,我一升级不兼容咋办?
从OpenSocial给联盟网站和开发者是否能带来足够的好处方面,Robbin分析得出的结论是“Noting But Cost!”:
你开发OpenSocial的容器要投入大量开发力量吧? Google升级版本了,你要跟着改代码吧? 弄了一个平台出来,不像网页,人家要写程序攻击是不是太容易了点?安全性要考虑吧?你的OpenSocial平台推出以后,怎么也得推广一下吧?所以这钞票就哗哗的出去了。但问题是我们前面说过了OpenSocial根本不能给开发者带来利益,因此无法像Facebook平台那样涌现那么多App出来,那么零星三五个,甚至要SNS网站自己开发Widget,这种模式你能运营的起来吗?
最后,Robbin总结道:
OpenSocial就是一个Google的公关骗局,是Google为了抵抗facebook推出的一个防御性策略,一个从技术层面,从商业层面完全经不起推敲的坏主意,OpenSocial目前和Facebook之间的差距完全不在一个层面上。
在对这篇博客的回复中,天际网CEO郭应寿认为Robbin所下的结论为时尚早,还需要进一步的论证:
从实现Opensocial规范的角度来说,我个人的观点是:这是一个Mashup平台的实施。绝对不像你说的那样:“OpenSocial只不过是一个Widget”。如果是程序员的话,有时间看看Shindig的源代码,等你真正地了解OpenSocial背后的技术思想,对其系统架构,应用架构以及安全架构至少有点初步认识后,自己再下结论也不迟。
网友wangjinpeng认为OpenSocial依然是一个新生事物,出身名门,相信其会有有很好的发展前景:
不能这样绝对吧,OpenSocial的标准制定本身就有Google的技术背景存在。如果你长时间的关注Google的Open Source,你会明显感觉Google对于Web 2.0的模式是很有其自身特点的。它所支持的Ajax模式是前端XHtml+Ajax,后端CGI或者Servlet,对于各种类似于xmpp或者其他标准的通信在CGI层实现,至于Widget和CGI的通信,可以是XML,JSON,或者字符之类的。大家都了解,Ajax对于跨域的资源请求是需要代理的,而Google的App Server貌似也会在不久推出代理的功能。
所以相信Google的OpenSocial在未来还是会按照现在的方式,不过这个XML会变成一个Manifest的dd,然后能支持Widget就是一个完整的JS本地程序。加上代理,我们完全可以将CGI放到Google App Server上,然后Widget放到OpenSocial上,不用我们花一分钱,所有的东西都由Google来负责。也不用全担心数据库的容量或者并发。
另外,相对于Robbin在技术层面上对OpenSocial的分析,也有人从战略角度分析了Google这一策略的前景:
虽然目前OpenSocial还不能做特别复杂的应用,但是它只是Google整条产品线的一个很小的部分,而Google的产品线是提供了复杂应用的能力的。换句话说,Google卖力地推广OpenSocial其实其真正目的是推广它的产品线。放在这个大的环境下分析,即使最终OpenSocial失败了,只要Google产品线上大部分的产品能给成功,Google还是成功的。像Google这样规模的公司,应该是不在乎一城一池的得失,而是从战略角度考虑问题。再比如IBM,也许很多人说IBM的某个产品很丑,但是无可否认的是,IBM整体的战略是成功的。
今天Robbin又发布了题为“我为什么鼓吹facebook,为什么唱衰OpenSocial?”的博客,从网站运营和商业回报角度分析Facebook开放战略的正确,而从技术角度、网站运营角度、商业利益角度和商业模式角度指出Google OpenSocial战略的不足。
如题
怎么现在连infoq也流行标题党了? javaeye的robbin肯定是为了炒作,增加他那破网站的流量 infoq怎么也傻了吧唧地跟着炒作?悲哀,真是悲哀!
各有各的道理,对楼上两位的观点我不敢苟同。我个人不认为这是一场炒作。OpenSocial是Google一个很大的战略,在这个时候社区对此不论是从技术上还是商业模式上进行探讨,都是有价值的,因为这很可能会影响SNS的发展方向。
To Jun Luo:本文缘起于Robbin的博客,InfoQ中文站只是尽量将对OpenSocial讨论的有价值的正反方观点进行梳理,以提供给读者参考,进而得出自己的结论。个人认为基于原文的标题更能为读者明确传达这个意思,没有必要一定要挖空心思来不一样的题目:)
To R Lee: 感谢对InfoQ中文站的关注,我喜欢有价值的评论和批评,但拒绝不文明的发言!
robbin属宋组德一类人物,自己没有什么东西搞出来,还对被人的进行贬低,无耻的炒作
八成认可!
这个由业界主要专家们参加的座谈会探究了在使应用程序具备尽可能好的伸缩性及性能的过程中所面临的挑战和思考过程。
本视频主要对OpenSocial进行了分析,并对实现的方式进行了介绍。其中包括:OpenSocial的开发经验、Container Provider的技术准备、平台的构成要素、具体的规范、以及对未来的展望。
Memcached在大型网站被应用得越来越广泛,但是Java客户端并不多,本文作者基于现有的开源客户端进行了封装优化,并翔实记录了这一过程。
在他们文章的第二部分,作者探讨了动态业务应用的架构并介绍了资源容器的概念。他们示范了如何在JEE之上构建这个架构,以及它如何影响实现生产力。
ClickOnce让WinForms应用程序的部署轻而易举。David Cooksey演示了如何在ASP.NET中编写一个HttpHandler来实现对ClickOnce部署的版本细分。
本文是Productive Java with Ruby系列文章的第二篇,通过上一篇的介绍,我想大家对如何利用Ruby进行单元测试有了一个基本的了解,从这里开始,我将和大家一起讨论一些利用Ruby进行单元测试时的高级话题。
《应用SOA》是由四位一流SOA专家合著关于SOA的新书,其主旨是帮助你成功地实施SOA。尤其是,这本书将帮助你把你的SOA项目与企业架构、IT治理、核心数据和BPM项目结合起来。
5 条回复
回复