SlideShare una empresa de Scribd logo
1 de 44
Descargar para leer sin conexión
Data Modeling in theAPI Economy 
PRESENTATION TO DATA MODELING ZONE, OCTOBER 2014 
TED EPSTEIN, FOUNDER AND CEO 
MODELSOLV, INC. 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 1
All Eyes on APIs 
Paradigm shift with integration architecture, happening on two fronts: 
◦REST as a recommended architectural style for internal services 
◦Emergence of the API Economy 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 2
Internal REST 
Web-Style REST APIs are replacing SOAP for internal services. 
REST brings some useful design constructs for data-oriented APIs. 
REST is another wave of change in integration architecture 
◦New trends bring new projects, modernization programs 
◦A chance to improve on whatever we did before. 
◦In this case, a chance to improve on SOA 
We need you! 
◦Large scale integration needs data modelers! 
◦We need to make the case for that, and get our IT organizations on a better path. 
◦This talk will help get you started. 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 3
Emergence of the API Economy 
APIs have entered the mainstream of business and marketing awareness. 
Business can profit from APIs 
◦As products and services. 
◦As sales channels. 
◦As points of customer engagement. 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 4
Massive Integration on Web and Mobile 
Everything integrating with everything else 
◦Mashups 
◦Common Services 
◦Identity (Google, Facebook, Twitter, OpenID) 
◦Transactions (PayPal, Google Wallet, Amazon Payments) 
◦Location (Google Maps) 
◦Document Sharing (Dropbox, Google Drive, SkyDrive) 
◦Social (LinkedIn, Facebook, Twitter) 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 6
Integration Trends in Business and Government 
Cloud/SaaS 
Big Data 
Mobility 
Internet of Things 
Open Government 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 7
Mapping the Service Landscape 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 8
Internal and External Services 
Internal: We're somewhere on the REST adoption curve. 
◦REST is the new SOA 
◦No, it's an evolution of SOA 
◦No, it's different, for this reason or that reason 
◦Just don't call it SOA, because we don't like SOA 
◦Fine, but it's still the new SOA 
◦... and that's OK. Really. 
External: We're jumping on the API bandwagon. 
◦May be headed by marketing 
◦May be a separate technology team 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 9
Meeting in the Middle 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 10 
source: http://www.soatothecloud.com/ 
There is no hard line: 
◦We know that some private APIs will become public. 
◦We don’t know which ones, or when. 
◦We should be converging towards a common architecture for internal & external services.
What's govgot to do with it? 
Why do service APIs need “governance”? 
APIs are data conduits: 
◦Services account for a significant portion of data flow 
Major technology initiatives are integration-intensive: 
◦Mobile, Big Data, Cloud Computing /SaaS 
◦Regulatory compliance 
Integration is the #2 challenge in Mobile and SaaS: 
◦#1 is data security, #2 is integration 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 11 
sources: MuleSoftand SnapLogicsurveys
Why is integration such a headache? 
Our systems are not speaking the same language. 
Every time a new team builds a new API, the IT landscape gets more complex. 
Billions spent on remedial solutions to aggregate disparate data, but we have a leaky roof. 
◦Increasing complexity 
◦Poor data quality 
◦High integration cost 
◦Slow time to market 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 12
What are we doing to stop these leaks? 
This is why data modelers need to get involved. 
We need unified canonical data models in our APIs. 
We need data quality constraints. 
Governance and Collaboration: two complementary paths to convergence. 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 13
REST Standards - Exploring the Stack 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 14
A Simple Data Model 
structureTaxFilingid : stringyear : gYearnetTax: decimalcurrency : stringtaxpayer : referencetoPersonstructurePerson taxpayerID: stringlastName: stringfirstName: stringaddresses : referencetoAddress* structureAddress street1 : stringstreet2 : stringcity : stringstateOrProvince: stringpostalCode: string 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 15
REST: An Architectural Style 
Some Essential Modeling Constructs: 
◦Resources 
◦Identifiers 
◦Representations 
◦Media Types 
◦Methods 
◦Hyperlinks 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 16
Fielding Disclaimer 
Strict REST vs. REST in Practice 
◦URIs: opaque vs. transparent 
◦Out-of-Band Information: media types, link relations vs. documentation 
◦Processing Model: hypertext-driven vs. client-driven 
http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 17
Data Model as Resource Model 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 18 
CollectionResource 
Data Type 
ObjectResource
HTTP 
Some Essential HTTP Modeling Elements: 
◦URIs 
◦Methods 
◦Headers 
◦Status Codes 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 19
REST/HTTP Resource Model 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 20 
URI Template 
Method 
Request 
Response 
Status Code
Media Types 
About Media Types 
◦MediaType(Resource) --> Representation 
◦Appears in the content-type HTTP header 
◦Used for content negotiation 
◦Standard media types registered at: http://www.iana.org/assignments/media-types/media-types.xhtml 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 21
Low-Level Media Types 
Essentially Wire Formats 
◦Technology-specific 
◦Domain-neutral 
Examples: 
◦application/xml 
◦application/json 
many others 
◦text/html 
◦image/jpeg 
◦application/protobuf 
◦… 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 22
Generic Structured Media Types 
What are they? 
◦Data-oriented media types a level above basic wire formats 
◦Many of these basic formats are not hypermedia-aware 
◦Intended to express generic structured data, but with some additional abstractions: Hyperlinks, embedded representations, collections, items… 
◦Different media types will emphasize different things 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 23
HAL 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 24
Sidebar: Hyperlinks 
◦Hyperlinks make REST genuinely different. 
◦Hyperlinks are your friend. 
◦A better way to model relationships 
◦Tends to de-emphasize big, deeply nested messages 
◦Helps neutralize some of the perspective mismatch problem 
◦Hides identifiers in hyperlinks 
◦Isn't that expensive? 
◦Cache can go a long way 
◦When to embed vs. hyperlink: 
◦For network efficiency (even with caching) 
◦For client developer convenience, if the embedded data will most often be required 
◦For encapsulation (Think DDD Composites) 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 25
Hyperlinked Resource Model 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 26 
Hyperlink
Domain-Specific Metadata 
Options 
◦Domain-Specific Media Types (Sun Cloud, Atom) 
◦Schemas (XSD, JSON, etc.) 
◦Profiles 
◦Microformats 
◦Documentation 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 27
Diagram with Domain-Specific Data 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 28
Sidebar: Schemas and REST 
A cultural issue: uncomfortable relationship between REST and formal domain-specific data contracts. 
XML Schema was a sore spot for SOA. 
Domain-specific data contracts present a dilemma for strict REST: 
◦Out-of-band information is supposed to be concentrated in media types and link relations, 
◦... but we don't want an explosion of media types. 
REST is silent on the question of what to do with domain-specific data. 
REST is silent on whether your payload can or should include a schema. 
An opinionated perspective: 
◦There's always a schema, whether you document it or not. 
◦There are new options (JSON Schema, technology-independent schemas). 
◦Defining a data contract formally just makes sense, much of the time. 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 29
API Description Languages 
Options 
◦Swagger 
◦API Blueprint 
◦RAML 
What they have in common 
◦Allow modeling of resources, data, methods, links, etc. 
◦Public domain specifications, open-source web-based tooling. 
◦Generate interactive documentation / testing sandbox. 
◦Integration libraries and code generators. 
◦Highly recommended as learning tools, to help you explore how REST APIs are put together. 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 30
Beyond REST as a Wrapper 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 31
REST as a Silver Bullet 
The fantasy: 
◦Exactly one resource for everything 
◦The golden source is the only source 
◦Everything perfectly hyperlinked 
The Reality 
◦One size fits none 
◦Need to balance centralization and agility 
◦Different APIs for different functions 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 32
API as a Domain Model 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 33
API as a workflow model 
Affordances: 
◦Action-oriented hyperlinks 
◦Transaction-oriented resources 
◦Navigational links to related resources 
Workflow and affordances vary by service context. 
Variations often require different APIs for different clients. 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 34
API as a Client View 
It’s not necessarily just a domain model dump. 
It’s the domain as the client sees it: Respect the Client’s vocabulary 
Points of Divergence: 
◦Property subsets 
◦Flattening 
◦Renaming 
◦Change of perspective. 
◦Reification: example, refund 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 35
Canonical Models and Variations 
There’s acommon theme (canon) underneath these variations. 
See how far you can go with canonical models and realizations: 
◦Can we describe the theme and variations separately? 
◦Can we model the variations as adaptations, augmentations of the theme? 
◦If so, maybe we don’t needAPI-specific data types 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 36
Realization: Property Subset 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 37 
API requests or responses may only need a subset of properties defined in the canonical model. 
Realization model may specify a list of included properties.
Realization: Perspective 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 38 
Message and resource structures project different views from the same logical data model 
Canonical model should support bi-directional references. 
Realization model should allow embedded or linked representations.
Realization: 
Metadata 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 39 
Business Information Model 
Account ID 
Balance 
Margin 
Status 
Account 
Party ID 
Name 
Party 
1 
0..n 
Data Aspects 
· Deltas 
· Data Source 
· Data Security 
· Explicit Null Values 
... 
Message Structure 
<party dataSource=“MSDB”> 
<partyId>123</partyId> 
<partyName xsi:nil=“true” nullValue=“Not Available” /> 
<accounts> 
<account dataSource=“A2” transType=“insert”> 
<accountId>XYZ</accountId> 
<balance xsi:nil=“true” isRestricted=“true” /> 
… 
</account> 
… 
</accounts> 
</party> 
APIs may need to augment 
essential data with descriptive 
metadata. 
Data aspects are cross-cutting 
concerns that may be woven 
together with canonical data 
as part of the interface 
realization.
Realization: Contextual Constraints 
<=$10MM 
Asset Class = Bond 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 40 
Trade 
Services may have specific constraints that are not intrinsic to the data definitions. 
Realization model may specify constraints on requests or responses. Constraints may take different forms: range, subtype, logical expression, etc.
Conclusion: Get involved! 
We need your modeling skills. 
Done right, new API initiatives can have huge positive impact. 
Done poorly, they can actually make things worse. 
◦Net Negative Contributing API(NNCAPI) 
◦… or Convergence-Resistant API ;-) 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 41
Resources 
REST: 
◦Basic REST in action: http://www.youtube.com/watch?v=7YcW25PHnAA 
◦HTTP and REST: http://code.tutsplus.com/tutorials/a-beginners-guide-to-http-and-rest--net-16340 
◦REST API Design Principles: http://www.infoq.com/articles/rest-introduction 
◦REST Idioms and Patterns: http://www.narwhl.com/ 
API Blogs 
◦http://apievangelist.com 
◦http://programmableweb.com 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 42
Resources (continued) 
Canonical Models: 
◦http://www.slideshare.net/TedEpstein/canonical-modeling-for-api-interop 
◦http://www.digitalml.com/resources/Service_Design_Forum 
API Description Languages 
◦http://swagger.io/ 
◦http://apiblueprint.org/ 
◦http://raml.org/ 
◦http://modelsolv.com/reprezen 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 43
Questions 
THANK YOU! 
ted.Epstein@modelsolv.com 
COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 44

