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


Functional Decomposition (Erl)


Home > Foundational Service Patterns > Functional Decomposition

How can a large business problem be solved without having to build a standalone body of solution logic?  

Problem

To solve a large, complex business problem a corresponding amount of solution logic needs to be created, resulting in a selfcontained application with traditional governance and reusability constraints.

Solution

The large business problem can be broken down into a set of smaller, related problems, allowing the required solution logic to also be decomposed into a corresponding set of smaller, related solution logic units.

Application

Depending on the nature of the large problem, a serviceoriented analysis process can be created to cleanly deconstruct it into smaller problems.

Impacts

The ownership of multiple smaller programs can result in increased design complexity and governance challenges.

Principles

n/a

Architecture

Service
 
Distributed computing is based on an approach where a large problem is decomposed and its corresponding solution logic is distributed across individual solution logic units. On its own, this pattern results in the decomposition of the larger problem into smaller problems, as shown in the top part of this figure. The actual definition of solution logic units occurs through the application of subsequent patterns in this chapter.
Audio Podcast
This pattern is discussed as part of the audio podcast:

Foundational SOA Design Patterns and the Separation of Concerns
 

Related Patterns in This Catalog

Service Encapsulation (Erl)


Related Service-Oriented Computing Goals

Increased Business and Technology Alignment, 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-2010
SOA Systems Inc.