应用程序接口(API)
应用程序接口(API)是允许两个软件程序相互通信的代码。API定义了开发人员从操作系统(OS)或其他应用程序请求服务并在不同上下文和多个通道中公开数据的正确方法。在Web 2.0的早期,将来自不同来源的数据和应用程序集成的概念称为mashup。
任何数据都可以与应用程序接口共享。API  由动词和名词组成的函数调用实现。所调用的应用程序的文档中描述了所需的语法。例如,在房地产网站上,一个API可能用于按地理位置发布可用的房地产属性,而第二个API为访问者提供当前利率,第三个API提供抵押计算器。
使用API公开数据可以改善客户体验,因为它在单个应用程序或其他数字财产中提供更多功能和服务范围。例如,通过预测客户与搜索房地产相关的需求,发布网站的公司不仅增加了向用户提供的价值,而且还为与相关服务提供商的新业务伙伴关系开辟了机会。
API如何工作
API由两个相关元素组成。第一个是描述如何在程序之间交换信息的规范,以处理请求和返回必要数据的形式完成。第二个是写入该规范的软件接口,并以某种方式发布以供使用。
据说想要访问API的特性和功能的软件可以调用它,并且创建API的软件据说可以发布它。
三种基本类型的API
API采用三种基本形式:私有,公共和合作伙伴。影视资源站采集api接口数据
私有API或内部API在内部发布,供公司开发人员用于改进其自己的产品和服务。私有API不会暴露给第三方。
公共API或开放API是公开发布的,可供任何第三方使用。这些API没有限制。
合作伙伴API只能由公司同意共享数据的特定方使用。合作伙伴API用于业务关系中,通常用于在合作公司之间集成软件。
API可以进一步分类为本地,Web或程序API:
本地API是原始形式,名称来自该形式。它们为应用程序提供OS或中间件服务。Microsoft的.NET API,用于语音应用程序的TAPI (Telephony API)和数据库访问API是本地API表单的示例。
Web API旨在表示广泛使用的资源,如HTML页面,并使用简单的HTTP 协议进行访问。任何Web URL都会激活Web API。网络的API通常被称为REST(代表性状态传输)或REST风格的,因为REST接口出版商没有按'牛逼内部保存请求之间的任何数据。因此,来自许多用户的请求可以在因特网上混合。
程序API基于远程过程调用(RPC)技术,使远程程序组件看起来是本地其他软件的本地。面向服务的架构(SOA)的API,如Microsoft '小号WS系列的API,是程序的API。
为什么API设计很重要
传统上,发布API的应用程序必须使用编程语言编写,但由于API越来越普遍,因此API结构的额外验证非常重要。
良好的API设计对于成功使用API至关重要,并且软件架构师花费大量时间来审查API的所有可能应用程序以及使用它的最合理方式。
该数据结构和参数值是特别重要的,因为他们必须在API的调用者和其出版商之间的匹配。
使用API的好处
使用API有很多好处。由于API本质上是一组规则,因此私有API可以通过标准化开发人员编写应用程序代码的方式来改进内部开发过程。使用相同的规则和格式可以使代码更加简化和透明。标准化还促进了开发人员之间的协作,因为他们构建了旨在与API集成的软件组件。反过来,这可以支持功能开发并缩短产品上市时间。
公共和合作伙伴API提供各种商业利益。通过允许第三方利用其数据(即使在有限的意义上,与合作伙伴API一样),公司也会增加其品牌曝光
率。公司可以通过将其服务与其他可信赖的品牌保持一致来扩展其客户数据库,甚至提高其转换率。公司也可以通过他们的API获利,使他们成为自己的收入来源。这是PayPal等在线支付网关的常用策略。使用PayPal API的公司愿意为使用可信支付系统的能力付费。
为什么API对业务很重要
网络,旨在通过互联网和云计算交换信息的软件,所有这些都加在一起,特别是对API的兴趣增加。
曾经为特定目的定制开发的软件现在通常编写引用API,提供广泛有用的功能,减少开发时间和成本,并降低错误风险。
API在过去十年中稳步提升了软件质量,云服务提供商通过API 提供
的Web服务数量不断增加,也鼓励创建特定于云的应用程序,物联网(IoT)工作以及支持移动设备和用户的应用程序。
REST和网络
虽然调用API的应用程序传统上是用编程语言编写的,但互联网和云正在改变这种情况。Web API可以通过任何编程语言调用,但也可以通过HTML或应用程序生成器工具创建的网页访问。
Web在我们的生活和业务活动中所起的作用越来越大,导致REST模型的爆炸性增长以及简单的编程工具的使用,甚至根本没有编程,用于API 访问。
开发人员社区中的API示例
操作系统和中间件工具通过通常称为“工具包”的API集合来展示其功能,支持相同API规范的两组不同工具可与程序员互换,这是兼容性和互操作性声明的基础。例如,Microsoft的.NET API规范是Microsoft 现在支持的开源Linux等效中间件包的基础。
互联网目前是API的主要驱动力,Facebook,谷歌和雅虎等公司发布API 以鼓励开发人员建立自己的能力。这些API为我们提供了从浏览其他服务网站的新互联网功能到可轻松访问网络资源的移动设备应用程序。
通过这些API,可以在很大程度上创建新功能,例如内容交付,增强现实和可穿戴技术的新颖应用。
API中的API趋势
云计算引入了将软件划分为可重用组件,将组件连接到请求以及根据需求变化扩展软件副本数量的新功能。
这些云功能已经开始将API的重点从简单的以RPC程序员为中心的模型转移到RESTful以网络为中心的模型,甚至已经转移到所谓的“函数

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。