Return to Home Page

Fundamental Design
Terminology and Concepts
    Introduction
    Design Characteristic
    Design Principle
    Design Paradigm
    Design Pattern
    Design Pattern Language
    Design Standard
    Best Practice

Elements of
Service-Oriented Computing
    Introduction
    Service-Oriented
Architecture (SOA)
    Services and
Service-Orientation
    Service Compositions
    Service Inventory
    A Conceptual View of
Service-Oriented Computing
    A Physical View of
Service-Oriented Computing

Goals and Benefits of
Service-Oriented Computing
    Introduction
    Increased Intrinsic Interoperability
    Increased Federation
    Increased Vendor Diversification Options
    Increased Business and Technology Domain Alignment
    Increased ROI
    Increased
Organizational Agility
    Reduced IT Burden

Service-Oriented Computing
in the Real World
    Services as Web Services
    About Web Services (Part I)
    About Web Services (Part II)
    Service Models and
Service Layers
    Service Inventory Blueprints
    Service-Oriented Analysis
    Service-Oriented Design

Additional Resources
    SOA Sites
    SOA Book Series
    SOA Training & Certification
    Free SOA Principles Poster
    Notification


Fundamental Design Terminology and Concepts

Design Pattern

Note: This definition was copied from www.SOAGlossary.com.

We've established that service-orientation is a design paradigm comprised of a set of design principles, each of which provides a generalized rule or guideline for realizing certain design characteristics. The paradigm itself sounds pretty complete, and it actually is. However, to successfully apply it in the real world requires more than just a theoretical understanding of its principles.

Service designers will be regularly faced with obstacles and challenges when attempting to apply a design paradigm in the real world. This is because the realization of desired design characteristics is frequently complicated by various factors, including:
- Constraints imposed by the technology being used to build and/or host the units of solution logic.
- Constraints imposed by technology or systems that reside alongside the deployed units of solution logic.
- Constraints imposed by the requirements and priorities of the project delivering the units of solution logic.
A design pattern describes a common problem and provides a corresponding solution. It essentially documents the solution in a generic template format so that it can be repeatedly applied. Knowledge of design patterns not only arms you with an understanding of the potential problems designs may be subjected to, it provides answers as to how these problems are best dealt with.


Figure: Patterns provide recommended solutions for common design problems. In this simplified example, a pattern suggests we reduce external access to a database to increase application autonomy.

Design patterns are born out of experience. Pioneers in any field had to undergo cycles of trial and error and by learning from what didn’t work, approaches that finally did achieve their goals were developed. When a problem and its corresponding solution were identified as sufficiently common, the basis of a design pattern was formed. Design patterns can be further combined into compound patterns that solve larger problems and a series of patterns can form the basis of a pattern language, as explained next.

This page contains excerpts from:

SOA: Principles of Service Design
by Thomas Erl

ISBN: 0132344823, Prentice Hall/PearsonPTR, Hardcover
240+ Full Color Illustrations, 573 pages

Download the free Color SOA Principles Poster at www.soaposters.com.
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    SOA School    SOA Principles    SOA Patterns    SOA Methodology    SOA Glossary    SOA Specs    Legal
Copyright © 2007-2008 SOA Systems Inc.