Patterns for EAI/EII

Three basic patterns are used for the implementation of EAI and EII platforms:

  • Direct connection
  • Broker
  • Router

Direct connection

Direct connection represents the simplest type of interaction between two applications and is based on a 1: N topology, in other words, an individual point-to-point connection. It allows a pair of applications within an organization to communicate directly. Interactions between the source and the target applications can be as complex as necessary. Additional connection rules are defined for more complex point-to-point connections. Examples of connection rules include data mapping rules, security rules, and availability rules.

Direct connection

The direct connection pattern can be broken down into the following logical components:

  • The source applications consist of one or more applications, which want to initiate interaction with the target applications.
  • The connection is the line between the source and the target application, and represents a point-to-point connection between the two applications.
  • Connection rules are the business rules which relate to the connection, such as data mapping and security rules.
  • The target application is a new or existing (modified or unmodified) application, which provides the necessary business services.

The advantages and disadvantages of the direct connection pattern are shown in the following table:

Advantages

Disadvantages

  • Functions well in the case of applications with simple integration requirements and only a few backend applications
  • Loose coupling
  • Receivers do not need to be online
  • Results in several point-to-point connections between each pair of applications, and therefore, to spaghetti configurations
  • Does not support the intelligent routing of queries
  • Does not support the decomposition/ re-composition of queries

Uses

Direct connection is used for the following purposes:

  • Reducing the latency of business events
  • Supporting the structured exchange of information within an organization
  • Supporting real-time one-way message flows
  • Supporting real-time request/reply message flows
  • Continued use of legacy investments

Broker

The broker pattern is based on the direct connection pattern, and extends it to a 1: N topology. It allows an individual request from a source application to be routed to several target applications, which reduces the number of 1:1 connections required. The connection rules take the form of broker rules. This allows the distribution rules to be kept separate from the application logic (Separation of Concerns principle or SoC). The broker is also responsible for the composition and decomposition of interactions. The broker pattern uses the direct connection pattern for the connection between the applications. The broker pattern forms the base for the publish/subscribe message flow:

Broker

The broker pattern can be broken down into the following logical components:

  • The source applications consist of one or more applications which want to interact with the target applications.
  • The broker component keeps the number of direct connections to a minimum. It also supports message routing, message enhancement, and the transformation, decomposition, and re-composition of messages.
  • The target applications consist of both new and existing (modified or unmodified) applications. These applications are responsible for implementing the necessary business services.

The advantages and disadvantages of the broker pattern are shown in the following table:

Advantages

Disadvantages

  • Allows for the interaction of several different applications.
  • Minimizes the impact on existing applications.
  • Makes routing services available, so that the source application no longer needs to know the target applications.
  • Provides transformation services, which enable the source and target applications to use different communication protocols.
  • Decomposition/re-composition services are available to allow a single request to be sent from one source to several target applications.
  • The use of the router keeps the number of necessary modifications to a minimum when the location of the target application is changed.
  • Logic has to be implemented on the broker for routing and decomposition/ re-composition tasks.

Uses

Broker is used for the following purposes:

  • An individual application should be able to interact with one or more target applications.
  • A hub-and-spoke architecture reduces complexity when compared with a point-to-point architecture.
  • The externalization of the routing, decomposition, and re-composition rules increases maintainability and flexibility.
  • Broker pattern is important when a request is processed from a source application and results in several interactions with the target systems.
  • The source system is decoupled from the target applications, and there is no dependency on the interfaces of these target applications.

Router

The router pattern is a variant of the broker pattern with several potential target applications, in which the message is always routed to only one target application. The router decides which target application will receive the interaction. While the broker pattern supports 1:N connections, the router pattern only allows 1:1 connections, as the router rules determine the target application in each case.

Router

The router pattern as shown in the diagram can be broken down into the following logical components:

  • The source applications consist of one or more applications that want to interact with the target applications.
  • The router component provides all the business rules needed for processing the message, such as routing and transformation. It receives requests from several source applications, and routes them intelligently to the correct target application. The resulting integration is, in fact, a point-to-point connection between the source and the target.
  • The target applications consist of both new and existing (modified or unmodified) applications. These applications are responsible for implementing the necessary business services.

The advantages and disadvantages of the router pattern are shown in the following table:

Advantages

Disadvantages

  • Allows for the interaction of several different applications.
  • Minimizes the impact on existing applications.
  • Makes routing services available, so that the source application no longer needs to know the target applications.
  • Provides transformation services, which enable the source and target applications to use different communication protocols.
  • The use of the router keeps the number of necessary modifications to a minimum when the location of the target application is changed.
  • No decomposition and re-composition of messages.
  • No possibility of sending several simultaneous requests to the target applications on the basis of the incoming request.

Uses

Router is used for the following purposes:

  • An individual application should be able to interact with one of several target applications
  • A hub-and-spoke architecture reduces complexity when compared with a point-to-point architecture
  • The externalization of the routing, decomposition, and re-composition rules increases maintainability and flexibility
  • Router pattern is important when a request is processed from a source application and results in an interaction with only one of several potential target systems
  • As with the Broker pattern, the source system is also decoupled from the target applications, and has no dependency on the interfaces of these applications
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset