IBM API Connect
Onboarding en API Connect
A continuación describimos el funcionamiento de la herramienta API Connect y sus principales características.

¿Qué es un API Manager?
Un API Manager gestiona el proceso de crear y publicar interfaces de programación de aplicaciones (API) web, haciendo cumplir sus políticas de uso, controlando el acceso, nutriendo a la comunidad de suscriptores, recopilando y analizando estadísticas de uso e informando sobre el rendimiento. Los componentes de API Management proporcionan mecanismos y herramientas para apoyar a la comunidad de desarrolladores y suscriptores.
¿Qué es API Connect?

Conceptos generales
API Connect es una plataforma web para la creación, exposición y gestión de APIs.
Los productos se utilizan para ofrecer una o más APIs a los posibles consumidores, el control de acceso a las APIs se realiza a través de los planes. Los productos son paquetes que contienen APIs y planes.
Para exponer una API es necesario que esté incluida en un producto y que a su vez el producto contenga un plan.
A través de los planes se controla que desarrolladores pueden acceder a las APIs, qué operaciones de las APIs están disponibles y establecer rate limits a las APIs.
Los productos además de contener las APIs y los planes, se utilizan para administrar el ciclo de vida de las APIs a través de los estados: draft, staged, published, deprecated, retired, y archived. Un producto en estado draft se mueve al estado stage cuando el producto se guarda en el catálogo y se mueve al estado published cuando su catálogo es publicado, momento en el que las APIs estarán disponibles para los desarrolladores.
Por último, el DataPower Gateway proporciona un amplio rango de políticas que se incorporan en el ensamblaje de API de API Connect, lo que incluye transformaciones, políticas de seguridad, lógica y GatewayScript (basado en JavaScript).
Organización
En API Connect, hay dos tipos de organizaciones o roles: proveedor y desarrollador.
Una organización proveedora es propietaria de APIs, planes y productos asociados, y además puede poseer aplicaciones de proveedor (backends en node o Java) que son llamadas por las APIs. Se encarga de gestionar los ciclos de vida de las API y publica las APIs.
Una organización de desarrolladores es propietaria sólo de aplicaciones de desarrollador, y consumidor de las APIs y aplicaciones producidas por la organización proveedora.

Casos de uso
1. Propiedades
En ocasiones, querremos hacer uso de variables que dependen del entorno (catálogo) donde están desplegadas, por ejemplo, la url de un target, que será distinta en pre que en pro. Estas variables se almacenarán en la sección “propiedades” del API y se podrán consultar en cualquier punto del ensamblador usando la sintaxis $(nombre-variable), excepto en los gateway-script donde la llamaremos como al resto de variables de contexto con un apim.getvariable(‘nombre-variable’).
2. Id único por petición
3. Transformación XML-JSON o JSON-XML

4. GatewayScripts

5. Mapeos

6. Caché


Analítica y Logging
Cualquier llamada que pase por el gateway genera un registro de log con información de la request, no es necesario configurar nada para que esto ocurra, IBM Api Connect lo hace por defecto.
En principio, la información completa de la llamada (payload, headers...), sólo se registra para llamadas erróneas (status diferente de 2xx). Para llamadas correctas se registra menos información (uri, latencias y otra información básica). Este comportamiento se puede modificar configurando el activity-log de la API que sobrescribe la configuración por defecto.
Esta configuración nos permite establecer aquello que se almacenará en caso de error y lo que se almacenará en caso contrario:
None: no almacenar nada.
Activity: el recurso de la URI y otra información básica (por defecto para peticiones satisfactorias).
Header: lo anterior y cabeceras.
Payload: lo anterior y el cuerpo (por defecto para peticiones erróneas).
Esta información se explota después desde las analíticas del catálogo.
Autenticación
Api connect permite infinidad de opciones para implementar mecanismos de seguridad y de OAuth. Se puede optar por un proveedor de OAuth nativo que use una URL de autenticación en un servidor externo. Para realizarlo necesitaremos varios recursos, como es un registro de usuarios y proveedores de OAuth.
Una vez hecho esto, si queremos que una API esté protegida por OAuth, bastará con crear una definición de seguridad de tipo OAuth, que tenga como proveedor el creado anteriormente. Y después proteger los endpoints con esta definición de seguridad desde cada vía de acceso o bien dejarlo de forma general para el proxy.
Conclusiones
El primer aspecto a destacar, es la estabilidad de la herramienta y las actualizaciones que recibe. Por otro lado, la herramienta cuenta con muchas funcionalidades satélite que otros API Manager no tiene, como un developer portal, una cantidad de políticas extenso (transformaciones) etc.
En comparación con otros API Manager, es muy competitivo en precios, a pesar de ser una aplicación de IBM, llega a ser más barato incluso que otros APIM que son open source.
Por último, el único problema importante que hemos tenido es la documentación escasa y la poca comunidad que encontramos alrededor de esta herramienta.
En resumen, API Connect cumple con su cometido con muy buena nota a nuestro parecer y es una alternativa relevante a la hora de realizar un gobierno de API.
Escriba un comentario
Usted debe ser registrado escribir un comentario.