- What is SOA
- Fundamental Design Terminology and Concepts
- Elements of Service-Oriented Computing
- Goals and Benefits of Service-Oriented Computing
- Service-Oriented Computing in the Real World
- Service-Orientation Principles
- Overview
- Introduction to Service-Orientation
- Service-Orientation Design Principles
- Effects of Service-Orientation on the Enterprise
- Service-Orientation in the
Real World
- SOA Manifesto
- Video of Announcement
- Become a Signatory
- SOA Manifesto (Original)
- SOA Manifesto (Annotated)
- About the Manifesto
- SOA Planning
- Four Pillars of Service-Orientation
- Levels of Organizational Maturity
- SOA Funding Models
- SOA Project Fundamentals
- Project and Lifecycle Stages
- Overview
- SOA Adoption Planning
- Service Inventory Analysis
- Service-Oriented Analysis (Service Modeling)
- Service-Oriented Design (Service Contract)
- Service Logic Design
- Service Development
- Service Testing
- Service Deployment and Maintenance
- Service Usage and Monitoring
- Service Discovery
- Service Versioning and Retirement
- Organizational Roles
- Overview
- Service Analyst
- Service Architect
- Service Developer
- Service Custodian
- Cloud Service Owner
- Service Administrator
- Cloud Resource Administrator
- Schema Custodian
- Policy Custodian
- Service Registry Custodian
- Technical Communications Specialist
- Enterprise Architect
- Enterprise Design Standards Custodian (and Auditor)
- SOA Quality Assurance Specialist
- SOA Security Specialist
- SOA Governance Specialist
- Other Roles
- Service Profiles
- Project and Lifecycle Stages
- SOA Methodology
- Overview
- Service Models
- Delivery Processes
- SOA Governance
- SOA Patterns
- Overview
- Design Pattern Basics
-
Design Patterns (alphabetical)
- Overview
- Agnostic Capability
- Agnostic Context
- Agnostic Sub-Controller
- Asynchronous Queuing
- Atomic Service Transaction
- Brokered Authentication
- Canonical Expression
- Canonical Protocol
- Canonical Resources
- Canonical Schema
- Canonical Versioning
- Capability Composition
- Capability Recomposition
- Compatible Change
- Compensating Service Transaction
- Composition Autonomy
- Concurrent Contracts
- Content Negotiation
- Contract Centralization
- Contract Denormalization
- Cross-Domain Utility Layer
- Data Confidentiality
- Data Format Transformation
- Data Model Transformation
- Data Origin Authentication
- Decomposed Capability
- Decoupled Contract
- Direct Authentication
- Distributed Capability
- Domain Inventory
- Dual Protocols
- Endpoint Redirection
- Enterprise Inventory
- Entity Abstraction
- Entity Linking
- Event-Driven Messaging
- Exception Shielding
- File Gateway
- Functional Decomposition
- Idempotent Capability
- Intermediate Routing
- Inventory Endpoint
- Legacy Wrapper
- Lightweight Endpoint
- Logic Centralization
- Message Screening
- Messaging Metadata
- Metadata Centralization
- Multi-Channel Endpoint
- Non-Agnostic Context
- Partial State Deferral
- Partial Validation
- Policy Centralization
- Process Abstraction
- Process Centralization
- Protocol Bridging
- Proxy Capability
- Redundant Implementation
- Reliable Messaging
- Reusable Contract
- Rules Centralization
- Schema Centralization
- Service Agent
- Service Callback
- Service Data Replication
- Service Decomposition
- Service Encapsulation
- Service Façade
- Service Grid
- Service Instance Routing
- Service Layers
- Service Messaging
- Service Normalization
- Service Perimeter Guard
- Service Refactoring
- State Messaging
- State Repository
- Stateful Services
- Termination Notification
- Trusted Subsystem
- UI Mediator
- Utility Abstraction
- Validation Abstraction
- Version Identification
-
Design Patterns (by category)
- Foundational Inventory Patterns
- Logical Inventory Layer Patterns
- Inventory Centralization Patterns
- Inventory Implementation Patterns
- Inventory Governance Patterns
- Foundational Service Patterns
- Service Implementation Patterns
- Service Security Patterns
- Service Contract Design Patterns
- Legacy Encapsulation Patterns
- Service Governance Patterns
- Capability Composition Patterns
- Service Messaging Patterns
- Composition Implementation Patterns
- Service Interaction Security Patterns
- Transformation Patterns
- REST-inspired Patterns
- Microservice Patterns
- SOA Glossary
- Master List
- A - B
- active (primary state)
- agnostic capability
- agnostic context
- agnostic logic
- agnostic sub-controller
- alternative format
- asynchronous queuing
- atomic service transaction
- best practice
- brokered authentication
- business aligned (organizational maturity level)
- business driven (organizational maturity level)
- C - D
- canonical expression
- canonical protocol
- canonical resources
- canonical schema
- canonical schema bus
- canonical versioning
- capability composition
- capability composition patterns
- capability granularity
- capability recomposition
- cloud
- cloud computing
- cloud delivery models
- cloud deployment models
- cloud resource administrator
- cloud service owner
- common compound design patterns
- compatible change
- compensating service transaction
- complex composition
- component
- composition autonomy
- composition controller
- composition implementation patterns
- composition initiator
- composition member
- composition member capability
- composition sub-controller
- compound design pattern
- complex service activity
- concurrent contracts
- constraint granularity
- contemporary SOA
- context (state information type)
- context data (context data type)
- context rules (context data type)
- contract centralization
- contract denormalization
- contract-to-functional coupling
- contract-to-implementation coupling
- contract-to-logic coupling
- contract-to-technology
- coupling
- composition controller capability
- core service logic coupling
- cross-domain utility layer
- data confidentiality
- data format transformation
- data granularity
- data model standardization
- data model transformation
- data origin authentication
- decomposed capability
- decoupled contract
- default namespace
- design-time autonomy
- design characteristic
- design paradigm
- design pattern
- design pattern catalog
- design pattern language
- design principle
- design standard
- designated controller
- direct authentication
- distributed capability
- domain inventory
- dual protocols
- E - F
- enterprise architect
- enterprise design standards custodian (and auditor)
- enterprise inventory
- enterprise service bus
- entity abstraction
- entity linking
- entity service
- event-driven messaging
- exception shielding
- expanded name
- functional expression standardization
- federated endpoint layer
- file gateway
- foundational inventory patterns
- foundational service patterns
- four pillars of service-orientation
- functional decomposition
- functional meta data
- I - J
- K - L
- M - N
- O - P
- official endpoint
- orchestration
- organizational maturity levels
- partial state deferral
- partial validation
- passive (primary state)
- point-to-point
- policy centralization
- policy custodian
- primitive SOA
- primitive service activity
- platform (service inventory) funding
- process abstraction
- process centralization
- programmatic logic meta data
- protocol bridging
- proxy capability
- Q - R
- S - T
- schema centralization
- schema custodian
- schema standardization
- service
- service abstraction
- service activity
- service administrator
- service agent
- service aggressive level (organizational maturity level)
- service analyst
- service architect
- service autonomy
- service aware (organizational maturity level)
- service broker
- service callback
- service candidate
- service capability
- service capable (organizational maturity level)
- service capability candidate
- service catalog
- service composability
- service composition
- service composition candidate
- service contract
- service contract design patterns
- service custodian
- service data replication
- service decomposition
- service developer
- service description document
- service discoverability
- service encapsulation
- service facade
- service funding
- service governance patterns
- service granularity
- service grid
- service ineffectual (organizational maturity level)
- service implementation patterns
- service instance routing
- service interaction security patterns
- service inventory
- service inventory blueprint
- service layers
- service loose coupling
- service messaging
- service messaging patterns
- service method
- service model
- service modeling
- service neutral (organizational maturity level)
- service normalization
- service operation
- service-orientation
- service-oriented analysis
- service-oriented architecture
- service-oriented computing
- service-oriented design
- service-oriented solution logic
- service perimetergguard
- service portfolio
- service refactoring
- service registry custodian
- service reusability
- service security patterns
- service statelessness
- session (state information type)
- standardized service contract
- state messaging
- state repository
- stateful (primary state condition)
- stateful services
- stateless (primary state condition)
- target namespace
- task service
- technical communications specialist
- technology meta data
- termination notification
- three-layer inventory
- transformation patterns
- transport caching
- trusted subsystem
- U - V
- W - Z
- SOACP
Best Practice
A best practice is generally considered a technique or approach to solving or preventing certain problems. It is usually a practice that has industry recognition and has emerged from past industry experience.

Figure 1 - Best practices provide guidance in the form of general "lessons learned." In the example, it is suggested that the on-going maintenance of reusable solution logic units from all applications fall under a single custodian.
How then is a best practice differentiated from a design principle? In this book we make a clear distinction in that a design principle is limited to design only. A best practice can relate to anything from project delivery to organizational issues, governance, or process. A design principle could be considered a best practice associated only with solution design.
This topic is covered in SOACP Module 1: Fundamental SOA & Service-Oriented Computing.
For more information regarding the SOA Certified Professional (SOACP) curriculum, visit www.soaschool.com.
This page contains excerpts from:
SOA Principles of Service Design by Thomas Erl
(ISBN: 0132344823, Hardcover, Full-Color, 240+ Illustrations, 573 pages)
For more information about this book, visit www.servicetechbooks.com.