Model Your Application Domain, Not Your JSON Structures

Model Your Application Domain,
NotYour JSON Structures
Markus Lanthaler
Graz University ofTechnology
Model Your Application Domain, Not Your JSON Structures
RPC
Model Your Application Domain, Not Your JSON Structures
Model Your Application Domain, Not Your JSON Structures
Model Your Application Domain, Not Your JSON Structures
Model Your Application Domain, Not Your JSON Structures
REST APIs must be hypertext-driven
Model Your Application Domain, Not Your JSON Structures
Got a headache yet?
Model Your Application Domain, Not Your JSON Structures
Model Your Application Domain, Not Your JSON Structures
“Usually when [...] building an application
the only thing that lasts forever is the data,
at least if you’re lucky.” – R.T. Fielding
Model Your Application Domain, Not Your JSON Structures
Model Your Application Domain, Not Your JSON Structures
Model Your Application Domain, Not Your JSON Structures
Model Your Application Domain, Not Your JSON Structures
Model Your Application Domain, Not Your JSON Structures
Model Your Application Domain, Not Your JSON Structures
© 2013, Markus Lanthaler. Some Rights Reserved.
http://creativecommons.org/licenses/by-nc-sa/3.0/
Thank You
Questions?
Markus Lanthaler
http://www.markus-lanthaler.com
@MarkusLanthaler
mail@markus-lanthaler.com
Image Credits
(1) http://wallpapers.net/black_cubes_abstract-wallpapers.html
(2) http://www.flickr.com/photos/mdid/2698688454/
(3) Adapted from http://www.flickr.com/photos/nesster/3168425434/
(7) http://info.cern.ch/hypertext/WWW/TheProject.html
(8) http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven
(10) http://www.flickr.com/photos/evaekeblad/7177803118/
(13) http://www.flickr.com/photos/swisscan/532687354/
1 of 22

Recommended

Building Next-Generation Web APIs with JSON-LD and Hydra by
Building Next-Generation Web APIs with JSON-LD and HydraBuilding Next-Generation Web APIs with JSON-LD and Hydra
Building Next-Generation Web APIs with JSON-LD and HydraMarkus Lanthaler
42K views56 slides
Hydra: A Vocabulary for Hypermedia-Driven Web APIs by
Hydra: A Vocabulary for Hypermedia-Driven Web APIsHydra: A Vocabulary for Hypermedia-Driven Web APIs
Hydra: A Vocabulary for Hypermedia-Driven Web APIsMarkus Lanthaler
27.5K views17 slides
JSON-LD: JSON for the Social Web by
JSON-LD: JSON for the Social WebJSON-LD: JSON for the Social Web
JSON-LD: JSON for the Social WebGregg Kellogg
23K views11 slides
JSON-LD for RESTful services by
JSON-LD for RESTful servicesJSON-LD for RESTful services
JSON-LD for RESTful servicesMarkus Lanthaler
20.8K views19 slides
JSON-LD: JSON for Linked Data by
JSON-LD: JSON for Linked DataJSON-LD: JSON for Linked Data
JSON-LD: JSON for Linked DataGregg Kellogg
73.4K views50 slides
HTTP and Your Angry Dog by
HTTP and Your Angry DogHTTP and Your Angry Dog
HTTP and Your Angry DogRoss Tuck
10.3K views200 slides

More Related Content

What's hot

