Una interfaz de programación de aplicaciones - mejor conocida por sus siglas en inglés "API (Application Programming Interface)" es un conjunto de código que permite la transmisión de datos entre una aplicación y otra (pudiendo ser del mismo desarrollador o de terceros), definiéndose en el mismo, los términos y condiciones para el intercambio de solicitudes y respuestas entre las aplicaciones.
Las APIs constan básicamente de dos componentes:
- Una especificación técnica, la cual podemos llamar contrato, que describe las opciones de intercambio de datos entre ambas aplicaciones, con la especificación realizada en forma de solicitud de procesamiento y protocolos de entrega de datos.
- Una interfaz de software en cada sistema que permite realizar el intercambio de datos.
La arquitectura de las API suele explicarse en términos de cliente y servidor. La aplicación que envía la solicitud se llama cliente, y la que envía la respuesta se llama servidor.
Tipos de protocolos de APIs
- Protocolo simple de acceso a objetos - SOAP (Simple Object Access Protocol): Es un protocolo estándar que se creó originalmente en los 90`s para posibilitar la comunicación entre las aplicaciones que se diseñaban con diferentes lenguajes y en distintas plataformas, intercambiando mensajes mediante XML. Este protocolo es menos utilizado en la actualidad, debido a su complejidad y reglas estrictas que provocan un consumo de recursos elevado.
- Llamadas a procedimientos remotos - RPC (Remote Procedure Call): Es el protocolo de API más simple, consiste en que el cliente ejecuta código o una función en el servidor y el servidor devuelve la respuesta al cliente.
- WebSocket: Es un protocolo más moderno utilizado en aplicaciones web, que hace posible abrir una sesión de comunicación interactiva y bi-direccional entre el cliente y un servidor. Con esta API, puede enviar mensajes a un servidor y recibir respuestas basadas en eventos sin tener que sondear el servidor para obtener una respuesta.
- Transferencia de estado representacional - REST(Representational State Transfer): Este es el protocolo de API para la web más utilizado hoy en día. El servidor utiliza esta entrada del cliente para iniciar funciones internas y devuelve los datos de salida al cliente. REST define un conjunto de funciones como GET, PUT, DELETE, etc. que los clientes pueden utilizar para acceder a los datos del servidor. Los clientes y los servidores intercambian datos mediante HTTP.
0 Comentarios