APIs Arquitectura de Software Technology
Integration Studio

¿Qué es WSO2?

WSO2 es un software abierto enfocado a proveer una arquitectura orientada a servicios (SOA) que nos permite cubrir todos los pasos del ciclo de vida de un proyecto de desarrollo.

Este software forma parte de la plataforma WSO2 Integration Agile y se compone de los siguientes productos:

  • Plataforma WSO2 Api Manager: desarrollo y publicación de APIs.
  • Herramienta WSO2 Identity Server: gestión de credenciales y protocolos de acceso a los recursos.

WSO2 Enterprise Integration: implementación de patrones de integración empresariales (EIP).

Arquitectura WSO2 Enterprise Integration

WSO2 EI es un producto de integración para proyectos en la nube y proyectos en contenedores. Permite escalar y encontrar soluciones de integración sofisticadas en la mejora del producto final, utilizando estilos de arquitectura de integración como microservicios o ESB centralizado.

La arquitectura de WSO2 EI es la siguiente:

Enterprise Integration Studio

Proporcionando un middleware con capacidades de integración de datos, integración de procesos, monitoreo y capacidades de intermediación de mensajes.

Capacidad ESB (Enterprise Service Bus) como canal tanto centralizado como descentralizado para integrar servicios, datos y sistemas heredados, propietarios o tipo SaaS.

Enterprise service Bus

Ofrece una amplia gama de conectores para la interacción con otros sistemas. Integración de datos y transformación de los mismos en diferentes formatos y capacidades analíticas mediante herramientas visuales como depuración interactiva o mapeo de datos.

¿Qué es WSO2 Integration Studio?

WSO2 Integration Studio es el entorno de desarrollo gráfico de arrastrar y soltar para WSO2 Enterprise Integrator.
Incluye una paleta de herramientas visual, la opción de importar e incluir conectores y vistas de propiedades para configuraciones complejas.

WSO Integration Studio

Podremos comenzar nuestros proyectos de integración mediante plantillas predefinidas para facilitar el desarrollo y facilitar la curva de aprendizaje. Al seleccionar una plantilla predefinida, se genera un proyecto que contiene los artefactos de integración y solo es necesario personalizarlo.

WSO Integration Studio 2

Conectores

Los conectores son componentes encapsulados que nos permitirán interactuar con APIs de terceros como Twitter y Salesforce, a la vez que nos proporcionan de métodos y lógica para tratar con productos de terceros, como archivos CSV.

conectores Integration Studio

WSO2 tiene centralizados todos sus conectores en un store, categorizados por caso de uso: 

https://store.wso2.com/store/pages/top-asset.

 

Transformación de datos

Integration Studio admite cualquier tipo de transformación de datos (JSON, XML, CSV) mediante un entorno de desarrollo gráfico de arrastrar y soltar que además nos permite comprobar nuestras transformaciones en tiempo real.

También se nos provee de capacidades de ETL (Extract, Transform and Load) con soporte de bibliotecas de terceros.

trasformación de datos

Testing y Debugging

Integration Studio nos provee de un runtime incorporado para desplegar, ejecutar y depurar todos los ciclos de desarrollo de nuestra integración.

testing

Podremos depurar visualmente con la posibilidad de configurar breakpoints e inspeccionar el mensaje actual y las propiedades actuales en tiempo de ejecución de cualquier etapa del flujo de integración.

Casos de uso

En esta guía se va a hacer un pequeño resumen de los casos de uso más utilizados. Aquí se puede encontrar más información al respecto:

https://ei.docs.wso2.com/en/latest/micro-integrator/use-cases/integration-use-cases

Enrutamiento de mensajes

El enrutamiento puede estar basado según:

  • Encabezado
  • Reglas
  • Políticas

Dirigiendo la llamada al endpoint correcto dependiendo de, por ejemplo, el valor de un parámetro.

enrutamiento de mensajes

Transformaciónde mensajes

Permite la comunicación entre un cliente y un servicio que aceptan diferentes formatos. Por ejemplo JSON a XML. 

También podremos mapear los mensajes, pudiendo cambiar no sólo el formato, sino la estructura del mensaje que se va a entregar.

trasfromacion de mensajes