PHP POWERPOINT SLIDES by
PHP POWERPOINT SLIDESPHP POWERPOINT SLIDES
PHP POWERPOINT SLIDESIsmail Mukiibi
3.9K views19 slides
FIWARE Training: JSON-LD and NGSI-LD by
FIWARE Training: JSON-LD and NGSI-LDFIWARE Training: JSON-LD and NGSI-LD
FIWARE Training: JSON-LD and NGSI-LDFIWARE
96 views19 slides
Introduction to Elasticsearch by
Introduction to ElasticsearchIntroduction to Elasticsearch
Introduction to ElasticsearchRuslan Zavacky
7.6K views75 slides
Mongo DB Presentation by
Mongo DB PresentationMongo DB Presentation
Mongo DB PresentationJaya Naresh Kovela
1.2K views27 slides
Elasticsearch Tutorial | Getting Started with Elasticsearch | ELK Stack Train... by
Elasticsearch Tutorial | Getting Started with Elasticsearch | ELK Stack Train...Elasticsearch Tutorial | Getting Started with Elasticsearch | ELK Stack Train...
Elasticsearch Tutorial | Getting Started with Elasticsearch | ELK Stack Train...Edureka!
1.6K views61 slides
Building Data Pipelines for Solr with Apache NiFi by
Building Data Pipelines for Solr with Apache NiFiBuilding Data Pipelines for Solr with Apache NiFi
Building Data Pipelines for Solr with Apache NiFiBryan Bende
11.3K views35 slides

What's hot(20)

FIWARE Training: JSON-LD and NGSI-LD by FIWARE
FIWARE Training: JSON-LD and NGSI-LDFIWARE Training: JSON-LD and NGSI-LD
FIWARE Training: JSON-LD and NGSI-LD
FIWARE96 views
Introduction to Elasticsearch by Ruslan Zavacky
Introduction to ElasticsearchIntroduction to Elasticsearch
Introduction to Elasticsearch
Ruslan Zavacky7.6K views
Elasticsearch Tutorial | Getting Started with Elasticsearch | ELK Stack Train... by Edureka!
Elasticsearch Tutorial | Getting Started with Elasticsearch | ELK Stack Train...Elasticsearch Tutorial | Getting Started with Elasticsearch | ELK Stack Train...
Elasticsearch Tutorial | Getting Started with Elasticsearch | ELK Stack Train...
Edureka!1.6K views
Building Data Pipelines for Solr with Apache NiFi by Bryan Bende
Building Data Pipelines for Solr with Apache NiFiBuilding Data Pipelines for Solr with Apache NiFi
Building Data Pipelines for Solr with Apache NiFi
Bryan Bende11.3K views
ElasticSearch Basic Introduction by Mayur Rathod
ElasticSearch Basic IntroductionElasticSearch Basic Introduction
ElasticSearch Basic Introduction
Mayur Rathod25.6K views
Full-on Hypermedia APIs with Hydra by Markus Lanthaler
Full-on Hypermedia APIs with HydraFull-on Hypermedia APIs with Hydra
Full-on Hypermedia APIs with Hydra
Markus Lanthaler14.2K views
ELK, a real case study by Paolo Tonin
ELK,  a real case studyELK,  a real case study
ELK, a real case study
Paolo Tonin1.1K views
REST-API introduction for developers by Patrick Savalle
REST-API introduction for developersREST-API introduction for developers
REST-API introduction for developers
Patrick Savalle5.5K views
Customer Intelligence: Using the ELK Stack to Analyze ForgeRock OpenAM Audit ... by ForgeRock
Customer Intelligence: Using the ELK Stack to Analyze ForgeRock OpenAM Audit ...Customer Intelligence: Using the ELK Stack to Analyze ForgeRock OpenAM Audit ...
Customer Intelligence: Using the ELK Stack to Analyze ForgeRock OpenAM Audit ...
ForgeRock7.9K views
FIWARE Training: JSON-LD and NGSI-LD by FIWARE
FIWARE Training: JSON-LD and NGSI-LDFIWARE Training: JSON-LD and NGSI-LD
FIWARE Training: JSON-LD and NGSI-LD
FIWARE609 views
quick intro to elastic search by medcl
quick intro to elastic search quick intro to elastic search
quick intro to elastic search
medcl16.9K views
FIWARE Training: NGSI-LD Advanced Operations by FIWARE
FIWARE Training: NGSI-LD Advanced OperationsFIWARE Training: NGSI-LD Advanced Operations
FIWARE Training: NGSI-LD Advanced Operations
FIWARE339 views
Creating a Context-Aware solution, Complex Event Processing with FIWARE Perseo by Fernando Lopez Aguilar
Creating a Context-Aware solution, Complex Event Processing with FIWARE PerseoCreating a Context-Aware solution, Complex Event Processing with FIWARE Perseo
Creating a Context-Aware solution, Complex Event Processing with FIWARE Perseo

