SOA Patterns > Foundational Inventory Patterns > Canonical Schema
Canonical Schema (Erl)
How can services be designed to avoid data model transformation?

Problem
Services with disparate models for similar data impose transformation requirements that increase development effort, design complexity, and runtime performance overhead.
Solution
Data models for common information sets are standardized across service contracts within an inventory boundary.
Application
Design standards are applied to schemas used by service contracts as part of a formal design process.
Impacts
Maintaining the standardization of contract schemas can introduce significant governance effort and cultural challenges.
Principles
Architecture
Inventory, Service

Multiple services implemented as Web services have standardized XML schema definitions as a result of applying this pattern.
Related Patterns in This Catalog
Canonical Protocol, Data Model Transformation, Domain Inventory, Enterprise Inventory, Schema Centralization, Service Messaging
Related Service-Oriented Computing Goals
Increased Business and Technology Alignment, Increased Federation, Increased Intrinsic Interoperability, Increased Organizational Agility, Reduced IT Burden
This page contains excerpts from:
SOA Design Patterns by Thomas Erl
(ISBN: 0136135161, Hardcover, Full-Color, 400+ Illustrations, 865 pages)
For more information about this book, visit www.arcitura.com/books.
This page contains excerpts from:
Web Service Contract Design and Versioning for SOA
by Thomas Erl, Anish Karmarkar, Priscilla Walmsley, Hugo Haas, Umit Yalcinalp, Canyang Kevin Liu, David Orchard, Andre Tost, James Pasley
For more information about this book, visit www.arcitura.com/books.