写点什么

互联网开放平台技术趋势和讨论

QClub 活动 (6.14) 总结

2008 年 6 月 17 日

——QClub 活动 (6.14) 总结

2008 年 6 月 14 日,InfoQ 中文站在北京举办了第一次 QClub ,邀请了中国雅虎的首席架构师曾宏威分享了关于互联网开放平台方面的架构和趋势等。本次活动参会者45 人,包括来自新浪、阿里妈妈、百度、腾讯、方正等公司的研发负责人。活动以讨论为主,演讲为辅,持续时间约为3 个小时。本文是对本次QClub 活动内容的一个简短总结,希望对没有到现场参会的读者了解开放平台的发展和趋势有所帮助,也希望能引起大家更多的讨论。

互联网发展趋势——Web 3.0

在曾宏威的演讲中,他提到了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 2.0 的概念。对于 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,以及国内的校内网 51.com 等。另外一类是辅助你基于已有的开放平台或者 API 进行开发应用的工具,比如 Yahoo! 的 Pips 和微软的 Popfly 等,使用它们可以很快地开放一些 Mashup 应用。一个典型的应用是有人借助 Pips 将一个招聘网站的数据和雅虎的 Maps 整合在一起,为那些在硅谷附近工作的人提供找出租房的服务,比如你在这个应用里输入一个地址,就能知道周围 5 公里内有哪些房子要出租。最后一种类型,也是现在越来越热的一类,就是云计算,例子就是 Google 的 AppEngine Amazon 的 EC2 和 S3 等,现在已经有很多网站的数据跑在这些应用上。用图表表示如下:

类型 例子 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## NCP 对企业应用的支持

上面两部分是中国雅虎的首席架构师曾宏威在演讲中,就互联网的趋势和开放平台的分类进行的阐述。本章节和下面的几个问题是参会者基于曾宏威的演讲,在 QClub 的后半段所进行的讨论。

NCP 本身并没有定义用户自己的 Widgets 需要是 Social(社会)级别的还是 Enterprise(企业)级别的,它提供的只是一个运行环境,然后尽可能地将自己的计算资源和接口开放出来。如同前面在界定 Web 3.0 的概念时所提到的,未来的互联网将是一个集合多种应用的网络,这儿的应用就包括企业应用,比如 OA 或者 CRM 等。相对于个人用户而言,企业更关心的可能是 NCP 能否就数据库容量或者安全性等方面提供可靠的支持。曾宏威回答说,从 NCP 的架构设计来讲是没有问题的,和雅虎其他的产品在设计时所考虑的一样,高可用性、超大访问量等都在 NCP 设计的考虑之列。就安全性而言,比如现在 NCP 集成了淘宝网的支付接口等,对于企业用户的安全性是有保障的。另一方面,他建议用户在使用类似 NCP 这样的开放平台搭建应用时,自己对安全性也要多加考虑。

理想和现实的开放平台

在讨论开放平台未来的发展趋势,尤其是应用间如何整合时,来自 Idapted.com 的高级工程师方舟提到一个很有趣的例子。在他开始接触豆瓣网时,发现上面有很多自己喜欢的书籍、碟片等,而且有许多精彩的评论,一下子就调动起了自己购买的热情。要知道豆瓣网由于设计的精炼,用户体验非常好,而当他从豆瓣网顺着链接找到购书网站当当网或者卓越网时,在体验方面有了一个很大的落差,而且通常发现有些书或者碟片无法购买。这种挫败的感觉是可以想象到的。

其同桌讨论的阿里妈妈过程改进负责人李宇(璎珞天色)总结说,对网民来说理想的开放平台应该是几个大的网站,比如 Yahoo、MySpace、Facebook、豆瓣网或者当当网之间能给进行比较好的整合,提供给用户一个一以贯之的体验。但是由于各种原因,现实的情况是,大家都在谈开放平台,但只是将自己有限的资源以接口的形式暴露出来,其目的也是希望用户都能到自己的平台上来并且最好能永远留下来,不到其他地方去。具体的表现是国内的几个大的互联网厂商,比如腾讯、百度、新浪、Google 和雅虎等,做了搜索就去做社区,社区做完然后做博客,博客搞定之后还要去做 C2C 的物品交易等,也就是每个网站都希望满足用户所有的需求,选此一家,别无他求。借用一句古语来说,开放平台的发展依然是“路漫漫其修远兮”。

