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


Contract Denormalization (Erl)


Home > Service Contract Design Patterns > Contract Denormalization

How can a service contract facilitate consumer programs with differing data exchange requirements?  

Problem

Services with strictly normalized contracts can impose unnecessary functional and performace demands on some consumer programs.

Solution

Service contracts can include a measured extent of denormalization, allowing multiple capabilities to redundantly express core functions in different ways for different types of consumer programs.

Application

The service contract is carefully extended with additional capabilities that provide functional variations of a primary capability.

Impacts

Overuse of this pattern on the same contract can dramatically increase its size, making it difficult to interpret and unwieldy to govern.

Principles

Standardized Service Contract, Service Loose Coupling

Architecture

Service
 
Equipped with additional (albeit redundant) capabilities, the Invoice service is able to better accommodate the individual requirements of the three consumers.
Audio Podcast
This pattern is discussed as part of the audio podcast:

Service Contract-Related SOA Design Patterns
 

Related Patterns in This Catalog

Canonical Expression (Erl), Compensating Transaction (Utschig, Maier, Trops, Normann, Winterberg, Loesgen, Little), Concurrent Contracts (Erl), Decomposed Capability (Erl), Decoupled Contract (Erl), Proxy Capability (Erl), Service Facade (Erl), Service Normalization (Erl)


Related Service-Oriented Computing Goals

Increased Intrinsic Interoperability, 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.
Web Service Contract Design and Versioning for SOA This pattern is also discussed in the following title:

Web Service Contract Design and Versioning for SOA
by Thomas Erl, Anish Karmarkar, Priscilla Walmsley, Hugo Haas, Umit Yalcinalp, Canyang Kevin Liu,
David Orchard, Andre Tost, James Pasley

Foreword by David Chappell

(ISBN: 013613517X, Hardcover, 826 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.