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 Principle

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

A principle is a generalized, accepted industry practice. In other words, it’s something others are doing or promoting in association with a common objective. You can compare a principle with a best practice, in that both propose a means of accomplishing something based on past experience or industry-wide acceptance.

When it comes to building solutions, a design principle represents a highly recommended guideline for shaping solution logic in a certain way and with certain goals in mind. These goals are usually associated with establishing one or more specific design characteristics (as a result of applying the principle).


Figure: The repeated application of design principles increases the amount of common design characteristics. In this case, the coupling between solution logic units A and B has been loosened (as indicated by a reduction of connection points).

For example, we can have a principle as fundamental as one that states that solution logic should be distributable. Applying this principle results in the solution logic being partitioned into individually distributable units. This then establishes the distinct design characteristic of the solution logic becoming componentized. This is not only an example of a very broad design principle, it is also the starting point for service-orientation.

The eight design principles documented in SOA: Principles of Service Design provide rules and guidelines that help determine exactly how solution logic should be decomposed and shaped into distributable units. A study of these principles further reveals what design characteristics these units should have to be classified as "quality" services capable of fulfilling the vision and goals associated with SOA and service-oriented computing.

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.