Enmilocalfunciona

Thoughts, stories and ideas.

Business APIs en una red de Blockchain

Publicado por Oscar Sanz el

WSO2BlockchainAPIArquitectura de Soluciones

Últimamente se habla mucho de que es un API y su monetización con la estrategia de obtener un rendimiento económico, de hecho el concepto de API Economy puede llegar a confusión.

API Economy está mas relacionado con los recursos de la compañía que puedan generar valor a nivel interno (Departamentos de la compañía) como externo (Partners, nuevos mercados ...). Este concepto es lo que se conoce como Business APIs.

La definición de Business API engloba los siguientes conceptos:

  • Reducir el Time to Market.
  • Llegar a nuevos clientes/mercados.
  • Mecanismos mejorados para compartir "assets" de la compañía a nivel interno o externo.
  • Aprovechar la potencia la Cloud para obtener una escalabilidad sin limites (APIs+Cloud).

En base a estos conceptos debemos tener en cuenta los siguientes modelos de negocio:

  • Partner-Only API Model: Modelo cerrado donde los Partners del propietario pueden consumir los recursos.
  • Public Mode: Modelo publico donde cualquier consumidor tiene acceso al recurso, normalmente acotado a un número de transacciones, por ejemplo Google APIs.
  • Internal API Model: Modelo cerrado donde los propietarios del API son los únicos consumidores.

Las ventajas que nos proporciona cada modelo de negocio descrito anteriormente son:

Modelo Privado o Partner:

  • Rapida monetización de la información.
  • Mejor control y mantenimiento del acceso a los recursos.
  • Soporte personalizado a los Partners.
  • Crecimiento estructurado.

Modelo Público:

  • Oportunidad de innovación.
  • Expansión a nuevos mercados.
  • Maximizar el uso de la plataforma.

Los puntos a tener en cuenta para desarrollar y gestionar Business APIs son:

  • Establecer el caso de uso de negocio y Roadmap.
  • Evaluar el valor del dato y su procesamiento.
  • Asegurar un modelo organizacional correcto y su financiación.
  • Definir y adaptar los procesos para interactuar con los datos de forma óptima.
  • Tratar las APIs como un producto, gestionado su ciclo de vida.
  • Disponer de la plataforma/herramienta/suite adecuada para gestionar y gobernar APIs.
  • Capacidad de medir y analizar los eventos para dar feedback a las diferentes áreas (Clientes, Partners, Desarrolladores ...)

En base a estos principios en atSistemas hemos desarrollado un caso de uso de tarificación de APIs basado en el producto WSO2 API Manager teniendo en cuenta:

  • Uso de tecnología Blockchain como mecanismo de confianza para la tarificación transparente del consumo de datos.
  • La confianza debe establecerse entre el proveedor y el consumidor de los datos.
  • Utilizar una herramienta que nos permita modelar nuestro caso de uso, para definir el ciclo de vida de las APIs y el Gobierno de las mismas (WSO2 API Manager).
  • Trazabilidad de las transacciones de facturación con Smart Contracts en una red publica de Blockchain (ALASTRIA).

Este caso de negocio, a partir de nuestra experiencia en WSO2, lo hemos desarrollado con el siguiente stack tecnológico:

  • Amazon Web Services como solución Cloud.
  • Amazon DynamoDB para gestionar la persistencia de las transacciones y su correlación con los Smart-Contracts.
  • AWS Lambda para gestionar la integración entre WSO2 API Manager y la Red Blockchain, sin utilizar servidores dedicados.
  • AWS SQS para gestionar las peticiones asíncronas entre WSO2 API Manager y la Red Blockchain.
  • WSO2 API Manager como herramienta de gestión de APIs.
  • Red pública de Blockchain (Alastria).

La siguiente imagen muestra la arquitectura técnica de la solución:

alt

Este caso de uso se basa en adaptar el ciclo de vida del API incluyendo la siguiente funcionalidad "custom" en el producto WSO2 API Manager:

  • Creación de una aplicación en el portal WSO2 Store que permite introducir la información de facturación que vamos a relacionar con el Smart Contracts. Manteniendo la relación 1 a 1 entre una aplicación WSO2 y un Smart Contract.
  • Asociar las APIs a planes de suscripción preparados para monetizar eventos. Estos planes de suscripción se han desarrollado en WSO2 Complex Event Processor para poder capturar cada evento como una transacción facturable y sea procesado por AWS Lambda.
  • Capturas de peticiones de las APIs asociadas a planes de facturación.
  • La plataforma WSO2-Blockchain captura los eventos de consumo para ser registrados en la red Blockchain y enviar una notificación al contacto registrado en el Smart Contracts.

Los eventos generados en la red Blockchain se pueden visualizar en el dashboard público (http://netstats.testnet.alastria.io.builders):

alt

Si quieres conocer el detalle de este caso de uso y las opciones que proporciona la suite WSO2, te invitamos a que nos sigas en Twitter y que te unas a uno de nuestros grupos de Meetup:

¡Hasta la próxima!