QClub 后半段:分组讨论

开放平台是阴谋还是雷锋?

顺着上面的问题来讨论,那么开放平台究竟是一场阴谋还是一个活雷锋?如果按照我们目前的理解,大的互联网厂商之所以开放接口,只是为了吸引更多的用户的话,显然这是一个不折不扣的阴谋,不同的只是大家都还没有找到很好的商业模式。事实是否如此呢?宏威反驳道,互联网从诞生的那一天起,就打上了深深的开放烙印,不论是 HTTP 还是 XML 都有着很强的连通性和通用性。虽然现在各家都在推自己的应用或者标准,但是未来这些开放平台一定会有一个通用的标准出来。这一点可以借鉴 Email 的发展历史,Email 应该说是互联网最早期的协议之一,不论你使用的 Email 是雅虎的,微软的,还是 Google 的等等,由于 Email 的协议是互通的,所以无论你的帐户在哪里,都可以和别人通信。将来互联网上的一种可能情况是,你开发了一个应用,不论是放在 A 网上,还是 B 网上,甚至 C 网上都可以顺畅地运行。总体来说,这应该是一个良性的竞争,谁的网站做的好,谁聚集的应用就会更多,用户也会喜欢到你的网站上来。

开放平台目前面临的困境

在新浪系统研发部总监黄冬所在的讨论组中,他们讨论了开放平台目前所面临的一些难题。在他的总结中,他提到:

  • 现在大家对开放平台的接受度依然比较低,其讨论组 10 个人中仅有 1 个人目前在使用 Amazon 提供的 EC2 和 S3 服务。
  • 另外虽然有部分公司愿意将自己的企业应用移植到开放平台上来,但是他们同时期望这个移植过程短而又短,这在目前该领域技术人员相对缺乏的情况下,难度是比较大的。
  • 开放平台目前一个比较大的特点是,虽然大家都开放了自己的 API,但是并没有真正将自己的数据分享出去,而只是期望大家来学习。
  • 最后一个比较困难的地方就是因为 Open API 还不是特别成熟,很多人还不清楚如何有效地利用也已存在的数据来提高自己网站的功能或者流量,在用户和厂商之间仍然需要有一个桥梁来解决。

期待平台对 REST 有更多的支持

在对开放平台的技术架构进行剖析讨论时,刘新声(OZZZZZZ)阐述了 REST 的优势。从 Roy Thomas Fielding 博士的《架构风格和基于网络的软件架构设计》论文被翻译成中文版后,REST 逐渐成为国内技术社区讨论的热点,而REST 概念也确实给网站架构设计领域带来许多新鲜的思想。由于REST 基于现在互联网上最常用和公用的协议和标准,所以应用REST 的网站所提供的API 可以更加简洁,网站框架的结构性、可伸缩性也会比较好。

曾宏威进一步总结到,他认为REST 只是网站架构实现的一个范式,而不是一个成型的协议,比如像FTP、HTTP 等,最典型的就是REST 没有很好地解决数据在传输时的封装格式问题。由于XML 协议本身比较重,而且性能和效率也不是特别理想,它基本上已经被证明为互联网互操作领域的一种不太可行的格式,所以将来很有可能会出现另外一种新的协议或者格式。他认为将来最有可能出现的一种组合是REST+JSON(JavaScript Object Notation,一种轻量级的数据交换格式)。

:本次QClub 的视频和PPT 文件会在下周发布,届时也将会以新闻的形式通知给大家,请大家注意浏览。本次活动特别感谢 ZDNet China(至顶网)华章图书的大力协助!

QClub 是什么?有什么主要特点?

简而言之,QClub 是由 InfoQ 中文站主办的一个技术社区交流活动。其主要特点是根据当前技术热点确定讨论主题(目前北京地区举办频率为 1 个月一次),根据组织者所在地区确定活动地点;面向的对象为企业软件开发领域的中高端技术人员,如 CTO/CIO、架构师、技术团队负责人、项目经理和高级软件开发人员等;每次活动仅设置一个主题,邀请一个分享嘉宾,活动的大部分时间为讨论而非演讲,原因是我们认为每一个参会者都是一个好的演讲者,都可以将自己的开发经验、教训与他人分享,思想的碰撞才能更激发自己的创造力。

