Home > SOA Tips > Guest Commentary > Canonical Schema establishes interoperability: SOA Pattern (Week 6)
SOA Tips:
EMAIL THIS
 TIPS & NEWSLETTERS TOPICS 

Canonical Schema establishes interoperability: SOA Pattern (Week 6)


Thomas Erl
Rating: --- (out of 5)

Of all the patterns in the SOA design patterns catalog, there is perhaps no other as simple to understand yet as difficult to apply in practice as Canonical Schema. There are also few patterns that spark as much debate. In fact, that application potential of Canonical Schema can become one of the fundamental influential factors that determine the scope and complexion of a service inventory architecture.

It all comes down to establishing baseline interoperability. The Canonical Schema pattern ensures that services are built with contracts capable of sharing business documents based on standardized data models (schemas). Unlike the well-known pattern Canonical Data Model (Hohpe, Woolf) which advocates that disparate applications be integrated to share data based on common data models, Canonical Schema requires that we build these c...

RELATED CONTENT
Guest Commentary
Get a grip on JavaFX 1.2 for Rich Internet Applications
On the road to SOA – Part 1, Boubez on early insights
On the road to SOA – Part 2, Governance is fundamental
SpringSource approach to adding enterprise class management and deployment features to Tomcat
Legacy: Can't Live With It, Can't Live Without It
Review of protocols for cloud services - Part 1
SOA and TOGAF: A Good Fit?
Using atomicity to gain SOA granularity
Too Many Servers: A Case for Enterprise Architecture and TOGAF 9
Does Cloud Computing Hold Water?

Data services for SOA
IBM announces expansion of mashup portfolio
SPSS and PMLL
Medical imaging group build HL7 messaging hub with InterSystems Ensemble
Using atomicity to gain SOA granularity
Use JavaScript with the iPhone to create smart phone apps
Componentized XML Query tool takes a step forward
Podcast: SearchSOA tips on software architect skills
Services reuse drives ROI for SOA, survey finds
Tibco releases Complex Event Processing (CEP) suite with new rules, query interfaces
MapReduce moves from secret Google goo to enterprise architecture - Part 1

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary


ommon data models into our service contracts in advance. Hence, the successful application of this pattern almost always requires that we establish and consistently enforce design standards.

But before we discuss the standardization of data models and all of the enjoyable things that come with trying to make this happen, let's first take a step back and describe what we mean by "baseline interoperability."

When services and service consumer programs interact, data is transmitted (usually in the form of messages) organized according to some structure and a set of rules. This structure and the associated rules constitute a formal representation (or model) of the data.

When different services are designed with different data models representing the same type of data, then they will have a problem sharing this data because the data models are simply incompatible. To address this problem, a technique called data model transformation is applied whereby data model mapping logic is developed so that data exchanged by such services is dynamically converted at runtime from compliance with one data model to another. So successful has this technique been that a corresponding Data Model Transformation pattern was developed.

However, with data model transformation comes consequences. And with the overuse of data model transformation comes real problems pertaining to architectural complexity, increased development effort, and runtime performance demands that can impact larger service compositions to such an extent that if you press your ear close enough to your middleware you can actually hear the churning and grinding of this extra runtime latency.

These and other details and issues will be discussed separately during an upcoming series article dedicated to the Data Model Transformation pattern. What's important for us to understand for now is that the primary goal of applying Canonical Schema is for us to avoid having to apply Data Model Transformation.

This brings us back to design standards and the scope of their application. Establishing canonical schemas as part of services delivered by different project teams at different times requires that each project team agrees to use the same pre-defined data models for common business documents. This may sound like a simple requirement but something simple is not always easy. Many organizations have historically struggled with the enforcement and governance of standardized data models – so much so that it has led to organizational power struggles, resentment of individuals at being "enforced", and technical difficulties with large-scale compliance and change management (of the data models).

These are all reasons as to why the Canonical Schema pattern is very commonly applied together with Domain Inventory. Limiting the application, enforcement, and governance of standardized data models to the confines of a manageably sized service inventory dramatically increases the potential to successfully realize the full potential of this pattern.

Canonical Schema epitomizes the transition from silo-based, integrated enterprises to service-orientation. It is a pattern that solves a big problem but asks in return that we make an equally big commitment to its on-going application.

The SOA Pattern of the Week series is comprised of original content and insights provided to you courtesy of the authors and contributors of the SOAPatterns.org community site and the book "SOA Design Patterns" (Erl et al., ISBN: 0136135161, Prentice Hall, 2009), the latest title in the "Prentice Hall Service-Oriented Computing Series from Thomas Erl" (www.soabooks.com).


Rate this Tip
To rate tips, you must be a member of SearchSOA.com.
Register now to start rating these tips. Log in if you are already a member.




DISCLAIMER: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.



SOA Trends and Strategy - SOA Education, SOA Development, SOA Implementations
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 2001 - 2010, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts