Antes de entrar en los detalles de lo que son las API, hay que decir que la programación de software es, a todos los efectos, un lenguaje. Como tal, se caracteriza por una sintaxis (que se compone de una serie de reglas) y un estilo de escritura de código. Cada desarrollador puede adoptar diferentes formas de escribir código en función de sus habilidades, experiencias y hábitos.
Para facilitar la escritura de código, algunos procedimientos “estándar” se agrupan en conjuntos de herramientas específicas para la realización de una determinada tarea. Son las llamadas bibliotecas (o rutinas) que corresponden a una serie de “llamadas” a partes de un programa que un desarrollador puede utilizar para acortar su trabajo. Este es el contexto en el que se sitúan las Api en informática.
Índice de temas
Qué son las Api, significado de la interfaz de programación de aplicaciones
El significado de este acrónimo es Interfaz de Programación de Aplicaciones (API) y se trata de aplicaciones que, mediante modalidades estándar, exponen las funcionalidades de otras aplicaciones; esto significa permitir el uso de los servicios disponibles que se pueden componer y descomponer según las necesidades.
En la práctica, son esenciales para hacer que los servicios estén disponibles en respuesta a las necesidades de la empresa. Gracias a las API, una aplicación empresarial puede hacerse utilizable a través del móvil, o puede integrarse en una cadena ampliada abriendo las propias aplicaciones a socios y proveedores, etc. El sentido de las APIs es, por tanto, simplificar la posibilidad de diálogo entre una aplicación y otra, evitando redundancias y réplicas inútiles de código.
¿Qué es una pasarela API, definición y para qué sirve?
La gestión de una interfaz de programación de aplicaciones puede ser compleja. Para construir una segura y ágil, hay que adoptar un enfoque pragmático. El uso de una pasarela API permite crear todo el conjunto de microservicios asociados de forma ordenada, organizando mejor el trabajo de programación.
La definición de una pasarela API podría ser, por tanto, la de una bisagra estratégica entre la mejor experiencia de usuario omnicanal y todo el mundo de los microservicios y los servicios informáticos. De hecho, en una arquitectura de microservicios, las aplicaciones cliente suelen tener que utilizar la funcionalidad de varios microservicios. Si este uso se realiza directamente, el cliente necesita manejar múltiples llamadas a los puntos finales del microservicio. ¿Qué ocurre cuando la aplicación evoluciona y se introducen nuevos microservicios o se actualizan los existentes? Si la aplicación tiene muchos microservicios, gestionar un gran número de puntos finales desde las aplicaciones cliente puede ser muy difícil. Por eso es mucho más fácil tener un nivel intermedio indirecto de referencia, que implica pasarelas de API.
REST vs SOAP, cómo funcionan los servicios web
REST – Representational State Transfer es un estilo de arquitectura de software para sistemas distribuidos, que representa un sistema de transmisión de datos a través de Http sin más capas (como, por ejemplo, SOAP, frente al cual es, por lo tanto, más sencillo). Un concepto importante en REST es la existencia de recursos (fuentes de información), a los que se puede acceder mediante un identificador global (un URI – Uniform Resource Identifier). Para utilizar los recursos, los componentes de una red (componentes cliente y servidor) se comunican a través de una interfaz estándar (por ejemplo, HTTP) e intercambian representaciones de estos recursos (el documento que transmite la información).
El funcionamiento de REST proporciona una estructura de URL definida (para identificar de forma única un recurso o un conjunto de recursos) y el uso de verbos HTTP específicos para la recuperación de información (GET), para la modificación (POST, PUT, PATCH, DELETE) y para otros fines (OPTIONS, etc.). En particular el POST, crea un nuevo elemento en la colección. El URI del nuevo recurso se asigna automáticamente y suele ser devuelto por esta operación (cabecera Location). A diferencia de los servicios web basados en SOAP, no existe un estándar oficial para las API web RESTful. Esto se debe a que REST es un conjunto de directrices para una arquitectura, mientras que SOAP es un protocolo. REST no es un estándar en sí mismo, pero las implementaciones RESTful utilizan estándares, como HTTP, URI, JSON y XML.
Qué es el SOAP
El modelo arquitectónico REST está desbancando a SOAP -Protocolo simple de acceso a objetos- entre los protocolos de creación de servicios web. Esto es especialmente cierto para el intercambio de mensajes entre componentes de software. REST establece un conjunto de reglas por las que los servidores consumidores y los proveedores de servicios pueden hablar entre sí.
SOAP es el marco operativo extensible y descentralizado que puede funcionar sobre varias pilas (stacks) de protocolos para redes informáticas. Proporciona a través de mensajes solicitudes de procedimientos remotos. Las llamadas a procedimientos remotos pueden modelarse como una interacción de varios mensajes SOAP.
SDK, para qué sirve
Con SDK (acrónimo de Software Development Kit) nos referimos a un conjunto de herramientas que permiten construir, de forma más sencilla e inmediata, programas y aplicaciones para diferentes plataformas operativas (desde sistemas operativos o firmware hasta sistemas IoT), plataformas de hardware (ordenadores, pero también smartphones, consolas de videojuegos, etc.). Gracias a un SDK, se facilita el trabajo del desarrollador, que encuentra librerías o módulos precompilados que le evitan reescribir líneas de código.
Los SDK pueden ser muy diferentes entre sí en cuanto a tamaño y tecnologías utilizadas. Todos ellos cuentan con herramientas fundamentales entre las que destacan principalmente:
- un compilador útil para traducir el código fuente en un ejecutable.
- API (para que, por ejemplo, un módulo o software pueda interactuar con otro desarrollado para otra plataforma).
- Documentación sobre el lenguaje de programación para el que se ha desarrollado el SDK e información sobre las licencias que se utilizarán para distribuir los programas creados con el SDK.
Ejemplos de interfaz de programación de aplicaciones
Las API de Facebook, por ejemplo, han permitido a los desarrolladores crear miles de servicios que acceden a los datos que ofrece la red social. Simplemente puedes compartir tu cuenta de Facebook para comprar, por ejemplo, billetes en una agencia de viajes o completar una compra en un sitio de comercio electrónico.
Microsoft y Sony, en cambio, guardan muy celosamente las API de desarrollo de Xbox y PlayStation. Ambos, de hecho, tienen interés en distribuir las API a un pequeño número de programadores y casas de desarrollo, para controlar el número de desarrolladores de juegos.
Otras empresas de software, en cambio, tienen una actitud diferente: una mayor difusión de las APIs garantiza una mayor difusión de su software y plataforma y asegura una amplia distribución de estas herramientas. La propia Microsoft distribuye libremente las API de Windows, consciente de que cuanto mayor sea el número de programas existentes para su sistema operativo, mayor será la difusión del propio sistema.
Cuántas interfaces de programación de aplicaciones existen y su papel en la economía de las API
Para entender lo estratégicas que son las APIs y por qué son fundamentales en el apoyo a la transformación digital y a los negocios, y en lo que podemos definir cada vez más como la economía de las APIs, basta decir que, al día de hoy, existen más de 14 mil APIs públicas utilizadas por diversos servicios y software de uso común. Además de las de Facebook, las APIs probablemente más conocidas son las que proporcionan Twitter, Google, eBay o Amazon.
Google, por ejemplo, proporciona las API de Google Maps para que cualquier desarrollador pueda utilizarlas para crear mapas personalizados. Pueden integrarlos en sus propios sitios web y ofrecer servicios de búsqueda georreferenciados o utilizarlos en aplicaciones móviles, etc.
En los últimos meses se estimó que el 75% del tráfico en Twitter y el 65% del tráfico en Salesforce.com se originaba en las API. Cualquier empresa que se adentre en la economía de las APIs tiene que lidiar con un conjunto de APIs destinadas a integrar nuevos servicios.
API para todos
Incentivadas por las necesidades de la movilidad y la nube, cada vez más empresas, a través de las API, tienden a compartir sus activos de información con otros desarrolladores (internos o externos) para que sus activos generen una mayor expansión del alcance, los ingresos y la fidelidad de los usuarios.
Atención a la seguridad
Para cualquier empresa que quiera desarrollar aplicaciones móviles sin tener que alterar o modificar los datos y servicios existentes, o gestionar e integrar eficazmente los servicios en la nube y en las instalaciones, la supervisión del uso de las APIs corporativas y la seguridad de las mismas son dos aspectos estratégicos. El riesgo es el efecto en cascada que una API que contiene un script infectado puede generar en todas las aplicaciones que interactúan con ella.
Si un hacker consigue introducir un codigo malicioso en la base de datos principal y el código de la API de esa empresa no lo elimina antes de una solicitud de otra interfaz de programación de aplicaciones, el script se transmite. Potencialmente, el script malicioso podría comprometer los datos de miles de usuarios, muy a menudo inconscientes de lo que ocurre con su información sensible.
Cómo gestionar las APIs
Aunque su uso es fundamental para crear aplicaciones de forma rápida y eficaz, la proliferación de APIs conduce inevitablemente a problemas de gestión y gobierno. Por eso se han creado plataformas de gestión de API con el objetivo de supervisar, asegurar y optimizar el uso de las interfaces de programación de aplicaciones. Esto es posible mediante el control de acceso, el establecimiento de políticas de seguridad y, en el caso de las plataformas más completas, la gestión del acceso de pago a las API. El pago puede ser directo o basarse en el reparto de ingresos (por ejemplo, utilizando PayPal, los programadores permiten a sus interlocutores pagar, mientras que PayPal recibe un porcentaje de las ventas).
Prohibida su reproducción total o parcial.