如何参与 QClub 的组织举办?

InfoQ 中文站是一个关注企业软件开发领域变化与创新的在线技术社区,其运营理念是扎根社区、服务社区和引领社区。InfoQ 中文站希望借助 QClub 活动,能为国内的中高端技术人员提供一个交流和交友的平台。QClub 不仅会在北京举办,也会在其他城市举办。InfoQ 中文站作为一个社区平台,为各地的 QClub 技术活动提供宣传和推广,协助策划活动主题和活动组织等,从而逐步激活当地的技术社区氛围。我们期待对 QClub 感兴趣并乐于服务社区的朋友能与我们联系,一同服务和促进国内技术社区的发展。InfoQ 中文站联系方式 editors[AT]cn.infoq.com,来信请注明 InfoQ 中文站注册账号、个人简历和联系方式等。

2008 年 6 月 17 日 02:253243

评论

发布
暂无评论
发现更多内容

前置机器学习(五):30分钟掌握常用Matplotlib用法

caiyongji

机器学习

我提升开发效率的经验

流沙

程序员 成长笔记 成长与思考

go训练营毕业总结

伊灵

数据库设计范式

在即

28天写作 28天挑战 3月日更

腾讯高级架构师熬夜整理:中间件MyCat实战笔记,开放下载

周老师

Java 编程 程序员 架构 面试

前置机器学习(三):30分钟掌握常用NumPy用法

caiyongji

机器学习

可以称之为“offer”收割机的阿里内部Java面试核心冲刺手册有什么魅力?

程序员小毕

Java 编程 架构 面试 分布式

js逐步教实现表单系统(html逻辑 css逻辑 js逻辑)

贵哥的编程大路

前置机器学习(四):一文掌握Pandas用法

caiyongji

机器学习

第九周作业

yoki

Three.js杂记(四)—— 更好的运动:TweenMax

空城机

前端 3D渲染 3D可视化 three. webg

[Thinkphp6.0 零基础到前后分离实战]一

重庆柯一网络有限公司

js逐步教你实现原生电影院系统(html逻辑 css逻辑 js逻辑)

贵哥的编程大路

js

h5逐步实现 <<canvas系统>>(html逻辑 css逻辑 js逻辑)

贵哥的编程大路

js

前置机器学习(二):30分钟掌握常用Jupyter Notebook用法

caiyongji

机器学习

Python-计算机视觉-OpenCV-Image

Aldeo

Python OpenCV 计算机视觉

js逐步教你实现原生古诗匹配系统(html逻辑 css逻辑 js逻辑)

贵哥的编程大路

js

Prophecis 0.2.0 版本发布

WeDataSphere

机器学习 大数据技术 大数据平台 机器学习平台 WeDataSphere

如何利用VGG19实现insightface人脸识别?

程序媛观澜

机器学习 人脸识别

高阶文件操作

Python测试开发

Python 文件处理

全球视野下的云上“夺旗赛”:京东云飞驰在产业赛道

脑极体

js逐步实现原生flex系统(html逻辑 css逻辑 js逻辑)

贵哥的编程大路

js

源码分析Netty:核心组件及启动过程分析

程序员架构进阶

架构 Netty 源码剖析 28天写作 3月日更

js逐步教实现音乐系统(html逻辑 css逻辑 js逻辑)

贵哥的编程大路

js

LeetCode题解:198. 打家劫舍,动态规划(不缓存偷盗状态),JavaScript,详细注释

Lee Chen

算法 LeetCode 前端进阶训练营

机器学习(一):5分钟理解机器学习并上手实践

caiyongji

机器学习

网页长截图如此简单

Python测试开发

浏览器 实用技巧 截图

C语言性能优化:移除循环体中的重复运算

一笑置之

缓存 编程 程序员 性能优化 C语言

js逐步实现原生控制系统(html逻辑 css逻辑 js逻辑)

贵哥的编程大路

js

JS逐步教你做(自己版本)的视频播放器(html逻辑 css逻辑 js逻辑)

贵哥的编程大路

js

MyBatis-Plus实现自动填充createTime和updateTime

棉花糖

springboot MyBatisPlus

演讲经验交流会|ArchSummit 上海站

演讲经验交流会|ArchSummit 上海站

互联网开放平台技术趋势和讨论-InfoQ