开放api:与客户不可或缺的链接

Public API让客户以新的方式连接到您,但界面必须轻松用于外部开发人员使用。

2010年,当世界银行(World Bank)经理尼尔•范汤姆(Neil Fantom)与该机构的技术团队坐下来讨论向全世界开放该行数据时,他遇到了一些不熟悉的术语。Fantom说:“那时候我甚至不知道API是什么意思。

作为2010年4月宣布的世界银行“开放数据计划”的负责人,Fantom负责获取该组织的海量信息,并将其提供给任何需要的人。过去,这些信息只能通过订阅才能获得。他将学习的方法是应用程序编程接口(API)。

API将汇总数千名经济指标,包括降雨量,教育水平和出生率 - 与一些指标回收50年 - 在开发人员处置和匹配并以任何意义上的方式混合和呈现。希望这将通过点击他人的创造力,推动银行在全球范围内争取贫困的使命。“银行里面有很多人可以用我们从未想过的数据集做事,”帝国说。

例如,一名开发人员开发了一款应用程序,将世界银行的降雨数据与谷歌Maps结合起来,估计有多少雨水可以收集到屋顶上,然后用于灌溉世界各地的作物。另一款应用提供了有关能源消耗的事实,并向人们展示了他们可以为应对气候变化做些什么。

Fantom和世界银行并不是唯一这样做的机构。十年前,开放api还是一种新鲜事物,但在过去几年里,它们的使用速度正在加快。一个跟踪公共api的网站programableweb在四月初列出了超过8800个api。据该网站称,从2000年到2008年,api的数量用了8年时间才达到1000个,然后又用了18个月时间达到2000个。从7000人上升到8000人只用了三个月。

根据ProgrammableWeb的说法,API包括商业,购物,消息,映射,电话,社会,金融和政府的各类类别。作为一个网站,他们正在成为一个组织的必要条件。“在今天的商业中,一个开放的API或多或少的表格赌注。这是一个你必须拥有的东西,”Redmonk的分析师斯蒂芬·奥格拉德说,一个专注于开发人员的分析公司。“越来越多地,您的牵引力将由您的产品开放和以编程方式进行开放和方式如何驱动。”

一个进化模型

当百思买在2009年首次推出它的API——byopen时,它只允许开发者访问该连锁店的产品目录,以及所有正在销售的商品的描述和价格,希望这样做可以带来更多的顾客。百思买(Best Buy)新兴平台主管史蒂夫•本特(Steve Bendt)表示,这是一项经过深思熟虑的缓慢起步战略的一部分。“我们必须随着时间的推移证明这些东西,”他说。“我们开始证明,这是一个非常有活力和可行的领域。”

但是外部开发者想要更多,所以该公司添加访问评论和评级产品的能力,找到附近的商店,检查是否有某些产品在特定的商店,通过手机应用程序,通过该网站购买物品,也许通过一次单击如果用户联系信用卡应用程序。

这是一个受欢迎的人。移动应用程序Shopsavvy,Redlaser和Milo都使用Bbyopen。该应用程序的制造商通过BEST BOY BEST的联盟计划获得销售委员会。购物者可以搜索物品,或扫描条形码,并获取各种卖家定价的信息。

当然,这可能意味着使用该应用程序的用户最终可能会从百思买的竞争对手那里购买产品,但本特表示,由于网站和移动应用程序改变了人们的购物方式,百思买最重要的是融入其中。“如果我们不在考虑范围内,那就错失了机会。”他说,API让人们能够知道他们购买的产品是否可以在附近的商店取货,这一事实使百思买相对于仅在线零售商具有竞争优势。“现在你可以在20到40分钟内搜索、购买和取货,”本特说。

外卖

创建开放式API的提示

以下是您需要了解为数据创建Open API的内容:

让它变得简单。外部开发人员 - 您的客户商店的产品 - 可能有很好的想法如何使用您所提供的数据,但API本身需要可以理解和易于使用。清除文档和有用的工具是必须的。

确保你的授权条款是清晰和公平的。成功的api倾向于拥有mit风格的开源软件许可证。

除非绝对需要SOAP,否则请使用REST。根据ProgrammableWeb,大约四分之三的api是基于rest的,SOAP远远排在第二。

为文化上的抵制做好准备。一些数据“所有者”可能不愿意分享珠宝。您可以解释世界银行,最佳购买,彭博等如何使用该技术以新的方式和/或进一步的组织使命来实现客户。

——尼尔·萨维奇

本特表示,店内提货的想法实际上来自外部开发人员,该公司花了一些精力调整其遗留系统,使库存数据可以通过API获得;数据需要重新格式化以兼容。“这些系统是在Web服务和api被积极使用之前建立的,”他解释说。“它的构建方式并不是向外部开发者公开。”

团队如何做的细节取决于数据源,但通常他们试图公开数据的一些快照,并尽可能频繁地更新。如果这些数据被证明是有用的,他们就会找到使其更接近实时的方法。

世界银行的开放数据系统负责人Malarvizhi Veerappan说,让现有系统与新的API合作也是世界银行面临的一个挑战。她的团队最初为潜在问题而苦恼,因为他们的8000个经济指标并不是彼此直接关联的。她说,重要的是要创建一种结构,可以整合所有的历史数据,并随着新信息的积累而增长。

我们不希望API是一个单独的应用程序。我们希望它成为我们对数据所做的一切的一切。Malarvizhi Veerappan,开放数据系统领先,世界银行

