什么是API?
什么是API?我们总是听说api是多么有价值,他们将对业务产生重大影响。然而,API的定义是什么?
API代表应用程序编程接口。API是允许两个应用程序相互对话的软件中介。换句话说,API是一个信使,它将您的请求交付给您所请求的提供者,然后将响应交付给您。
api允许在设备之间发送数据
API定义了独立于其各自实现的功能,这允许这些实现和定义在不影响彼此的情况下发生变化。因此,一个好的API通过提供构建块使开发程序变得更容易。
当开发人员创建代码时,他们通常不会从零开始。api使开发人员可以使用少量代码使重复但复杂的过程高度可重用。api使开发人员构建应用程序的速度对于当前应用程序开发的速度至关重要。
开发人员现在的工作效率比以前要高得多,以前他们必须从头开始编写大量代码。有了API,他们不必在每次编写新程序时都重复劳动。相反,他们可以专注于其应用程序的独特主张,同时将所有商用功能外包给api。
API抽象的原则支持速度和敏捷性
api的主要优势之一是允许在一个系统和另一个系统之间抽象功能。API端点将消费应用程序与提供服务的基础设施解耦。只要服务提供者交付给端点的规范保持不变,依赖于该API的应用程序就不应该注意到端点背后基础设施的更改。
因此,当涉及到如何提供服务时,服务提供者获得了很大的灵活性。例如,如果API背后的基础设施涉及数据中心的物理服务器,服务提供者可以轻松切换到运行在云中的虚拟服务器。
如果运行在这些服务器上的软件(比如信用卡处理软件)是用运行在基于oracle的Java应用服务器上的Java编写的,服务提供者可以将其迁移到运行在Windows Azure上的Node.js(服务器端Javascript)。
api引导的连接允许系统像将插头插入插座那样容易地进行更改,这种能力是现代企业IT远景的关键。连接企业解决方案的混乱的点对点集成的日子已经一去不复返了,维护这些解决方案需要花费时间和资源。
api是如何工作的?
想象一下餐馆里的一个服务员。你,顾客,坐在桌边,拿着一份可供选择的菜单,而厨房是满足你的订单的提供者。
你需要一个连接来传达你的订单到厨房,然后把你的食物送回你的桌子。不可能是厨师,因为她在厨房做饭。你需要把点餐的顾客和准备食物的厨师联系起来。这就是侍者——或API——进入画面的地方。
服务员把你点的菜送到厨房,告诉厨房该怎么做。然后它把反应传递给你,也就是食物。此外,如果API设计正确,您的订单不会崩溃!
一个API的真实例子
api在现实世界中是如何使用的?这是API经济的一个非常常见的场景:预订航班。
当你在网上搜索航班时,你有一个可供选择的菜单。你可以选择出发的城市和日期、返回的城市和日期、舱位以及其他可变因素,比如你的餐点、座位或行李要求。
要预订航班,你需要与航空公司的网站进行互动,访问航空公司的数据库,以查看这些日期是否有座位,以及根据日期、航班时间、航线受欢迎程度等确定的价格。
您需要从航空公司的数据库中访问这些信息,无论您是通过网站或汇集了多家航空公司信息的在线旅游服务与之交互。或者,您可以从移动电话访问信息。在任何情况下,您都需要获取信息,因此应用程序必须与航空公司的API交互,使其能够访问航空公司的数据。
API是一个接口,就像你的服务员一样,运行你正在使用的应用程序并通过互联网将数据传递给航空公司的系统。然后,它还会接收航空公司对您的请求的响应,并将其发送回您正在使用的旅行应用程序。此外,通过流程的每一步,它促进了用户之间的交互。
类型的api
有许多类型的api。例如,您可能听说过Java api,或者类中的接口,它们允许对象在Java编程语言中相互通信。除了以程序为中心的api之外,还有一些Web api,如简单对象访问协议(SOAP)、远程过程调用(RPC),以及可能最流行的(至少在名称上)代表状态传输(REST)。根据可编程Web的说法,有15000个公开可用的api,还有成千上万个私有的api,公司使用它们来扩展内部和外部的功能。