Similar to Model Your Application Domain, Not Your JSON Structures

Tiny Batches, in the wine: Shiny New Bits in Spark Streaming by
Tiny Batches, in the wine: Shiny New Bits in Spark StreamingTiny Batches, in the wine: Shiny New Bits in Spark Streaming
Tiny Batches, in the wine: Shiny New Bits in Spark StreamingPaco Nathan
7.6K views76 slides
OpenStack NSA by
OpenStack NSAOpenStack NSA
OpenStack NSAOpenStack Foundation
2.3K views43 slides
How Apache Spark fits into the Big Data landscape by
How Apache Spark fits into the Big Data landscapeHow Apache Spark fits into the Big Data landscape
How Apache Spark fits into the Big Data landscapePaco Nathan
7.6K views81 slides
QCon São Paulo: Real-Time Analytics with Spark Streaming by
QCon São Paulo: Real-Time Analytics with Spark StreamingQCon São Paulo: Real-Time Analytics with Spark Streaming
QCon São Paulo: Real-Time Analytics with Spark StreamingPaco Nathan
19.7K views70 slides
Architecture Patterns for Semantic Web Applications by
Architecture Patterns for Semantic Web ApplicationsArchitecture Patterns for Semantic Web Applications
Architecture Patterns for Semantic Web Applicationsbpanulla
1.1K views61 slides
Hotel network scenario implementation by using cisco packet tracer by
Hotel network scenario implementation by using cisco packet tracerHotel network scenario implementation by using cisco packet tracer
Hotel network scenario implementation by using cisco packet tracerHome
4.1K views19 slides

Similar to Model Your Application Domain, Not Your JSON Structures(20)

