Enterprise Application Integration (EAI)
An organization may use various information systems:
Supply Chain Management: for managing suppliers, inventory and shipping etc.
Human Resource Management: for managing personnel, training and recruiting talents;
Employee Health Care: for managing medical records and insurance details of employees
Customer Relationship Management: for managing current and potential customers;
Business Intelligence Applications: for finding the patterns from existing data from business operations;
And so on.All these systems work as individual islands of automation. Most often these systems are standalone and do not communicate with each other. Because of incompatibility of:
Operating systems they are residing on
Database system used in the system
Legacy systems not supported anymore
EAI is an integration framework, a middleware, made of a collection of technologies and services that allows smooth integration of all such systems and applications throughout the enterprise and enables data sharing and more automation of business processes.
Characteristics of EAI:
EAI is defined as "the unrestricted sharing of data and business processes among any connected applications and data sources in the enterprise."
EAI, when used effectively allows integration without any major changes to current infrastructure
Extends middleware capabilities to cope with application integration
Uses application logic layers of different middleware systems as building blocks
Keeps track of information related to the operations of the enterprise e.g. Inventory, sales ledger and execute the core processes that create and manipulate this information
Need for Enterprise-wise Integration
Unrestricted sharing of data and business processes across an organization
Linkage between customers, suppliers and regulators
The linking of data, business processes and applications to automate business processes
Ensure consistent qualities of service (security, reliability etc.)
Reduce the on-going cost of maintenance and reduce the cost of rolling out new systems.
Challenges of EAI
Hub and spoke architecture concentrates all of the processing into a single server/cluster.
Often became hard to maintain and evolve efficiently
Hard to extend to integrate 3rd parties on other technology platforms
The canonical data model introduces an intermediary step
Added complexity and additional processing effort
EAI products typified by
Heavy customization required to implement the solution
Lock-In: Often built using proprietary technology and required specialist skills
Lack of flexibility: Hard to extend or to integrate with other EAI products!
Requires organization to be EAI ready
Types of EAI:
Data Level - process, techniques and technology of moving data between data stores.
Application Interface Level - leveraging of interfaces exposed by custom or packaged applications
Method Level - sharing of the business logic
User Interface Level - packaging applications by using their user interface as a common point of integration