Más contenido relacionado

La actualidad más candente

Database Tools - ER Studio Facts and Features
Database Tools - ER Studio Facts and FeaturesDatabase Tools - ER Studio Facts and Features
Database Tools - ER Studio Facts and FeaturesMichael Findling
 
Modular Enterprise Systems - An Introduction
Modular Enterprise Systems - An IntroductionModular Enterprise Systems - An Introduction
Modular Enterprise Systems - An IntroductionAndreas Weidinger
 
Enterprise application integration
Enterprise application integrationEnterprise application integration
Enterprise application integrationGoa App
 
Define enterprise integration strategy by industry leader bhawani nandanprasad
Define enterprise integration strategy by industry leader bhawani nandanprasadDefine enterprise integration strategy by industry leader bhawani nandanprasad
Define enterprise integration strategy by industry leader bhawani nandanprasadBhawani N Prasad
 
Introduction to Integration Technologies
Introduction to Integration TechnologiesIntroduction to Integration Technologies
Introduction to Integration TechnologiesBizTalk360
 
Getting started with Enterprise Application Integration (EAI) using Enterpris...
Getting started with Enterprise Application Integration (EAI) using Enterpris...Getting started with Enterprise Application Integration (EAI) using Enterpris...
Getting started with Enterprise Application Integration (EAI) using Enterpris...Tamim Khan
 
Citytech Application Modernization Using JBoss Seam
Citytech Application Modernization Using JBoss SeamCitytech Application Modernization Using JBoss Seam
Citytech Application Modernization Using JBoss SeamCITYTECH, Inc.
 
Sap integration with_j_boss_technologies
Sap integration with_j_boss_technologiesSap integration with_j_boss_technologies
Sap integration with_j_boss_technologiesSerge Pagop
 
Ask the Experts - An Informal Panel for FDMEE
Ask the Experts - An Informal Panel for FDMEEAsk the Experts - An Informal Panel for FDMEE
Ask the Experts - An Informal Panel for FDMEEJoseph Alaimo Jr
 
SOA Integration Blueprint with Oracle SOA Suite
SOA Integration Blueprint with Oracle SOA SuiteSOA Integration Blueprint with Oracle SOA Suite
SOA Integration Blueprint with Oracle SOA SuiteMatthias Furrer
 
Fusion Middleware Oracle Data Integrator
Fusion Middleware Oracle Data IntegratorFusion Middleware Oracle Data Integrator
Fusion Middleware Oracle Data IntegratorMark Rabne
 
Need Of Enterprise Integration
Need Of Enterprise IntegrationNeed Of Enterprise Integration
Need Of Enterprise Integrationkumar gaurav
 
Informix SQL & NoSQL: Putting it all together
Informix SQL & NoSQL: Putting it all togetherInformix SQL & NoSQL: Putting it all together
Informix SQL & NoSQL: Putting it all togetherKeshav Murthy
 
A Presentation On Enterprise Application Integration
A Presentation On Enterprise Application IntegrationA Presentation On Enterprise Application Integration
A Presentation On Enterprise Application IntegrationUmesh Upadhyaya
 
Keynote - The Benefits of an Open Service Oriented Architecture in the Enterpr...
Keynote - The Benefits of an Open Service Oriented Architecture in the Enterpr...Keynote - The Benefits of an Open Service Oriented Architecture in the Enterpr...
Keynote - The Benefits of an Open Service Oriented Architecture in the Enterpr...mfrancis
 
Challenges to Integration Strategy - Thompson
Challenges to Integration Strategy - ThompsonChallenges to Integration Strategy - Thompson
Challenges to Integration Strategy - ThompsonProlifics
 
Employing Enterprise Application Integration (EAI)
Employing Enterprise Application Integration (EAI)Employing Enterprise Application Integration (EAI)
Employing Enterprise Application Integration (EAI)elliando dias
 

La actualidad más candente (19)

Introduction to integration
Introduction to integrationIntroduction to integration
Introduction to integration
 
Database Tools - ER Studio Facts and Features
Database Tools - ER Studio Facts and FeaturesDatabase Tools - ER Studio Facts and Features
Database Tools - ER Studio Facts and Features
 
Modular Enterprise Systems - An Introduction
Modular Enterprise Systems - An IntroductionModular Enterprise Systems - An Introduction
Modular Enterprise Systems - An Introduction
 
Enterprise application integration
Enterprise application integrationEnterprise application integration
Enterprise application integration
 
Define enterprise integration strategy by industry leader bhawani nandanprasad
Define enterprise integration strategy by industry leader bhawani nandanprasadDefine enterprise integration strategy by industry leader bhawani nandanprasad
Define enterprise integration strategy by industry leader bhawani nandanprasad
 
Introduction to Integration Technologies
Introduction to Integration TechnologiesIntroduction to Integration Technologies
Introduction to Integration Technologies
 
Getting started with Enterprise Application Integration (EAI) using Enterpris...
Getting started with Enterprise Application Integration (EAI) using Enterpris...Getting started with Enterprise Application Integration (EAI) using Enterpris...
Getting started with Enterprise Application Integration (EAI) using Enterpris...
 
Oracle Cloud
Oracle CloudOracle Cloud
Oracle Cloud
 
Citytech Application Modernization Using JBoss Seam
Citytech Application Modernization Using JBoss SeamCitytech Application Modernization Using JBoss Seam
Citytech Application Modernization Using JBoss Seam
 
Sap integration with_j_boss_technologies
Sap integration with_j_boss_technologiesSap integration with_j_boss_technologies
Sap integration with_j_boss_technologies
 
Ask the Experts - An Informal Panel for FDMEE
Ask the Experts - An Informal Panel for FDMEEAsk the Experts - An Informal Panel for FDMEE
Ask the Experts - An Informal Panel for FDMEE
 
SOA Integration Blueprint with Oracle SOA Suite
SOA Integration Blueprint with Oracle SOA SuiteSOA Integration Blueprint with Oracle SOA Suite
SOA Integration Blueprint with Oracle SOA Suite
 
Fusion Middleware Oracle Data Integrator
Fusion Middleware Oracle Data IntegratorFusion Middleware Oracle Data Integrator
Fusion Middleware Oracle Data Integrator
 
Need Of Enterprise Integration
Need Of Enterprise IntegrationNeed Of Enterprise Integration
Need Of Enterprise Integration
 
Informix SQL & NoSQL: Putting it all together
Informix SQL & NoSQL: Putting it all togetherInformix SQL & NoSQL: Putting it all together
Informix SQL & NoSQL: Putting it all together
 
A Presentation On Enterprise Application Integration
A Presentation On Enterprise Application IntegrationA Presentation On Enterprise Application Integration
A Presentation On Enterprise Application Integration
 
Keynote - The Benefits of an Open Service Oriented Architecture in the Enterpr...
Keynote - The Benefits of an Open Service Oriented Architecture in the Enterpr...Keynote - The Benefits of an Open Service Oriented Architecture in the Enterpr...
Keynote - The Benefits of an Open Service Oriented Architecture in the Enterpr...
 
Challenges to Integration Strategy - Thompson
Challenges to Integration Strategy - ThompsonChallenges to Integration Strategy - Thompson
Challenges to Integration Strategy - Thompson
 
Employing Enterprise Application Integration (EAI)
Employing Enterprise Application Integration (EAI)Employing Enterprise Application Integration (EAI)
Employing Enterprise Application Integration (EAI)
 

Destacado

Fidor Bank introduction
Fidor Bank introductionFidor Bank introduction
Fidor Bank introductionChris Skinner
 
The Fidor Bank Story, Frank Schwab, Fidor TecS AG
The Fidor Bank Story, Frank Schwab, Fidor TecS AGThe Fidor Bank Story, Frank Schwab, Fidor TecS AG
The Fidor Bank Story, Frank Schwab, Fidor TecS AGFrank Schwab
 
You don’t need DTAP + Backbase implementation - Amsterdam 17-12-2015
You don’t need DTAP + Backbase implementation - Amsterdam 17-12-2015You don’t need DTAP + Backbase implementation - Amsterdam 17-12-2015
You don’t need DTAP + Backbase implementation - Amsterdam 17-12-2015Pavel Chunyayev
 
Building your business with distributors
Building your business with distributorsBuilding your business with distributors
Building your business with distributorsTradeInsight
 
backbase-cxp-datasheet
backbase-cxp-datasheetbackbase-cxp-datasheet
backbase-cxp-datasheetMykola Bova
 
Digital Banking Trends in 2014
Digital Banking Trends in 2014Digital Banking Trends in 2014
Digital Banking Trends in 2014Backbase
 
APIdays Open Banking & Fintech: Workshop - Financial Services Use Cases for APIs
APIdays Open Banking & Fintech: Workshop - Financial Services Use Cases for APIsAPIdays Open Banking & Fintech: Workshop - Financial Services Use Cases for APIs
APIdays Open Banking & Fintech: Workshop - Financial Services Use Cases for APIsJeremy Brown
 
Digital Bank, May 2014
Digital Bank, May 2014Digital Bank, May 2014
Digital Bank, May 2014Chris Skinner
 

Destacado (8)

Fidor Bank introduction
Fidor Bank introductionFidor Bank introduction
Fidor Bank introduction
 
The Fidor Bank Story, Frank Schwab, Fidor TecS AG
The Fidor Bank Story, Frank Schwab, Fidor TecS AGThe Fidor Bank Story, Frank Schwab, Fidor TecS AG
The Fidor Bank Story, Frank Schwab, Fidor TecS AG
 
You don’t need DTAP + Backbase implementation - Amsterdam 17-12-2015
You don’t need DTAP + Backbase implementation - Amsterdam 17-12-2015You don’t need DTAP + Backbase implementation - Amsterdam 17-12-2015
You don’t need DTAP + Backbase implementation - Amsterdam 17-12-2015
 
Building your business with distributors
Building your business with distributorsBuilding your business with distributors
Building your business with distributors
 
