wiki:Notes/DesignPatternsIntegration

Integration Design Patterns

There's a whole lot of overlap going on between integration patterns, orchestration, SOA and who knows what all ...

... however, it does seem to be distinct on some level

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

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 an enterprise ...

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 ...

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 ...

There are two patterns that EAI systems implement:

Mediation (intra-communication)

Here, the EAI system acts as the go-between or broker between multiple applications. Whenever an interesting event occurs in an application (for instance, new information is created or a new transaction completed) an integration module in the EAI system is notified. The module then propagates the changes to other relevant applications.

Federation (inter-communication)

In this case, the EAI system acts as the overarching facade across multiple applications. All event calls from the 'outside world' to any of the applications are front-ended by the EAI system. The EAI system is configured to expose only the relevant information and interfaces of the underlying applications to the outside world, and performs all interactions with the underlying applications on behalf of the requester.

Both patterns are often used concurrently. The same EAI system could be keeping multiple applications in sync (mediation), while servicing requests from external users against these applications (federation) ...

In 2003 it was reported that 70% of all EAI projects fail.

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

Enterprise Integration Patterns

The book.

http://www.eaipatterns.com

Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions by Gregor Hohpe and Bobby Woolf.

http://www.eaipatterns.com/toc.html

Solving Integration Problems using Patterns

http://www.eaipatterns.com/Chapter1.html

Decent definition of SOA

Service-Oriented Architecture

Shared business functions are often referred to as services. A service is a well-defined function that is universally available and responds to requests from “service consumers”. Once an enterprise assembles a collection of useful services, managing the services becomes an important function.

First of all, applications need some form of service directory, a centralized list of all available services.

Second, each service needs to describe its interface in such a way that an application can “negotiate” a communications contract with the service. These two functions, service discovery and negotiation, are the key elements that make up a service-oriented architecture.

Service-oriented architectures (SOAs) blur the line between integration and distributed applications. A new application can be developed using existing, remote services that may be provided by other applications. Therefore, calling a service may be considered integration between the two applications.

On the other hand a service-oriented architecture usually provides tools that make calling an external service almost as simple as calling a local method (performance considerations aside). Because all services are available in a consistent manner, SOAs are sometimes referred to as “service bus architectures”.

Also See

DesignPatterns

DesignPatternsOrchestration

Search wiki for 'integration'

Last modified 3 years ago Last modified on 03/29/2015 05:14:24 AM