“我们不希望API是一个独立的应用程序。我们希望它成为我们用数据做的其他事情的一部分,”她说。“我们需要把它与我们的数据系统连接起来。这确实需要我们改进内部数据系统。”

随着API的增长,团队增加了绩效监控和制定的政策,以确保良好的交通流量。该组织还增加了服务器容量并增加了服务器冗余,以确保API的可用性。

金融信息提供商彭博资讯(Bloomberg LP)在2012年2月推出开放市场数据计划(Open Market Data Initiative)时,新的开放API (BLPAPI)实际上是该公司内部使用的软件开发工具包的第三版,彭博首席技术官肖恩•爱德华兹(Shawn Edwards)表示。在过去,彭博的客户会得到一台专用终端,将他们与公司的主机连接起来,用于传送市场数据、新闻和分析。

Bloomberg的项目已经发展成为客户在自己的系统上安装的软件包。即使在开放之前,该公司也使用API​​开发特定的应用程序,允许客户在自己的桌面上操纵彭博数据。

我们不在销售软件的业务中。我们将通过提供最佳服务和最佳数据来赢得业务。Shawn Edwards,CTO,Bloomberg

随着开放API的推出,该公司现在允许客户创建自己的应用程序,如选定证券的观察列表或自己的交易系统。它还允许外部开发者开发利用除彭博之外的其他数据源的应用程序。“我们不会透露市场数据。这使得人们可以与其他服务整合。”爱德华兹说。“API是一个连接到彭博云的软件。”

他解释说,让别人做出了意义。“我们不是在销售软件的业务中,”他说。“我们将通过提供最佳服务和最佳数据来赢得业务。”

当彭博发布开放API时,它决定删除以前版本支持的一些功能。有关于API是否应该向后兼容的讨论。“我们说不,”爱德华兹说。这意味着一些客户不得不使用一些不再有效的功能,但是Edwards说,这使得API不再被过时的功能搞得乱七八糟。

像大多数开放api一样,BLPAPI支持多种语言,因此开发人员可以为他的应用程序选择最好的一种。运行通宵批处理的人可能会选择Perl或最近发布的Python版本。电子交易系统可能运行在C或c++上。定量分析师通常使用Matlab中的数据。该API还支持Java、。net和c#, Edwards说一些开发人员也在使用R包装器。

让API成功的一个关键在于让它易于使用。RedMonk的O’grady说,早在2000年,api经常使用Web服务协议,但这些被证明过于复杂。现在,根据ProgrammableWeb的数据,大约四分之三的api都是基于rest的,SOAP远远地排在第二。O’grady说:“因为绝大多数开发者都喜欢这个,所以它现在是API系统的主导协议。”

清晰度的重要性

另一个重要的需求是拥有广泛、清晰的文档和工具来帮助开发人员完成他们的工作。彭博最初的文档更多地针对的是金融专家,他们是彭博的客户,但它不得不重新编写,以便告诉开发人员他们需要知道什么。

Bloomberg即将尝试通过提供重放工具来使开发人员更容易使用,这将允许它们执行其应用程序的试运行。Best Buy的BByopen还为开发人员提供了一组工具,包括测试控制台以运行应用程序和自动窗口小部件生成器。世界银行提供了一个查询构建器,让开发人员选择选项。

API的工具和想法并不是从组织向外流动;外部开发人员通常提供信息和框架来互相帮助。例如,BByopen提供由Java,.NET,PHP和其他语言中的开发人员创建的库。在世界银行,有一个讨论论坛,开发人员可以提出问题并从同行中获取答案。

“他们不等待我们在论坛中回答问题,”Veerappan说,他们正在向论坛添加功能并将其转换为知识库。“看到其他开发商在API中获得的知识有趣。”

成功的api倾向于拥有mit风格的开源软件许可证;例如,世界银行就使用开源署名许可。O'Grady说成功的一个关键是非常清楚的服务条款,并且没有一个过度限制使用的许可证。

例如,他说Stack Overflow,一个面向程序员的协作编辑问答网站,有一个非常好的API,但是使用它的条款却很难导航。他还指出,Twitter对时间戳格式的要求过高,或者坚持推文必须大写,这让一些开发者感到恼火。尽管开发人员不太可能因为难以合作而避开Twitter等广泛使用的服务,但O’grady表示,“如果你的产品不那么受欢迎,人们很可能会放弃它。”

文化的阻力

创建开放API的另一个非技术挑战是让组织中的其他人放弃一些控制权,因为他们可能已经习惯了处理专有信息和维护对其品牌的权威。“我做了很多说服工作,”彭博社的爱德华兹说。“当你一直在控制自己的产品时,这是一种不同的思考方式。”但他表示,重要的是要区分彭博销售的市场数据和公司不需要控制的符号和软件等东西。“所有这些私有接口的时代已经过去了,”他说。“它再也不能增加价值了。”

您必须通过正确的文档释放合适的数据。真的,它会通过做你所做的事情来解决客户问题。史蒂夫·贝德特,新兴平台总监,百思买

百思买的bend也面临着类似的担忧。他说:“当我们第一次开始讨论API平台的时候,这是很困难的。”他注意到同事们想知道,“他们要构建什么?”如果他们创造了糟糕的体验怎么办?”该公司针对这一问题制定了有关开发人员如何使用这些数据的规定:例如,他们必须将这些数据归百思买(Best Buy)所有,不能用于其他目的。百思买不预审应用程序,但它会定期审核,以确保应用程序符合服务条款。

相关:
12 第1页
第1页共2页
工资调查:结果已经出来了