Tiny Batches, in the wine: Shiny New Bits in Spark Streaming by Paco Nathan
Tiny Batches, in the wine: Shiny New Bits in Spark StreamingTiny Batches, in the wine: Shiny New Bits in Spark Streaming
Tiny Batches, in the wine: Shiny New Bits in Spark Streaming
Paco Nathan7.6K views
How Apache Spark fits into the Big Data landscape by Paco Nathan
How Apache Spark fits into the Big Data landscapeHow Apache Spark fits into the Big Data landscape
How Apache Spark fits into the Big Data landscape
Paco Nathan7.6K views
QCon São Paulo: Real-Time Analytics with Spark Streaming by Paco Nathan
QCon São Paulo: Real-Time Analytics with Spark StreamingQCon São Paulo: Real-Time Analytics with Spark Streaming
QCon São Paulo: Real-Time Analytics with Spark Streaming
Paco Nathan19.7K views
Architecture Patterns for Semantic Web Applications by bpanulla
Architecture Patterns for Semantic Web ApplicationsArchitecture Patterns for Semantic Web Applications
Architecture Patterns for Semantic Web Applications
bpanulla1.1K views
Hotel network scenario implementation by using cisco packet tracer by Home
Hotel network scenario implementation by using cisco packet tracerHotel network scenario implementation by using cisco packet tracer
Hotel network scenario implementation by using cisco packet tracer
Home4.1K views
Big Data to SMART Data : Process Scenario by CHAKER ALLAOUI
Big Data to SMART Data : Process ScenarioBig Data to SMART Data : Process Scenario
Big Data to SMART Data : Process Scenario
CHAKER ALLAOUI2.1K views
Big Data Everywhere Chicago: Apache Spark Plus Many Other Frameworks -- How S... by BigDataEverywhere
Big Data Everywhere Chicago: Apache Spark Plus Many Other Frameworks -- How S...Big Data Everywhere Chicago: Apache Spark Plus Many Other Frameworks -- How S...
Big Data Everywhere Chicago: Apache Spark Plus Many Other Frameworks -- How S...
BigDataEverywhere896 views
IESL Talk Series: Apache System Projects in the Real World by Srinath Perera
IESL Talk Series: Apache System Projects in the Real WorldIESL Talk Series: Apache System Projects in the Real World
IESL Talk Series: Apache System Projects in the Real World
Srinath Perera578 views
Overview of Apache Fink: The 4G of Big Data Analytics Frameworks by Slim Baltagi
Overview of Apache Fink: The 4G of Big Data Analytics FrameworksOverview of Apache Fink: The 4G of Big Data Analytics Frameworks
Overview of Apache Fink: The 4G of Big Data Analytics Frameworks
Slim Baltagi2K views
Overview of Apache Fink: the 4 G of Big Data Analytics Frameworks by Slim Baltagi
Overview of Apache Fink: the 4 G of Big Data Analytics FrameworksOverview of Apache Fink: the 4 G of Big Data Analytics Frameworks
Overview of Apache Fink: the 4 G of Big Data Analytics Frameworks
Slim Baltagi4.1K views
A Decentralized Reference Architecture for Cloud-native Applications by Asanka Abeysinghe
A Decentralized Reference Architecture for Cloud-native ApplicationsA Decentralized Reference Architecture for Cloud-native Applications
A Decentralized Reference Architecture for Cloud-native Applications
Asanka Abeysinghe152 views
Microsoft Dryad by Colin Clark
Microsoft DryadMicrosoft Dryad
Microsoft Dryad
Colin Clark1.2K views
Portals demystified @ jax.de - May 4th 2011 by theute
Portals demystified @ jax.de - May 4th 2011Portals demystified @ jax.de - May 4th 2011
Portals demystified @ jax.de - May 4th 2011
theute288 views
Databricks Meetup @ Los Angeles Apache Spark User Group by Paco Nathan
Databricks Meetup @ Los Angeles Apache Spark User GroupDatabricks Meetup @ Los Angeles Apache Spark User Group
Databricks Meetup @ Los Angeles Apache Spark User Group
Paco Nathan2.5K views
Gluing the IoT world with Java and LoRaWAN by Pance Cavkovski
Gluing the IoT world with Java and LoRaWANGluing the IoT world with Java and LoRaWAN
Gluing the IoT world with Java and LoRaWAN
Pance Cavkovski948 views
A RAPID DEPLOYMENT BIG DATA COMPUTING PLATFORM FOR CLOUD ROBOTICS by IJCNCJournal
A RAPID DEPLOYMENT BIG DATA COMPUTING PLATFORM FOR CLOUD ROBOTICSA RAPID DEPLOYMENT BIG DATA COMPUTING PLATFORM FOR CLOUD ROBOTICS
A RAPID DEPLOYMENT BIG DATA COMPUTING PLATFORM FOR CLOUD ROBOTICS
IJCNCJournal323 views

More from Markus Lanthaler

From Strings to Things to a Web of Services by
From Strings to Things to a Web of ServicesFrom Strings to Things to a Web of Services
From Strings to Things to a Web of ServicesMarkus Lanthaler
3.5K views59 slides
The Web Is Changing — From Strings to Things by
The Web Is Changing — From Strings to ThingsThe Web Is Changing — From Strings to Things
The Web Is Changing — From Strings to ThingsMarkus Lanthaler
12.3K views26 slides
Why and How to Optimize Your Data Architecture for an Integrated Future by
Why and How to Optimize Your Data Architecture for an Integrated FutureWhy and How to Optimize Your Data Architecture for an Integrated Future
Why and How to Optimize Your Data Architecture for an Integrated FutureMarkus Lanthaler
13.7K views41 slides
Creating Awesome Web APIs is a Breeze by
Creating Awesome Web APIs is a BreezeCreating Awesome Web APIs is a Breeze
Creating Awesome Web APIs is a BreezeMarkus Lanthaler
16.4K views58 slides
A Deep Dive into JSON-LD and Hydra by
A Deep Dive into JSON-LD and HydraA Deep Dive into JSON-LD and Hydra
A Deep Dive into JSON-LD and HydraMarkus Lanthaler
9.8K views43 slides
Stop Reinventing the Wheel! Use Linked Data to Build Better APIs by
Stop Reinventing the Wheel! Use Linked Data to Build Better APIsStop Reinventing the Wheel! Use Linked Data to Build Better APIs
Stop Reinventing the Wheel! Use Linked Data to Build Better APIsMarkus Lanthaler
11.1K views40 slides

More from Markus Lanthaler(14)

From Strings to Things to a Web of Services by Markus Lanthaler
From Strings to Things to a Web of ServicesFrom Strings to Things to a Web of Services
From Strings to Things to a Web of Services
Markus Lanthaler3.5K views
The Web Is Changing — From Strings to Things by Markus Lanthaler
The Web Is Changing — From Strings to ThingsThe Web Is Changing — From Strings to Things
The Web Is Changing — From Strings to Things
Markus Lanthaler12.3K views
Why and How to Optimize Your Data Architecture for an Integrated Future by Markus Lanthaler
Why and How to Optimize Your Data Architecture for an Integrated FutureWhy and How to Optimize Your Data Architecture for an Integrated Future
Why and How to Optimize Your Data Architecture for an Integrated Future
Markus Lanthaler13.7K views
Creating Awesome Web APIs is a Breeze by Markus Lanthaler
Creating Awesome Web APIs is a BreezeCreating Awesome Web APIs is a Breeze
Creating Awesome Web APIs is a Breeze
Markus Lanthaler16.4K views
A Deep Dive into JSON-LD and Hydra by Markus Lanthaler
A Deep Dive into JSON-LD and HydraA Deep Dive into JSON-LD and Hydra
A Deep Dive into JSON-LD and Hydra
Markus Lanthaler9.8K views
Stop Reinventing the Wheel! Use Linked Data to Build Better APIs by Markus Lanthaler
Stop Reinventing the Wheel! Use Linked Data to Build Better APIsStop Reinventing the Wheel! Use Linked Data to Build Better APIs
Stop Reinventing the Wheel! Use Linked Data to Build Better APIs
Markus Lanthaler11.1K views
The Web 3.0 is just around the corner. Be prepared! by Markus Lanthaler
The Web 3.0 is just around the corner. Be prepared!The Web 3.0 is just around the corner. Be prepared!
The Web 3.0 is just around the corner. Be prepared!
Markus Lanthaler12.7K views
Creating 3rd Generation Web APIs with Hydra by Markus Lanthaler
Creating 3rd Generation Web APIs with HydraCreating 3rd Generation Web APIs with Hydra
Creating 3rd Generation Web APIs with Hydra
Markus Lanthaler12.8K views
A Web of Things to Reduce Energy Wastage by Markus Lanthaler
A Web of Things to Reduce Energy WastageA Web of Things to Reduce Energy Wastage
A Web of Things to Reduce Energy Wastage
Markus Lanthaler2.9K views
Aligning Web Services with the Semantic Web to Create a Global Read-Write Gra... by Markus Lanthaler
Aligning Web Services with the Semantic Web to Create a Global Read-Write Gra...Aligning Web Services with the Semantic Web to Create a Global Read-Write Gra...
Aligning Web Services with the Semantic Web to Create a Global Read-Write Gra...
Markus Lanthaler3.9K views
SAPS - Semantic AtomPub-based Services by Markus Lanthaler
SAPS - Semantic AtomPub-based ServicesSAPS - Semantic AtomPub-based Services
SAPS - Semantic AtomPub-based Services
Markus Lanthaler2.9K views
A Semantic Description Language for RESTful Data Services to Combat Semaphobia by Markus Lanthaler
A Semantic Description Language for RESTful Data Services to Combat SemaphobiaA Semantic Description Language for RESTful Data Services to Combat Semaphobia
A Semantic Description Language for RESTful Data Services to Combat Semaphobia
Markus Lanthaler3.8K views
Semantic Web Services: State of the Art by Markus Lanthaler
Semantic Web Services: State of the ArtSemantic Web Services: State of the Art
Semantic Web Services: State of the Art
Markus Lanthaler2.8K views
Towards a RESTful Service Ecosystem by Markus Lanthaler
Towards a RESTful Service EcosystemTowards a RESTful Service Ecosystem
Towards a RESTful Service Ecosystem
Markus Lanthaler2.2K views

