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


Utility Abstraction (Erl)


Home > Logical Inventory Layer Patterns > Utility Abstraction

How can common non-business centric logic be separated, reused, and independently governed?  

Problem

When non-business centric processing logic is packaged together with business-specific logic, it results in the redundant implementation of common utility functions across different services.

Solution

A service layer dedicated to utility processing is established, providing reusable utility services for use by other services in the inventory.

Application

The utility service model is incorporated into analysis and design processes in support of utility logic abstraction, and further steps are taken to define balanced service contexts.

Impacts

When utility logic is distributed across multiple services it can increase the size, complexity, and performance demands of compositions.

Principles

Service Loose Coupling, Service Abstraction, Service Reusability, Service Composability

Architecture

Inventory, Composition, Service




Cross-cutting utility logic is identified with the help of enterprise
technology architecture specifications and then abstracted into
a layer of dedicated services based on the utility service model.



Related Patterns in This Catalog

Agnostic Context (Erl), Agnostic Sub-Controller (Erl), Canonical Expression (Erl), Concurrent Contracts (Erl), Cross-Domain Utility Layer (Erl), Exception Shielding (Hogg, Smith, Chong, Hollander, Kozaczynski, Brader, Delgado, Taylor, Wall, Slater, Imran, Cibraro, Cunningham), Legacy Wrapper (Erl, Roy), Logic Centralization (Erl), Message Screening (Hogg, Smith, Chong, Hollander, Kozaczynski, Brader, Delgado, Taylor, Wall, Slater, Imran, Cibraro, Cunningham), Metadata Centralization (Erl), Process Abstraction (Erl), Redundant Implementation (Erl), Rules Centralization (Erl), Service Agent (Erl), Service Decomposition (Erl), Service Layers (Erl), Service Perimeter Guard (Hogg, Smith, Chong, Hollander, Kozaczynski, Brader, Delgado, Taylor, Wall, Slater, Imran, Cibraro, Cunningham), Stateful Services (Erl)


Related Service-Oriented Computing Goals

Increased Vendor Diversification Options, Increased ROI, 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.