Articulo de referencia

API web

Captura de pantalla de la documentación de la API web escrita por la NASA. Una API web es una interfaz de programación de aplicaciones (API) para un servidor web o un navegador ...

Captura de pantalla de la documentación de la API web escrita por la NASA.

Una API web es una interfaz de programación de aplicaciones (API) para un servidor web o un navegador web . Como concepto de desarrollo web, se relaciona con el lado del cliente de una aplicación web (incluidos los frameworks web que se utilicen). Una API web del lado del servidor consta de uno o más puntos de acceso públicos a un sistema de mensajería de solicitud-respuesta definido, generalmente expresado en JSON o XML mediante un servidor web basado en HTTP .

Una API de servidor (SAPI) no se considera una API web del lado del servidor, a menos que sea accesible públicamente por una aplicación web remota.

Lado del cliente

Una API web del lado del cliente es una interfaz programática para extender la funcionalidad dentro de un navegador web u otro cliente HTTP. Originalmente, estas se presentaban con mayor frecuencia en forma de extensiones nativas del navegador , pero la mayoría de las más recientes se basan en enlaces JavaScript estandarizados .

La Fundación Mozilla creó su especificación WebAPI, diseñada para ayudar a reemplazar las aplicaciones móviles nativas con aplicaciones HTML5 . [ 1 ] [ 2 ]

Google creó su arquitectura Native Client , diseñada para reemplazar los complementos nativos inseguros con extensiones y aplicaciones nativas seguras y aisladas . Además, lograron que fuera portable mediante el uso de un compilador AOT LLVM modificado .

Lado del servidor

Una API web del lado del servidor consta de uno o más puntos finales expuestos públicamente a un sistema de mensajes de solicitud-respuesta definido, generalmente expresado en JSON o XML . La API web se expone con mayor frecuencia mediante un servidor web basado en HTTP .

Los mashups son aplicaciones web que combinan el uso de múltiples API web del lado del servidor. [ 3 ] [ 4 ] [ 5 ] Los webhooks son API web del lado del servidor que toman como entrada un identificador uniforme de recursos (URI) que está diseñado para usarse como una tubería con nombre remota o un tipo de devolución de llamada de modo que el servidor actúa como un cliente para desreferenciar el URI proporcionado y activar un evento en otro servidor que maneja este evento, proporcionando así un tipo de IPC punto a punto.

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 pueden acceder los recursos los programas de terceros. Normalmente, el acceso se realiza a través de una URI a la que se envían las solicitudes HTTP y desde la que se espera la respuesta. Las API web pueden ser públicas o privadas; estas últimas requieren un token de acceso . [ 6 ]

Los puntos finales 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, por consiguiente, el punto final), el software previamente desarrollado dejará de funcionar, ya que el recurso necesario ya no se encontrará en el mismo lugar. Dado que los proveedores de API desean actualizar sus API web, muchos han implementado un sistema de versionado en la URI que apunta a un punto final.

Recursos versus servicios

Las API web Web 2.0 suelen utilizar interacciones basadas en máquinas, como REST y SOAP . Las API web RESTful utilizan métodos HTTP para acceder a los recursos mediante parámetros codificados en URL y 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, normalmente 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 las vinculaciones de transporte de un servicio web .

Documentación

Las API web del lado del servidor son interfaces que permiten al mundo exterior interactuar con la lógica de negocio. Para muchas empresas, esta lógica de negocio interna y la propiedad intelectual asociada son lo que las distingue de otras empresas y, potencialmente, lo que les otorga una ventaja competitiva. No desean que esta información quede expuesta. Sin embargo, para proporcionar una API web de alta calidad, es necesario contar con un nivel suficiente de documentación. Un proveedor de API que no solo proporciona documentación, sino que también incluye enlaces a ella en sus mensajes de error, es Twilio . [ 7 ]

Sin embargo, ahora existen directorios de API web documentadas populares del lado del servidor. [ 8 ]

Crecimiento e impacto

