What is EAI?

Enterprise application integration (EAI) is the use of software and computer systems' architectural principles to integrate a set of enterprise computer applications like ERP systems, CRM systems, Databases and even legacy software systems.

Enterprise application integration can be considered as an integration framework composed of a collection of technologies and services which form a middleware to enable integration of systems and applications across an enterprise.

 

Why EAI?

Many types of business software such as supply chain management applications, ERP systems, CRM applications for managing customers, business intelligence applications, payroll and human resources systems 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.

The various systems that need to be linked together may reside on different operating systems, use different database solutions or computer languages, or different date and time formats, or may be legacy systems that are no longer supported by the vendor who originally created them. 

 

Use cases for EAI

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.

 

Examples of EAI solutions

Commercial products include:

  • IBM WebSphere Message Broker

  • Informatica Cloud Data Integration

  • Information Builders iWay ISM

  • Intersystems Ensemble

  • Jitterbit Integration Server

  • Magic Software xpi Integration Platform

  • Microsoft BizTalk Server

  • Mule Enterprise

  • Oracle SOA Suite

  • SAP NetWeaver Process Integration (PI)

  • SnapLogic

  • Software AG Suite

  • Tibco ActiveMatrix/Business Works

  • WebMethods

Open-source projects include:

  • UltraESB

  • Apache ActiveMQ

  • Mule ESB

  • Apache Camel

  • Guaraná DSL

  • Fuse ESB (based on Apache ServiceMix)

  • Fuse Mediation Router (based on Apache Camel)

  • Fuse Message Broker (based on Apache ActiveMQ)

  • MuleSoft

  • Niklas Integration Platform

  • Openadaptor

  • OpenESB

  • Petals ESB

  • Talend

  • Virtuoso Universal Server

  • RabbitMQ (based on AMQP protocol)

 

References

http://en.wikipedia.org/wiki/Enterprise_application_integration

Quick Notes Finder Tags

Activities (1) advanced java (1) agile (3) App Servers (6) archived notes (2) Arrays (1) Best Practices (12) Best Practices (Design) (3) Best Practices (Java) (7) Best Practices (Java EE) (1) BigData (3) Chars & Encodings (6) coding problems (2) Collections (15) contests (3) Core Java (All) (55) course plan (2) Database (12) Design patterns (8) dev tools (3) downloads (2) eclipse (9) Essentials (1) examples (14) Exception (1) Exceptions (4) Exercise (1) exercises (6) Getting Started (18) Groovy (2) hadoop (4) hibernate (77) hibernate interview questions (6) History (1) Hot book (5) http monitoring (2) Inheritance (4) intellij (1) java 8 notes (4) Java 9 (1) Java Concepts (7) Java Core (9) java ee exercises (1) java ee interview questions (2) Java Elements (16) Java Environment (1) Java Features (4) java interview points (4) java interview questions (4) javajee initiatives (1) javajee thoughts (3) Java Performance (6) Java Programmer 1 (11) Java Programmer 2 (7) Javascript Frameworks (1) Java SE Professional (1) JPA 1 - Module (6) JPA 1 - Modules (1) JSP (1) Legacy Java (1) linked list (3) maven (1) Multithreading (16) NFR (1) No SQL (1) Object Oriented (9) OCPJP (4) OCPWCD (1) OOAD (3) Operators (4) Overloading (2) Overriding (2) Overviews (1) policies (1) programming (1) Quartz Scheduler (1) Quizzes (17) RabbitMQ (1) references (2) restful web service (3) Searching (1) security (10) Servlets (8) Servlets and JSP (31) Site Usage Guidelines (1) Sorting (1) source code management (1) spring (4) spring boot (3) Spring Examples (1) Spring Features (1) spring jpa (1) Stack (1) Streams & IO (3) Strings (11) SW Developer Tools (2) testing (1) troubleshooting (1) user interface (1) vxml (8) web services (1) Web Technologies (1) Web Technology Books (1) youtube (1)