Enterprise application integration is an integration framework composed of a collection of technologies and services which form a middleware to enable integration of systems and applications across the enterprise.
Supply chain management applications (for managing inventory and shipping), customer relationship management applications (for managing current and potential customers), business intelligence applications (for finding patterns from existing data from operations), and other types of applications (for managing data such as human resources data, health care, internal communications, etc.) typically cannot communicate with one another in order to share data or business rules. For this reason, such applications are sometimes referred to as islands of automation or information silos. This lack of communication leads to inefficiencies, wherein identical data are stored in multiple locations, or straightforward processes are unable to be automated.
Enterprise application integration is the process of linking such applications within a single organization together in order to simplify and automate business processes to the greatest extent possible, while at the same time avoiding having to make sweeping changes to the existing applications or data structures. In the words of the Gartner Group, EAI is the "unrestricted sharing of data and business processes among any connected application or data sources in the enterprise."
One large challenge of EAI is that the various systems that need to be linked together often reside on different operating systems, use different database solutions and different computer languages, and in some cases are legacy systems that are no longer supported by the vendor who originally created them. In some cases, such systems are dubbed "stovepipe systems" because they consist of components that have been jammed together in a way that makes it very hard to modify them in any way.
If integration is applied without following a structured EAI approach, point-to-point connections grow across an organization. Dependencies are added on an impromptu basis, resulting in a complex structure that is difficult to maintain. This is commonly referred to as spaghetti, an allusion to the programming equivalent of spaghetti code. For example:
The number of connections needed to have fully meshed point-to-point connections, with points, is given by . Thus, for ten applications to be fully integrated point-to-point, , or 45 point-to-point connections are needed.
However, EAI is not just about sharing data between applications; it focuses on sharing both business data and business process. Middleware analysts attending to EAI involves looking at the system of systems, which involves large scale inter-disciplinary problems with multiple, heterogeneous, distributed systems that are embedded in networks at multiple levels. One of the biggest mistakes that organizations make to solve this problem is excessively focusing on low-level bottom-up IT approaches, often driven from development-oriented technical teams. In contrast, a paradigm shift is emerging to start EAI rationalization efforts with effective top-down business-oriented analysis found in disciplines such as Enterprise Architecture, Business Architecture, and Business Process Management. The business oriented approach can enable a cohesive business integration strategy which is supported by, instead of dictated by, technical and data integration strategies.
EAI can be used for different purposes:
Data integration: Ensures that information in multiple systems is kept consistent. This is also known as enterprise information integration (EII).Vendor independence: Extracts business policies or rules from applications and implements them in the EAI system, so that even if one of the business applications is replaced with a different vendor's application, the business rules do not have to be re-implemented.Common facade: An EAI system can front-end a cluster of applications, providing a single consistent access interface to these applications and shielding users from having to learn to use different software packages.
Acronym for enterprise application integration. EAI is the unrestricted sharing of data and business processes throughout the networked applications or data sources in an organization. Early software programs in areas such as inventory control, human resources, sales automation and database management were designed to run independently, with no interaction between the systems. They were custom built in the technology of the day for a specific need being addressed and were often proprietary systems. As enterprises grow and recognize the need for their information and applications to have the ability to be transferred across and shared between systems, companies are investing in EAI in order to streamline processes and keep all the elements of the enterprise interconnected.
There are four major categories of EAI:
Database linking: databases share information and duplicate information as needed.
Application linking: the enterprise shares business processes and data between two or more applications.
Data warehousing: data is extracted from a variety of data sources and channeled into a specific database for analysis.
Common virtual system: the pinnacle of EAI; all aspects of enterprise computing are tied together so that they appear as a unified application.