Recently uploaded

Web Dev - 1 PPT.pdf by
Web Dev - 1 PPT.pdfWeb Dev - 1 PPT.pdf
Web Dev - 1 PPT.pdfgdsczhcet
60 views45 slides
handbook for web 3 adoption.pdf by
handbook for web 3 adoption.pdfhandbook for web 3 adoption.pdf
handbook for web 3 adoption.pdfLiveplex
22 views16 slides
Spesifikasi Lengkap ASUS Vivobook Go 14 by
Spesifikasi Lengkap ASUS Vivobook Go 14Spesifikasi Lengkap ASUS Vivobook Go 14
Spesifikasi Lengkap ASUS Vivobook Go 14Dot Semarang
37 views1 slide
Tunable Laser (1).pptx by
Tunable Laser (1).pptxTunable Laser (1).pptx
Tunable Laser (1).pptxHajira Mahmood
24 views37 slides
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors by
TouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective SensorsTouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective Sensors
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensorssugiuralab
19 views15 slides

Recently uploaded(20)

Web Dev - 1 PPT.pdf by gdsczhcet
Web Dev - 1 PPT.pdfWeb Dev - 1 PPT.pdf
Web Dev - 1 PPT.pdf
gdsczhcet60 views
handbook for web 3 adoption.pdf by Liveplex
handbook for web 3 adoption.pdfhandbook for web 3 adoption.pdf
handbook for web 3 adoption.pdf
Liveplex22 views
Spesifikasi Lengkap ASUS Vivobook Go 14 by Dot Semarang
Spesifikasi Lengkap ASUS Vivobook Go 14Spesifikasi Lengkap ASUS Vivobook Go 14
Spesifikasi Lengkap ASUS Vivobook Go 14
Dot Semarang37 views
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors by sugiuralab
TouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective SensorsTouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective Sensors
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors
sugiuralab19 views
Data-centric AI and the convergence of data and model engineering: opportunit... by Paolo Missier
Data-centric AI and the convergence of data and model engineering:opportunit...Data-centric AI and the convergence of data and model engineering:opportunit...
Data-centric AI and the convergence of data and model engineering: opportunit...
Paolo Missier39 views
Igniting Next Level Productivity with AI-Infused Data Integration Workflows by Safe Software
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Safe Software257 views
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... by James Anderson
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
James Anderson66 views
Attacking IoT Devices from a Web Perspective - Linux Day by Simone Onofri
Attacking IoT Devices from a Web Perspective - Linux Day Attacking IoT Devices from a Web Perspective - Linux Day
Attacking IoT Devices from a Web Perspective - Linux Day
Simone Onofri15 views
From chaos to control: Managing migrations and Microsoft 365 with ShareGate! by sammart93
From chaos to control: Managing migrations and Microsoft 365 with ShareGate!From chaos to control: Managing migrations and Microsoft 365 with ShareGate!
From chaos to control: Managing migrations and Microsoft 365 with ShareGate!
sammart939 views
6g - REPORT.pdf by Liveplex
6g - REPORT.pdf6g - REPORT.pdf
6g - REPORT.pdf
Liveplex10 views
Five Things You SHOULD Know About Postman by Postman
Five Things You SHOULD Know About PostmanFive Things You SHOULD Know About Postman
Five Things You SHOULD Know About Postman
Postman30 views
HTTP headers that make your website go faster - devs.gent November 2023 by Thijs Feryn
HTTP headers that make your website go faster - devs.gent November 2023HTTP headers that make your website go faster - devs.gent November 2023
HTTP headers that make your website go faster - devs.gent November 2023
Thijs Feryn21 views
DALI Basics Course 2023 by Ivory Egg
DALI Basics Course  2023DALI Basics Course  2023
DALI Basics Course 2023
Ivory Egg16 views

Model Your Application Domain, Not Your JSON Structures