WSO2 se mantiene como líder tecnológico en la integración de sistemas y buena prueba de ello es esta nueva versión de API Manager. En la cual incluye numerosas y valiosas nuevas características.
Antes de empezar demos un pequeño repaso simplificado a los componentes del API Manager, puesto que estos componentes guardarán relación con las nuevas características y habrá modificaciones sobre su comportamiento:
- Gateway: Elemento que permite el acceso a las APIs.
- Key Manager: Encargado de la autenticación de la APIs en distintos formatos.
- Traffic: Gestiona el flujo de llamadas a la API y controla que se cumplan las reglas de control de llamadas sobre las APIs.
- Publisher / Developer: Portales que nos permiten con una sencilla interfaz gráfica generar y suscribirnos distintas APIs.
Novedades y Características en WSO2 API Manager 3.2.0
Key Manager externo
Por defecto el API Manager viene con su propio Key Manager y hasta ahora se le había podido sustituir este por otro de los productos principales de WSO2: el Identity Server.
A partir de ahora, con WSO2 API Manager 3.2.0 vamos a poder utilizar un Key Manager que no sea propio de WSO2, de forma sencilla e intuitiva. Lo cual nos va a ampliar mucho más la integración de nuestro producto con sistemas ya establecidos. Sin obligarnos a tener que desechar los elementos ya implantados.
Esta configuración deberemos realizarla desde el portal de administración y nos permitirá configurar el WSO2 Identity Server, KeyCloak o Okta.
Workflow de aprobación
Teniendo en cuenta que es una aplicación. Y no es más que una representación lógica dentro del WSO2 API Manager de una representación física externa al API Manager, como puede ser una web o dispositivo móvil. Serán estas aplicaciones las que se suscriban a una APIs. Y será su acceso el que sea controlado por el Traffic Manager. Para evitar su creación o uso indiscriminado, podremos asociar un flujo de aprobación a las mismas.
Desde antes ya podíamos asociar workflow, pero esto implicaba el desarrollo de los mismos y por tanto contar con un servidor de reglas de negocio o Business Process. Pero debemos tener en cuenta que un sencillo workflow donde queramos poder pedir la aprobación de un usuario es algo muy común. Y es por ello que WSO2 de serie ya incluirá este proceso para que podamos realizarlo sin la necesidad de un servidor adicional para los procesos.
Cuando se creen estas nuevas aplicación, se crearán como inactivas. Y seguirán así hasta que sean aprobadas o rechazadas desde el portal de administración.
Consola de pruebas para desarrolladores en WSO2 API Manager 3.2.0
Habitualmente, sobre todo en entornos no productivos, los desarrolladores tienen la necesidad de probar esas APIs que están desarrollando. No es hasta que las publican que no pueden llevar a cabo dichas pruebas.
Ahora WSO2 API Manager 3.2.0 nos provee de una consola, similar a la existente en el portal del desarrollador, donde podemos hacer pruebas antes de la publicación de la API. La cual nos dará la oportunidad de probar si nuestras reglas de control de tráfico son correctas o se está conectado correctamente con el backend.
Analizador de consultas GraphQL
GraphQL es un lenguaje de consultas que surgió como alternativa a REST. Con él podremos, como clientes, solicitar sólo los datos que necesitamos. Permitiéndonos una conversación más fluida.
Pero todo poder conlleva una responsabilidad. Y para que podamos realizar consultas tan dinámicas en las que cada cliente puede solicitar los datos que desee. En contrapartida, el servidor tendrá aún una mayor carga de trabajo. Pudiendo además este tipo de consultas origen de ataques DoS.
Ya desde la versión 3, podíamos crear APIs de tipo GraphQL. Pero es ahora cuando WSO2 API Manager 3.2.0 introduce un analizador de consultas, accesible desde el portal del desarrollador. Con el cual podremos comprobar si las consultas son o no demasiado complejas o su validez.
Securización OAuth 2.0 en el backend
Por fin llega algo muy demandado por todos y que hasta ahora solo se podía llevar a cabo a través de componentes personalizados. Y es permitir que nuestra API se conecte con un backen que tenga su propia securización con OAuth 2.0.
–Quizás también te interese este artículo: OAuth 2.0: Autenticación, seguridad y usabilidad de API –
Debemos recordar que OAuth 2.0 es posiblemente el protocolo de seguridad más utilizado en la actualidad. Y por tanto no es extraño que una API llame a un backend que a su vez utilice dicho protocolo. Por tanto, ahora podremos establecer comunicación con el mismo de forma sencilla.
Operador API para Kubernetes: K8s API-Operator
Una de las mejoras de la versión 3.1.0 fue la herramienta K8s API-Operator. La cual nos permite manejar de forma más cómoda nuestros micro servicios en un entorno de Kubernetes y desplegar APIs asociadas a uno o varios de estos.
-
MEJORAS DE AUTO ESCALADO EN KUBERNETES
Ahora además en esta nueva versión, con esta herramienta, podremos configurar nuestros servicios para que escalen de forma automatizada y horizontalmente en función de las métricas que definamos.
-
MODO JET PRIVADO EN EL MICRO GATEWAY
En relación al punto anterior. Ahora, con la nueva versión de WSO2 API Manager 3.2.0 podremos exponer las APIs que tenemos desplegadas en la nube en modo Jet Privado. El cual nos permitirá desplegarlas con una seguridad máxima.
En caso de que nos decidamos por esta opción, toda la gestión del despliegue y escalado será llevado por el componente K8s API-Operator.
-
SECURIZACIÓN POR API KEY
La securización por API Key es la más sencilla a llevar a nivel de aplicación. Se basa en la creación de una clave única e indefinida a nivel de la suscripción de tipo JWT. Esta clave JSON contendrá la información de la aplicación, cuando se suscribió, etc. Y el Gateway será el encargado de validar la firma asociada al token JWT y el estado de la suscripción.
Sincronizador de artefactos del Gateway
Las secuencias, endpoints, y otros artefactos son gestionados por el Gateway en tiempo de ejecución y almacenados en una ruta física concreta. Esto, en entornos con múltiples nodos, lleva a la necesidad de compartición de estos ficheros a través de NFS o rsync.
Para evitar complicarnos aún más con la configuración. WSO2 ha creado un sincronizador para este tipo de tareas. Realizado con ayuda del envío de eventos y el Traffic Manager.
API Controller
El API Controller o CTL, es la herramienta de WSO2 para llevar a cabo la gestión de APIs a través de línea de comando. Con ella, una vez hayamos configurado un entorno, podremos exportar una API, importarla, listar las existentes, etc.
-
INTEGRACIÓN CON GIT
Ahora en pos de mejorar los pipelines de integración continua. Esta herramienta viene con soporte para GIT. Con el cual podremos detectar si han ocurrido cambios en un repositorio concreto y redesplegar las APIs que se encuentren en él.
-
SOPORTE PARA PRODUCTOS
Debemos entender un producto como un conjunto de APIs, o de recursos dentro de una misma API. Y por tanto ahora a través del API Controller podremos gestionar estos desde linea de comando, no solo APIs.
-
SOPORTE PARA ENDPOINTS
Ahora también podremos crear nuestras APIs desde línea de comandos asociadas a endpoints HTTP/SOAP o AWS Lambda y no solamente a HTTP/REST como sucedía en versiones anteriores.
-
CAMBIO DEL CICLO DE VIDA
Ahora también podremos cambiar el ciclo de vida de una API desde la línea de comandos y no solo desde el portal Publisher como en versiones anteriores.
Restricción por IP o referido en autenticación por API Key
Ya hemos comentado antes que la autenticación por API Key es la más sencilla de llevar a cabo y que se realiza a nivel de aplicación. Es por ello que ahora se introduce herramientas que nos permiten un mayor control sobre los usuarios de dicha aplicación. Permitiéndonos poder restringir el acceso en función de la IP u origen de la llamada, Referrer. Este origen de la llamada puede ser una URL exacta o un subdominio concreto.
Mejoras en componentes ya existentes en WSO2 API Manager 3.2.0
Además de todas estas características nuevas, en WSO2 API Manager 3.2.0 han incluido estas mejoras en componentes ya existentes:
- Rediseño del portal del administrador.
- Mejoras de accesibilidad web en el portal del desarrollador. Nivel AA.
- Posibilidad de actualizar el nivel de suscripción sin necesidad de des-suscribirse y suscribirse de nuevo.
- Mejora en la compartición de scopes entre tenants.
- Mejora en la validación de suscripciones en memoria. Disminuyendo el tráfico entre el Gateway y el Key Manager.
- Mejora en la importación de certificados SSL.
- Mejora en la generación de respuestas de prueba para las API prototipadas.
- Mejoras en el API Controller.
Como habéis visto hay múltiples e importantes características. Las cuales hemos visto de forma simplificada para no abrumar demasiado. Pero si queréis más detalle de las mismas, podéis poneros en contacto con nosotros AQUÍ.