APIs — A Strategy Guide】系列之二 把API作为你的商业策略

翻译/张志高

如果你身处技术界, 你不会怀疑API对业务的显著影响,否则,可能有点难以理解为什么API会跟你的业务有关系。

在商业领域API每天都在快速增长,本章节的论点应该能帮助不在科技界的人了解API的重要性,同时提供一些论据使其相信采用API策略的价值。

今天,API消费模式正在急剧增长,为什么呢,主要是应用程序和移动设备快速增长。根据De Beer的估计判断,在2020年,应用程序和连接设备正迅速从十亿级增长至万亿级别。很多公司都发现他们的客户正快速抛弃基于浏览器的web应用。如果你想继续取得成功,甚至保持现状,你必须理解的你的客户。

Figure 2-1. API使用场景暴增

此外,变化的速度比以往更快,市场变化如此之快,以致你不能有充足的时间来计算市场规模,引导分组讨论、计划、开发、投产,因为在你做这些事情的时候 ,市场可能已经消失或发生了根本性的改变。

您的客户很快就会从基于浏览器的模式转向通过移动应用使用你提供的服务

终端用户使用大量不同的连接设备,社交网络,以及各种形式的消息,以访问他们所需要的信息和服务。他们经常通过不同的方式来使用公司的服务,同时希望他们的应用服务可以随身移动。例如,在不同的设备上观看Netflix提供的电影就是很常见的需求,用户一开始可能是在电视上观看某个电影,但在医院排队时,会使用iphone接着看。

这同样适用于阅读一本书,当你阅读同一本书时,无论通过Kindle的iPad应用程序还是计算机上的Kindle应用程序,存储在亚马逊Kindle的书签和注释都一样展示。可以通过亚马逊Android的应用程序买一本书,然后计算机上读。而且一旦您在一台设备上开始阅读,当您在不同的设备上加载相同的书时,Kindle能打开你上次在别的设备上正在阅读的页面

在这些应用体验背后是什么呢,大部分优秀的应用背后是优秀的API。API可以认为是应用程序的后端,使得应用可以访问公司的数据和服务,API是建立拥有更多客户和丰富应用的生态系统的关键。

虽然没有API也可以实现这些体验,但其发展的速度和广度,都不会有拥有优秀API的公司这么快。API使得企业扩大数十或数百个应用实现的时间相对较短。虽然在刚开始的时候,有些场景是比较难支持的,但正变得越来越容易。成功使用API的实践也慢慢涌现,而且支持API的基础技术设施也在走向成熟。市场情况已经发生变化,使得API与业务的关联性更加紧密。这使得无论是世界上的大公司还是新创公司都能从中受益。

例如,西尔斯公司(Sears)提供了大量的产品目录,这也许是全球最深的、最完整的目录,开发者通过在他们的网站或应用程序放置这些目录,能够增加产品销量。

开发者可以使用世界银行提供的数据开发应用,通用这些应用人们可以深层次的发现全球经济发展的问题,为人们探索数据提供新途径。StatPlanet就是使用世界银行数据开发的应用,包含了交互式地图、图表和时间表(参见图2-2)。

Figure 2-2. StatPlanet

连宝洁(P&G)也已经加入到这场应用的竞赛中,其卫生纸品牌Charmin,赞助一个很二的寻找公共厕所的应用程序。看来现在有了一种新的方式来提升品牌的忠诚度!

API的增长

公有API的活动增长情况可以通过跟踪API来完成。但因为私有的API不公开,因此更难以追踪。ProgrammableWeb.com跟踪了公有API的新增数据。此类API的加速增长示意图2-3中

Figure 2-3. 公有API的快速增长 (source: ProgrammableWeb)

图2-3展示的只是API里的一小部分。 ProgrammableWeb对很多API都没有跟踪,如果都包括在内的话,API的总数将大幅增长,甚至呈指数增长。大部分可统计数据都来自公有API,但根据我们的经验,私有API正像公有API一样爆炸式增长。此外,私有API对大多数公司来说,其重要性已经超过了公有API。

