Una Interfaz de Programación de Aplicaciones (API) permite a los programadores informáticos acceder a la funcionalidad de los módulos y servicios de software publicados. Una API define estructuras de datos y llamadas de subrutinas que pueden ser usadas para extender aplicaciones existentes con nuevas características, y construir aplicaciones completamente nuevas sobre otros componentes de software. Algunas de estas APIs soportan específicamente programación de red.
La programación de redes es un tipo de desarrollo de software para aplicaciones que se conectan y comunican a través de redes informáticas, incluyendo Internet. Las API de red proporcionan puntos de entrada a protocolos y bibliotecas de software reutilizables. Las API de red son compatibles con navegadores Web, bases de datos Web y muchas aplicaciones móviles. Son ampliamente soportados en muchos lenguajes de programación y sistemas operativos diferentes.
Índice de contenidos
Programación de zócalos
La programación de red tradicional seguía un modelo cliente-servidor. Las principales APIs utilizadas para la creación de redes cliente-servidor se implementaron en bibliotecas de sockets integradas en sistemas operativos. Las APIs de Berkeley sockets y Windows Sockets (Winsock) fueron los dos estándares principales para la programación de sockets durante muchos años.
Llamadas a procedimientos remotos
Las APIs RPC amplían las técnicas básicas de programación de red añadiendo la capacidad de las aplicaciones de invocar funciones en dispositivos remotos en lugar de limitarse a enviarles mensajes. Con la explosión de crecimiento en la World Wide Web (WWW), XML-RPC surgió como un mecanismo popular para RPC.
Protocolo de acceso a objetos simples (SOAP)
SOAP se desarrolló a finales de la década de 1990 como un protocolo de red que utiliza XML como formato de mensaje y el protocolo de transferencia de hipertexto (HTTP) como medio de transporte. SOAP generó un seguimiento leal de los programadores de servicios Web y se convirtió en una herramienta ampliamente utilizada para las aplicaciones empresariales.
Transferencia estatal de representación (REST)
REST es otro modelo de programación que también soporta los servicios Web que llegaron a la escena más recientemente. Al igual que SOAP, las APIs de REST utilizan HTTP, pero en lugar de XML, las aplicaciones de REST suelen optar por utilizar una Notación de objeto Javascript (JSON). REST y SOAP difieren enormemente en sus enfoques de la gestión del estado y la seguridad, ambas consideraciones clave para los programadores de redes. Las aplicaciones móviles pueden o no utilizar APIs de red, pero las que sí utilizan REST.
El futuro de las API
Tanto SOAP como REST siguen utilizándose activamente para el desarrollo de nuevos servicios web. Al ser una tecnología mucho más nueva que SOAP, es más probable que REST evolucione y produzca otras ramificaciones del desarrollo de API.
Los sistemas operativos también han evolucionado para soportar las nuevas tecnologías de API de red. En los sistemas operativos modernos como Windows 10, por ejemplo, los sockets siguen siendo una API central, con HTTP y otro soporte adicional en capas en la parte superior para la programación de redes de estilo RESTful.
Como suele ocurrir en el campo de la informática, las nuevas tecnologías tienden a desplegarse mucho más rápido que las antiguas y se vuelven obsoletas. Busque nuevos e interesantes desarrollos de API, especialmente en las áreas de computación en nube e Internet de los objetos (IO), donde las características de los dispositivos y sus modelos de uso son muy diferentes de los entornos de programación de red tradicionales.