无数的经验证明,一个系统做大了之后,如果是一个封闭的系统,必然越做越小,所以为了吸引更多的开发者一起做大整个生态,厂商就纷纷基于原有的系统将部分能力开发出去,通过利益分成的方式吸引第三方开发者以前来打造和维护系统,支持系统开发能力的就是开发平台。最成功的开发平台应该APP STORE,苹果手机靠APP STORE,完全颠覆了整个智能手机,这也是造成诺基亚这家公司穷途末路的关键推手。
淘宝开放平台(Taobao Open Platform)是基于淘宝各类电子商务业务的开放平台,提供外部合作伙伴参与服务淘宝用户的各类原材料,例如API、账号体系、数据安全等。
淘宝开发平台同时服务与卖家和买家。
对卖家:
提供的丰富API涵盖淘宝各个核心业务流程,基于这些内容可以为卖家提供各类应用,解决店铺管理、营销推广、数据分析等方面的问题。淘宝开放平台还基于商家所需的电子商务后台系统,提供解决方案。
对买家:
满足越来越个性化、专业化的服务,帮助他们方便地购物,以及解决各类生活服务需求。从导购、健康、娱乐、兴趣、交友等方方面面,构建自由的买家应用。各个专业的类目,也吸引着各行业的专业团队深入合作,为消费者打造最佳体验。
开放平台的一个经典案例就是Google,Google在开放API方面的称得上是开拓者和领导者,拥有Search API、Google Map API、Opensocial API等一系列还在不断增长的API列表,更在开放平台方面发力,推出开放的手机平台Android和云计算平台App Engine服务。其中最知名的Google Map API自2005年开始流行,成为谷歌地图成功的一个极为重要的原因。
Google App Engine是Google提供的基于Google数据中心的开发、托管网络应用程序的平台,每个免费帐户可使用1GB存储空间,以及可支持每月约500 万页面浏览量的CPU和宽带。App Engine的服务构架提供通过虚拟化达到实时的自动规模缩放的功能。目前每个用户可以免费创建十个应用。
Google App Engine要求开发者使用Python或Java作为编程语言,并且只能使用App Engine的API.App Engine数据库不是传统的关系数据库,因此不使用SQL指定查询,用户只能使用类似SQL的查询语言(称为GQL)进行查询。大多数Web应用程序都 需要进行一定的修改才能运行在App Engine上。
当前开发平台都是开放API的方式来提供服务。API:应用程序编程接口,开放API就是开放编程接口。
将平台能力抽象成业务API,然后提供给第三方编程。主要涉及的技术有:
1)、Restful架构:平台一般提供web服务以及采取restful方法,平台和第三方程序间,通过REST提供远程调用API的能力。
2)、授权认证技术:在平台里面数据和系统安全是非常重要的。所以支持必要的安全验证是必须的,如TOP采用的是OAuth2.0标准协议,用来用户身份验证和授权。
3)、API发布管理:通过平台发布API,对API调用次数进行统计,监控。用于支撑计费,性能调优等。
4)、数据沙箱:第三方开发之后,需要上线测试,为了不干扰已有平台,先到沙箱里面进行充分的验证。
5)、API缓存:加速平台性能,需要提供API缓存能力。
6)、模板技术:提供模板,加快开发速度,第三方应用基于成熟的模板快速开发业务。