Companies are taking advantage of cloud computing to upgrade their business processes. Cloud computing requires interaction with many kinds of applications, so it is necessary to improve the performance of software tools that allow keeping information on all these applications consistent and synchronised. Integration platforms are specialised software tools that provide support to design, implement, run, and monitor integration solutions, which aim to orchestrate a set of applications so as to promote compatibility among their data or to develop new functionality on top of the current ones. The run-time system is the part of the integration platform responsible for running the integration solutions, which makes its performance the uttermost important issue. The contribution of this article is two-fold: a framework and an evaluation of integration platforms. The former is a framework composed of ten properties grouped into two dimensions to evaluate the run-time systems focusing on performance. Using this framework as reference, the second contribution is an evaluation of nine open-source integration platforms, which represent the state-of-the-art, provide support to the integration patterns, and follow the pipes-and-filters architectural style. In addition, as a result of this work, we suggest open research directions that can be explored to improve the performance of the run-time systems and at the same time may be useful to adapt them to the context of cloud computing.
KEYWORDScloud computing, enterprise application integration, integration patterns, integration platform, run-time system Companies often need to use their software ecosystems 1,2 to support and improve their business processes. These ecosystems are composed of many applications, usually designed without taking into account their possible integration. The field of study known as Enterprise Integration Applications (EAI) seeks to provide methodologies, techniques, and tools for the design and implementation of integration solutions. 3 In general terms, an integration solution aims to orchestrate a set of applications to keep them synchronised or provide new features that can be built from those already developed. An integration solution is composed of processes that contain the integration logic and ports that encapsulate adapters with communication protocols to connect applications to the integration solution. . 341 language is focused on the elaboration of conceptual models for the integration solution, with a level of abstraction close to the domain of the problem. The development toolkit is a set of tools that allows the implementation of the solution, that is, the transformation of the conceptual model into executable code. The testing environment allows testing individual parts or the entire integration solution, with the aim of identifying and eliminating possible defects in the implementation. The monitoring tool is used to monitor, at run time, the operation of the integration solution and detects errors that may occur during message proce...