Software interoperability

Interoperability Assessment Based on Analysis of Messages Exchanges

Once Information Systems (IS) are put into production, they are mostly part of distributed networks. If these systems are able to share and exchange information without depending on a particular actor and are able to use the exchanged information and function independently from each other, we can qualify them as interoperable systems [Chen et al. 2008]. When established among communicating IS, interoperability ensures an increasing in productivity and efficiency of inter and intra enterprise processes.

In this context and with the objective to fully harness its integration architectures and build robust interactions, Berger-Levrault has developed BL-MOM (Message Oriented Middleware), a messaging-based Application Programming Interface (API). Here are some of its characteristics:

  • Allows setting up middleware among BL applications and with external ones.
  • Based on RabbitMQ ( ), the transport infrastructure and handles the publishing and receiving of messages.
  • The exchange of messages is handled according to publish/subscribe pattern by implementing the AMQP protocol [Vinoski 2006], allowing the applications to be loosely coupled.
  • Provides helpers to facilitate creating messages schema, publishers, consumers and messaging operations using specific routings.

BL-MOM represents the baseline infrastructure for messaging. It implements configurations that guarantee data isolation, service availability, delivery and persistence of messages. However, the multiplicity of data interoperability exchanges generates complexity and brings out control and assessment needs. Moreover:

Maintenance is increasingly heavy with the multiplicity of exchanges:

  • Lack of visibility on existing data exchanges
  • Non-trivial dysfunction detection
  • Some elements can vary or be altered during interactions

Need for monitoring elements not offered by the RabbitMQ console:

  • Routing channels and messages are volatile
  • Lack of advanced search and filtering functionalities

Data Exchanges Analysis for the Assessment of Interoperability requirements

Interoperability assessment of enterprise processes and systems evaluates the ability to undertake common activities or exchange data. Several interoperability assessment approaches have been proposed since the emergence of the concept of interoperability: maturity models (LISI, LCIM, OIM…), interoperability score [Ford et al. 2007], degree of interoperability [Daclin et al. 2008] or interoperability requirements [Mallek et al. 2012]. The latter locate interoperability problems among collaborative processes and define a set of interoperability requirements (e.g. “Partners provide permissions for data updates”, “Received data is conform to required data”…). The requirements should be verified in order to achieve interoperability. We propose to use a set of selected data interoperability requirements to analyze existing data exchanges, highlight interoperability problems and specify their potential causes.

We advocate that an infrastructure such as BL-MOM, with its use of RabbitMQ, convey enough information about the network’s architecture and interactions. Thus, collecting and analyzing this information enables the assessment of such interoperability requirements.

Interoperability Analysis and Monitoring

We propose to verify interoperability requirements using a set of indicators, queries and visualizations on the basis of collected data: we supervise and monitor RabbitMQ by interrogating its services to collect information from several sources:

  • Message traces provided by RabbitMQ tracing plug-in; they are overwritten by contextual business elements about the communicating applications characteristics provided by BL-MOM.
  • History of events of creation and deletion of RabbitMQ resources, provided by RabbitMQ Event Exchange plug-in.
  • Current configuration of the broker audited through the use of RabbitMQ REST management API.

We use Moose ( ), a Smalltalk based open source software and data analysis platform [Ducasse et al. 2005] to implement: the Messaging Metamodel, consumers and importers to populate it and data interoperability related indicators, queries and visualizations.

Below an example of data visualization along with indicators. It allows having a global vision of the structure of the messaging architecture and the undertaken message paths. It:

  • Ensures the presence and activity of publishers and consumer and the expected interactions between them. This helps verify the requirement: “Data is exchanged among partners”.
  • Ensures the correctness of the subscriptions and that there are no data leaks. This helps verify the requirement: “The exchanged data is only accessible by authorized entities”.

More ...

Retour en haut