看看主流的消费及业务服务,展示了API如何成为主要的流量渠道。Twitter,Google,Netflix,eBay,Salesforce.com等网站现在超过一半的流量是通过API访问产生的。看下面的统计数据:

?Twitter:截至2011年7月,每天有超过150亿次调用,有75%的流量通过API

?Netflix的:在2011年10月,每天超过10亿次调用

?亚马逊Web服务:在2011年1月,有2600亿个对象存储在S3

?NPR:在2011年10月,有32亿新闻报道通过API分发

?谷歌:每天50亿次调用

?Facebook的:每天50亿次调用

这些证据清晰的表明了,API正成为大规模沟通与贸易的渠道。。与许多技术的发展趋势一样,第一推动者是精通技术的初创公司。紧随其后的是一些准备着手建立API渠道的,之前确从未涉猎该API领域的公司,这些公司包括金融服务公司,如TradeKing;媒体公司,如NPR,纽约时报,今日美国报,金融时报和卫报,零售商如百思买,乐购,西尔斯,和亚马逊,以及汽车公司如福特和通用汽车公司

一些不为人广知的公司也在越来越多使用API,很多公司正在重新改造企业内部的应用,通过API暴露其现有资源,使他们的内部开发人员构建创新的移动、社交和云应用程序。许多你可能认为是“传统企业”的公司都在开放API,以增加他们交付应用的整体灵活度和开拓与合作伙伴新的机会

API正在快速增长,且API数量远超你想象的。

为什么需要API

怎么知道你是否可以通过API获益?在这里,我们介绍一些激发企业构建API的常见诱因。

  • 你需要第二个移动应用程序

当公司意识到他们需要一个移动应用程序,时间通常是极其重要的。第一个移动应用通常是快速创建来响应迫切的需求,并且至少能运行在最流行的一个平台上(iOS和Android)。这有时会导致利用现有的技术,如扩展RSS(真正简单的整合),以满足短期目标。当需要创建第二个移动应用程序时,他们明白他们重复大量工作的风险,开始寻求新的方式,使移动应用程序的创建更加高效。其他设备怎么利用同一套系统,是否有任何重复的组件?是否能通过提供私有API在服务层引入外部公司来完成一些工作。

如果移动应用的策略是成功的,你将需要能在iOS和Android上运行的应用,然后它可能需要在Windows Phone上运行。还不要忘了RIM和所有的新兴的平板设备。根据公司策略,移动应用可能需要在两个,三个或甚至更多的平台上运行。

打造一个可以支持不同设备的移动应用,往往会引出构建一套API的讨论。一套API可以帮助公司运动多种设备。

  • 客户或合作伙伴需要API

有时候,高端的客户或合作伙伴需要API,以便让技术集成变得更加容易。例如,Silverpop,一个电子邮件营销公司,发现一旦世界上的大公司开始使用其产品时,就会想要把电子邮件营销能力和其它营销自动化应用深度集成。很显然集成的解决方案就是API。

Getty Images,一个图片发行公司,其客户想不通过Getty Images的网站,直接将Getty Images的素材图片集成到他们的出版发行物中很明显,解决方案也是API。(译者注:Getty Images是全球最大的创意类图片、编辑类图片和影视素材供应商之一)

API改进了与客户互动的旧技术。与当下的API相比,文件传输,电子数据交换,IBM公司的MQSeries通道等都是更加不方便的交互方式。

当一个合作伙伴要求使用API时,AccuWeather没有预料到会发生什么。技术总监Chris Patti,坦言:“刚开始时AccuWeather API真的没有完整的架构和规划,我们认为它是一个一次性的任务。我们从一个重要的手机厂商那里接到一个需求,把数据通过HTTP请求开放出来 ,我们有一个从主要的手机应用部件制造商到以通过Http开放数据的服务商转变需求。但我们只投入了一个初级开发人员。然后,我们看到了需要更多类型数据的需求, 如雷达和影像数据”。很快这些数据就火起来了。 “接下来的事情我们都知道,每一个客户想要这些数据。之前我们根本无法想象它会变成这样,这不在业务范围内,但它就发生了。我们知道我们需要快速的作出反应和规划,但时间太紧急”

  • 网站被截屏