backbase-cxp-datasheet
backbase-cxp-datasheetbackbase-cxp-datasheet
backbase-cxp-datasheet
 
Digital Banking Trends in 2014
Digital Banking Trends in 2014Digital Banking Trends in 2014
Digital Banking Trends in 2014
 
APIdays Open Banking & Fintech: Workshop - Financial Services Use Cases for APIs
APIdays Open Banking & Fintech: Workshop - Financial Services Use Cases for APIsAPIdays Open Banking & Fintech: Workshop - Financial Services Use Cases for APIs
APIdays Open Banking & Fintech: Workshop - Financial Services Use Cases for APIs
 
Digital Bank, May 2014
Digital Bank, May 2014Digital Bank, May 2014
Digital Bank, May 2014
 

Similar a Data Modeling in the API Economy

Ahead conference keynote deck, The Journey to Enterprise PaaS with Cloud Foun...
Ahead conference keynote deck, The Journey to Enterprise PaaS with Cloud Foun...Ahead conference keynote deck, The Journey to Enterprise PaaS with Cloud Foun...
Ahead conference keynote deck, The Journey to Enterprise PaaS with Cloud Foun...James Watters
 
Apachecon 2014 Keynote: The Apache Way in the Cloud with Cloud Foundry
Apachecon 2014 Keynote: The Apache Way in the Cloud with Cloud Foundry Apachecon 2014 Keynote: The Apache Way in the Cloud with Cloud Foundry
Apachecon 2014 Keynote: The Apache Way in the Cloud with Cloud Foundry James Watters
 
Data-Centric Infrastructure for Agile Development
Data-Centric Infrastructure for Agile DevelopmentData-Centric Infrastructure for Agile Development
Data-Centric Infrastructure for Agile DevelopmentDATAVERSITY
 
OpenAPI v.Next - Events, Alternative Schemas & the Road Ahead
OpenAPI v.Next - Events, Alternative Schemas & the Road AheadOpenAPI v.Next - Events, Alternative Schemas & the Road Ahead
OpenAPI v.Next - Events, Alternative Schemas & the Road AheadTed Epstein
 
The New Possible: How Platform-as-a-Service Changes the Game
 The New Possible: How Platform-as-a-Service Changes the Game The New Possible: How Platform-as-a-Service Changes the Game
The New Possible: How Platform-as-a-Service Changes the GameInside Analysis
 
Oracle SOA Cloud - Skanska Customer Journey
Oracle SOA Cloud - Skanska Customer JourneyOracle SOA Cloud - Skanska Customer Journey
Oracle SOA Cloud - Skanska Customer JourneySimon Haslam
 
Open Architecture in the Adobe Marketing Cloud - Summit 2014
Open Architecture in the Adobe Marketing Cloud - Summit 2014Open Architecture in the Adobe Marketing Cloud - Summit 2014
Open Architecture in the Adobe Marketing Cloud - Summit 2014Paolo Mottadelli
 
Ro r capability
Ro r capabilityRo r capability
Ro r capability7NODES
 
The New Database Frontier: Harnessing the Cloud
The New Database Frontier: Harnessing the CloudThe New Database Frontier: Harnessing the Cloud
The New Database Frontier: Harnessing the CloudInside Analysis
 
API Integration: Red Hat integration perspective
API Integration: Red Hat integration perspectiveAPI Integration: Red Hat integration perspective
API Integration: Red Hat integration perspectiveJudy Breedlove
 
Postgres Takes Charge Around the World
Postgres Takes Charge Around the WorldPostgres Takes Charge Around the World
Postgres Takes Charge Around the WorldEDB
 
The Cloud Foundry Story
The Cloud Foundry StoryThe Cloud Foundry Story
The Cloud Foundry StoryVMware Tanzu
 
Data Center Migration to the AWS Cloud
Data Center Migration to the AWS CloudData Center Migration to the AWS Cloud
Data Center Migration to the AWS CloudTom Laszewski
 
Dynamic APIs: SOA Done Right
Dynamic APIs: SOA Done RightDynamic APIs: SOA Done Right
Dynamic APIs: SOA Done RightInside Analysis
 
Hewlett Packard Enterprise View on Going Big with API Management - Applicatio...
Hewlett Packard Enterprise View on Going Big with API Management - Applicatio...Hewlett Packard Enterprise View on Going Big with API Management - Applicatio...
Hewlett Packard Enterprise View on Going Big with API Management - Applicatio...CA Technologies
 
MySQL day Dublin - OCI & Application Development
MySQL day Dublin - OCI & Application DevelopmentMySQL day Dublin - OCI & Application Development
MySQL day Dublin - OCI & Application DevelopmentHenry J. Kröger
 
Cloud Foundry - Platform as a Service for vSphere
Cloud Foundry - Platform as a Service for vSphereCloud Foundry - Platform as a Service for vSphere
Cloud Foundry - Platform as a Service for vSphereAndy Piper
 
AWS Partner Webcast - Data Center Migration to the AWS Cloud
AWS Partner Webcast - Data Center Migration to the AWS CloudAWS Partner Webcast - Data Center Migration to the AWS Cloud
AWS Partner Webcast - Data Center Migration to the AWS CloudAmazon Web Services
 
Digital Reinvention by NRB
Digital Reinvention by NRBDigital Reinvention by NRB
Digital Reinvention by NRBWilliam Poos
 
