SlideShare uma empresa Scribd logo
1 de 26
‘How to implement a canonical data model in an existing SOA
estate’
19/05/2014 (slide 1)
phil@mp3monster.org
www.mp3monster.org
‘How to implement a canonical data
model in an existing SOA estate’
‘How to implement a canonical data model in an existing SOA
estate’
19/05/2014 (slide 2)
phil@mp3monster.org
www.mp3monster.org
Introduction
• The following deck attempts to address the question:
• ‘How to implement a canonical data model in an existing SOA
estate’
• To address this we need to understand a number of
things:
– Assumptions on the current state of affairs
– The value proposition of adopting a canonical model – no
point in an adoption approach that doesn’t deliver value
(with as tangible or intangible benefits)
– The strategies best suited to delivering the goal
– Appreciate the risks we may expose
‘How to implement a canonical data model in an existing SOA
estate’
19/05/2014 (slide 3)
phil@mp3monster.org
www.mp3monster.org
Assumptions
• By ‘SOA environment’ we assume to mean capability
centric services primarily built with SOAP/WSDL/XSD and
REST/JSON technologies
• By ‘data model’ we presume to mean data definitions
used in middleware rather than underlying application
and data warehouse/marts
• Assumption that the existing estate doesn’t have an
interface versioning strategy applied across the board
• Services are woven together to deliver larger capabilities
by an ESB
• The approach should be vendor agnostic
‘How to implement a canonical data model in an existing SOA
estate’
19/05/2014 (slide 4)
phil@mp3monster.org
www.mp3monster.org
What do we mean by a Canonical Data Model
• The following definition from Forrester 2010 (as part of a
blog on a modelling conference1)
A canonical information model is a model of the semantics and structure
of information that adheres to a set of rules agreed upon within a defined
context for communicating among a set of applications or parties.
• The essence of the various definitions is:
– Internally consistent description of data
– Standard terminology and meaning
– Commonly accepted by all providers & consumers involved in
orchestrating interactions of any form
– Definitions are largely technology agnostic (although typically
not free of the under pinning representation i.e. XML/XSD of
SQL).
1 http://blogs.forrester.com/mike_gilpin/10-03-15-field_first_annual_canonical_model_management_forum
‘How to implement a canonical data model in an existing SOA
estate’
19/05/2014 (slide 5)
phil@mp3monster.org
www.mp3monster.org
Value of a Canonical Model
• Semantic Consistency - which allows interactions to have a common
meaning so no problems of your gadget is my widget
– This means mapping data from an event pay load or for WS invocations is easy &
less prone to mapping errors
• Structural Consistency – so the definition of common data items is always
the same
– Eliminates risks of transformation errors
– Potential to reduce transformations in an orchestrated sequence of operations –
meaning greater throughput
• Reduced Design Effort – choose appropriate definitions not create them
– Picking data definitions from a set of models is easier & less error prone than
designing from scratch
• Increases chance of Information Rich integration
– with a predefined data definition increases chances of providing information rich
events as you’re just populating objects
– Information rich events, raises chances of plug and play integration (event types
match, data shared less likely to need changes to get more data)
‘How to implement a canonical data model in an existing SOA
estate’
19/05/2014 (slide 6)
phil@mp3monster.org
www.mp3monster.org
Look at a hypothetical integration and how
Canonical Model adoption can change it
‘How to implement a canonical data model in an existing SOA
estate’
19/05/2014 (slide 7)
phil@mp3monster.org
www.mp3monster.org
Key
Aggregate
Split
Transform
Store
Tx Endpoint
Endpoint
Pipe (+Filter)
Content Route
De/Normalize
Enrich
Canonical Data
App Data
Icons from Hhope & Woolfe EAIPatterns.com
Organic Growth & Non Canonical Model
• Organic Growth
• No canonical model
• Creating need for
multiple
transforms &
related
operations
• Some operations may
undo previous
operation
• Canonical 
application models
excluded here
‘How to implement a canonical data model in an existing SOA
estate’
19/05/2014 (slide 8)
phil@mp3monster.org
www.mp3monster.org
Key
Aggregate
Split
Transform
Store
Tx Endpoint
Endpoint
Pipe (+Filter)
Content Route
De/Normalize
Enrich
Canonical Data
App Data
Icons from Hhope & Woolfe EAIPatterns.com
Same Systems with Canonical Model
(systems not canonical conversant)
• Greatly simplified
as each system is
fronted by a
transform
to/from local
representation to
canonical
‘How to implement a canonical data model in an existing SOA
estate’
19/05/2014 (slide 9)
phil@mp3monster.org
www.mp3monster.org
Key
Aggregate
Split
Transform
Store
Tx Endpoint
Endpoint
Pipe (+Filter)
Content Route
De/Normalize
Enrich
Canonical Data
App Data
Icons from Hhope & Woolfe EAIPatterns.com
Same Systems with Canonical Model
(some systems canonical conversant)
• Number of
transformations
reduced
• Middleware
purely becomes a
routing / pub-sub
delivery
‘How to implement a canonical data model in an existing SOA
estate’
19/05/2014 (slide 10)
phil@mp3monster.org
www.mp3monster.org
Select or Create own Canonical Model?
• Industry standard models cover wider number of domains, but will
not provide 100% fit all the time
• Creating works …
– In a closed, non SaaS/COTs environment create custom canonical model
by deliver benefits
• closer match to service implementation – performance gain
• Alignment to business language
– Create need to take into account lessons from designing enterprise
application/DB data models
• Select a standard model means
– Leverage accumulated good practise lessons learnt/data needs for
interoperability
– Industry models likely to be 80/20 fit you will need own definitions for
business specific concepts e.g.
• in optical retail need to extend standard definition of Item with definition from
Vision Council of America clinical elements of lens shape & cut
– Model selection(s) need to be done with care
– Make sure model(s) are sufficiently mature
‘How to implement a canonical data model in an existing SOA
estate’
19/05/2014 (slide 11)
phil@mp3monster.org
www.mp3monster.org
Technical Strategies / Decisions Needed
‘How to implement a canonical data model in an existing SOA
estate’
19/05/2014 (slide 12)
phil@mp3monster.org
www.mp3monster.org
Interface/Payload Versioning
• Interfaces or the payload need to have a versioning
strategy as they will change overtime, can be applied by
– URI – works very well for REST
– XSD schema versioning – common, but a problem for
REST+JSON
• Need to know how many versions to actively support
– common to keep current + 1
– factors to account for rate of change & interface users ability to
accommodate the rate of change
• Determine approach handling
– Common URL + ESB conditional logic
– Separate URLs + ESB logic re-use
‘How to implement a canonical data model in an existing SOA
estate’
19/05/2014 (slide 13)
phil@mp3monster.org
www.mp3monster.org
Versioning Existing Interfaces – Some Options
• If existing interface/payload has no version
– ESB can use absence as implicit version 0.
– Requires routing conditional logic
• If interface does exist, then
– If versioning uses same strategy then recommend new interface
URIs
– If different can share URI and use ESB to determine version
– Requires routing conditional logic
• Simply create slightly different URI for replacement
services
– Increased volume of code,
– endpoint user aware of change
(less desirable)
– conditioning is implicit
‘How to implement a canonical data model in an existing SOA
estate’
19/05/2014 (slide 14)
phil@mp3monster.org
www.mp3monster.org
Transition States
• There will always be a period of transitionary state when
adopting major change such as canonical model
– Therefore when passing on or starting a sequence of event(s)
what do I assume about down stream capability?
• This can be addressed by one of several strategies:
– Late binding using UDDI or equivalent and discover service and
version of interface available – great if overhead is not a
problem
– Assume latest version (predicated on ability to transform to
previous version) & programme of work provides proxy to
legacy interface which transforms down
– Software controlled switching of output (not desirable as
embeds knowledge of consumers into a service)
‘How to implement a canonical data model in an existing SOA
estate’
19/05/2014 (slide 15)
phil@mp3monster.org
www.mp3monster.org
REST+JSON Question
• Canonical models in support of the middleware are
typical XSD based today - good for SOAP WSDL services
but REST + JSON more challenging as no schema needed
• However organisations starting to offer JSON models e.g.
part of OASIS, OAGIS
• Could use REST + XML (more like RPC than proper REST)
• Could publish JSON mapped representation (tooling
available) with description via JSON Schema (IETF draft)
– Safest when offering special custom service
– Still delivers benefit for internal services
• Remember R (in REST) is for Resource and ideally you
want resources to be consistent in definition
‘How to implement a canonical data model in an existing SOA
estate’
19/05/2014 (slide 16)
phil@mp3monster.org
www.mp3monster.org
Challenges of Abstraction vs Endpoint Needs
• Current interfaces maybe geared towards supporting
specific platforms e.g.
– Phone, thick client, IoT (Internet of Things i.e. agent
devices such as smart meters)
– E.g strip generic message to only necessary elements as
device can only handle small payloads
• Strategy for this is to add layer between core
canonical & ESB an endpoint aware transformation
– Means core routing / business aspects of ESB not impacted
– so changing routing etc not impacted
– Clients not needing adaptation can talk directly to
canonical layer
‘How to implement a canonical data model in an existing SOA
estate’
19/05/2014 (slide 17)
phil@mp3monster.org
www.mp3monster.org
Governance
• Engaging with all these previous considerations will
need to be factored into any Governance processes..
– Design Time
• Assurance that the correct approaches identified are being
adopted
• Adoption is for the right reasons
– Execution Time
• Ability to ascertain the adoption, efficacy etc
• We started out with the
declaration that we’re working in a
SOA context, which should mean
– SOA Governance is in place and can
support these Governance goals Open Group
http://www.opengroup.org/soa/source-book/gov/sgvm_artifacts.jpg
‘How to implement a canonical data model in an existing SOA
estate’
19/05/2014 (slide 18)
phil@mp3monster.org
www.mp3monster.org
Understanding Why & How To Adopt
Canonical Model we can look at execution
‘How to implement a canonical data model in an existing SOA
estate’
19/05/2014 (slide 19)
phil@mp3monster.org
www.mp3monster.org
Implementation Strategy
• Define architectural strategies (i.e. engage with
previous rational and challenges)
• Need to ensure ground work is in place to enable
correct development, could be delivered by
– Reference implementation
– Documentation set with policy & practise
– Very detailed requirements (including test definitions)
– Support through architect involved in pair programming
– workshops
‘How to implement a canonical data model in an existing SOA
estate’
19/05/2014 (slide 20)
phil@mp3monster.org
www.mp3monster.org
Implementation Strategy (1)
• Start small & grow as …
– Knowledge & understanding develops
– Principles, ideas and approach are refined
– Help manage risk & impact
– Can make ensure initial work is ‘referencable’
• Assess & Measure
– Helps build cost/benefit -- ROI insights (both hard and soft
factors)
– Informs planning & estimation downstream
– Ensure implementation quality & sustainability
‘How to implement a canonical data model in an existing SOA
estate’
19/05/2014 (slide 21)
phil@mp3monster.org
www.mp3monster.org
TOGAF View of realising Canonical Model
Defined objective for how and
why a Canonical Model be
adopted (assuming other
principles etc already set)
Establish business direction of
travel so we can identify
suitable model(s), opportunities
for a pilot
Determine key business
data structures
Build the Tech Ref
Model & Stds
Information Base
Look at opportunities
for piloting canonical
adoption
As not greenfield
transition strategy is
needed
Hands on support
– key to identify
lessons and
approaches to
accelerate & ease
adoption
Apply refinements
to pilot. Depending
upon scope plan
next cycle
Set direction of travel,
scope for change
‘How to implement a canonical data model in an existing SOA
estate’
19/05/2014 (slide 22)
phil@mp3monster.org
www.mp3monster.org
Activities from a Execution Sequence
Perspective
Identify Canonical model(s)
& Strategies
•Which model(s) to use
•Approaches/impact to handling
transition
Develop Model Knowledge
•Interpretation/Language
•Versioning
•Ensure guidance & supporting
information is ready
Determine non Critical
integration programme
•Scope cover various patterns of
use and impact
•Agree benchmarks to establish
value
•Develop detailed implementation
plan
Start Development
•Ensure testing of existing
interfaces are in place so can
assure of no impact
•Develop initial interfaces inc
interface & e2e tests
Regression Testing
•Ensure that different message
types & versions exercised
•Check for changes in type within
end to end execution
•Deployment strategy included
Performance & Other
PreProd Tests
•Canonical models can be heavier –
therefore ensure performance is
considered
•Assess Value of approach
Assuming Success…
•Expand adoption
•KT to wider team etc
•Programme of full adoption
Establish Monitoring
•Need to determine when legacy
interfaces stop being used
•Retire interfaces at appropriate
time
Iterate
development
process
‘How to implement a canonical data model in an existing SOA
estate’
19/05/2014 (slide 23)
phil@mp3monster.org
www.mp3monster.org
Reminder & Questions
‘How to implement a canonical data model in an existing SOA
estate’
19/05/2014 (slide 24)
phil@mp3monster.org
www.mp3monster.org
Remember!
• This has been done before – so make sure you’re
considering best practise recommendations
(particularly from preferred vendors)
‘How to implement a canonical data model in an existing SOA
estate’
19/05/2014 (slide 25)
phil@mp3monster.org
www.mp3monster.org
Questions
‘How to implement a canonical data model in an existing SOA
estate’
19/05/2014 (slide 26)
phil@mp3monster.org
www.mp3monster.org
Thankyou

