分类: 服务器与存储
2008-08-17 17:23:59
InfoQ中文站在北京举办了第一次,邀请了中国雅虎的首席架构师曾宏威分享了关于互联网开放平台方面的架构和趋势等。本次活动参会者45人,包括来自新浪、阿里妈妈、百度、腾讯、方正等公司的研发负责人。活动以讨论为主,演讲为辅,持续时间约为3个小时。本文是对本次QClub活动内容的一个简短总结,希望对没有到现场参会的读者了解开放平台的发展和趋势有所帮助,也希望能引起大家更多的讨论。
在曾宏威的演讲中,他提到了Web 3.0的概念。虽然目前很多人都在谈Web 3.0,但事实上对“什么是Web 3.0”这个问题并没有很好的解答。而相比于Web 3.0,Web 2.0的概念更师出有名。在2001年的互联网泡沫中,很多人认为互联网崩溃的时刻已经来临,但是O'Reilly的创始人Tim O'Reilly却注意到互联网比其他任何时候都更加重要,许多令人激动的新应用和网站以让人惊讶的速度涌现出来。在此基础上,Tim O'Reilly提出了。对于Web 3.0,现在能做的就是根据互联网的发展历程进行简单的预测。
Web 1.0和Web 2.0最大的区别在于网站内容的表现形式不同。在1.0的时代,互联网典型的情况是其内容基本都掌控在几个大的门户手中,比如现在国内的新浪、搜狐、雅虎等基本属于这个情况,用户获取内容的方式就是去“只读”。到了2.0时代,互联网的构成发生了很大变化,可以注意到小网站的数量远远超过了大的门户网站,包括内容和流量等。有个不太确切的统计数据显示,现在中国几个大的门户网站的流量加起来还不到中国互联网流量总和的10%。另一个比较有意思的变化来自于用户使用互联网的习惯,与以往用户单纯阅读内容不同,现在的用户开始主动贡献内容,比如写博客等。而在3.0时代,用户开始将自己的生活、工作与互联网结合起来,比如网上购物等。随着开发门槛的降低,用户自己就可以创建一些定制化的应用,然后放在网络上供其他人使用,这儿比较典型的例子是Facebook。根据曾宏威的总结,Web 3.0可以说是一个应用的时代。
放平台的类型
回到开放平台的主题,在演讲中,曾宏威将当前的开放平台进行了分类。首先是Open API,其特点是某些垂直领域的网站将自己的接口暴露出来,提供给最终用户或者是第三方,让他们可以据此搭建一些和该网站业务相关的应用,从而促进网站的用户注册和流量等,比如Yahoo!的地图API,视频网站YouTube的API,以及国内互联网公司淘宝网的Open API等。第二个是Widget(窗件或者挂件),比较典型的例子有Yahoo!的Widgets,Google的Gadgets和Netvibes的UWA等,用户可以用这些Widget增强自己网站的功能或者体验等。第三类就是目前比较火的社交平台,比如Facebook、MySpace,以及国内的、等。另外一类是辅助你基于已有的开放平台或者API进行开发应用的工具,比如Yahoo!的Pips和微软的Popfly等,使用它们可以很快地开放一些Mashup应用。一个典型的应用是有人借助Pips将一个招聘网站的数据和雅虎的Maps整合在一起,为那些在硅谷附近工作的人提供找出租房的服务,比如你在这个应用里输入一个地址,就能知道周围5公里内有哪些房子要出租。最后一种类型,也是现在越来越热的一类,就是云计算,例子就是和等,现在已经有很多网站的数据跑在这些应用上。用图表表示如下:
类型 | 例子 |
Open API | Yahoo! Maps API YouTube API 淘宝 OpenAPI |
窗件 API | Yahoo! Widgets Google Gadgets Netvibes UWA |
社交平台 | Facebook MySpace |
开发工具 | Yahoo! Pipes MS Popfly |
云计算 | Google AppEngine Amazon Elastic Compute Cloud |
上面两部分是中国雅虎的首席架构师曾宏威在演讲中,就互联网的趋势和开放平台的分类进行的阐述。本章节和下面的几个问题是参会者基于曾宏威的演讲,在QClub的后半段所进行的讨论。
NCP本身并没有定义用户自己的Widgets需要是Social(社会)级别的还是Enterprise(企业)级别的,它提供的只是一个运行环境,然后尽可能地将自己的计算资源和接口开放出来。如同前面在界定Web 3.0的概念时所提到的,未来的互联网将是一个集合多种应用的网络,这儿的应用就包括企业应用,比如OA或者CRM等。相对于个人用户而言,企业更关心的可能是NCP能否就数据库容量或者安全性等方面提供可靠的支持。曾宏威回答说,从NCP的架构设计来讲是没有问题的,和雅虎其他的产品在设计时所考虑的一样,高可用性、超大访问量等都在NCP设计的考虑之列。就安全性而言,比如现在NCP集成了淘宝网的支付接口等,对于企业用户的安全性是有保障的。另一方面,他建议用户在使用类似NCP这样的开放平台搭建应用时,自己对安全性也要多加考虑。
在讨论开放平台未来的发展趋势,尤其是应用间如何整合时,来自的高级工程师方舟提到一个很有趣的例子。在他开始接触豆瓣网时,发现上面有很多自己喜欢的书籍、碟片等,而且有许多精彩的评论,一下子就调动起了自己购买的热情。要知道豆瓣网由于设计的精炼,用户体验非常好,而当他从豆瓣网顺着链接找到购书网站当当网或者卓越网时,在体验方面有了一个很大的落差,而且通常发现有些书或者碟片无法购买。这种挫败的感觉是可以想象到的。
其同桌讨论的阿里妈妈过程改进负责人李宇(璎珞天色)总结说,对网民来说理想的开放平台应该是几个大的网站,比如Yahoo、MySpace、Facebook、豆瓣网或者当当网之间能给进行比较好的整合,提供给用户一个一以贯之的体验。但是由于各种原因,现实的情况是,大家都在谈开放平台,但只是将自己有限的资源以接口的形式暴露出来,其目的也是希望用户都能到自己的平台上来并且最好能永远留下来,不到其他地方去。具体的表现是国内的几个大的互联网厂商,比如腾讯、百度、新浪、Google和雅虎等,做了搜索就去做社区,社区做完然后做博客,博客搞定之后还要去做C2C的物品交易等,也就是每个网站都希望满足用户所有的需求,选此一家,别无他求。借用一句古语来说,开放平台的发展依然是“路漫漫其修远兮”。
QClub后半段:分组讨论
顺着上面的问题来讨论,那么开放平台究竟是一场阴谋还是一个活雷锋?如果按照我们目前的理解,大的互联网厂商之所以开放接口,只是为了吸引更多的用户的话,显然这是一个不折不扣的阴谋,不同的只是大家都还没有找到很好的商业模式。事实是否如此呢?宏威反驳道,互联网从诞生的那一天起,就打上了深深的开放烙印,不论是HTTP还是XML都有着很强的连通性和通用性。虽然现在各家都在推自己的应用或者标准,但是未来这些开放平台一定会有一个通用的标准出来。这一点可以借鉴Email的发展历史,Email应该说是互联网最早期的协议之一,不论你使用的Email是雅虎的,微软的,还是Google的等等,由于Email的协议是互通的,所以无论你的帐户在哪里,都可以和别人通信。将来互联网上的一种可能情况是,你开发了一个应用,不论是放在A网上,还是B网上,甚至C网上都可以顺畅地运行。总体来说,这应该是一个良性的竞争,谁的网站做的好,谁聚集的应用就会更多,用户也会喜欢到你的网站上来。
在新浪系统研发部总监黄冬所在的讨论组中,他们讨论了开放平台目前所面临的一些难题。在他的总结中,他提到:
在对开放平台的技术架构进行剖析讨论时,刘新声(OZZZZZZ)阐述了REST的优势。从Roy Thomas Fielding博士的《》论文被翻译成中文版后,REST逐渐成为国内技术社区讨论的终点,而REST概念也确实给网站架构设计领域带来许多新鲜的思想。由于REST基于现在互联网上最常用和公用的协议和标准,所以应用REST的网站所提供的API可以更加简洁,网站框架的结构性、可伸缩性也会比较好。
曾宏威进一步总结到,他认为REST只是网站架构实现的一个范式,而不是一个成型的协议,比如像FTP、HTTP等,最典型的就是REST没有很好地解决数据在传输时的封装格式问题。由于XML协议本身比较重,而且性能和效率也不是特别理想,它基本上已经被证明为互联网互操作领域的一种不太可行的格式,所以将来很有可能会出现另外一种新的协议或者格式。他认为将来最有可能出现的一种组合是REST+JSON(JavaScript Object Notation,一种轻量级的数据交换格式)。
注:本次QClub的视频和PPT文件会在下周发布,届时也将会以新闻的形式通知给大家,请大家注意浏览。本次活动特别感谢和的大力协助!
QClub是什么?有什么主要特点?
简而言之,QClub是由InfoQ中文站主办的一个技术社区交流活动。其主要特点是根据当前技术热点确定讨论主题(目前北京地区举办频率为1个月一次),根据组织者所在地区确定活动地点;面向的对象为企业软件开发领域的中高端技术人员,如CTO/CIO、架构师、技术团队负责人、项目经理和高级软件开发人员等;每次活动仅设置一个主题,邀请一个分享嘉宾,活动的大部分时间为讨论而非演讲,原因是我们认为每一个参会者都是一个好的演讲者,都可以将自己的开发经验、教训与他人分享,思想的碰撞才能更激发自己的创造力。
如何参与QClub的组织举办?
InfoQ中文站是一个关注企业软件开发领域变化与创新的在线技术社区,其运营理念是扎根社区、服务社区和引领社区。InfoQ中文站希望借助QClub活动,能为国内的中高端技术人员提供一个交流和交友的平台。QClub不仅会在北京举办,也会在其他城市举办。InfoQ中文站作为一个社区平台,为各地的QClub技术活动提供宣传和推广,协助策划活动主题和活动组织等,从而逐步激活当地的技术社区氛围。我们期待对QClub感兴趣并乐于服务社区的朋友能与我们联系,一同服务和促进国内技术社区的发展。InfoQ中文站联系方式editors[AT]cn.infoq.com,来信请注明InfoQ中文站注册账号、个人简历和联系方式等。