Today’s applications integration is of great concern for organizations. Due to the large flow of existing information, an increasing specialization of the applications and the great speed at which it is necessary to implement the various requirements that allow organizations to continue to operate successfully, it became crucial to create mechanisms for quickly make the information available across the various organizations applications universe or/and other organizations. In an effort to help in this task, we are publishing a series that discusses the various architectures, concepts and technologies used for integrating enterprise applications.
For the first step in this journey let us start explaining what EAI is.
As John Donne said, “No man is an island”, nowadays this statement also applies to the various applications that make up an organization. An organization is composed by so many different applications, systems and protocols, each one talking its own language, performing its own specific tasks, and beyond that, all these components need to work together and give the performance and feel of a single application [1]. Organizations that are able to integrate their different applications gain an advantage because the data flows quickly as the organization internal processes [2].One of the problems is that these systems are built by a wide range of teams, some from packaged solutions and others are built internally just for one organization. These applications have been written over many decades, hosting different technologies, some of which the names and know-how have been lost between the historic of the organization [3]. These technologies, new and old, they all exist for some reason. But their value to the organization is lost if they are unable to accommodate other enterprise applications, and for that, they are required to share data and processes without having making major changes to the legacy applications or data structures. It is in this context that the enterprise applications integration (EAI) comes up. EAI is the unrestricted sharing of data and business processes among any connected applications and data sources in the organization. [2]. It encompasses technologies, methods and tools that allow an entire universe of different applications to communicate efficiently between them. By using EAI, an organization can combine existing assets to provide new products and services, to improve customers, suppliers and partners experience, and streamline internal processes [4].
EAI also simplifies interactions between applications of an organization by using standard methods for integration. Using transversal canonical data models, as well standard communication methods, it allows the organizations to quickly replace all the static ad hoc interfaces created in the past.
When all the infrastructure of EAI is ready, the new integrations will be available faster than with the previous approach. By helping to provide faster resources, EAI can increase the organization’s competitiveness [4].
EAI is about making bridges between all the organization’s application islands.
In the next chapters, I will talk about some of the different architectures of integration and the advantages, disadvantages and the technologies that support them.
References:
1. Perera, A. Pronschike, M.: Integration Architecture: How we got here. Guide to Enterprise Integration, 6-7 (2014)
2. Linthicum, D.S.: Enterprise Application Integration. Addison-Wesley, Boston (2000)
3. Fowler, M.: Patterns of Enterprise Application Architecture. Addison-Wesley, Boston (2003)
4. Ruh, W.A., Maginnis, F.X, Brown, W.J.: Enterprise Application Integration: A Wiley Tech Brief. John Wiley & Sons, Inc. (2001)
Ricardo Santos
EAI Consultant and IoT Evangelist at Polarising