Mais conteúdo relacionado

Mais procurados

How to Build TOGAF Architectures With System Architect (2).ppt
How to Build TOGAF Architectures With System Architect (2).pptHow to Build TOGAF Architectures With System Architect (2).ppt
How to Build TOGAF Architectures With System Architect (2).ppt
StevenShing
 
Data Governance by stealth v0.0.2
Data Governance by stealth v0.0.2Data Governance by stealth v0.0.2
Data Governance by stealth v0.0.2
Christopher Bradley
 
Review of Information Technology Function Critical Capability Models
Review of Information Technology Function Critical Capability ModelsReview of Information Technology Function Critical Capability Models
Review of Information Technology Function Critical Capability Models
Alan McSweeney
 

Mais procurados (20)

How to Build TOGAF Architectures With System Architect (2).ppt
How to Build TOGAF Architectures With System Architect (2).pptHow to Build TOGAF Architectures With System Architect (2).ppt
How to Build TOGAF Architectures With System Architect (2).ppt
 
Data Governance by stealth v0.0.2
Data Governance by stealth v0.0.2Data Governance by stealth v0.0.2
Data Governance by stealth v0.0.2
 
Data Governance — Aligning Technical and Business Approaches
Data Governance — Aligning Technical and Business ApproachesData Governance — Aligning Technical and Business Approaches
Data Governance — Aligning Technical and Business Approaches
 
