Return to Home Page

The public review of the manuscript for "SOA Design Patterns" has concluded !
Thank you to all that participated. 234 reviews were received and over 30 new patterns have been contributed,
increasing the size of this book by over 50%. The second draft of the manuscript is currently in development.

About the Public Review
    History
    Podcasts (audio)
    Notification
    Submit Feedback
    Contribute a Proven Pattern
    Contribute a Candidate Pattern
    Acknowledgements
    Press Release

Introduction to SOA Types & Design Patterns
    The Architecture of
Service-Orientation
    Understanding SOA
Design Patterns

SOA Design Patterns
    Basic Service Inventory Design Pattern Language
    Architectural Design Patterns
    Basic Service Design
Pattern Language
    Service Design Patterns
    Common Compound
Design Patterns

Additional Resources
    View Entire TOC
    Symbol Legend
    Master Pattern List
(by category)
    Candidate Design Patterns
    Design Patterns Publications
    Download SOA Principles Poster (PDF)

About the Book



SOA Design Patterns
by Thomas Erl

For more information visit: www.soapatterns.com

Related Publications


Read the article "Introducing SOA Design Patterns" from the
June 2008 SOA World Magazine (High-Res PDF).

PLEASE NOTE

The content on this page is from the first draft of the manuscript for the upcoming book "SOA Design Patterns" by Thomas Erl. This version of the manuscript was authored in September, 2007. Since then, the manuscript has undergone significant content and structural changes as a result of an industry-wide review in which hundreds of SOA practitioners participated in addition to SOA vendors and experts from the design patterns community.

You are welcome to use the information on this page for research purposes, but you should assume that most of it will change in the final release of the "SOA Design Patterns" book.

Note also, that as a result of an industry-wide call for participation from December 2007 to February 2008, over 30 new design patterns have been contributed to this book. As they become finalized and are incorporated by the author, concise descriptions will be published on this site, and full descriptions with examples will be made available in the final, printed book.

Due to the volume of new content and changes, the release of the "SOA Design Patterns" book has been postponed to October, 2008. To learn more about the book, visit www.soapatterns.com. To be notified of updates to this site, use the notification form.

Chapter 6: Architectural Design Patterns

Home > Chapter 6 Overview > Service Messaging
Service Messaging

Service Messaging

How can services interoperate without forming persistent, tightly coupled connections?

Problem

Services that depend on traditional remote communication protocols impose the need for persistent connections and tightly coupled data exchanges, increasing consumer dependencies and limiting service reuse potential.

Solution

Services can be designed to interact via a messaging-based technology, which removes the need for persistent connections and reduces coupling requirements.

Application

A messaging framework needs to be established and services need to be designed to use it.

Impacts

Messaging technology brings with it quality of service concerns such as reliable delivery, security, performance, and transactions.

Principles

Standardized Service Contract, Service Loose Coupling

Architecture

Inventory, Composition, Service

Table 6.25 – Profile summary for the Service Messaging pattern.

Problem

Common implementations of distributed solutions rely on remote invocation frameworks, such as those based on RPC technology. These communication systems establish persistent connections based on binary protocols to enable the exchange of data between units of logic.

Although efficient and reliable, they are primarily utilized within the boundaries of application environments and for select integration purposes. Positioning an RPC-based component as an enterprise resource with multiple potential consumers can lowering its concurrency threshold because of the overhead associated with creating, sustaining, and terminating the persistent binary connections.

Solution

Messaging provides an alternative communications framework that does not rely on persistent connections. Instead, messages are transmitted as independent units of communication routed via the underlying infrastructure.

Figure 6.109 – Services interact via the transmission of messages, self-contained units of communication.

Application

A messaging framework supported by the enterpriseÕs technical environment needs to be implemented to an extent that it is capable of supporting service interaction requirements. Many established design patterns for messaging frameworks exist, most of which emerged from experience with enterprise integration platforms.

Note: There are numerous specialized messaging patterns that were established during the EAI movement that are still very applicable to solving design problems in support of service-oriented solutions. The book Enterprise Integration Patterns (Hohpe, Woolf) from Addison Wesley is a highly recognized resource in this field.

Impacts

Some messaging frameworks cannot provide an adequate level of QoS to support the high demands that can be placed on services positioned as enterprise resources.

To fully enable the application of the Capability Recomposition pattern and many of the advanced service and architectural patterns, the message framework must provide a means of:

     guaranteeing the delivery of each message or guaranteeing a notification of failed deliveries

     securing message contents beyond the transport

     managing state and context data across a service activity

     transmitting messages efficiently as part of real-time interactions

     coordinating cross-service transactions

Without these types of extensions in place, the availability, reliability, and reusability of services will impose limitations that can undermine the strategic goals associated with SOA in general. As explained in the upcoming Relationships section, several, more specialized patterns address these issues.

Relationships

As one of the most fundamental design patterns in this catalog, Service Messaging ties directly into interoperability design considerations. The success of this pattern is therefore fully dependent on the extent to which the Canonical Protocol and Canonical Data Model patterns are applied within a given inventory.

The Service Agent pattern forms a functional relationship with Service Messaging in that event-driven agent programs transparently intercept and process message contents. Messaging Metadata has a close relationship with Service Messaging because it essentially extends the typical message to incorporate meta details.

Figure 6.110 – The fundamental Service Messaging pattern establishes the basis for many, more specialized communication and messaging-related patterns.

Case study example

Case study content is not available on this Web site.

Prev | Next
The Prentice Hall Service-Oriented Computing Series from Thomas Erl
Home    SOA Books    SOA Magazine    What is SOA?    SOA Principles    SOA Methodology    SOA Glossary Copyright © 2007-2008
SOA Systems Inc.