The Apache Way In The Cloud: Open PaaS Platforms Powered by Apache Software
The Apache Way In The Cloud: Open PaaS Platforms Powered by Apache SoftwareThe Apache Way In The Cloud: Open PaaS Platforms Powered by Apache Software
The Apache Way In The Cloud: Open PaaS Platforms Powered by Apache SoftwareVMware Tanzu
 

Similar a Data Modeling in the API Economy (20)

Ahead conference keynote deck, The Journey to Enterprise PaaS with Cloud Foun...
Ahead conference keynote deck, The Journey to Enterprise PaaS with Cloud Foun...Ahead conference keynote deck, The Journey to Enterprise PaaS with Cloud Foun...
Ahead conference keynote deck, The Journey to Enterprise PaaS with Cloud Foun...
 
Apachecon 2014 Keynote: The Apache Way in the Cloud with Cloud Foundry
Apachecon 2014 Keynote: The Apache Way in the Cloud with Cloud Foundry Apachecon 2014 Keynote: The Apache Way in the Cloud with Cloud Foundry
Apachecon 2014 Keynote: The Apache Way in the Cloud with Cloud Foundry
 
Data-Centric Infrastructure for Agile Development
Data-Centric Infrastructure for Agile DevelopmentData-Centric Infrastructure for Agile Development
Data-Centric Infrastructure for Agile Development
 
OpenAPI v.Next - Events, Alternative Schemas & the Road Ahead
OpenAPI v.Next - Events, Alternative Schemas & the Road AheadOpenAPI v.Next - Events, Alternative Schemas & the Road Ahead
OpenAPI v.Next - Events, Alternative Schemas & the Road Ahead
 
The New Possible: How Platform-as-a-Service Changes the Game
 The New Possible: How Platform-as-a-Service Changes the Game The New Possible: How Platform-as-a-Service Changes the Game
The New Possible: How Platform-as-a-Service Changes the Game
 
Oracle SOA Cloud - Skanska Customer Journey
Oracle SOA Cloud - Skanska Customer JourneyOracle SOA Cloud - Skanska Customer Journey
Oracle SOA Cloud - Skanska Customer Journey
 
Open Architecture in the Adobe Marketing Cloud - Summit 2014
Open Architecture in the Adobe Marketing Cloud - Summit 2014Open Architecture in the Adobe Marketing Cloud - Summit 2014
Open Architecture in the Adobe Marketing Cloud - Summit 2014
 
Ro r capability
Ro r capabilityRo r capability
Ro r capability
 
The New Database Frontier: Harnessing the Cloud
The New Database Frontier: Harnessing the CloudThe New Database Frontier: Harnessing the Cloud
The New Database Frontier: Harnessing the Cloud
 
API Integration: Red Hat integration perspective
API Integration: Red Hat integration perspectiveAPI Integration: Red Hat integration perspective
API Integration: Red Hat integration perspective
 
Postgres Takes Charge Around the World
Postgres Takes Charge Around the WorldPostgres Takes Charge Around the World
Postgres Takes Charge Around the World
 
The Cloud Foundry Story
The Cloud Foundry StoryThe Cloud Foundry Story
The Cloud Foundry Story
 
Data Center Migration to the AWS Cloud
Data Center Migration to the AWS CloudData Center Migration to the AWS Cloud
Data Center Migration to the AWS Cloud
 
Dynamic APIs: SOA Done Right
Dynamic APIs: SOA Done RightDynamic APIs: SOA Done Right
Dynamic APIs: SOA Done Right
 
Hewlett Packard Enterprise View on Going Big with API Management - Applicatio...
Hewlett Packard Enterprise View on Going Big with API Management - Applicatio...Hewlett Packard Enterprise View on Going Big with API Management - Applicatio...
Hewlett Packard Enterprise View on Going Big with API Management - Applicatio...
 
MySQL day Dublin - OCI & Application Development
MySQL day Dublin - OCI & Application DevelopmentMySQL day Dublin - OCI & Application Development
MySQL day Dublin - OCI & Application Development
 
Cloud Foundry - Platform as a Service for vSphere
Cloud Foundry - Platform as a Service for vSphereCloud Foundry - Platform as a Service for vSphere
Cloud Foundry - Platform as a Service for vSphere
 
AWS Partner Webcast - Data Center Migration to the AWS Cloud
AWS Partner Webcast - Data Center Migration to the AWS CloudAWS Partner Webcast - Data Center Migration to the AWS Cloud
AWS Partner Webcast - Data Center Migration to the AWS Cloud
 
Digital Reinvention by NRB
Digital Reinvention by NRBDigital Reinvention by NRB
Digital Reinvention by NRB
 
The Apache Way In The Cloud: Open PaaS Platforms Powered by Apache Software
The Apache Way In The Cloud: Open PaaS Platforms Powered by Apache SoftwareThe Apache Way In The Cloud: Open PaaS Platforms Powered by Apache Software
The Apache Way In The Cloud: Open PaaS Platforms Powered by Apache Software
 

Último

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 

Último (20)

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 

