Interoperabilidad del software

Evaluación de la interoperabilidad basada en el análisis de los intercambios de mensajes

Una vez que los sistemas de información (SI) se ponen en producción, en su mayoría forman parte de redes distribuidas. Si estos sistemas son capaces de compartir e intercambiar información sin depender de un actor concreto y son capaces de utilizar la información intercambiada y de funcionar independientemente unos de otros, podemos calificarlos de sistemas interoperables [Chen et al. 2008]. Cuando se establece entre SI que se comunican, la interoperabilidad garantiza un aumento de la productividad y la eficiencia de los procesos inter e intraempresariales.

En este contexto y con el objetivo de aprovechar al máximo sus arquitecturas de integración y construir interacciones robustas, Berger-Levrault ha desarrollado BL-MOM (Middleware orientado a mensajes)es una interfaz de programación de aplicaciones (API) basada en la mensajería. Estas son algunas de sus características:

  • Permite configurar el middleware entre las aplicaciones BL y con las externas.
  • Basado en RabbitMQ ( ), la infraestructura de transporte y maneja la publicación y recepción de mensajes.
  • El intercambio de mensajes se gestiona según el patrón publish/subscribe implementando el protocolo AMQP [Vinoski 2006], lo que permite que las aplicaciones estén débilmente acopladas.
  • Proporciona ayudantes para facilitar la creación de esquemas de mensajes, editores, consumidores y operaciones de mensajería utilizando rutas específicas.

BL-MOM representa la infraestructura de base para la mensajería. Implementa configuraciones que garantizan el aislamiento de los datos, la disponibilidad del servicio, la entrega y la persistencia de los mensajes. Sin embargo, la multiplicidad de intercambios de interoperabilidad de datos genera complejidad y hace que surjan necesidades de control y evaluación. Además:

El mantenimiento es cada vez más pesado con la multiplicidad de intercambios:

  • Falta de visibilidad en los intercambios de datos existentes
  • Detección de disfunciones no triviales
  • Algunos elementos pueden variar o alterarse durante las interacciones

Necesidad de elementos de monitorización que no ofrece la consola de RabbitMQ:

  • Los canales de enrutamiento y los mensajes son volátiles
  • Falta de funcionalidades avanzadas de búsqueda y filtrado

Análisis de los intercambios de datos para la evaluación de los requisitos de interoperabilidad

La evaluación de la interoperabilidad de los procesos y sistemas de la empresa evalúa la capacidad de realizar actividades comunes o intercambiar datos. Se han propuesto varios enfoques de evaluación de la interoperabilidad desde la aparición del concepto de interoperabilidad: modelos de madurez (LISI, LCIM, OIM...), puntuación de la interoperabilidad [Ford et al. 2007], grado de interoperabilidad [Daclin et al. 2008] o requisitos de interoperabilidad [Mallek et al. 2012]. Estos últimos localizan los problemas de interoperabilidad entre los procesos de colaboración y definen un conjunto de requisitos de interoperabilidad (por ejemplo, "Los socios proporcionan permisos para las actualizaciones de datos", "Los datos recibidos se ajustan a los datos requeridos"...). Los requisitos deben verificarse para lograr la interoperabilidad. Proponemos utilizar un conjunto de requisitos de interoperabilidad de datos seleccionados para analizar los intercambios de datos existentes, destacar los problemas de interoperabilidad y especificar sus posibles causas.

Abogamos por que una infraestructura como BL-MOM, con su uso de RabbitMQ, transmita suficiente información sobre la arquitectura y las interacciones de la red. Así, la recopilación y el análisis de esta información permiten evaluar dichos requisitos de interoperabilidad.

Análisis y seguimiento de la interoperabilidad

Proponemos verificar los requisitos de interoperabilidad utilizando un conjunto de indicadores, consultas y visualizaciones a partir de los datos recogidos: supervisamos y monitorizamos RabbitMQ interrogando sus servicios para recoger información de varias fuentes:

  • Rastreos de mensajes proporcionados por el plug-in de rastreo de RabbitMQ; son sobrescritos por elementos de negocio contextuales sobre las características de las aplicaciones en comunicación proporcionadas por BL-MOM.
  • Historial de eventos de creación y eliminación de recursos RabbitMQ, proporcionado por el plugin RabbitMQ Event Exchange.
  • Configuración actual del broker auditada mediante el uso de la API de gestión REST de RabbitMQ.

Utilizamos Moose ( ), un software de código abierto basado en Smalltalk y una plataforma de análisis de datos [Ducasse et al. 2005] para implementar: el metamodelo de mensajería, los consumidores e importadores para poblarlo y los indicadores, consultas y visualizaciones relacionados con la interoperabilidad de los datos.

A continuación un ejemplo de visualización de datos junto con indicadores. Permite tener una visión global de la estructura de la arquitectura de mensajería y de los recorridos de los mensajes realizados. Es:

  • Garantiza la presencia y la actividad de los editores y los consumidores y las interacciones previstas entre ellos. Esto ayuda a verificar el requisito "Los datos se intercambian entre los socios".
  • Garantiza la corrección de las suscripciones y que no haya fugas de datos. Esto ayuda a verificar el requisito "Los datos intercambiados sólo son accesibles para las entidades autorizadas".

Más ...

Ir arriba