Gravitee API Platform es un Plataforma para gestión de APIS construida en Java y open-source Apache (https://github.com/gravitee-io)

La Plataforma la componen 2 piezas:

· Gravitee API Manager: que integra el API Gateway y el API Portal

· Gravitee Access Manager (AM): encargado de las autorizaciones del API Manager

Sus principales características podrían resumirse en:

· API REST: Cada acción realizada a través de la interfaz de usuario web ofrece un API REST interna.

· DESPLIEGUE DE UN CLIC: Con un solo clic, el API queda accesible en Gravitee.io y está lista para ser consumida.

· ESCALABLE: permitiendo añadir de forma sencilla nuevas instancias del Gateway al cluster

· POLÍTICAS PERSONALIZADAS: Gravitee.io proporciona una gran cantidad de políticas listas para usar (limitación de velocidad, CORS, filtrado de IP). Si no es suficiente, puedes desarrollar el tu propio plugin

· BALANCEO DE CARGA: Round-robin, random, sticky mode, Gravitee proporciona un conjunto de algoritmos de equilibrio de carga que se adaptan a sus necesidades.

· CONFIGURACIÓN ROLLBACK: Cada cambio en la configuración de su API está versionado. Puede retroceder a una configuración anterior o compararlos.

· REPORTES PERSONALIZADOS

· ANALÍTICA: Tiempo de respuesta, estado de respuesta, tamaño de la carga útil, el panel de análisis proporciona métricas útiles para analizar el comportamiento de su API y cómo se consume.

· API PORTAL: Gravitee.io destaca sus API en su portal y proporciona documentación y control de acceso para las aplicaciones que desean hacer uso de su trabajo.

· SHARDING: usando etiquetas, puede enviar sus API a múltiples instancias de puerta de enlace (entorno público / privado, …)

· CHEQUEO DE SALUD: Como proveedor de API, puede agregar un control de estado a sus servicios y proporcione comentarios a sus usuarios sobre la disponibilidad de su API.

· FAIL-OVER: ¿Uno de tus servicios API no está disponible? No hay problema, la puerta de enlace se encargará de esto y dirigirá la llamada a otra instancia de su servicio de forma transparente para los consumidores.

· SEGURIDAD: Proteja su API proporcionando una clave API a los consumidores, agregando la política OAuth2 o JWT, autenticación básica, …

En cuanto al API Manager la Arquitectura de la solución es esta:

Y si vemos las tecnologías con las que está construido nos encontramos con Vert.x, Drools, Mongo, redis,…

Gravitee está pensado para ser muy ligero (en arranque y ejecución), una funcionalidad muy interesante es su concepto de plugin que pueden catalogarse en tipos:

(aquí como construirlos)

En cuanto al Gravitee AA, sirve de puente entre las aplicaciones y los Identity Provider para autenticar, autorizar,… se basa en protocolos como OAuth2, OpenId,.. y la forma de interactuar con el API Manager es esta:

Como hemos dicho, Gravitee está construido en Java, y la instalación es muy sencilla, tanto vía contenedores Docker como con un ZIP con el instalable.