如果你的网站被截屏,可视为是一种被动的需要公有API的方式,很显然有开发者想要获取资源。提供API,可以让你控制你的数据,及其使用条款。下一步最好办法就是去跟网站截屏者交流,了解他们想做什么。

  • 需要更灵活地提供内容

提供API的最终原因是以一种灵活的方式提供内容或服务。这就是原来做网站的目的(现在仍是)。当公司第一次寻找新的方法将内容分发至网站以外的地方,很多人转向其它方法,如RSS源。由于各种各样的原因,无论是网站,还是RSS源都未能应付大多数公司面临的灵活性需要。在开放内容时,API可以提供极高的灵活方式,你可以制定使用条款并对数据进行更好的管控,同时又满足用户的需求。

  • 共享你的数据

通常公司或政府机构有“数据宝藏”,但他们没有时间去使用。例如,纽约市城市交通局(MTA)有时间表,路线信息,以及地铁的运行状态的数据。MTA没把这些信息封锁起来,而是创建了谷歌公交格式的文件,以便谷歌开发人员可以使用此信息来创建应用。使用数据可以创建很多应用。美国联邦航空管理局(FAA)已通过同样的方式开放了商业航班有关数据。

这种模式在公司内部也同样适合,当一个部门有重要数据但自己却没时间使用时,私有API可以允许其他部门访问,并从数据中获益。

数据分发对内容提供商来说是一个重要的API功能。例如,NPR允许会员通过NPR API编写自己的内容到私有可写区域。一个特别引人关注的案例是西北新闻网(N3),一个在华盛顿州,俄勒冈州,爱达荷州拥有11广播站点的网络。 N3试图从其它11个站点创建的新闻和新闻集,并作为整个N3网站的统一的分发渠道。 N3的解决方案是在网上编辑这些新闻,并将其写入到NPR API。通过NPR
API11个站点可以访问各自的新闻、指定站点的新闻,或N3的全网新闻,并他这些新闻展现在他们各自的网站或应用中。

  • 你的竞争对手拥有API

当行业内某个公司发布公有API时,这常常会引起业内其它公司的跟风。在某种程度上,更常见的例子是特定的客户在特定的公司请求特定的API。在这种情况下,市场上所有的最终用户会分行业来请求API。某些领域,像零售,视频,媒体和社交网络实际上在API方面都在不断竞争,不断努力改进API,以赢取这块竞争的胜利。

  • 让潜在的合作伙伴试水

当一个潜在的合作伙伴想要和公司合作时,公司可以引导其使用API作为合作的开始。通过适当调整API的条款,可以让潜在的合作伙伴开始尝试用API,并在开始形成共赢时转化为更正式的合作关系。API可消除合作过程中的障碍。

  • 扩大客户和合作伙伴规模

API提供了一个更简单,更灵活的方式与大批量客户和合作伙伴集成。客户会被能快速赢得成功的公司所吸引,而API向客户传递的信息就是:你就是这样的公司。

传统产业创造了复杂的和私有的方法来整合,例如,金融服务行业,创造了一个庞大而复杂的技术和服务网络,包括成功的SWIFT财团,FIX协议和标准的FpML。旅游业通过预订平台,如SABRE创建了最大规模的实时交易处理系统。其他行业联合起来,创造更多的标准,如EDI,还有一些依赖于文件传输,电子邮件,传真和通过联邦快递发送的计算机磁带。

今天,API技术,如HTTP,REST和JSON,比上面的那些选择简单多了,为互联网预先构建,被不断壮大的软件人才社区所理解。那些正寻找更多用户连接的公司,或者寻找新的方式来连接其成员的组织,很难再找到一个不使用API的理由了。

案例:Innotas API的由来

Innotas 为IT管理提供了云化的解决方案。我们采访了Tim Madewell有关他们是如何决定提供API的。为什么Innotas决定提供API?

我们有一个让人信服的理由——客户需要它

