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


Endpoint Redirection (Balasubramanian, Booth, Erl)


Home > Candidate Patterns List >Endpoint Redirection

How can consumers of a specific service endpoint adapt when the service endpoint changes?  

Problem

Service endpoint identifiers include information that can change over time. It may not be possible to replace all references to an out-of-date endpoint which can lead to the service consumer being unable to further interact with the service endpoint.

Solution

Automatically redirect service consumers that attempt to access out-of-date service endpoints to the current service endpoints.

Application

Include endpoint redirection as a feature of the service contract. When a service consumer attempts to invoke a stale service capability, return a redirection response. The service consumer follows the redirection instructions and retries the request on the new service capability.

Redirections can be temporary or permanent. Permanent redirections are automatically recorded in the service consumer's configuration data to avoid subsequent requests to stale service capabilities.

For services relying on resource identifiers to express capabilities, changes to identifiers amount to a change to the runtime-discovered service contract. Redirection is able to facilitate these changes.

Impacts

The service consumer needs developed with the logic required to process the redirection instructions.

Explicit upgrades may be avoided entirely if permanent redirections are used. However, this can lead to wasteful runtime processing of repeated redirections that can be avoided by upgrading the service consumers.

Returning redirection information to the consumer requires consumers to determine in advance how much to trust a redirection response. A service that has been compromised from a security perspective may cause the consumer to permanently change its identifiers to point to an invalid or malicious service. A misconfigured service can lead to similar disruption. Care may also need to be taken in order to avoid infinite redirection loops.

Principles

Service Loose Coupling

Architecture

Composition, Service
 
Consumers that access stale service endpoints do not have to be upgraded as they can be simply redirected to the updated service endpoint. Redirection built into service contracts along with predefined redirection rules built into service consumers allows service capabilities to evolve without needing to immediately upgrade service consumers that still hold stale references.


Related Patterns in This Catalog

Lightweight Endpoint (Balasubramanian, Carlyle, Pautasso),



Related Service-Oriented Computing Goals

Increased Organizational Agility, Reduced IT Burden

SOA with REST This page contains excerpts from:

SOA with REST: Principles, Patterns & Constraints
by Raj Balasubramanian, Benjamin Carlyle, Thomas Erl, Cesare Pautasso





(ISBN: 0137012510, Hardcover, 400+ pages)

For more information about this book, visit
www.soabooks.com.
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-2011
SOA Systems Inc.