Data Lakehouse, Data Mesh, and Data Fabric (r1)
Data Lakehouse, Data Mesh, and Data Fabric (r1)Data Lakehouse, Data Mesh, and Data Fabric (r1)
Data Lakehouse, Data Mesh, and Data Fabric (r1)
 
Review of Information Technology Function Critical Capability Models
Review of Information Technology Function Critical Capability ModelsReview of Information Technology Function Critical Capability Models
Review of Information Technology Function Critical Capability Models
 
DAS Slides: Data Governance - Combining Data Management with Organizational ...
DAS Slides: Data Governance -  Combining Data Management with Organizational ...DAS Slides: Data Governance -  Combining Data Management with Organizational ...
DAS Slides: Data Governance - Combining Data Management with Organizational ...
 
Five Things to Consider About Data Mesh and Data Governance
Five Things to Consider About Data Mesh and Data GovernanceFive Things to Consider About Data Mesh and Data Governance
Five Things to Consider About Data Mesh and Data Governance
 
So You Think You Need A Digital Strategy
So You Think You Need A Digital StrategySo You Think You Need A Digital Strategy
So You Think You Need A Digital Strategy
 
IMPLEMENTATION BEST PRACTICES Sep 22.pdf
IMPLEMENTATION BEST PRACTICES Sep 22.pdfIMPLEMENTATION BEST PRACTICES Sep 22.pdf
IMPLEMENTATION BEST PRACTICES Sep 22.pdf
 
IT4IT - The Full Story for Digital Transformation - Part 1
IT4IT - The Full Story for Digital Transformation - Part 1IT4IT - The Full Story for Digital Transformation - Part 1
IT4IT - The Full Story for Digital Transformation - Part 1
 
Process Oriented Architecture
Process Oriented ArchitectureProcess Oriented Architecture
Process Oriented Architecture
 
Agile documentation with Confluence and Sparx Enterprise Architect
Agile documentation with Confluence and Sparx Enterprise ArchitectAgile documentation with Confluence and Sparx Enterprise Architect
Agile documentation with Confluence and Sparx Enterprise Architect
 
Integrating It Frameworks, Methodologies And Best Practices Into It Delivery ...
Integrating It Frameworks, Methodologies And Best Practices Into It Delivery ...Integrating It Frameworks, Methodologies And Best Practices Into It Delivery ...
Integrating It Frameworks, Methodologies And Best Practices Into It Delivery ...
 
Building the Data Lake with Azure Data Factory and Data Lake Analytics
Building the Data Lake with Azure Data Factory and Data Lake AnalyticsBuilding the Data Lake with Azure Data Factory and Data Lake Analytics
Building the Data Lake with Azure Data Factory and Data Lake Analytics
 
Oracle Analytics Cloud
Oracle Analytics CloudOracle Analytics Cloud
Oracle Analytics Cloud
 
Master Data Management – Aligning Data, Process, and Governance
Master Data Management – Aligning Data, Process, and GovernanceMaster Data Management – Aligning Data, Process, and Governance
Master Data Management – Aligning Data, Process, and Governance
 
Mdm: why, when, how
Mdm: why, when, howMdm: why, when, how
Mdm: why, when, how
 
Digital Operating Model & IT4IT
Digital Operating Model & IT4ITDigital Operating Model & IT4IT
Digital Operating Model & IT4IT
 
Enterprise Architecture - TOGAF Overview
Enterprise Architecture - TOGAF OverviewEnterprise Architecture - TOGAF Overview
Enterprise Architecture - TOGAF Overview
 
Building a Data Strategy – Practical Steps for Aligning with Business Goals
Building a Data Strategy – Practical Steps for Aligning with Business GoalsBuilding a Data Strategy – Practical Steps for Aligning with Business Goals
Building a Data Strategy – Practical Steps for Aligning with Business Goals
 

Semelhante a Adopting a Canonical Data Model - how to apply to an existing environment with web services (SOA and REST)

The LDBC Social Network Benchmark Interactive Workload - SIGMOD 2015
The LDBC Social Network Benchmark Interactive Workload - SIGMOD 2015The LDBC Social Network Benchmark Interactive Workload - SIGMOD 2015
The LDBC Social Network Benchmark Interactive Workload - SIGMOD 2015
Ioan Toma
 
Dublinked tech workshop_15_dec2011
Dublinked tech workshop_15_dec2011Dublinked tech workshop_15_dec2011
Dublinked tech workshop_15_dec2011
Dublinked .
 
YARN - Past, Present, & Future
YARN - Past, Present, & FutureYARN - Past, Present, & Future
YARN - Past, Present, & Future
DataWorks Summit
 
