Return to Home Page
Overview
    History
    Acknowledgements
    Podcasts
    Notification Form
    Feedback Form
    Press Release #1
    Press Release #2
    Press Release #3

Master SOA Design
Pattern Catalog
    Master Pattern List (alphabetical)
    Master Pattern List (by category)
    Master Pattern List with
Page Numbers (PDF)
    Master Pattern List (Text)
    Pattern Notation
    Pattern Profiles
    Symbol Legend
    Pattern Contribution Form

SOA Candidate Patterns
    SOA Patterns Review Committee
    Candidate Patterns Overview
    Candidate Patterns List
    Candidate Pattern Contribution Form
    Candidate Pattern
Feedback Form
    SOA Pattern Template

Design Pattern Basics
    What's a Design Pattern?
    What's a Design Pattern Language?
    What's a Compound Pattern?

Supplemental
    SOA Patterns and Application Technologies
    SOA Design Patterns Historical Influences
    SOA Design Patterns and Design Principles
    SOA Design Patterns and Design Granularity
    Legal

Resources
    Design Patterns Publications
    Reference Posters
    SOAPrinciples.com
    WhatIsSOA.com
    SOA Visio Stencil

About the Book



SOA Design Patterns
by Thomas Erl

For more information visit: www.soapatterns.com

Related Publications


"Introducing SOA Design Patterns", SOA World Magazine (PDF)



"The Case for Single-Purpose Services: Understanding the Non-Agnostic Context and a Strategy for Implementation", SOA Magazine (HTML)



"REST-Inspired SOA Design Patterns", SOA Magazine (HTML)



"Service-Orientation and Object-Orientation Part I: A Comparison of Goals and Concepts", SOA Magazine (HTML)



"Service-Orientation and Object-Orientation Part II: A Comparison of Design Principles", SOA Magazine (HTML)



"Service Facade", InformIT (HTML)



"Non-Agnostic Context", InformIT (HTML)



"Domain Inventory", InformIT (HTML)



"Service Normalization", InformIT (HTML)



"Service Decomposition", InformIT (HTML)



"Canonical Schema", InformIT (HTML)



"Policy Centralization", InformIT (HTML)





Enterprise Redirection (candidate)


Home > Candidate Patterns List > Enterprise Redirection

How can services, that are location and device independent, be exposed in a discoverable way to support performance and Continuity Of Operations (COOP) requirements?

Problem

Service capabilities need to be exposed in a location and device independent way so that they can be abstracted from the fact they are running in a cloud.

Solution

Virtualized Services allow business services to be provided through a level of Redirection.

Application

A Redirection Capability is used for indirect calls to any resource.

Impacts

The consumer does not invoke the service directly but through a virtual service accessed by Redirection. The logical locations of that service need to be provided through a Service Discovery Service that is available to the Redirection Service.

Principles

Service Discoverability, Service Loose Coupling, Service Abstraction

Architecture

Inventory, Service, Service Grid

Status

Under Review

Contributors

Robert Cope
 

Problem

A goal of an enterprise SOA is to allow applications to be made of composite services integrated across the enterprise including externally among business partners. This requires that the application architecture be decoupled from infrastructure components or to be "virtualized". It requires architectural constructs and assets to be leveraged to support virtualization.

The need to integrate composite services across the enterprise derives the requirement to provide dynamic services able to produce an enterprise adaptable to Disconnected, Intermittent and Limited (DIL) connectivity and varying performance and scaling requirements. As a byproduct of this goal, redundancy and resilience are introduced into an organization's infrastructure allowing its services to operate reliably in a cloud.

Solution

Virtualization can be composed of machine virtualization with a management layer that senses operating conditions (CPU, memory, network utilization and others) and adjusts placement of virtual machines on physical machines dynamically as needed or via the application layer which has services available in the cloud as in a SOA Redirection. Redirection is designed to be placed on whatever local node is providing services. Those services are accessed by way of Redirection either on the local node or the cloud with appropriate failover. If failures occur alternate resources are accessed by Redirection to support COOP. This configuration supports DIL connectivity and performance requirements since services can be spread out and supported by replication and update message so that as connectivity is available, the proper endpoints can be accessed to meet SLAs. Redirection is supported by Service Discovery which allows services to be registered in a global directory and discovered within the enterprise.