在我们公司成立之初,客户规模为25?30的用户,但随着我们的交易规模增长,以及SaaS作为企业软件解决方案的市场变得更加成熟和被认可,我们就开始与更大一些的企业客户合作,并且产品需要不断扩展以满足企业架构需求,而不是作为一个独立的工具。

所以,当我们达到第一个5000用户时,我们发现,很多的要求之一是,我们能够整合他们的后端的CRM,HR,以及计费系统。

API使我们能够提供标准的集成方式,可以被许多客户使用并具有足够的灵活性来满足客户。我们尝试了一种粗粒度的方法,就是建立基于标准模型的API,最初提供主要的数据实体来支持后台企业系统,如CRM,HR,财务。在每个产品发布时我们继续更新API,开放额外的数据实体。与我们早期将业务处理过程与交易从API中分离出来,让用户自己处理的特点相比,恰恰相反,我们提供访问权限并把部件(数据实体)开放给客户,让客户来设计和实现特定的业务

API使我们能够提供许多客户都可以使用的集成方式。我们基于能提供我们主要数据实体的标准模型来构建这些API。

为大客户提供这种可以直接使用的API很有效,他们有大量的资源需要用到API来完成集成。

现在回想起来,提供API进行集成,是早期一个很好的决定。它给我们的客户提供了更大的灵活性来决定做什么,同时也让Innotas有机会成为客户企业解决方案架构的一部分。

  • 通过API改进技术架构

有时候,构建API只是单纯从技术角度考虑,来改进系统架构,并非是商业原因。NPR API最初就是基于这个原因产生的。在2007年,NPR的数字信息通过单个Oracle数据库提供服务,这就意味着存在单点风险。系统团队将数据库迁移到MySQL集群,以便实现冗余和可扩展性。但与此同时,NPR网站,CMS,和数据库耦合严重。解决方案是在网站和数据库之间建立API。一旦开放了API,并进行了网站重构,从Oracle数据库切换为MySQL集群的工作会大大简化。系统之间创建一个分离层使得迁移更加灵活性。

提供API还有很多很多的原因,其中最主要的一点是:聆听合作伙伴、聆听客户、聆听内部开发人员,看看行业发展的趋势,想想你如何跟随它一起发展。