Orquestación de servicios

De esta manera se pueden exponer varios servicios dentro de un único servicio, de modo que el cliente sólo tendrá acceso a un único servicio que encapsula todos los demás servicios.

Los tipos de orquestación pueden ser:

  • Síncrono, varios servicios se orquestan uno detrás de otro de manera síncrona.
  • Asíncrono, se invocan varios servicios en paralelo sin ningún bloqueo.

El cliente recibirá un payload con la información seleccionada en cada uno de los servicios y resumida en una única respuesta final.

En este ejemplo, vemos como de la respuesta recibida de uno de los servicios:

Se extraerá sólamente la información necesaria para construir la respuesta final:

Procesamiento asíncrono de mensajes

Se utiliza para evitar la pérdida de información en la entrega de mensajes a servicios que sólo aceptan mensajes de solicitud a una velocidad determinada.

Con este proceso, los mensajes nunca se pierden, sino que se quedan encolados en un almacén (Message Broker).

El procesador recuperará estos mensajes para entregarlos al servicio final.

Integración de datos

Realizamos la conexión y consulta a distintas bases de datos desde la pestaña Data Service, bien usando el CLI (Interfaz por comandos) o la interfaz gráfica del Integration Studio.

Podemos usar una base de datos existente y bien crear la nuestra propia mediante el CLI

Añadir las Querys deseadas:

Y mapear el resultado en el formato deseado, por ejemplo XML

Con el Cliente HTTP que viene integrado en el Integration Studio probaremos que la conexión se hizo correctamente

Procesamiento de archivos

En muchos ámbitos empresariales, existen diferentes casos de uso relacionados con la gestión de archivos. 

WSO2 EI nos permite procesar archivos de diferentes formas:

Lectura, Escritura y Actualización de archivos:

Los archivos pueden estar ubicados en el sistema de archivos local o en una ubicación remota a la que se puede acceder a través de protocolos como FTP, FTPS, SFTP, SMB. Por lo tanto, el sistema utilizado para procesar esos archivos debe ser capaz de comunicarse a través de esos protocolos.

Procesar los datos

El sistema debe ser capaz de extraer información relevante del archivo. Por ejemplo, si se requiere procesar archivos XML, el sistema debe ser capaz de ejecutar y extraer la información relevante.

Ejecutar alguna lógica de negocio

El sistema debe ser capaz de realizar las acciones necesarias para adherirse a la casuística empresarial y enviar la información procesada a otros sistemas a través de diferentes protocolos de comunicación.

Ejecución periódico de procesos de integración

La ejecución de un proceso de integración en un momento determinado es otro requisito común en la integración empresarial. Por ejemplo, en una organización, puede ser necesario ejecutar un proceso de integración para sincronizar dos sistemas cada día al final del día.

Con WSO2 EI, la ejecución de un proceso de mediación de mensajes puede automatizarse para que se ejecute periódicamente mediante una «tarea programada». Puede programar una tarea para que se ejecute en el intervalo de tiempo de ‘t’ durante ‘n’ número de veces o para que se ejecute una vez que se inicie nuestro servidor.

Conmutación de protocolos

Distintas aplicaciones suelen utilizar protocolos diferentes para la comunicación. Por lo tanto, para que dos sistemas se comuniquen con éxito, es necesario cambiar el protocolo (que pasa de un sistema) al protocolo compatible con la aplicación receptora.

Por ejemplo, los mensajes que se reciben a través de HTTP pueden necesitar ser enviados a una cola JMS.

WSO2 nos permite mediante proxys interceptar los mensajes y cambiar el protocolo mediante mediaciones.

Enlaces de interés

Quick Tour – WSO2 Integration Studio (developer tool) – https://ei.docs.wso2.com/en/latest/micro-integrator/develop/WSO2-Integration-Studio/

WSO2 Micro Integrator vs WSO2 EI 6.x series – https://ei.docs.wso2.com/en/latest/micro-integrator/references/comparisong-mi7-ei6xx/

Blog realizado por Jesús García

// ¿Quieres saber más sobre WSO2?

¡Habla con nuestros expertos!

Author

Sandra Ciruelos

Leave a comment

Tu dirección de correo electrónico no será publicada.