Software Design PatternsConsider a company migrating to a third-p.pdf
Software Design PatternsConsider a company migrating to a third-p.pdfSoftware Design PatternsConsider a company migrating to a third-p.pdf
Software Design PatternsConsider a company migrating to a third-p.pdf
arorastores
 

Semelhante a Adopting a Canonical Data Model - how to apply to an existing environment with web services (SOA and REST) (20)

Oracle SOA, AIA & Fusion Apps
Oracle SOA, AIA & Fusion AppsOracle SOA, AIA & Fusion Apps
Oracle SOA, AIA & Fusion Apps
 
Ontologies for Emergency & Disaster Management
Ontologies for Emergency & Disaster Management Ontologies for Emergency & Disaster Management
Ontologies for Emergency & Disaster Management
 
Geospatial Ontologies and GeoSPARQL Services
Geospatial Ontologies and GeoSPARQL ServicesGeospatial Ontologies and GeoSPARQL Services
Geospatial Ontologies and GeoSPARQL Services
 
Portal / BI 2008 Presentation by Ted Tschopp
Portal / BI 2008 Presentation by Ted TschoppPortal / BI 2008 Presentation by Ted Tschopp
Portal / BI 2008 Presentation by Ted Tschopp
 
SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...
SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...
SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...
 
Future of SOA & Modern APIs
Future of SOA & Modern APIsFuture of SOA & Modern APIs
Future of SOA & Modern APIs
 
The LDBC Social Network Benchmark Interactive Workload - SIGMOD 2015
The LDBC Social Network Benchmark Interactive Workload - SIGMOD 2015The LDBC Social Network Benchmark Interactive Workload - SIGMOD 2015
The LDBC Social Network Benchmark Interactive Workload - SIGMOD 2015
 
Erciyes university
Erciyes universityErciyes university
Erciyes university
 
Alex mang patterns for scalability in microsoft azure application
Alex mang   patterns for scalability in microsoft azure applicationAlex mang   patterns for scalability in microsoft azure application
Alex mang patterns for scalability in microsoft azure application
 
Linked Services for the Web of Data
Linked Services for the Web of DataLinked Services for the Web of Data
Linked Services for the Web of Data
 
Dublinked tech workshop_15_dec2011
Dublinked tech workshop_15_dec2011Dublinked tech workshop_15_dec2011
Dublinked tech workshop_15_dec2011
 
YARN - Past, Present, & Future
YARN - Past, Present, & FutureYARN - Past, Present, & Future
YARN - Past, Present, & Future
 
Software Design PatternsConsider a company migrating to a third-p.pdf
Software Design PatternsConsider a company migrating to a third-p.pdfSoftware Design PatternsConsider a company migrating to a third-p.pdf
Software Design PatternsConsider a company migrating to a third-p.pdf
 
L08 Data Source Layer
L08 Data Source LayerL08 Data Source Layer
L08 Data Source Layer
 
Oslc case study (poc results) v1.1
Oslc case study (poc results) v1.1Oslc case study (poc results) v1.1
Oslc case study (poc results) v1.1
 
Rich services to the Rescue
Rich services to the RescueRich services to the Rescue
Rich services to the Rescue
 
Productionizing Predictive Analytics using the Rendezvous Architecture - for ...
Productionizing Predictive Analytics using the Rendezvous Architecture - for ...Productionizing Predictive Analytics using the Rendezvous Architecture - for ...
Productionizing Predictive Analytics using the Rendezvous Architecture - for ...
 
REST - Why, When and How? at AMIS25
REST - Why, When and How? at AMIS25REST - Why, When and How? at AMIS25
REST - Why, When and How? at AMIS25
 
Enterprise data science at scale
Enterprise data science at scaleEnterprise data science at scale
Enterprise data science at scale
 
OUG Scotland 2014 - NoSQL and MySQL - The best of both worlds
OUG Scotland 2014 - NoSQL and MySQL - The best of both worldsOUG Scotland 2014 - NoSQL and MySQL - The best of both worlds
OUG Scotland 2014 - NoSQL and MySQL - The best of both worlds
 

Mais de Phil Wilkins

Mais de Phil Wilkins (20)

API Design – More than just a Payload Definition
API Design – More than just a Payload DefinitionAPI Design – More than just a Payload Definition
API Design – More than just a Payload Definition
 
Is 12 Factor App Right About Logging
Is 12 Factor App Right About LoggingIs 12 Factor App Right About Logging
Is 12 Factor App Right About Logging
 
APIs, STOP Polling, lets go Streaming
APIs, STOP Polling, lets go StreamingAPIs, STOP Polling, lets go Streaming
APIs, STOP Polling, lets go Streaming
 
Fluentd – Making Logging Easy & Effective in a Multi-cloud & Hybrid Environme...
Fluentd – Making Logging Easy & Effective in a Multi-cloud & Hybrid Environme...Fluentd – Making Logging Easy & Effective in a Multi-cloud & Hybrid Environme...
Fluentd – Making Logging Easy & Effective in a Multi-cloud & Hybrid Environme...
 
GitHub Actions - using Free Oracle Cloud Infrastructure (OCI)
GitHub Actions - using Free Oracle Cloud Infrastructure (OCI)GitHub Actions - using Free Oracle Cloud Infrastructure (OCI)
GitHub Actions - using Free Oracle Cloud Infrastructure (OCI)
 
Oracle OCI APIs and SDK
Oracle OCI APIs and SDKOracle OCI APIs and SDK
Oracle OCI APIs and SDK
 
Api more than payload (2021 Update)
Api more than payload (2021 Update)Api more than payload (2021 Update)
Api more than payload (2021 Update)
 
API more than payload
API more than payloadAPI more than payload
API more than payload
 
How fluentd fits into the modern software landscape
How fluentd fits into the modern software landscapeHow fluentd fits into the modern software landscape
How fluentd fits into the modern software landscape
 
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20
 
FluentD for end to end monitoring
FluentD for end to end monitoringFluentD for end to end monitoring
FluentD for end to end monitoring
 
Meetups - The Oracle Ace Way
Meetups - The Oracle Ace WayMeetups - The Oracle Ace Way
Meetups - The Oracle Ace Way
 
Apiary - A Developers Perspective
Apiary - A Developers PerspectiveApiary - A Developers Perspective
Apiary - A Developers Perspective
 
Secrets of Custom API Policies on the Oracle API Platform
Secrets of Custom API Policies on the Oracle API PlatformSecrets of Custom API Policies on the Oracle API Platform
Secrets of Custom API Policies on the Oracle API Platform
 
Terraform
TerraformTerraform
Terraform
 
