En Internet, una API permite que un sitio web brinde determinado servicio a otro, a través de llamadas a funciones documentadas y publicadas, facilitando de esta manera el “mash-up” o mezcla de servicios. Por ejemplo, hoy es posible que desde un blog personal se puedan publicar noticias del sitio de un famoso periódico, mezcladas con fotos que ya están alojadas en un sitio de fotografÃas, a través de llamadas a la API de estos dos servicios.
Una API detalla solamente la forma de llamar a cada función y la tarea que esta desempeña, sin importar cómo se lleva a cabo dicha tarea.
Detalles técnicos
Un API es un conjunto de reglas para escribir funciones o hacer llamados a subrutinas y acceder a otras funciones en una librerÃa. Los programas que usan estas reglas o funciones en sus llamadas API pueden comunicarse con cualquiera que use dicha API.
Las API abren distintos tipos de diálogos con el proveedor para obtener o actualizar información en el mismo, entre ellos:
- Acceso a bases de datos
- Comunicación cliente/servidor
- Comunicación peer-to-peer
- Comunicación en tiempo real
- Event-driven (orientada a eventos)
- Store and forward
- Procesamiento de transacciones
Una API puede combinar recuperación de errores, traducción de datos, seguridad, manejo de colas y nomenclatura con una interfase fácil de asimilar, que comprende acciones y comandos simples pero con muchas opciones.
Para invocar una API, el programa debe llamar a una función tipo “send”, especificando parámetros para el nombre de destino, indicadores de datos y opciones de confirmación.
La API toma la información y hace que todo el trabajo especÃfico de comunicación sea transparente para la aplicación. Hay cuatro tipos de APIs que posibilitan el intercambio de datos entre diferentes aplicaciones de software en plataformas individuales o distribuidas:
- Remote Procedure Calls (RPCs) o Llamadas a Procedimientos Remotos
Con las RPCs, los programas pueden comunicarse a través de procedimientos (o tareas) que actúan en buffers compartidos de información.
- Standard Query Language (SQL)
Un lenguaje de acceso de datos sin procedimientos que permite el intercambio de datos entre aplicaciones, accediendo a bases de datos comunes.
- Transferencia de archivos
Habilita el intercambio de datos enviando archivos formateados entre aplicaciones. - EnvÃo de mensajes
Provee el intercambio de datos por comunicaciones de interprogramación directa, a través de pequeños mensajes formateados entre aplicaciones emparejadas.
Las APIs pueden desarrollarse para cualquier plataforma y sistema operativo o para todos estos sistemas al mismo tiempo. También desde hace unos años se vienen desarrollando como forma de acceder a servicios web. En este sentido, las API más conocidas son las de:
fuente: el webmaster