WSO2 EI

Enterprise Integrator

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. Forma parte de la plataforma WSO2 Integration Agile y se compone de los siguientes productos:

  • WSO2 Api Manager: desarrollo y publicación de APIs

  • WSO2 Identify Server: gestión de credenciales y protocoles de acceso a los recursos.

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

Odoo image and text block

Arquitectura

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 de la imagen.


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.

Ofrece una amplica 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.

Odoo text and image block
                    Odoo - Sample 1 for three columns

                    Micro Integrator

                    Micro Integrator es el runtime que nos permitirá la creación  de APIs, servicios SOAP o servicios de acceso a base de datos. Está basado en configuraciones xml.

                    Incluye una herramienta CLI, un operador de Kubernetes, panel de monitoreo y cientos de conectores.

                    Centralizado, utilizando Micro Integrator como la capa de integración central.

                    Descentralizado, permite usar Micro Integrator en sus integraciones nativas de la nube, donde se utilizan microservicios para integrar las distintas API, eventos o sistemas.


                    Odoo - Sample 3 for three columns

                    Integration Studio

                    Integration Studio será la herramienta visual, basada en Eclipse que usaremos para el diseño de integraciones a través del drag and drop.

                    Las principales características que nos ofrece son:
                    · Templates preconstruídos
                    · +200 conectores a los principales sistemas y un custom builder
                    · Transformación visual de datos (CSV-JSON-XML)
                    · Herramientas de logging y debug
                    · Casos de test y construcción de mocks para pruebas
                    · Lista de templates

                    Entorno

                    WSO2 EI Micro Integrator 7.0 se ha instalado en un VM con Windows 10, pudiendo instalarse en Docker o Kubernetes

                    La máquina tiene las siguientes características:

                    • Windows 10 Pro

                    • Open JDK versión 8

                    • Apache

                    Instalación y configuración

                    Se ha realizado la instalación siguiendo la guía 

                    https://docs.wso2.com/display/EI650/Installing+WSO2+Integration+Studio

                    Se descarga la distribución para el sistema operativo que vamos a usar.

                    Lo descomprimimos y ya está listo para iniciar la app Integration Studio.


                    Casos de uso

                    En esta guía se va a hacer un pequeño resumen de los casos de uso más utilizados, pero el abanico de posibilidades es muy amplio.
                    Aquí se puede encontrar más información al respecto:
                    https://ei.docs.wso2.com/en/latest/micro-integrator/use-cases/integration-use-cases

                    Odoo - Sample 1 for three columns

                    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.

                    Odoo - Sample 2 for three columns

                    Transformación de 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.

                    Odoo - Sample 3 for three columns

                    Orquestación de servicios

                    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.

                    • 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.

                    Odoo - Sample 3 for three columns

                    Procesado 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.


                    Odoo - Sample 3 for three columns

                    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.

                    https://ei.docs.wso2.com/en/latest/micro-integrator/use-cases/tutorials/sending-a-simple-message-to-a-datasource/

                    Monitoreo

                    En WSO2 EI tenemos varias formas de monitorizar, mediante una serie de sistemas de logs:

                    • Logs del sistema

                    • Logs de aplicación

                    • El mediador Log

                    • Logs de acceso

                    • Traceador SOAP

                     Odoo - Sample 3 for three columns

                    Para habilitar los DEBUG LOGS, sencillamente cambiando este valor:  log4j.category.org.apache.synapse=DEBUG en el directorio MI_HOME/conf

                     Odoo - Sample 3 for three columns

                    Los TRACE LOGS tracean el path completo cuando un mensaje pasa a través de una secuencia. Añadiremos trace=”enable”en el archivo de configuración del proxy.

                    Conclusiones

                    WSO2 EI es una opción muy bien acaba, fácil de configurar e incluye una gran variedad de conectores y políticas que podemos integrar en nuestras API. El Integration Studio nos facilita toda la implementación de una manera visual, esquematizando en todo momento lo que estamos desarrollando y permitiendo una rápida depuración mediante logs y un cliente http para realizar un testeo rápido.


                    Enlaces de interés

                    WSO2 Enterprise Integrator official website - https://wso2.com/integration/

                    WSO2 APIM official website - https://wso2.com/api-management/

                    WSO2 Enterprise Integrator 7.x series - https://ei.docs.wso2.com/en/latest

                    WSO2 Micro Integrator - https://ei.docs.wso2.com/en/latest/micro-integrator/overview/quick-start-guide/

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

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

                    WSO2 Enterprise Integrator 6.x series - https://docs.wso2.com/display/EI660/Quick+Start+Guide

                    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 Alberto González

                    Escriba un comentario

                    Usted debe ser registrado escribir un comentario.