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


Intermediate Routing

(Little, Rischbeck, Simon)



Home > Service Messaging Patterns > Intermediate Routing

How can dynamic runtime factors affect the path of a message?

Problem

The larger and more complex a service composition is, the more difficult it is to anticipate and design for all possible runtime scenarios in advance, especially with asynchronous, messagingbased communication.

Solution

Message paths can be dynamically determined through the use of intermediary routing logic.

Application

Various types of intermediary routing logic can be incorporated to create message paths based on message content or runtime factors.

Impacts

Dynamically determining a message path adds layers of processing logic and correspondingly can increase performance overhead. Also the use of multiple routing logic can result in overly complex service activities.

Principles

Service Loose Coupling, Service Reusability, Service Composability

Architecture

Composition
 
A message passes through two router agents before it arrives at its destination. The Rules-Based Router identifies the target service based on a business rule that the agent dynamically retrieves and interprets, as a consequence of Rules Centralization. The Load Balancing Router then checks current usage statistics for that service before it decides which instance or redundant implementation of the service to send the message to.
Audio Podcast
This pattern is discussed as part of the audio podcast:

•  The ESB and Related
   Messaging Patterns

•  Versioning in SOA
 

Related Patterns in This Catalog

Canonical Resources (Erl), Event-Driven Messaging (Little, Rischbeck, Simon), Message Metadata (Erl), Service Agent (Erl), Service Messaging (Erl)


Related Patterns in Other Catalogs

Content-Based Router (Hohpe, Woolfe), Dynamic Router (Hohpe, Woolfe), Message Router (Hohpe, Woolfe)


Related Service-Oriented Computing Goals

Increased Vendor Diversification Options, Reduced IT Burden

SOA Design Patterns This page contains excerpts from:

SOA Design Patterns by Thomas Erl

Foreword by Grady Booch

With contributions from David Chappell, Jason Hogg, Anish Karmarkar, Mark Little, David Orchard, Satadru Roy,
Thomas Rischbeck, Arnaud Simon, Clemens Utschig, Dennis Wisnosky, and others.

(ISBN: 0136135161, Hardcover, Full-Color, 400+ Illustrations, 865 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-2009
SOA Systems Inc.