Oracle London Developer Meetup November 2018
Oracle London Developer Meetup November 2018Oracle London Developer Meetup November 2018
Oracle London Developer Meetup November 2018
 
London Oracle Developer Meetup - June 18 - Drones with APIs
London Oracle Developer Meetup - June 18 - Drones with APIsLondon Oracle Developer Meetup - June 18 - Drones with APIs
London Oracle Developer Meetup - June 18 - Drones with APIs
 
London Oracle Developer Meetup April 18
London Oracle Developer Meetup April 18London Oracle Developer Meetup April 18
London Oracle Developer Meetup April 18
 
Oracle Developer Meetup March 2018
Oracle Developer Meetup March 2018Oracle Developer Meetup March 2018
Oracle Developer Meetup March 2018
 
OracleDeveloperMeetup - London 19-12-17
OracleDeveloperMeetup - London 19-12-17OracleDeveloperMeetup - London 19-12-17
OracleDeveloperMeetup - London 19-12-17
 

Último

Gabriel_Carter_EXPOLRATIONpp.pptx........
Gabriel_Carter_EXPOLRATIONpp.pptx........Gabriel_Carter_EXPOLRATIONpp.pptx........
Gabriel_Carter_EXPOLRATIONpp.pptx........
deejay178
 
Cara Gugurkan Kandungan Awal Kehamilan 1 bulan (087776558899)
Cara Gugurkan Kandungan Awal Kehamilan 1 bulan (087776558899)Cara Gugurkan Kandungan Awal Kehamilan 1 bulan (087776558899)
Cara Gugurkan Kandungan Awal Kehamilan 1 bulan (087776558899)
Cara Menggugurkan Kandungan 087776558899
 
