jueves, 13 de febrero de 2014

WSO2 API Manager. Introducción.


El producto WSO2 API Manager, de la suite de WSO2 ha estado tomando bastante auge gracias al movimiento hacia el desarrollo de servicios RESTful y la construcción de APIs.

Este producto permite, entre otras cosas:
  1. Publicar las APIs y gestionar su ciclo de vida.
  2. Compartir información sobre las APIs.
  3. Brindar un mecanismo para la calificación de las APIs.
  4. Brindar un mecanismo de descubrimiento a los desarrolladores que vayan a actuar como consumidores de las APIs.
  5. Monitorear el consumo de las APIs, sus tiempos de respuesta, cantidad de accesos y quien las consume.
  6. Filtrar la cantidad de accesos por unidad de tiempo y garantizar la seguridad del acceso a las APIs, basados en políticas de seguridad.
  7. Brindar un mecanismo para que los desarrolladores se puedan registrar y subscribirse a las APIs, así como generar claves de acceso necesarias para su consumo.

Para lograr estas funcionalidades y otras más el producto APIM ha establecido la siguiente distribución de sus componentes.



Una descripción de cada componente se puede encontrar en el siguiente blog

La utilidad de la herramienta se puede apreciar a través del siguiente escenario:

Se ha  desarrollado una aplicación que se encarga de la venta de pizzas por internet. Los desarrolladores de la aplicación se han dado cuenta que no solo pueden hacer dinero a través de la interfaz gráfica de la aplicación si no también con sus funcionalidades, así que han identificado funcionalidades que se pueden exponer como APIs, ellas son:
  1. Listar el menú de las pizzas en venta junto con sus descripciones y precios.
  2. Ordenar pizzas online generando un id de la orden para su posterior rastreo.
  3. Monitorear la entrega de las pizzas a partir de los id de las órdenes.
Su idea es que con estas funcionalidades otros sistemas podrán incluir la venta de pizzas a partir del consumo de estas APIs y ellos podrán cobrar por dicho consumo, además de controlar la forma de acceso garantizando que no se les escape un centavo :-) , y monitorizar las mismas para ver si su iniciativa tiene éxito o no.

El desarrollo de la solución para por los siguientes pasos:
  1. Exponer las funcionalidades como APIs.
  2. Publicar las APIs en un sistema que permita que otros desarrolladores las descubran.
  3. Los desarrolladores se registran en el sistema que publica las APIs para descubrirlas, suscribirse y solicitar acceso a las mismas.
  4. El sistema a solicitud de los desarrolladores genera claves de acceso a las APIs para que  las puedan consumir de una manera segura.
  5. Llegados a este paso los desarrolladores ya podrán probar el consumo de las APIs, crear su propia aplicación que consuma las APIs y comenzar a acceder a sus funcionalidades y datos. La seguridad del acceso se garantiza a través de Oauth 2.0
  6. Por su parte los creadores de las APIs podrán monitorear su consumo y monetizar el mismo.

Para aquellos que ya quieren ver cómo implementar este escenario les recomiendo pasar por este blog. Y se pueden llevar una idea de como funciona a través de la siguiente imagen:


En la próxima entrada implementaremos estos pasos usando las siguientes herramientas:


En el AS hostearemos una aplicación web que contendrá las APIs, así como la solución final.
En el APIM manejaremos todos los requerimientos relacionados con las APIs.
En el BAM guardaremos las estadísticas de consumo de las APIs.

0 comentarios:

Publicar un comentario