El número de API web disponibles ha crecido de forma constante en los últimos años, a medida que las empresas se dan cuenta de las oportunidades de crecimiento que ofrece una plataforma abierta con la que cualquier desarrollador puede interactuar. ProgrammableWeb registra más de 24 000 API web disponibles en 2022, frente a las 105 de 2005.

Las API web se han vuelto omnipresentes. Son pocas las 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 mediante la incrustación de recursos externos, como tweets, comentarios de Facebook, vídeos de YouTube, etc. De hecho, existen empresas muy exitosas, como Disqus , cuyo servicio principal es proporcionar herramientas integrables, como un sistema de comentarios con muchas funciones. [ 9 ] Cualquier sitio web del TOP 100 de sitios web clasificados por Alexa Internet utiliza API y/o proporciona sus propias API, lo que es un indicador muy claro de la prodigiosa escala e 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 un listado público de API con capacidad de búsqueda basado 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 clientes comerciales principales. 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 gran cantidad de datos, y algunos están facilitando el acceso a ellos. Las interfaces que permiten acceder a estos datos suelen ser las API web. Las API web permiten que cualquier desarrollador acceda de forma sencilla a datos como presupuesto, obras públicas, delincuencia, información legal y otros datos de agencias [ 14 ] .

Ejemplo

Un ejemplo de API web popular es la API de la Imagen Astronómica del Día, operada por la agencia espacial estadounidense NASA . Se trata de una API del lado del servidor que se utiliza para recuperar fotografías del espacio u otras imágenes de interés para los astrónomos , así como metadatos sobre las imágenes.

Según la documentación de la API, [ 15 ] la API tiene un único punto final:

https://api.nasa.gov/planetary/apod

La documentación indica que este endpoint acepta solicitudes GET . Requiere una clave API del usuario y acepta información adicional opcional. Esta información se conoce como parámetros . Los parámetros de esta API se escriben en un formato conocido como cadena de consulta , que se separa del endpoint mediante un signo de interrogación ( ). Un signo de ampersand ( & ) separa los parámetros de la cadena de consulta. Juntos, el endpoint y la cadena de consulta forman una URL que determina la respuesta de la API. Esta URL también se conoce como consulta o llamada a la API .?&

En el siguiente ejemplo, se transmiten (o pasan ) dos parámetros a la API a través de la cadena de consulta. El primero es la clave API requerida y el segundo es un parámetro opcional: la fecha de la fotografía solicitada.

https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY&date=1996-12-03

Al visitar la URL anterior en un navegador web, se iniciará una solicitud GET, que llamará a la API y mostrará al usuario un resultado, conocido como valor de retorno . Esta API devuelve JSON , un formato de datos diseñado para ser comprendido por computadoras, pero que también es relativamente fácil de leer para un humano. En este caso, el JSON contiene información sobre una fotografía de una estrella enana blanca .

{ "date" : "1996-12-03" , "explanation" : "Como una mariposa,\ra una estrella enana blanca comienza su vida\r desprendiéndose de un capullo que envolvía su antiguo ser. En esta\r analogía, sin embargo, el Sol sería\ra una oruga\r ¡y la capa de gas expulsada se convertiría en la más bonita de todas!\r El capullo anterior, la nebulosa planetaria\r designada NGC 2440, contiene una de las estrellas enanas blancas más calientes conocidas.\r La enana blanca se puede ver como el punto brillante cerca del\r centro de la foto. Nuestro Sol eventualmente se convertirá en una "mariposa enana blanca",\r pero no hasta dentro de 5 mil millones de años. La imagen anterior en falso color entró recientemente en el dominio público\r y fue procesada posteriormente por F. Hamilton.\r" , "hdurl" : "https://apod.nasa.gov/apod/image/9612/ngc2440_hst2_big.jpg" , "media_type" : "image" , "service_version" : "v1" , "title" : "Capullo de una nueva enana blanca\r\nCrédito:" , "url" : "https://apod.nasa.gov/apod/image/9612/ngc2440_hst2.jpg" }