Redirection is a complex brokering function that typically consists of a Decision Service, Audit Service, External Service Status, Rules Store, User Interfaces and a Service Intermediary that interact like those described in Table 2, "Service Description for the Redirection Capability" and illustrated Figure 1, "Summary of Redirection Capability".

ID Service Name Service Description
1 Redirection Decision Service This service applies the redirection criteria to make an endpoint decision.
2 Service Binding Store This service stores and manages the associations of abstract logical services to endpoints.
3 Redirection Audit Service This service manages non-security redirection audits.
4 External Service Status This service interfaces with the Enterprise Service Manager (ESM) metrics collection capabilities for current conditions of the registered endpoints.
5 Redirection Rules Store This service stores the redirection rules and policies.
6 Redirection User Interfaces This service provides user interfaces for the Redirection control and management.
7 Service Intermediary (abstract) Request for Subject Service and subsequent Redirected Service Invocation to the Requested Service.
Table 2. Service Description for the Redirection Capability




Figure 1: Summary of Redirection Capability

Component services interact with the Redirection Capability through Service Contracts(s) that define the capability. Applications using Redirection typically support two variations of enterprise application availability: service availability and data availability. Service availability means the services deployed in an application server remain accessible and functional even if there is a process or system failure. If a particular instance fails, requests to this instance will be redirected to and serviced by a different instance. Data availability means that the application states speci?c to user sessions, such as login sessions, will survive a failure.

Application

Implementation of the Redirection capability allows application component(s) to reside in a SOA Cloud and allows the service consumers to deal with a single end point. Redirection determines which requested service endpoint is up and able to provide the required Service Level. The services could be replicating state information so that any instance could take over processing in the middle of a transaction, if required.

Figure 2, Redirection in the Enterprise, shows how Redirection interacts in the enterprise. Redirection receives service policies and endpoints from the Service Discovery Capability that could also be located on the local node and receiving and trading updates with a Global Discovery Capability.


Figure 2: Redirection in the Enterprise

Impacts

Introducing Redirection technology into an enterprise will be an additional expense and cause disruption. The infrastructure requirements and added complexity will increase the size, complexity and overall costs of the IT environment. But there are big pay offs associated with the ability to have a fully redundant enterprise that is resilient and able to scale. At minimum, endpoints and contract information can be manually entered into the Redirection endpoint store. A full up implementation would have Redirection receiving endpoint and contract information from a federated Service Discovery Capability.

Relationships

This pattern raises a number of architectural considerations that consequently establish relationships with a variety of patterns, especially those described in the solution section of this pattern. Service Discovery automates the enterprise as services come and go on line. Data Replication allows state and other back office data to flow and keep service instances synchronized. Figure 3, Redirection Relationships in the Enterprise, shows how Redirection relates to patterns and principles.


Figure 3: Redirection Relationships in the Enterprise

Case Study Example

Budget Airlines needs a maximum uptime reservation system and has decided on an architecture that places the hardware and reservation system in a number of off-premises commercial clouds. Since it receives critical a portion of its business during the Thanksgiving Season, a reliability of five 9s is useless if it loses the hour down time over Thanksgiving.

Budget Airlines develops an architecture that uses a Redirection Service connected to a Discovery Service. Discovery allows the number of instances of the reservation to be varied based on projected loads and those instances are brought up and down in the clouds as needed. Redirection monitors latency and health of the reservation instances and directs traffic accordingly.

The Prentice Hall Service-Oriented Computing Series from Thomas Erl
Home    SOA Books    SOA Magazine    What is SOA?    SOA Principles    SOASchool.com    SOA Glossary Copyright © 2007-2010
SOA Systems Inc.