BL.Exchange, una solución para que los programas informáticos sean fáciles de relacionar

Compartir por correo electrónico
Imagen destacada de BL.Exchange.

Hoy en día, el mercado de las TI está compuesto por miles de aplicaciones con aún más opciones de software. Las organizaciones utilizan diferentes tipos de aplicaciones con distintas configuraciones que evolucionan muy rápidamente para diferentes propósitos. Además, las aplicaciones se desarrollan según estándares técnicos que evolucionan constantemente. Este contexto dificulta la comunicación entre aplicaciones. Aunque, cuanto más puedan "hablar" estos sistemas entre sí, más eficiente será la empresa. Por eso estamos trabajando en BL.Exchange, una solución de interoperabilidad para crear integraciones sin fisuras y ayudar a que el software funcione conjuntamente.

Esquema de visión principal de BL.Exchange
Figura 1: Esquema de visión principal de BL.Exchange

BL.Exchange permite la comunicación (o el intercambio de datos) entre aplicaciones heterogéneas, desarrolladas en diferentes lenguajes, con diferentes marcos, para diferentes sectores. Para ello, la solución adoptará la posición de mediador. Recibe los datos de las aplicaciones de origen y los transmite a otras aplicaciones que necesitan consumir estos datos. Puede procesar la información intercambiada a través de ella, como la traducción de un formato de datos a otro, se realiza para que los datos puedan ser entendidos por las aplicaciones de destino, lo que crea una relación de colaboración entre ellas y las hace trabajar juntas.
Podemos ilustrarlo diciendo que es el buque de carga, el puerto y el contrato con la empresa de logística, aunque no es el contenido de los contenedores, ni el contrato entre el cliente y el proveedor.

Por ejemplo, cuando Berger-Levrault adquiere una nueva filial, debe integrar su sistema de información para poder comunicarse con nuestras aplicaciones existentes y las de nuestros clientes. En consecuencia, puede ser necesario crear nuevos flujos de intercambio y actualizar los existentes, lo que puede suponer una pérdida de visibilidad. Además, esto requiere un tiempo de desarrollo considerable y, por tanto, reduce la capacidad de reacción en caso de averías. El principal objetivo de BL.Exchange es proporcionar una plataforma de interoperabilidad flexible y escalable que permita crear nuevos flujos de intercambio entre diferentes aplicaciones, con un menor esfuerzo de desarrollo.

Nuestros objetivos finales

Nuestro objetivo con este proyecto es crear una solución:

  • Bajo código / sin código, fácil de implementar;
  • Basado en la nube, para gestionar la infraestructura y el código;
  • Controlable;
  • Autenticado y seguro;
  • Fiable y escalable;
  • Agnóstico para el negocio;
  • Extensible: Validaciones de formato de datos; Transformación de datos sobre la marcha; Habilitar la composición de servicios;
  • Reutilizables, utilizando Catálogo de conectores; Catálogo de plantillas de flujos;
  • Desacoplado: Asíncrono y orientado a eventos; Enrutamiento / multiplexación; Conectores externalizados.

Características de BL.Exchange

BL.Exchange hace hincapié en la separación entre las aplicaciones empresariales y los mecanismos que gestionan la comunicación. Así, BL.Exchange está completamente desacoplado de la lógica empresarialque garantiza su independencia técnica, funcional y de gestión de las aplicaciones empresariales. Por lo tanto, podemos crear nuevos flujos de intercambio para tener en cuenta las necesidades cambiantes de interoperabilidad de una aplicación empresarial sin cambiar las demás aplicaciones.

Para lograr nuestros objetivos, BL.Exchange se basa en Spring Cloud Data Flow (SCDF) como tecnología principal.
SCDF es un marco de datos nativo de la nube de código abierto. Unifica el flujo y el procesamiento por lotes, y define las mejores prácticas para el proceso de datos distribuidos y por lotes. Su tecnología permite a los desarrolladores crear, orquestar y refactorizar datos tuberías con un único modelo de programación para casos de uso común como la ingestión de datosanálisis en tiempo realimportación/exportación de datos. SCDF viene con más de 60 aplicaciones preconstruidas, a amplia lista de conectores para situaciones comunes de interoperabilidad, es políglota y trabaja con aplicaciones desarrolladas en diferentes idiomasAsegura las autenticaciones utilizando OAuth2 y OpenID Connecty ofrece la posibilidad de enlazar en cualquier broker de mensajes (RabbitMQ, Apache Kafka, Kafka Streams, Amazon Kinesis, Google Pub/Sub, Solace PubSub+, Azure Event Hubs o RocketMQ).

Interfaz web de SCDF
Figura 2: Interfaz web del SCDF

Para configurar un nuevo flujo de intercambio, el usuario puede proceder de tres maneras diferentes:

  1. utilizar un lenguaje específico del dominio para especificar cómo conectar las salidas y entradas de las aplicaciones preconstruidas y cómo desplegarlas,
  2. utilizar un panel de control que ofrezca un editor gráfico para construir pipelines de datos de forma interactiva,
  3. utilizar un intérprete de comandos independiente que facilita el trabajo con la API REST expuesta por SCDF desde la línea de comandos.

Esta visión de bajo código es el principal valor añadido de nuestra solución de interoperabilidad con lo que ya existe en el mercado.

Hoja de ruta del proyecto

Actualmente estamos desplegando una infraestructura de caja de arena en AWS y realizando experimentos en diferentes escenarios.
Luego recuperaremos los errores, mejoraremos su seguridad de autenticación y probaremos sus límites antes de desplegarlo y probarlo en casos de uso reales.
Por último, a largo plazo deseamos lograr la sindicación de servicios; la plataforma de mensajes IoT (alta frecuencia y bajo volumen); el descubrimiento de servicios dinámicos; la ampliación predictiva; el generador de código de conectores; el análisis semántico; la interoperabilidad entre el front y el back-end.

Para ir más allá

BL.Exchange está construido como una arquitectura orientada a eventos para que las aplicaciones se comuniquen, lo que significa una comunicación asíncrona, para que el software pueda seguir procesando mientras la solución se está ejecutando.

A continuación encontrará varias representaciones de la arquitectura de BL.Exchange. La primera representación se refiere al contexto de nuestra solución de interoperabilidad.

Contexto de la arquitectura de BL.Exchange
Figura 3: Contexto de la arquitectura de BL.Exchange

El contexto de BL.Exchange se refiere al estado del arte de la interoperabilidad. Diseño conceptual y marco de trabajo para abordar los problemas de interoperabilidad y que debe ser instanciado en el contexto de los productos.

Contenedores de la arquitectura BL.Exchange
Figura 4: Contenedores de la arquitectura BL.Exchange
Componentes de la arquitectura BL.Exchange
Figura 5: Componentes de la arquitectura de BL.Exchange

Más ...

Scroll al inicio