【IT168 评论】
自Facebook在2007年开放了应用平台后,开放平台现在已经是网络公司战略上不可或缺的一部分。目前关于开放平台有很多不同的定义和看法,本文将开放定义为开发者可以透过简单的注册方式,登录到平台上开始做应用的开发。公司企业之间合作开发已经是个常态,开放平台主要的特点在于平台给与开发者很容易进入尝试的机会。开放平台提供的不是增加成功的机会而是减低失败的成本。
从平台提供的功能,数据和服务上大致可以分成5种开放平台,而这5个平台均是针对互联网服务的开发,部署和推广提供更快捷和方便的解决方式,堆积起来给开发者一个新的舞台,进一步建立不同互联网的创业模式。
升级到云计算
云运算平台,跟随着网络的普及,建立网络应用从一开始要准备资金购买硬件和带宽渐渐的发展成在按照使用付费的云运算。这一类的平台包含Amazon的EC2/S3、Google的AppEngine以及微软的Azure。除了这些大公司提供的云运算平台外,还有如提供Ruby on Rails服务的Heroku。这些服务共同的特色在于启动的成本非常的低,运算和存储是按照使用计费加上服务后面有充沛的运算资源,提供网络应用快速的开发和部署,也能应付起伏很大的网络应用。云运算提供给网络应用的开发运营者性价比很高的基础建设。
在技术上,云运算的平台提供快速部署的工具,Amazon的EC2是个比较通用的运算环境,支援不同的操作系统和开发环境。Google的AppEngine主要是支持Python的开发,最近刚添加了对Java的支持。
对于开发者来说,在开发上需要考虑到不同环境的特色,考虑如何延展系统和分布处理运算。云运算是提供运算和存储的环境,但是延展方面还是要在程序内考虑。
开放的服务
网络服务开放平台,这一类型的平台提供网络服务的模块,让开发者能透过API调用功能,快速的集成不同的模块,来建立新的网络应用。这一类型的服务提供商相当的多,国外 ProgrammableWeb.com也是这样的服务平台。目前最有名服务应该就是Google的地图服务,提供应用开发方便集成地理服务到应用内,例如Craigslist加上Google Map让找房子的人输入地址就可以在地图上看到附近在出租的房子;亚马逊提供书籍资料的查询API加上应用开发可以透过联属网络营销方式透过推荐书籍来盈利;百度的阿拉丁是让开发者能更有效的分享结构化的数据,更进一步处理和再利用这些结构化的数据;豆瓣提供书籍、广播等的查询、YouTube提供对视频的搜索。
为了让这些不同的服务和资料可以更快速地集成,不少公司推出Mashup快速开发工具,如Yahoo!的Pipe、Google的Mashup Editor以及微软的Popfly。这些工具支援RSS/Atom的格式,能够很容易地集成不同的服务模块产生新的应用。工具如Yahoo!的Pipe还提供应用的部署服务。
目前提供这样网络服务的商业计划不是很明显,很多是大型网站作为在网站本身的服务外加上的额外功能。这些资源提供应用开发非常多的基础服务,让应用开发可以更快速。不过单纯就与这些网络服务构成的应用还没有形成太大的商业生态系,虽然有丰富的服务和快捷的工具,但是这些工具的使用并不是很普及。大部分采用这些服务的成形应用都是在后面的三个平台。
在线业务
在线业务开放平台,这样的开放平台是ERP、CRM等服务以及电子商务提供商透过API开放平台的数据I,让第三方提供新功能,满足用户的需求,这方面如Salesforce的force.com、eBey和淘宝提供的开放平台。这些平台的用户明确,需求能很有效的定义,应用开发要做好调研,对用户业务有深刻的了解,明白用户的需要,找到属于自己的利基市场。
面向商业用户提供服务的开放平台已经有相当久的历史了。从最早的EDI到20世纪90年代谈B2B的几个标准,第一个面向互联网完整建立开放平台和商业生态系就是eBay了,早在2000年,eBay就开放了平台提供第三方应用开发提供加值服务的机会,随着eBay上热烈的交易和更多的商家进入,第三方应用提供商的生态系也随着完善提供各种不同的服务给eBay的商家从会计、物流、客服、商品管理等全系列的服务。目前eBay上有45%的产品是透第三方的服务上架。eBay目前的接口支援产品、商品、交易、评价、店铺和大型商家。随着网络更进一步的发展和SaaS的概念的成熟,Salesforce.com这个透过网络提供CRM服务的公司在2005年提出了AppExchange开放让第三方进入提供加值服务给用户。eBay和Salesforce.com都是采用以SOAP/WSDL等Web-Service标准为基础的技术平台。
Web-Service是由W3C制订,基础在XML上的网络服务提供标准,包含程序物件和XML的对应,服务接口的出版,客户端和服务器端的沟通。由于是产业标准,大多数的开发工具和程序语言都有非常好的支援,应用开发者可以很简单的建立与平台互动的应用。
国内的淘宝和阿里软件在2008年也开放了平台,让第三方提供商务加值服务给卖家,跟在今年开始了淘宝网开放平台。在第一年的开放下,已经有些表现不错的第三方出现。在技术架构上,淘宝的平台采用的是XML-RPC的架构,提供快速上手的环境。目前支援用户、产品、商品、交易、评价、淘宝客、物流、店铺等API。
在线业务平台在技术架构上由于每个网站的垂直领域不同,提供的集成点也不一样。salesforce.com大部分用户都是规模比较大的企业,force.com上面的应用很多提供直接接入到公司内部现有的ERP/CRM系统。eBay和淘宝面对比较多的是电子商务提供商,大部分的应用是透过网站方式和用户互动。
在业务在线的平台上的应用的商业模式有订阅的方式,交易提成和客制服务等。平台提供了数据和用户群,让应用提供公司能更专心针对需求开发解决方案。
社会关系网
社会关系平台,这样的平台不止开放了API提供平台的功能,更开放了直接对用户传播的渠道,这样的平台包含了Facebook、Myspace、 校内、51等。Facebook在2007年开放了之后,第三方的应用已经成为了相当大的生态系,领先的应用开发公司如Slide、Rockyou、Zynga、Playfish等都先后拿到风投的资金。国内的平台在2008年开放后,开心农场的5分钟、掌心、奇矩等都有相当好的成绩。
社会关系网的开放平台的特点在于应用不但能取得用户的资料,更进一步可以取得用户的朋友关系资料加上可以透过平台提供的传播管道直接面对用户来进行病毒传销,这样的快速营销管道让平台上的成功应用有无比的爆发力。目前在几个社会关系网上最流行的应用都是礼品类和游戏类。
国际上主要的社会关系网开放平台有Facebook、Myspace、Hi5和Bebo,在国内有校内、kaixin.com、51.com、360圈、漫游等。在技术面上,Facebook、Bebo、漫游和360圈都采用类似的fbopen开放平台技术架构而Hi5和Myspace支援OpenSocial。校内、kaixin.com和51走的是双技术平台的方式,同时支持类似fbopen和OpenSocial的平台。
在技术的架构上,可以分为网站显示集成和功能请求两个部分。在集成上,Facebook的平台主要透过HTTP的中介来调用和集成和第三方的应用,提供FBML和iframe的方式让第三方的应用嵌入到网站里面。FBML是一个针对FB平台的标示语言,对于在应用上经常用到的功能例如显示用户的名字,照片还有对用户提出请求,出版新鲜事直接支持,节省程序开发的时间。第三方应用只要输出FBML,Facebook平台会将这个解析成为标准的HTML/Javascript给用户。对于动态的使用者界面,Facebook支持FBJS,是在安全的考量上加上限制的JavaScript。最近针对iframe的应用Facebook提供了XFBML的标签,让大部分FBML的标签可以在iframe的应用下使用,iframe的应用可以使用标准的HTML/Javascript,XFBML给应用的开发提供了更进一步的弹性。在这个架构下,第三方透过HTTP/FBML/HTML/FBJS等和Facebook的平台沟通,只要应用能输出合乎格式的标记语言,开发的环境和语言没有限制。
在功能请求方面,Facebook提供丰富的用户和系统资料接口包含用户资料、朋友关系、相册、活动和笔记和使用用户的权限发送提醒和出版新鲜事。在最近推出的Stream接口上提供更进一步提供获取用户新鲜事和修改状态、接口的设计基本上是XML-RPC的方式。Facebook官方支援PHP和ActionScript两种语言,而广大的开发者社群提供了其他语言包含Java、Ruby、Python等的支持。
跟着Facebook的界面改版, 除了应用专属的界面外,平台还提供了几个不同的第三方应用的集成点,应用可以在个人主页的选项卡上加入应用的选项卡让用户直接在朋友还是自己的主页上和应用互动。新鲜事出版的接口让应用提供客制的新鲜事发布方式。这些集成点让应用有更多的方式能跟用户互动。
国内社交关系网最早是校内在2008年开放,接着是51和漫游等平台,校内的平台提供的是接近Facebook的平台架构,提供XNML标签语言和获取用户和朋友关系接口。51和漫游提供的也是类似的服务。虽然接口没有Facebook那么丰富,但是开发的原则是基本上一样。
很值得一提的是,校内和51成为了世界领先开放平台虚拟货币系统给第三方的社会关系网,应用可以透过收取校内豆和51币和平台分成来盈利。
OpenSocial是另外一个社会关系网平台的技术架构标准,OpenSocial在设计上由两个主要的模块:服务器端的REST接口,提供用户资料,社会关系和用户动态三个主要的资料接口,在应用界面端主要是透过JavaScript的程序库。在和网站的集成上是透过Google的iGadget标准,透过iframe嵌入到网站的页面上。OpenSocial的应用开发主要是使用JavaScript。另外每个支持OpenSocial的网站都有属于自己的延展API,例如MySpace就提供了对相册的延展API。
国内的环境还在一个快速发展的阶段,除了校内、51、360圈等原生的社会关系网外,传统的网络和电信公司各自推出社会关系网站,如雅虎的关系、搜狐的白社会、淘宝的淘江湖、电信的139.com还有QQ的校友网。在这个环境下,可以期待第三方应用的开发更加热烈。
另外国内的IM的运营商也推出第三方开发平台,如MSN、 阿里旺旺和QQ。这些IM服务透过在用户机器本地的程序,让应用能有超越单纯网页的互动方式。
移动计算
移动开放平台,跟随着iPhone和iTune平台成功地建立快速开发和销售的平台渠道后,智能手机公司和无线运营商纷纷建立移动应用销售平台,减低传统手机应用需要和电信沟通合作的门槛,开放了给创业的开发者在智能手机上机会。
这些平台的进展可以看成是互联网服务提供和商业模式的演化,云运算降低了部署和延展的成本,建立在庞大的集群上,开发者可以在很高的性价比下,快速部署和延展应用,以应付应用快速扩张的需求。网络服务提供了各种不同的数据和功能,让应用的开发能建立在比较高的起点上。在线业务平台提供了现有已有需求的客户群,给提供商务解决方案的服务商建立新市场的机会。而社会关系网络更进一步地解决应用传销的问题,让应用能透过平台上的传销渠道快速吸引大量的用户。手机应用在有了稳定的执行环境和简便的销售平台后,可以用来作为结合不同网络服务的新终端。