Una API web es una interfaz de programación de aplicaciones para un servidor web o un navegador web . Es un concepto de desarrollo web , generalmente limitado al lado del cliente de una aplicación web (incluido cualquier marco web que se esté utilizando) y, por lo tanto, generalmente no incluye detalles de implementación del servidor web o del navegador, como SAPI o API, a menos que sea accesible públicamente por un control remoto. Aplicación web.
Lado del servidor
Una API web del lado del servidor es una interfaz programática que consta de uno o más extremos expuestos públicamente a un sistema de mensajes de solicitud-respuesta definido , generalmente expresado en JSON o XML , que se expone a través de la web, generalmente mediante un protocolo basado en HTTP. Servidor web. Los mashups son aplicaciones web que combinan el uso de varias API web del lado del servidor. [1] [2] [3] Los webhooks son API web del lado del servidor que toman la entrada como un identificador uniforme de recursos (URI) que está diseñado para usarse como una canalización remota con nombre o un tipo de devolución de llamada, de modo que el servidor actúa como un cliente para eliminar la referencia del URI proporcionado y desencadenar un evento en otro servidor que maneja este evento proporcionando así un tipo de IPC peer-to-peer .
Puntos finales
Los puntos finales son aspectos importantes de la interacción con las API web del lado del servidor, ya que especifican dónde se encuentran los recursos a los que puede acceder el software de terceros. Por lo general, el acceso se realiza a través de un URI al que se envían las solicitudes HTTP y del que se espera la respuesta. Las API web pueden ser públicas o privadas, la última de las cuales requiere un token de acceso . [4]
Los endpoints deben ser estáticos; de lo contrario, no se puede garantizar el correcto funcionamiento del software que interactúa con ellos. Si la ubicación de un recurso cambia (y con ella el punto final), el software escrito anteriormente se romperá, ya que el recurso requerido ya no se puede encontrar en el mismo lugar. Como los proveedores de API todavía quieren actualizar sus API web, muchos han introducido un sistema de control de versiones en el URI que apunta a un punto final, por ejemplo, el API Clarifai: El punto final para la funcionalidad de etiquetado dentro de la API web tiene el siguiente URI: "https: //api.google.com/v1/tag/ ". La parte "/ v1 /" del URI especifica el acceso a la primera versión de la API web. Si Clarifai decide actualizar a la versión dos, puede hacerlo sin dejar de ser compatible con el software de terceros que utiliza la primera versión. [5]
Recursos versus servicios
Las API web de Web 2.0 a menudo utilizan interacciones basadas en máquinas como REST y SOAP . Las API web RESTful generalmente se basan libremente en métodos HTTP para acceder a los recursos a través de parámetros codificados en URL y el uso de JSON o XML para transmitir datos. Por el contrario, los protocolos SOAP están estandarizados por el W3C y exigen el uso de XML como formato de carga útil, generalmente a través de HTTP . Además, las API web basadas en SOAP utilizan la validación XML para garantizar la integridad estructural de los mensajes, aprovechando los esquemas XML proporcionados con los documentos WSDL . Un documento WSDL define con precisión los mensajes XML y los enlaces de transporte de un servicio web .
Documentación
Las API web del lado del servidor son interfaces para que el mundo exterior interactúe con la lógica empresarial. Para muchas empresas, esta lógica empresarial interna y la propiedad intelectual asociada a ella son lo que las distingue de otras empresas y, potencialmente, lo que les da una ventaja competitiva. No quieren que se exponga esta información. Sin embargo, para proporcionar una API web de alta calidad, debe haber un nivel suficiente de documentación. Un proveedor de API que no solo proporciona documentación, sino que también se vincula a ella en sus mensajes de error es Twilio. [6]
Sin embargo, ahora existen directorios de API web populares documentadas del lado del servidor. [7]
Crecimiento e impacto
La cantidad de API web disponibles ha crecido de manera constante en los últimos años, a medida que las empresas se dan cuenta de las oportunidades de crecimiento asociadas con la ejecución de una plataforma abierta, con la que cualquier desarrollador puede interactuar. ProgrammableWeb rastrea 9000 API web que estaban disponibles en 2013, frente a 105 en 2005. [8]
Las API web se han vuelto omnipresentes. Hay pocas aplicaciones / servicios de software importantes que no ofrecen algún tipo de API web. Una de las formas más comunes de interactuar con estas API web es a través de la inserción de recursos externos, como tweets, comentarios de Facebook, videos de YouTube, etc. De hecho, existen empresas muy exitosas, como Disqus , cuyo principal servicio es brindar herramientas integrables. , como un sistema de comentarios rico en funciones. [9] Cualquier sitio web de los 100 principales sitios web clasificados por Alexa en Internet utiliza API y / o proporciona sus propias API, que es un indicador muy distinto de la enorme escala y el impacto de las API web en su conjunto. [10]
A medida que ha aumentado el número de API web disponibles, se han desarrollado herramientas de código abierto para proporcionar búsquedas y descubrimientos más sofisticados. APIs.json proporciona una descripción legible por máquina de una API y sus operaciones, y el proyecto relacionado APIs.io ofrece una lista pública de búsqueda de API basada en el formato de metadatos APIs.json. [11] [12]
Negocio
Comercial
Muchas empresas y organizaciones dependen en gran medida de su infraestructura de API web para atender a sus principales clientes comerciales. En 2014, Netflix recibió alrededor de 5 mil millones de solicitudes de API, la mayoría de ellas dentro de su API privada. [13]
Gubernamental
Muchos gobiernos recopilan una gran cantidad de datos, y algunos gobiernos ahora están abriendo el acceso a estos datos. Las interfaces a través de las cuales estos datos suelen ser accesibles son las API web. Las API web permiten que cualquier desarrollador acceda a datos como "presupuestos, obras públicas, delitos, legales y otros datos de agencias" [14] de manera conveniente.
Lado del cliente
Una API web del lado del cliente es una interfaz programática para ampliar la funcionalidad dentro de un navegador web u otro cliente HTTP. Originalmente, estos eran más comúnmente en forma de extensiones de navegador de complementos nativos, sin embargo, la mayoría de los más nuevos apuntan a enlaces de JavaScript estandarizados .
La Fundación Mozilla creó su especificación WebAPI que está diseñada para ayudar a reemplazar las aplicaciones móviles nativas con aplicaciones HTML5 . [15] [16]
Google creó su arquitectura de cliente nativo , que está diseñada para ayudar a reemplazar los complementos nativos inseguros con extensiones y aplicaciones nativas seguras de espacio aislado . También lo han hecho portátil empleando un compilador LLVM AOT modificado .
Ver también
- Interfaz de programación de aplicaciones
- Página web dinámica
- Descripción general de los lenguajes de descripción de API RESTful
- DESCANSAR
- servicio web
Referencias
- ^ "¿Qué es mash-up? - Definición de WhatIs.com" . WhatIs.com . Consultado el 4 de noviembre de 2015 .
- ^ "Tablero de Mashup" . ProgrammableWeb.com. 2009.
- ^ "Una plataforma en línea para API web y servicios mashups". Computación por Internet IEEE . 12 (5). Septiembre-octubre de 2008. doi : 10.1109 / MIC.2008.92 .
- ^ https://blog.twitter.com/developer/en_us/a/2012/changes-coming-to-twitter-api.html
- ^ "API de Clarifai: reconocimiento visual a gran escala" . developer.clarifai.com . Consultado el 4 de noviembre de 2015 .
- ^ Mulloy, Brian. Diseño de API web: creación de interfaces que encantan a los desarrolladores (PDF) . apigee. pag. 11.
- ^ "Directorio de API" . Web programable . Consultado el 3 de noviembre de 2015 .
- ^ "9.000 API: el móvil se vuelve serio" . Web programable . Consultado el 3 de noviembre de 2015 .
- ^ "Disqus - Comunidad de comunidades de la Web" . Disqus . Consultado el 4 de noviembre de 2015 .
- ^ "Alexa Top 500 Global Sites" . www.alexa.com . Consultado el 4 de noviembre de 2015 .
- ^ "APIs.json" . apisjson.org . Consultado el 14 de marzo de 2016 .
- ^ "APIs.io - el motor de búsqueda de API" . apis.io . Consultado el 14 de marzo de 2016 .Así que hazlo claramente comprensible y comparte tus conocimientos.
- ^ "Las 10 lecciones principales aprendidas de la API de Netflix - OSCON 2014, diapositiva 73" . 2014-07-24. Cite journal requiere
|journal=
( ayuda ) - ^ "Tendencias tecnológicas 2015, economía API" . Prensa de la Universidad de Deloitte . Consultado el 3 de noviembre de 2015 .
- ^ Noticias de WebMonkey
- ^ Wiki de Mozilla WebAPI
Otras lecturas
- Jacobson, Daniel; Woods, Dan; Brail, Greg (noviembre de 2011). APIs una guía de estrategia . Sebastopol, California: O'Reilly Media . ISBN 978-1-4493-0892-6.
- Mulloy, Brian. Diseño de API web: creación de interfaces que encantan a los desarrolladores (PDF) . Apigee.
- "API web" . Google Chrome .
- "Referencia de API web - Referencia de tecnología web" . Red de desarrolladores de Mozilla .
- "Demostración de API web" . Demostración de API web .