Girls in Aiims Metro (delhi) call me [🔝9953056974🔝] escort service 24X7
Girls in Aiims Metro (delhi) call me [🔝9953056974🔝] escort service 24X7Girls in Aiims Metro (delhi) call me [🔝9953056974🔝] escort service 24X7
Girls in Aiims Metro (delhi) call me [🔝9953056974🔝] escort service 24X7
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Top profile Call Girls In Ratnagiri [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In Ratnagiri [ 7014168258 ] Call Me For Genuine Models...Top profile Call Girls In Ratnagiri [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In Ratnagiri [ 7014168258 ] Call Me For Genuine Models...
gajnagarg
 
Top profile Call Girls In chittoor [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In chittoor [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In chittoor [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In chittoor [ 7014168258 ] Call Me For Genuine Models ...
gajnagarg
 
Top profile Call Girls In Hubli [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Hubli [ 7014168258 ] Call Me For Genuine Models We ...Top profile Call Girls In Hubli [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Hubli [ 7014168258 ] Call Me For Genuine Models We ...
gajnagarg
 
<DUBAI>Abortion pills IN UAE {{+971561686603*^Mifepristone & Misoprostol in D...
<DUBAI>Abortion pills IN UAE {{+971561686603*^Mifepristone & Misoprostol in D...<DUBAI>Abortion pills IN UAE {{+971561686603*^Mifepristone & Misoprostol in D...
<DUBAI>Abortion pills IN UAE {{+971561686603*^Mifepristone & Misoprostol in D...
gynedubai
 

Último (20)

Joshua Minker Brand Exploration Sports Broadcaster .pptx
Joshua Minker Brand Exploration Sports Broadcaster .pptxJoshua Minker Brand Exploration Sports Broadcaster .pptx
Joshua Minker Brand Exploration Sports Broadcaster .pptx
 
B.tech civil major project by Deepak Kumar
B.tech civil major project by Deepak KumarB.tech civil major project by Deepak Kumar
B.tech civil major project by Deepak Kumar
 
Gabriel_Carter_EXPOLRATIONpp.pptx........
Gabriel_Carter_EXPOLRATIONpp.pptx........Gabriel_Carter_EXPOLRATIONpp.pptx........
Gabriel_Carter_EXPOLRATIONpp.pptx........
 
Cara Gugurkan Kandungan Awal Kehamilan 1 bulan (087776558899)
Cara Gugurkan Kandungan Awal Kehamilan 1 bulan (087776558899)Cara Gugurkan Kandungan Awal Kehamilan 1 bulan (087776558899)
Cara Gugurkan Kandungan Awal Kehamilan 1 bulan (087776558899)
 
Girls in Aiims Metro (delhi) call me [🔝9953056974🔝] escort service 24X7
Girls in Aiims Metro (delhi) call me [🔝9953056974🔝] escort service 24X7Girls in Aiims Metro (delhi) call me [🔝9953056974🔝] escort service 24X7
Girls in Aiims Metro (delhi) call me [🔝9953056974🔝] escort service 24X7
 
Personal Brand Exploration ppt.- Ronnie Jones
Personal Brand  Exploration ppt.- Ronnie JonesPersonal Brand  Exploration ppt.- Ronnie Jones
Personal Brand Exploration ppt.- Ronnie Jones
 
Guide to a Winning Interview May 2024 for MCWN
Guide to a Winning Interview May 2024 for MCWNGuide to a Winning Interview May 2024 for MCWN
Guide to a Winning Interview May 2024 for MCWN
 
Miletti Gabriela_Vision Plan for artist Jahzel.pdf
Miletti Gabriela_Vision Plan for artist Jahzel.pdfMiletti Gabriela_Vision Plan for artist Jahzel.pdf
Miletti Gabriela_Vision Plan for artist Jahzel.pdf
 
Top profile Call Girls In Ratnagiri [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In Ratnagiri [ 7014168258 ] Call Me For Genuine Models...Top profile Call Girls In Ratnagiri [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In Ratnagiri [ 7014168258 ] Call Me For Genuine Models...
 
Top profile Call Girls In chittoor [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In chittoor [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In chittoor [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In chittoor [ 7014168258 ] Call Me For Genuine Models ...
 
7737669865 Call Girls In Ahmedabad Escort Service Available 24×7 In In Ahmedabad
7737669865 Call Girls In Ahmedabad Escort Service Available 24×7 In In Ahmedabad7737669865 Call Girls In Ahmedabad Escort Service Available 24×7 In In Ahmedabad
7737669865 Call Girls In Ahmedabad Escort Service Available 24×7 In In Ahmedabad
 
drug book file on obs. and gynae clinical pstings
drug book file on obs. and gynae clinical pstingsdrug book file on obs. and gynae clinical pstings
drug book file on obs. and gynae clinical pstings
 
UIowa Application Instructions - 2024 Update
UIowa Application Instructions - 2024 UpdateUIowa Application Instructions - 2024 Update
UIowa Application Instructions - 2024 Update
 
Personal Brand Exploration - Fernando Negron
Personal Brand Exploration - Fernando NegronPersonal Brand Exploration - Fernando Negron
Personal Brand Exploration - Fernando Negron
 
Top profile Call Girls In Hubli [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Hubli [ 7014168258 ] Call Me For Genuine Models We ...Top profile Call Girls In Hubli [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Hubli [ 7014168258 ] Call Me For Genuine Models We ...
 
Specialize in a MSc within Biomanufacturing, and work part-time as Process En...
Specialize in a MSc within Biomanufacturing, and work part-time as Process En...Specialize in a MSc within Biomanufacturing, and work part-time as Process En...
Specialize in a MSc within Biomanufacturing, and work part-time as Process En...
 
DMER-AYUSH-MIMS-Staff-Nurse-_Selection-List-04-05-2024.pdf
DMER-AYUSH-MIMS-Staff-Nurse-_Selection-List-04-05-2024.pdfDMER-AYUSH-MIMS-Staff-Nurse-_Selection-List-04-05-2024.pdf
DMER-AYUSH-MIMS-Staff-Nurse-_Selection-List-04-05-2024.pdf
 
<DUBAI>Abortion pills IN UAE {{+971561686603*^Mifepristone & Misoprostol in D...
<DUBAI>Abortion pills IN UAE {{+971561686603*^Mifepristone & Misoprostol in D...<DUBAI>Abortion pills IN UAE {{+971561686603*^Mifepristone & Misoprostol in D...
<DUBAI>Abortion pills IN UAE {{+971561686603*^Mifepristone & Misoprostol in D...
 
B.tech Civil Engineering Major Project by Deepak Kumar ppt.pdf
B.tech Civil Engineering Major Project by Deepak Kumar ppt.pdfB.tech Civil Engineering Major Project by Deepak Kumar ppt.pdf
B.tech Civil Engineering Major Project by Deepak Kumar ppt.pdf
 
Low Cost Coimbatore Call Girls Service 👉📞 6378878445 👉📞 Just📲 Call Ruhi Call ...
Low Cost Coimbatore Call Girls Service 👉📞 6378878445 👉📞 Just📲 Call Ruhi Call ...Low Cost Coimbatore Call Girls Service 👉📞 6378878445 👉📞 Just📲 Call Ruhi Call ...
Low Cost Coimbatore Call Girls Service 👉📞 6378878445 👉📞 Just📲 Call Ruhi Call ...
 

Adopting a Canonical Data Model - how to apply to an existing environment with web services (SOA and REST)

  • 1. ‘How to implement a canonical data model in an existing SOA estate’ 19/05/2014 (slide 1) phil@mp3monster.org www.mp3monster.org ‘How to implement a canonical data model in an existing SOA estate’
  • 2. ‘How to implement a canonical data model in an existing SOA estate’ 19/05/2014 (slide 2) phil@mp3monster.org www.mp3monster.org Introduction • The following deck attempts to address the question: • ‘How to implement a canonical data model in an existing SOA estate’ • To address this we need to understand a number of things: – Assumptions on the current state of affairs – The value proposition of adopting a canonical model – no point in an adoption approach that doesn’t deliver value (with as tangible or intangible benefits) – The strategies best suited to delivering the goal – Appreciate the risks we may expose
  • 3. ‘How to implement a canonical data model in an existing SOA estate’ 19/05/2014 (slide 3) phil@mp3monster.org www.mp3monster.org Assumptions • By ‘SOA environment’ we assume to mean capability centric services primarily built with SOAP/WSDL/XSD and REST/JSON technologies • By ‘data model’ we presume to mean data definitions used in middleware rather than underlying application and data warehouse/marts • Assumption that the existing estate doesn’t have an interface versioning strategy applied across the board • Services are woven together to deliver larger capabilities by an ESB • The approach should be vendor agnostic
  • 4. ‘How to implement a canonical data model in an existing SOA estate’ 19/05/2014 (slide 4) phil@mp3monster.org www.mp3monster.org What do we mean by a Canonical Data Model • The following definition from Forrester 2010 (as part of a blog on a modelling conference1) A canonical information model is a model of the semantics and structure of information that adheres to a set of rules agreed upon within a defined context for communicating among a set of applications or parties. • The essence of the various definitions is: – Internally consistent description of data – Standard terminology and meaning – Commonly accepted by all providers & consumers involved in orchestrating interactions of any form – Definitions are largely technology agnostic (although typically not free of the under pinning representation i.e. XML/XSD of SQL). 1 http://blogs.forrester.com/mike_gilpin/10-03-15-field_first_annual_canonical_model_management_forum
  • 5. ‘How to implement a canonical data model in an existing SOA estate’ 19/05/2014 (slide 5) phil@mp3monster.org www.mp3monster.org Value of a Canonical Model • Semantic Consistency - which allows interactions to have a common meaning so no problems of your gadget is my widget – This means mapping data from an event pay load or for WS invocations is easy & less prone to mapping errors • Structural Consistency – so the definition of common data items is always the same – Eliminates risks of transformation errors – Potential to reduce transformations in an orchestrated sequence of operations – meaning greater throughput • Reduced Design Effort – choose appropriate definitions not create them – Picking data definitions from a set of models is easier & less error prone than designing from scratch • Increases chance of Information Rich integration – with a predefined data definition increases chances of providing information rich events as you’re just populating objects – Information rich events, raises chances of plug and play integration (event types match, data shared less likely to need changes to get more data)
  • 6. ‘How to implement a canonical data model in an existing SOA estate’ 19/05/2014 (slide 6) phil@mp3monster.org www.mp3monster.org Look at a hypothetical integration and how Canonical Model adoption can change it
  • 7. ‘How to implement a canonical data model in an existing SOA estate’ 19/05/2014 (slide 7) phil@mp3monster.org www.mp3monster.org Key Aggregate Split Transform Store Tx Endpoint Endpoint Pipe (+Filter) Content Route De/Normalize Enrich Canonical Data App Data Icons from Hhope & Woolfe EAIPatterns.com Organic Growth & Non Canonical Model • Organic Growth • No canonical model • Creating need for multiple transforms & related operations • Some operations may undo previous operation • Canonical  application models excluded here
  • 8. ‘How to implement a canonical data model in an existing SOA estate’ 19/05/2014 (slide 8) phil@mp3monster.org www.mp3monster.org Key Aggregate Split Transform Store Tx Endpoint Endpoint Pipe (+Filter) Content Route De/Normalize Enrich Canonical Data App Data Icons from Hhope & Woolfe EAIPatterns.com Same Systems with Canonical Model (systems not canonical conversant) • Greatly simplified as each system is fronted by a transform to/from local representation to canonical
  • 9. ‘How to implement a canonical data model in an existing SOA estate’ 19/05/2014 (slide 9) phil@mp3monster.org www.mp3monster.org Key Aggregate Split Transform Store Tx Endpoint Endpoint Pipe (+Filter) Content Route De/Normalize Enrich Canonical Data App Data Icons from Hhope & Woolfe EAIPatterns.com Same Systems with Canonical Model (some systems canonical conversant) • Number of transformations reduced • Middleware purely becomes a routing / pub-sub delivery
  • 10. ‘How to implement a canonical data model in an existing SOA estate’ 19/05/2014 (slide 10) phil@mp3monster.org www.mp3monster.org Select or Create own Canonical Model? • Industry standard models cover wider number of domains, but will not provide 100% fit all the time • Creating works … – In a closed, non SaaS/COTs environment create custom canonical model by deliver benefits • closer match to service implementation – performance gain • Alignment to business language – Create need to take into account lessons from designing enterprise application/DB data models • Select a standard model means – Leverage accumulated good practise lessons learnt/data needs for interoperability – Industry models likely to be 80/20 fit you will need own definitions for business specific concepts e.g. • in optical retail need to extend standard definition of Item with definition from Vision Council of America clinical elements of lens shape & cut – Model selection(s) need to be done with care – Make sure model(s) are sufficiently mature
  • 11. ‘How to implement a canonical data model in an existing SOA estate’ 19/05/2014 (slide 11) phil@mp3monster.org www.mp3monster.org Technical Strategies / Decisions Needed
  • 12. ‘How to implement a canonical data model in an existing SOA estate’ 19/05/2014 (slide 12) phil@mp3monster.org www.mp3monster.org Interface/Payload Versioning • Interfaces or the payload need to have a versioning strategy as they will change overtime, can be applied by – URI – works very well for REST – XSD schema versioning – common, but a problem for REST+JSON • Need to know how many versions to actively support – common to keep current + 1 – factors to account for rate of change & interface users ability to accommodate the rate of change • Determine approach handling – Common URL + ESB conditional logic – Separate URLs + ESB logic re-use
  • 13. ‘How to implement a canonical data model in an existing SOA estate’ 19/05/2014 (slide 13) phil@mp3monster.org www.mp3monster.org Versioning Existing Interfaces – Some Options • If existing interface/payload has no version – ESB can use absence as implicit version 0. – Requires routing conditional logic • If interface does exist, then – If versioning uses same strategy then recommend new interface URIs – If different can share URI and use ESB to determine version – Requires routing conditional logic • Simply create slightly different URI for replacement services – Increased volume of code, – endpoint user aware of change (less desirable) – conditioning is implicit
  • 14. ‘How to implement a canonical data model in an existing SOA estate’ 19/05/2014 (slide 14) phil@mp3monster.org www.mp3monster.org Transition States • There will always be a period of transitionary state when adopting major change such as canonical model – Therefore when passing on or starting a sequence of event(s) what do I assume about down stream capability? • This can be addressed by one of several strategies: – Late binding using UDDI or equivalent and discover service and version of interface available – great if overhead is not a problem – Assume latest version (predicated on ability to transform to previous version) & programme of work provides proxy to legacy interface which transforms down – Software controlled switching of output (not desirable as embeds knowledge of consumers into a service)
  • 15. ‘How to implement a canonical data model in an existing SOA estate’ 19/05/2014 (slide 15) phil@mp3monster.org www.mp3monster.org REST+JSON Question • Canonical models in support of the middleware are typical XSD based today - good for SOAP WSDL services but REST + JSON more challenging as no schema needed • However organisations starting to offer JSON models e.g. part of OASIS, OAGIS • Could use REST + XML (more like RPC than proper REST) • Could publish JSON mapped representation (tooling available) with description via JSON Schema (IETF draft) – Safest when offering special custom service – Still delivers benefit for internal services • Remember R (in REST) is for Resource and ideally you want resources to be consistent in definition
  • 16. ‘How to implement a canonical data model in an existing SOA estate’ 19/05/2014 (slide 16) phil@mp3monster.org www.mp3monster.org Challenges of Abstraction vs Endpoint Needs • Current interfaces maybe geared towards supporting specific platforms e.g. – Phone, thick client, IoT (Internet of Things i.e. agent devices such as smart meters) – E.g strip generic message to only necessary elements as device can only handle small payloads • Strategy for this is to add layer between core canonical & ESB an endpoint aware transformation – Means core routing / business aspects of ESB not impacted – so changing routing etc not impacted – Clients not needing adaptation can talk directly to canonical layer
  • 17. ‘How to implement a canonical data model in an existing SOA estate’ 19/05/2014 (slide 17) phil@mp3monster.org www.mp3monster.org Governance • Engaging with all these previous considerations will need to be factored into any Governance processes.. – Design Time • Assurance that the correct approaches identified are being adopted • Adoption is for the right reasons – Execution Time • Ability to ascertain the adoption, efficacy etc • We started out with the declaration that we’re working in a SOA context, which should mean – SOA Governance is in place and can support these Governance goals Open Group http://www.opengroup.org/soa/source-book/gov/sgvm_artifacts.jpg
  • 18. ‘How to implement a canonical data model in an existing SOA estate’ 19/05/2014 (slide 18) phil@mp3monster.org www.mp3monster.org Understanding Why & How To Adopt Canonical Model we can look at execution
  • 19. ‘How to implement a canonical data model in an existing SOA estate’ 19/05/2014 (slide 19) phil@mp3monster.org www.mp3monster.org Implementation Strategy • Define architectural strategies (i.e. engage with previous rational and challenges) • Need to ensure ground work is in place to enable correct development, could be delivered by – Reference implementation – Documentation set with policy & practise – Very detailed requirements (including test definitions) – Support through architect involved in pair programming – workshops
  • 20. ‘How to implement a canonical data model in an existing SOA estate’ 19/05/2014 (slide 20) phil@mp3monster.org www.mp3monster.org Implementation Strategy (1) • Start small & grow as … – Knowledge & understanding develops – Principles, ideas and approach are refined – Help manage risk & impact – Can make ensure initial work is ‘referencable’ • Assess & Measure – Helps build cost/benefit -- ROI insights (both hard and soft factors) – Informs planning & estimation downstream – Ensure implementation quality & sustainability
  • 21. ‘How to implement a canonical data model in an existing SOA estate’ 19/05/2014 (slide 21) phil@mp3monster.org www.mp3monster.org TOGAF View of realising Canonical Model Defined objective for how and why a Canonical Model be adopted (assuming other principles etc already set) Establish business direction of travel so we can identify suitable model(s), opportunities for a pilot Determine key business data structures Build the Tech Ref Model & Stds Information Base Look at opportunities for piloting canonical adoption As not greenfield transition strategy is needed Hands on support – key to identify lessons and approaches to accelerate & ease adoption Apply refinements to pilot. Depending upon scope plan next cycle Set direction of travel, scope for change
  • 22. ‘How to implement a canonical data model in an existing SOA estate’ 19/05/2014 (slide 22) phil@mp3monster.org www.mp3monster.org Activities from a Execution Sequence Perspective Identify Canonical model(s) & Strategies •Which model(s) to use •Approaches/impact to handling transition Develop Model Knowledge •Interpretation/Language •Versioning •Ensure guidance & supporting information is ready Determine non Critical integration programme •Scope cover various patterns of use and impact •Agree benchmarks to establish value •Develop detailed implementation plan Start Development •Ensure testing of existing interfaces are in place so can assure of no impact •Develop initial interfaces inc interface & e2e tests Regression Testing •Ensure that different message types & versions exercised •Check for changes in type within end to end execution •Deployment strategy included Performance & Other PreProd Tests •Canonical models can be heavier – therefore ensure performance is considered •Assess Value of approach Assuming Success… •Expand adoption •KT to wider team etc •Programme of full adoption Establish Monitoring •Need to determine when legacy interfaces stop being used •Retire interfaces at appropriate time Iterate development process
  • 23. ‘How to implement a canonical data model in an existing SOA estate’ 19/05/2014 (slide 23) phil@mp3monster.org www.mp3monster.org Reminder & Questions
  • 24. ‘How to implement a canonical data model in an existing SOA estate’ 19/05/2014 (slide 24) phil@mp3monster.org www.mp3monster.org Remember! • This has been done before – so make sure you’re considering best practise recommendations (particularly from preferred vendors)
  • 25. ‘How to implement a canonical data model in an existing SOA estate’ 19/05/2014 (slide 25) phil@mp3monster.org www.mp3monster.org Questions
  • 26. ‘How to implement a canonical data model in an existing SOA estate’ 19/05/2014 (slide 26) phil@mp3monster.org www.mp3monster.org Thankyou

Notas do Editor

  1. Notes: Approach: Need uptake enablement Tech considerations - fit within larger dev lifecycle
  2. On basis that this presentation has been requested – the minimal personal introduction If audience size small then questions as we go
  3. SOA can mean many things to many people – so lets declare the interpretation Differentiate data model from DB perspective and middleware Some assumptions made on premise that its an excuse to illustrate some useful points / thinking
  4. This quote comes from Forrester blog by Mike Gilpin on March 15 2010 : http://blogs.forrester.com/mike_gilpin/10-03-15-field_first_annual_canonical_model_management_forum Alternate definitions: http://www.theintegrationengineer.com/canonical-data/ http://www.information-management.com/issues/2007_50/10001733-1.html http://www.eai-ideas.com/architecture-ideas/soa-and-canonical-data-model-cdm http://soapatterns.org/design_patterns/canonical_schema http://www.soa-probe.com/2010/09/canonical-data-model.html#more http://blogs.msdn.com/b/nickmalik/archive/2007/06/12/canonical-model-canonical-schema-and-event-driven-soa.aspx http://xml.fido.gov/documents/completed/oagi/oagis.htm
  5. To understand what value a canonical data model can bring – necessary to determine what changes, therefore how to best go about adoption Erl P62 – Service Orientated Architecture – Concepts, Technology & Design – 3.4.5 - leverage XML capabilities to richly define the data, ground work for intrinisic interoperability Cost and effort of application design is reduced after proliferation of standardized XML data http://blog.digitalml.com/canonical-models-should-be-a-core-component-of-your-api-strategy/ http://blogs.forrester.com/mike_gilpin/12-05-29-canonical_information_models_play_important_role_in_api_layers_increasing_service_reuse
  6. Next couple of slides illustrate the potential value of adopting a canonical model
  7. Integrations added in a fairly unstructured patch things on The sort of thing that can happen as an evolution on from point to point connectivity Visualisation of the canonical data structures not shown
  8. All end points are abstracted by a transformation that converts the local data structures to/from a canonical representation (now shown here) As the diagram shows – the bulk of activity is transform in/out bound from end points and then just routing Eliminating transforms and counter transforms Risk of modifying routing/sequencing greatly reduced
  9. Many COTs products can handle canonical data models. Custom developed solutions can be developed to be conversant with the canonical data model eliminating transform Middleware move towards routing considerations E2e more efficient
  10. Source model from OAGI / OASIS / eTOM or develop own Developing own Model will be time consuming and challenging – need for extensibility strategy critical
  11. As we changing an existing estate need to handle changes to the interface
  12. Canonical model typically based on XSD but REST favours JSON payload Tools options to assist: http://javaoraclesoa.blogspot.co.uk/2012/12/a-reusable-solution-for-conversion.html http://www.balisage.net/Proceedings/vol7/html/Lee01/BalisageVol7-Lee01.html https://www.oasis-open.org/resources/topics/rest-json http://www.jsonschema.net/index.html
  13. Canonical Data Model management should be subject to some form of governance framework If you’re practising full SOA governance then will already be the case
  14. As we’ve focused on all the why and benefits which should result in all the architectural decisioning having been made (a pre-requisite) We can focus on the mechanics of converting architecture into a reality In terms of ground work some form of documentation is necessary to enable growth, enable informed decisioning by others in the future. Remember even Agile says: We value … Working software over comprehensive documentation (http://agilemanifesto.org/)
  15. As we’ve focused on all the why and benefits which should result in all the architectural decisioning having been made (a pre-requisite) We can focus on the mechanics of converting architecture into a reality In terms of ground work some form of documentation is necessary to enable growth, enable informed decisioning by others in the future. Remember even Agile says: We value … Working software over comprehensive documentation (http://agilemanifesto.org/)
  16. You’ll note that the proposed sequence doesn’t perfectly follow TOGAF A  E. BUT do cover all the bases. F H is followed more tightly TOGAF recognises it maybe need to be iterative
  17. Sources: http://www.ibm.com/developerworks/webservices/library/ws-SOAbestpractices/index.html?ca=dat http://www.imsglobal.org/soa/soawpv1p0/imsSOAWhitePaper_v1p0.pdf https://blogs.oracle.com/soacommunity/entry/start_small_grow_fast_your