SlideShare ist ein Scribd-Unternehmen logo
1 von 44
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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)
 

Andere mochten auch

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
 

Andere mochten auch (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Kürzlich hochgeladen

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 

Kürzlich hochgeladen (20)

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 

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