Legacy applications, web applications, client-server applications and numerous applications running on different operating systems and databases within an Organization holds independent and sometimes redundant information that are used at different levels of the Organization. It is a challenging task to connect these applications to talk to each other, make data flow through them and to make meaningful reports out of them.

Tachys resources are well aware of the challenges with those systems and have expertise in connecting them and seamlessly flow information across them.

Multiple technologies are used in implementing each of the components of the EAI system:

Application connectivity

The applications are connected through a set of adapters (also referred to as connectors). These are programs that know how to interact with an underlying business application. The adapter performs two-way communication, performing requests from the hub against the application, and notifying the hub when an event of interest occurs in the application (a new record inserted, a transaction completed, etc.). Adapters can be specific to an application (e. g., built against the application vendor’s client libraries) or specific to a class of applications (e. g., can interact with any application through a standard communication protocol, such as SOAP, SMTP or Action Message Format(AMF)). The adapter could reside in the same process space as the bus/hub or execute in a remote location and interact with the hub/bus through industry standard protocols such as message queues, web services, or even use a proprietary protocol.

Data format and transformation

To avoid every adapter having to convert data to/from every other applications’ formats, EAI systems usually stipulate an application-independent (or common) data format. The EAI system usually provides a data transformation service as well to help convert between application-specific and common formats. This is done in two steps: the adapter converts information from the application’s format to the bus’s common format. Then, semantic transformations are applied on this (converting zip codes to city names, splitting/merging objects from one application into objects in the other applications, and so on).

Integration modules

An EAI system could be participating in multiple concurrent integration operations at any given time, each type of integration being processed by a different integration module. Integration modules subscribe to events of specific types and process notifications that they receive when these events occur. These modules could be implemented in different ways: on Java-based EAI systems, these could be web applications or EJBs

Support for transactions

When used for process integration, the EAI system also provides transactional consistency across applications by executing all integration operations across all applications in a single overarching distributed transaction (using two-phase commit protocols or compensating transactions).

Architectural Principles for Successful Enterprise Application Integration

1 Adopt a Business Process Orientation

  • Model processes as event-driven information flows
  • Take a non-invasive approach … Hard-coded application

Modifications limit flexibility & increase maintenance costs

2 Plan for Change — It Happens!

  • Design a flexible information infrastructure
  • Adopt industry standards where appropriate

3 Ease of Use Increases Productivity

  • Dynamic, Flexible Configuration (Metadata-driven)
  • Graphical Tools for Implementation & Administration

4 Demand an Industrial Strength Solution

Scalability, Performance, Security and System Management