Book Image

Service Oriented Architecture: An Integration Blueprint

Book Image

Service Oriented Architecture: An Integration Blueprint

Overview of this book

Service Oriented Architecture (SOA) refers to building systems that offer applications as a set of independent services that communicate and inter-operate with each other effectively. Such applications may originate from different vendor, platform, and programming language backgrounds, making successful integration a challenging task. This book enables you to integrate application systems effectively, using the Trivadis Integration Architecture Blueprint, which is supported by real-world scenarios in which this Integration Blueprint has proved a success.This book will enable you to grasp all of the intricacies of the Trivadis Architecture Blueprint, including detailed descriptions of each layer and component. It is a detailed theoretical guide that shows you how to implement your own integration architectures in practice, using the Trivadis Integration Architecture Blueprint. The main focus is on explaining and visualizing the blueprint, including comprehensive descriptions of all of its layers and components. It also covers the more basic features of integration concepts for less experienced specialists, as well as shedding light on the future of integration technologies, such as XTP and Grid Computing. You will learn about EII and EAI, OGSi, as well as base technologies related to the implementation of solutions based on the Blueprint, such as JCA, JBI, SCA and SDO.The book begins by covering fundamental integration for those less familiar with the concepts and terminology, and then dives deep into explaining the different architecture variants and the future of integration technologies. Base technologies like JCA and SCA will be explored along the way, and the structure of the Trivadis Integration Architecture Blueprint will be described in detail, as will the intricacies of each component and layer. Other content includes discovering and comparing traditional and modern SOA driven integration solutions, implementing transaction strategies and process modeling, and getting to grips with EDA developments in SOA. Finally, the book considers how to map software from vendors like Oracle and IBM to the blueprint in order to compare the solutions, and ultimately integrate your own projects successfully.
Table of Contents (11 chapters)
Service-Oriented Architecture: An Integration Blueprint
Credits
Foreword
About the Authors
Preface
References

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.

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:

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.

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