Data Modeling in the API Economy

  • 1. Data Modeling in theAPI Economy PRESENTATION TO DATA MODELING ZONE, OCTOBER 2014 TED EPSTEIN, FOUNDER AND CEO MODELSOLV, INC. COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 1
  • 2. All Eyes on APIs Paradigm shift with integration architecture, happening on two fronts: ◦REST as a recommended architectural style for internal services ◦Emergence of the API Economy COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 2
  • 3. Internal REST Web-Style REST APIs are replacing SOAP for internal services. REST brings some useful design constructs for data-oriented APIs. REST is another wave of change in integration architecture ◦New trends bring new projects, modernization programs ◦A chance to improve on whatever we did before. ◦In this case, a chance to improve on SOA We need you! ◦Large scale integration needs data modelers! ◦We need to make the case for that, and get our IT organizations on a better path. ◦This talk will help get you started. COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 3
  • 4. Emergence of the API Economy APIs have entered the mainstream of business and marketing awareness. Business can profit from APIs ◦As products and services. ◦As sales channels. ◦As points of customer engagement. COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 4
  • 5.
  • 6. Massive Integration on Web and Mobile Everything integrating with everything else ◦Mashups ◦Common Services ◦Identity (Google, Facebook, Twitter, OpenID) ◦Transactions (PayPal, Google Wallet, Amazon Payments) ◦Location (Google Maps) ◦Document Sharing (Dropbox, Google Drive, SkyDrive) ◦Social (LinkedIn, Facebook, Twitter) COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 6
  • 7. Integration Trends in Business and Government Cloud/SaaS Big Data Mobility Internet of Things Open Government COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 7
  • 8. Mapping the Service Landscape COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 8
  • 9. Internal and External Services Internal: We're somewhere on the REST adoption curve. ◦REST is the new SOA ◦No, it's an evolution of SOA ◦No, it's different, for this reason or that reason ◦Just don't call it SOA, because we don't like SOA ◦Fine, but it's still the new SOA ◦... and that's OK. Really. External: We're jumping on the API bandwagon. ◦May be headed by marketing ◦May be a separate technology team COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 9
  • 10. Meeting in the Middle COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 10 source: http://www.soatothecloud.com/ There is no hard line: ◦We know that some private APIs will become public. ◦We don’t know which ones, or when. ◦We should be converging towards a common architecture for internal & external services.
  • 11. What's govgot to do with it? Why do service APIs need “governance”? APIs are data conduits: ◦Services account for a significant portion of data flow Major technology initiatives are integration-intensive: ◦Mobile, Big Data, Cloud Computing /SaaS ◦Regulatory compliance Integration is the #2 challenge in Mobile and SaaS: ◦#1 is data security, #2 is integration COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 11 sources: MuleSoftand SnapLogicsurveys
  • 12. Why is integration such a headache? Our systems are not speaking the same language. Every time a new team builds a new API, the IT landscape gets more complex. Billions spent on remedial solutions to aggregate disparate data, but we have a leaky roof. ◦Increasing complexity ◦Poor data quality ◦High integration cost ◦Slow time to market COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 12
  • 13. What are we doing to stop these leaks? This is why data modelers need to get involved. We need unified canonical data models in our APIs. We need data quality constraints. Governance and Collaboration: two complementary paths to convergence. COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 13
  • 14. REST Standards - Exploring the Stack COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 14
  • 15. A Simple Data Model structureTaxFilingid : stringyear : gYearnetTax: decimalcurrency : stringtaxpayer : referencetoPersonstructurePerson taxpayerID: stringlastName: stringfirstName: stringaddresses : referencetoAddress* structureAddress street1 : stringstreet2 : stringcity : stringstateOrProvince: stringpostalCode: string COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 15
  • 16. REST: An Architectural Style Some Essential Modeling Constructs: ◦Resources ◦Identifiers ◦Representations ◦Media Types ◦Methods ◦Hyperlinks COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 16
  • 17. Fielding Disclaimer Strict REST vs. REST in Practice ◦URIs: opaque vs. transparent ◦Out-of-Band Information: media types, link relations vs. documentation ◦Processing Model: hypertext-driven vs. client-driven http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 17
  • 18. Data Model as Resource Model COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 18 CollectionResource Data Type ObjectResource
  • 19. HTTP Some Essential HTTP Modeling Elements: ◦URIs ◦Methods ◦Headers ◦Status Codes COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 19
  • 20. REST/HTTP Resource Model COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 20 URI Template Method Request Response Status Code
  • 21. Media Types About Media Types ◦MediaType(Resource) --> Representation ◦Appears in the content-type HTTP header ◦Used for content negotiation ◦Standard media types registered at: http://www.iana.org/assignments/media-types/media-types.xhtml COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 21
  • 22. Low-Level Media Types Essentially Wire Formats ◦Technology-specific ◦Domain-neutral Examples: ◦application/xml ◦application/json many others ◦text/html ◦image/jpeg ◦application/protobuf ◦… COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 22
  • 23. Generic Structured Media Types What are they? ◦Data-oriented media types a level above basic wire formats ◦Many of these basic formats are not hypermedia-aware ◦Intended to express generic structured data, but with some additional abstractions: Hyperlinks, embedded representations, collections, items… ◦Different media types will emphasize different things COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 23
  • 24. HAL COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 24
  • 25. Sidebar: Hyperlinks ◦Hyperlinks make REST genuinely different. ◦Hyperlinks are your friend. ◦A better way to model relationships ◦Tends to de-emphasize big, deeply nested messages ◦Helps neutralize some of the perspective mismatch problem ◦Hides identifiers in hyperlinks ◦Isn't that expensive? ◦Cache can go a long way ◦When to embed vs. hyperlink: ◦For network efficiency (even with caching) ◦For client developer convenience, if the embedded data will most often be required ◦For encapsulation (Think DDD Composites) COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 25
  • 26. Hyperlinked Resource Model COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 26 Hyperlink
  • 27. Domain-Specific Metadata Options ◦Domain-Specific Media Types (Sun Cloud, Atom) ◦Schemas (XSD, JSON, etc.) ◦Profiles ◦Microformats ◦Documentation COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 27
  • 28. Diagram with Domain-Specific Data COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 28
  • 29. Sidebar: Schemas and REST A cultural issue: uncomfortable relationship between REST and formal domain-specific data contracts. XML Schema was a sore spot for SOA. Domain-specific data contracts present a dilemma for strict REST: ◦Out-of-band information is supposed to be concentrated in media types and link relations, ◦... but we don't want an explosion of media types. REST is silent on the question of what to do with domain-specific data. REST is silent on whether your payload can or should include a schema. An opinionated perspective: ◦There's always a schema, whether you document it or not. ◦There are new options (JSON Schema, technology-independent schemas). ◦Defining a data contract formally just makes sense, much of the time. COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 29
  • 30. API Description Languages Options ◦Swagger ◦API Blueprint ◦RAML What they have in common ◦Allow modeling of resources, data, methods, links, etc. ◦Public domain specifications, open-source web-based tooling. ◦Generate interactive documentation / testing sandbox. ◦Integration libraries and code generators. ◦Highly recommended as learning tools, to help you explore how REST APIs are put together. COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 30
  • 31. Beyond REST as a Wrapper COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 31
  • 32. REST as a Silver Bullet The fantasy: ◦Exactly one resource for everything ◦The golden source is the only source ◦Everything perfectly hyperlinked The Reality ◦One size fits none ◦Need to balance centralization and agility ◦Different APIs for different functions COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 32
  • 33. API as a Domain Model COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 33
  • 34. API as a workflow model Affordances: ◦Action-oriented hyperlinks ◦Transaction-oriented resources ◦Navigational links to related resources Workflow and affordances vary by service context. Variations often require different APIs for different clients. COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 34
  • 35. API as a Client View It’s not necessarily just a domain model dump. It’s the domain as the client sees it: Respect the Client’s vocabulary Points of Divergence: ◦Property subsets ◦Flattening ◦Renaming ◦Change of perspective. ◦Reification: example, refund COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 35
  • 36. Canonical Models and Variations There’s acommon theme (canon) underneath these variations. See how far you can go with canonical models and realizations: ◦Can we describe the theme and variations separately? ◦Can we model the variations as adaptations, augmentations of the theme? ◦If so, maybe we don’t needAPI-specific data types COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 36
  • 37. Realization: Property Subset COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 37 API requests or responses may only need a subset of properties defined in the canonical model. Realization model may specify a list of included properties.
  • 38. Realization: Perspective COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 38 Message and resource structures project different views from the same logical data model Canonical model should support bi-directional references. Realization model should allow embedded or linked representations.
  • 39. Realization: Metadata COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 39 Business Information Model Account ID Balance Margin Status Account Party ID Name Party 1 0..n Data Aspects · Deltas · Data Source · Data Security · Explicit Null Values ... Message Structure <party dataSource=“MSDB”> <partyId>123</partyId> <partyName xsi:nil=“true” nullValue=“Not Available” /> <accounts> <account dataSource=“A2” transType=“insert”> <accountId>XYZ</accountId> <balance xsi:nil=“true” isRestricted=“true” /> … </account> … </accounts> </party> APIs may need to augment essential data with descriptive metadata. Data aspects are cross-cutting concerns that may be woven together with canonical data as part of the interface realization.
  • 40. Realization: Contextual Constraints <=$10MM Asset Class = Bond COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 40 Trade Services may have specific constraints that are not intrinsic to the data definitions. Realization model may specify constraints on requests or responses. Constraints may take different forms: range, subtype, logical expression, etc.
  • 41. Conclusion: Get involved! We need your modeling skills. Done right, new API initiatives can have huge positive impact. Done poorly, they can actually make things worse. ◦Net Negative Contributing API(NNCAPI) ◦… or Convergence-Resistant API ;-) COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 41
  • 42. Resources REST: ◦Basic REST in action: http://www.youtube.com/watch?v=7YcW25PHnAA ◦HTTP and REST: http://code.tutsplus.com/tutorials/a-beginners-guide-to-http-and-rest--net-16340 ◦REST API Design Principles: http://www.infoq.com/articles/rest-introduction ◦REST Idioms and Patterns: http://www.narwhl.com/ API Blogs ◦http://apievangelist.com ◦http://programmableweb.com COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 42
  • 43. Resources (continued) Canonical Models: ◦http://www.slideshare.net/TedEpstein/canonical-modeling-for-api-interop ◦http://www.digitalml.com/resources/Service_Design_Forum API Description Languages ◦http://swagger.io/ ◦http://apiblueprint.org/ ◦http://raml.org/ ◦http://modelsolv.com/reprezen COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 43
  • 44. Questions THANK YOU! ted.Epstein@modelsolv.com COPYRIGHT © 2014, MODELSOLV, INC. | ALL RIGHTS RESERVED. 44