La respuesta de la API anterior se ha reformateado de manera que los nombres de los elementos de datos JSON, conocidos como claves , aparezcan al principio de cada línea. La última de estas claves, denominada url, indica una URL que apunta a una fotografía:

https://apod.nasa.gov/apod/image/9612/ngc2440_hst2.jpg

Tras acceder a la URL anterior, un usuario de navegador web vería esta foto:

Capullo de una nueva enana blanca

Aunque un usuario final puede acceder a esta API mediante un navegador web (como en este ejemplo), su propósito es que un programa informático la utilice automáticamente durante el desarrollo del software. El formato JSON está diseñado para ser analizado por un programa informático, que extraerá la URL de la fotografía y otros metadatos. La foto resultante podría insertarse en un sitio web, enviarse automáticamente por mensaje de texto o utilizarse para cualquier otro fin previsto por el desarrollador del software.

Véase también

Referencias

  1. "La API web de Mozilla quiere reemplazar las aplicaciones nativas con HTML5 | Webmonkey | Wired.com" . en-US . 5 de diciembre de 2013. Archivado del original el 5 de diciembre de 2013. Consultado el 13 de enero de 2022 .
  2. Wiki de la API web de Mozilla
  3. "¿Qué es un mash-up? - Definición de WhatIs.com" . WhatIs.com . Archivado del original el 24 de abril de 2015. Consultado el 4 de noviembre de 2015 .
  4. "Mashup Dashboard" . ProgrammableWeb.com. 2009. Archivado del original el 7 de mayo de 2021. Recuperado el 29 de mayo de 2021 .
  5. Maximilien, E. Michael; Ranabahu, Ajith; Gomadam, Karthik (septiembre-octubre de 2008). "Una plataforma en línea para API web y mashups de servicios". IEEE Internet Computing . 12 (5): 32–43 . doi : 10.1109/MIC.2008.92 . S2CID 14949046 . 
  6. "Cambios que llegarán en la versión 1.1 de la API de Twitter" . en-US . 16 de agosto de 2012. Consultado el 1 de agosto de 2019 .{{cite web}}: CS1 mantenimiento: estado de la URL ( enlace )
  7. Mulloy, Brian. Diseño de API web: creación de interfaces que encantan a los desarrolladores (PDF) . apigee. pág. 11. 
  8. "API públicas" . GitHub . Consultado el 14 de noviembre de 2025 .
  9. "Disqus – La comunidad de comunidades de la web" . Disqus . Consultado el 4 de noviembre de 2015 .
  10. "Alexa Top 500 Global Sites" . www.alexa.com . Archivado del original el 2 de marzo de 2015. Consultado el 4 de noviembre de 2015 .
  11. "APIs.json" . apisjson.org . Consultado el 14 de marzo de 2016 .
  12. "APIs.io - el motor de búsqueda de API" . apis.io. Consultado el 14 de marzo de 2016 .Así que explícalo claramente y comparte tus conocimientos.
  13. "Las 10 lecciones principales aprendidas de la API de Netflix - OSCON 2014, diapositiva 73" . 24 de julio de 2014.{{cite journal}}: Para citar una revista se requiere |journal=( ayuda )
  14. "Tendencias tecnológicas 2015, economía de las API" . Deloitte University Press . Archivado del original el 15 de agosto de 2016. Consultado el 3 de noviembre de 2015 .
  15. "Imagen astronómica del día" . API de la NASA .

Lecturas adicionales

  • Jacobson, Daniel; Woods, Dan; Brail, Greg (noviembre de 2011). APIs: una guía estratégica . 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 . Archivado del original el 19/07/2018 . Consultado el 30/11/2015 .
  • "Referencia de API web - Referencia de tecnología web" . Red de desarrolladores de Mozilla . 20 de febrero de 2023.
  • "Demostración de la API web" . Demostración de la API web .
Obtenido de " https://en.wikipedia.org/w/index.php?title=Web_API&oldid=1326494105 "