(更多华为资讯请关注华为开发者社区,华为自己的对外开放门户:http://developer.huawei.com/cn/ict/ ,不要问我叫啥,别人都叫我雷锋)

时间: 2024-08-24 18:28:20

APIs — A Strategy Guide】系列之二 把API作为你的商业策略的相关文章

【APIs — A Strategy Guide】第一章 API的机遇

翻译/刘仲阳 14年跟设计组的兄弟一起把<APIs - A Strategy Guide>翻译了一下,时间过去快两年了,两年的时候对API的理解又加深了一些,把当时翻译的东西拿出来看了看,感触颇深,一方面是当时主要聚焦在设计工作这块,对书里面很多理念无法理解,现在再看已经明朗许多,另一方面,团队两年下来有兄弟换了部门,也有兄弟离开了公司,想想兄弟们辛辛苦苦的工作成果,还是要拿出来给大家分享一下,就此对译稿在开发者社区分章节发布,因为发布前需要再对内容进行核对,计划每周发表一篇. 因为都是理工科

zookeeper学习系列:二、api实践

上一章我们知道zookeeper的简介,启动,设置节点以及结构性能.本小节我们来玩玩api,获取下数据. 读一下:http://zookeeper.apache.org/doc/trunk/javaExample.html 然后我说 what the fuck it is? 我就想读个数据,需要这么复杂么... 动手改一下 版本1:  只获取数据,不管别的: import org.apache.zookeeper.KeeperException; import org.apache.zookee

Powershell管理系列(二十六)PowerShell操作之批量导出&导入邮箱

-----提供AD\Exchange\Lync\Sharepoint\CRM\SC\O365等微软产品实施及外包,QQ:185426445.电话18666943750 项目中有时候做跨林邮箱迁移的时候,条件不成熟,比如安全考虑或者其他考虑,不能做双林信任,这样就提出了一个问题,历史邮件需要使用的话怎么办,一个简单高效的解决办法就是从源森林批量导出邮件为.pst文件,在批量导入到目的域森林,具体操作如下: 1.赋予管理账号邮件导入导出权限,命令如下: cls whoami New-Manageme

算法系列之二十三:离散傅立叶变换之音频播放与频谱显示

算法系列之二十三:离散傅立叶变换之音频播放与频谱显示 算法系列之二十三离散傅立叶变换之音频播放与频谱显示 导语 什么是频谱 1 频谱的原理 2 频谱的选择 3 频谱的计算 显示动态频谱 1 实现方法 2 杂项说明 结果展示 导语 频谱和均衡器,几乎是媒体播放程序的必备物件,没有这两个功能的媒体播放程序会被认为不够专业,现在主流的播放器都具备这两个功能,foobar 2000的十八段均衡器就曾经让很多人着迷.在上一篇对离散傅立叶变换介绍的基础上,本篇就进一步介绍一下频谱是怎么回事儿,下一篇继续介绍

hbase源码系列(二)HTable 如何访问客户端

hbase的源码终于搞一个段落了,在接下来的一个月,着重于把看过的源码提炼一下,对一些有意思的主题进行分享一下.继上一篇讲了负载均衡之后,这一篇我们从client开始讲吧,从client到master再到region server,按照这个顺序来开展,网友也可以对自己感兴趣的部分给我留言或者直接联系我的QQ. 现在我们讲一下HTable吧,为什么讲HTable,因为这是我们最常见的一个类,这是我们对hbase中数据的操作的入口. 1.Put操作 下面是一个很简单往hbase插入一条记录的例子.

[Axis2与Eclipse整合开发Web Service系列之二] Top-Down方式,通过WSDL逆向生成服务端(续)

前言 本篇是承接上一篇: [Axis2与Eclipse整合开发Web Service系列之二] Top-Down方式,通过WSDL逆向生成服务端 在上一篇粗略地介绍了如何使用Top-Down的方式创建一个web service .  但是对于如何部署及调用,以及一些细节的部分基本上没有介绍. 应某些博友的要求, 也适逢自己有空, 接下来就详细介绍一下整个部分如何进行. 环境准备 JDK 肯定要安装了, 这个就不多讲了. 1. eclipse  3.5.2 对eclipse 版本的要求其实不是很严

天津出差系列(二)----第二天

上午十一点才起床,然后和同事出去吃饭螺蛳粉,之后去做了足底按摩,下午三点打的回来后睡了一觉,起来晚上六点多了, 然后洗个澡把换洗的衣服洗了一下,和同事出去吃了份饺子.然后回来看看把电视打开 看了一圈后,没有什么好看的.把电脑打开开始修改沧州的需求. 看到了沧州代码写的有点混乱,打算把天津这边处理完毕后再处理吧,免得更新后造成系统不稳定.也可能是周日真心不想修改需求吧. -----------------------周日就这样过了,总是感觉过的很游离. 天津出差系列(二)----第二天,布布扣,b

Tokyo Tyrant(TTServer)系列(二)-启动参数和配置

启动参数介绍 ttserver命令可以启动一个数据库实例.因为数据库已经实现了Tokyo Cabinet的抽象API,所以可以在启动的时候指定数据库的配置类型. 支持的数据库类型有: 内存hash数据库 内存tree数据库 hash数据库 B+ tree数据库, 命令通过下面的格式来使用,'dbname'制定数据库名,如果省略,则被视作内存hash数据库. ttserver [-host name] [-port num] [-thnum num] [-tout num] [-dmn] [-pi

AWS系列之二 使用EC2

在本文中我们有三个任务. 第一:使用Amazon management console创建一个EC2实例. 第二:使用本地的命令行工具远程登陆到该EC2实例. 第三:在该EC2实例上创建一个web服务,并通过公共域名来访问该web服务. 如果你还没有AWS的账号的话,可以使用qwiklabs提供的免费实验来进行该练习.地址是https://run.qwiklabs.com. 登陆到亚马逊的AWS服务的management console后选择EC2服务. 然后你就可以到EC2的控制面板了. 点击