SlideShare a Scribd company logo
1 of 25
REST Fundamentals
Ready to think web scale?
Daniel Marbach
planetgeek.ch / dotnet-zentral.ch
@danielmarbach
www.bbv.ch
Documentation
information
www.bbv.ch
I can’t!
www.bbv.ch
It changed everything
www.bbv.ch
Success Story?
www.bbv.ch
Resource
www.bbv.ch
Identifier
UniformResourceIdentifier
www.bbv.ch
Metadata
UniformResourceIdentifier
eTag
Caching
…
www.bbv.ch
Metadata
UniformResourceIdentifier
eTag
Caching
…
www.bbv.ch
Representations
UniformResourceIdentifier
eTag
Caching
…
www.bbv.ch
Verbs & Codes
UniformResourceIdentifier
eTag
Caching
…
HEAD
TRACE
CONNECT
200
404
201
www.bbv.ch
RESTaurant Demo
www.bbv.ch
Key Concept
www.bbv.ch
Constraints =REST
www.bbv.ch
=RESTful
I obey…
I obey all constraints
I obey all constraints
I obey…
www.bbv.ch
Hypermedia
www.bbv.ch
Three
Two
One
Zero
Maturity Model
www.bbv.ch
Hypermedia
HTTP Verbs
Resources
Plain old XML
Level Zero
www.bbv.ch
Hypermedia
HTTP Verbs
Resources
Plain old XML
Level One
www.bbv.ch
Hypermedia
HTTP Verbs
Resources
Plain old XML
Level Two
www.bbv.ch
Hypermedia
HTTP Verbs
Resources
Plain old XML
Level Three
www.bbv.ch
What level is this?
www.bbv.ch
Backlog Demo
www.bbv.ch
There is more!
www.bbv.ch
REST Fundamentals
Enjoy the REST of the forum;)
Daniel Marbach
planetgeek.ch / dotnet-zentral.ch
@danielmarbach

More Related Content

Viewers also liked

Repsol_Ypf_Web_applications
Repsol_Ypf_Web_applicationsRepsol_Ypf_Web_applications
Repsol_Ypf_Web_applications
corticlan
 
7th pre alg -l52--feb26
7th pre alg -l52--feb267th pre alg -l52--feb26
7th pre alg -l52--feb26
jdurst65
 
Carter's Catalogo
Carter's CatalogoCarter's Catalogo
Carter's Catalogo
S Str
 
Estado nutricional de los niños y niñas entre las edades de 7 12 años de la “...
Estado nutricional de los niños y niñas entre las edades de 7 12 años de la “...Estado nutricional de los niños y niñas entre las edades de 7 12 años de la “...
Estado nutricional de los niños y niñas entre las edades de 7 12 años de la “...
Jennifer Katherine Cañarte Mero
 

Viewers also liked (12)

Repsol_Ypf_Web_applications
Repsol_Ypf_Web_applicationsRepsol_Ypf_Web_applications
Repsol_Ypf_Web_applications
 
Resumen de capitulos (1)
Resumen de capitulos (1)Resumen de capitulos (1)
Resumen de capitulos (1)
 
7th pre alg -l52--feb26
7th pre alg -l52--feb267th pre alg -l52--feb26
7th pre alg -l52--feb26
 
Carter's Catalogo
Carter's CatalogoCarter's Catalogo
Carter's Catalogo
 
reserves
reservesreserves
reserves
 
陳國益 3D 列印技術簡介 Kuo-Yi Chen, 3D print technology
陳國益 3D 列印技術簡介 Kuo-Yi Chen, 3D print technology陳國益 3D 列印技術簡介 Kuo-Yi Chen, 3D print technology
陳國益 3D 列印技術簡介 Kuo-Yi Chen, 3D print technology
 
Rapport de stage
Rapport de stageRapport de stage
Rapport de stage
 
Libro Hacia nuestra historia
Libro Hacia nuestra historiaLibro Hacia nuestra historia
Libro Hacia nuestra historia
 
Translation Technology Showcase in Shenzhen
Translation Technology Showcase in ShenzhenTranslation Technology Showcase in Shenzhen
Translation Technology Showcase in Shenzhen
 
RESTful Web APIs – Mike Amundsen, Principal API Architect, Layer 7
RESTful Web APIs – Mike Amundsen, Principal API Architect, Layer 7RESTful Web APIs – Mike Amundsen, Principal API Architect, Layer 7
RESTful Web APIs – Mike Amundsen, Principal API Architect, Layer 7
 
1 formato solicitud afiliacion
1 formato solicitud afiliacion1 formato solicitud afiliacion
1 formato solicitud afiliacion
 
Estado nutricional de los niños y niñas entre las edades de 7 12 años de la “...
Estado nutricional de los niños y niñas entre las edades de 7 12 años de la “...Estado nutricional de los niños y niñas entre las edades de 7 12 años de la “...
Estado nutricional de los niños y niñas entre las edades de 7 12 años de la “...
 

Similar to REST Fundamentals

D2-超级旺铺
D2-超级旺铺D2-超级旺铺
D2-超级旺铺
supershop
 

Similar to REST Fundamentals (20)

Micro-Blogging for The Enterprise (MongoDB)
Micro-Blogging for The Enterprise (MongoDB)Micro-Blogging for The Enterprise (MongoDB)
Micro-Blogging for The Enterprise (MongoDB)
 
Crawling & Indexing for JavaScript Heavy Sites brightonSEO 2021
Crawling & Indexing for JavaScript Heavy Sites brightonSEO 2021Crawling & Indexing for JavaScript Heavy Sites brightonSEO 2021
Crawling & Indexing for JavaScript Heavy Sites brightonSEO 2021
 
Principles Of Web Design Workshop
Principles Of Web Design WorkshopPrinciples Of Web Design Workshop
Principles Of Web Design Workshop
 
Rapid Prototyping with Sass, Compass and Middleman by Bermon Painter
Rapid Prototyping with Sass, Compass and Middleman by Bermon PainterRapid Prototyping with Sass, Compass and Middleman by Bermon Painter
Rapid Prototyping with Sass, Compass and Middleman by Bermon Painter
 
Empowering businesses with serverless
Empowering businesses with serverlessEmpowering businesses with serverless
Empowering businesses with serverless
 
SEO Strategies by Thirdparty Labs and Shovemedia
SEO Strategies by Thirdparty Labs and ShovemediaSEO Strategies by Thirdparty Labs and Shovemedia
SEO Strategies by Thirdparty Labs and Shovemedia
 
Wine & Web: How to do a content audit
Wine & Web: How to do a content audit Wine & Web: How to do a content audit
Wine & Web: How to do a content audit
 
电子商务网站前端开放实战
电子商务网站前端开放实战电子商务网站前端开放实战
电子商务网站前端开放实战
 
电子商务网站前端开放实战
电子商务网站前端开放实战电子商务网站前端开放实战
电子商务网站前端开放实战
 
The Continuous SEO Process (WebExpo, September 2016)
The Continuous SEO Process (WebExpo, September 2016)The Continuous SEO Process (WebExpo, September 2016)
The Continuous SEO Process (WebExpo, September 2016)
 
SearchLove London | Dave Sottimano, 'Using Data to Win Arguments'
SearchLove London | Dave Sottimano, 'Using Data to Win Arguments' SearchLove London | Dave Sottimano, 'Using Data to Win Arguments'
SearchLove London | Dave Sottimano, 'Using Data to Win Arguments'
 
D2
D2D2
D2
 
D2-超级旺铺
D2-超级旺铺D2-超级旺铺
D2-超级旺铺
 
WordPress Security Blitz
WordPress Security BlitzWordPress Security Blitz
WordPress Security Blitz
 
The Real Problems Behind Indexing | 5 Hours of Technical SEO
The Real Problems Behind Indexing | 5 Hours of Technical SEOThe Real Problems Behind Indexing | 5 Hours of Technical SEO
The Real Problems Behind Indexing | 5 Hours of Technical SEO
 
Bartosz Goralewicz — The Real Problems Behind Indexing | 5 Hours of Technical...
Bartosz Goralewicz — The Real Problems Behind Indexing | 5 Hours of Technical...Bartosz Goralewicz — The Real Problems Behind Indexing | 5 Hours of Technical...
Bartosz Goralewicz — The Real Problems Behind Indexing | 5 Hours of Technical...
 
Building Tools for the Next Web
Building Tools for the Next WebBuilding Tools for the Next Web
Building Tools for the Next Web
 
Container Management at Coinbase
Container Management at CoinbaseContainer Management at Coinbase
Container Management at Coinbase
 
Rendering SEO Manifesto - Why we need to go beyond JavaScript SEO
Rendering SEO Manifesto - Why we need to go beyond JavaScript SEORendering SEO Manifesto - Why we need to go beyond JavaScript SEO
Rendering SEO Manifesto - Why we need to go beyond JavaScript SEO
 
Website Audit Report Sample
Website Audit Report SampleWebsite Audit Report Sample
Website Audit Report Sample
 

Recently uploaded

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 

Editor's Notes

  1. KönntihreucheinLebenohne die unglaublicheMenge an Informationenim Web nochvorstellen?
  2. Ichnicht!
  3. WennichmeinVerhaltenanschaue:Lese RSS Feeds, BucheZugticketsüber Browser oder AppDas Web verändertewiewirInformationenproduzierenoderkonsumierendramatisch
  4. Was macht das Web eineerfolgreicheApplikationsplattform?Architekturnichtsweiteresalstausende von einfachenInteraktionenzwischenAgenten und RessourcenNutzen HTTP und URI alsTechnologie
  5. SchlüsselkonzeptoderFundamentalerBausteinFast alleskannalsRessourcemodeliertwerdenWirdzur Manipulation zurVerfügunggestelltRessource != Datenbankentität
  6. Für die Manipulation brauchtes Resource Identifiers (URI = Uniform Resource Identifier)EindeutigadressierbarURIs und Ressourcen = Many to OneMehrere URIs pro Ressource (http://..., file://...)
  7. MetadatenInformationenüberAufenthaltsort, Alternative Formate, Alter, oderEntitätsinformationenWichtigerAspektfürSkalierbarkeithierzufinden = CachingErlaubtKopien an mehrerenOrtenzuspeichern (auf Request-Response Pfad)
  8. Metadatenbrauchen Caching Direktivenwie Expires, Cache-Control, Etagoder Last-ModifiedVeralteteRessourcenmüssenrevalidiertwerdenvomOriginserverKonditional Requests!Etagmit If-Match und If-None-Match oder Last-Modified mit If-Unmodified-Since oder If-Modified-SinceBody nurgesandt falls nötig
  9. XML, JSON, Image odermehrRessourcezueinemPunkt in der ZeitContent-Negotiation ProzesshandeltzurLaufzeit die RepräsentationausDochwieInteragieren?
  10. GET, POST, PUT, DELETE, OPTIONS, HEAD, TRACE, CONNECT und PATCHDemos zeigenBedeutungResponse Codes 200 OK, 201 Created, 404 Not FoundDefinierenGenerisches Framework fürInteraktion
  11. Schauenwir das Ganze in einer Demo anBACK: GutesBeispielfürverteilteArchitektur, Skaliert gut mitaddressierbarenRessourcen, Repräsentationen und KommunikationsmittelnEinfacheSchnittstellezukomplexenApplikationenInformation Hiding (Abstrahiertkonkrete Dinge wie DB etc.) hinter einemeinzigenKonzept
  12. DIE RESSOURCEUnd bisjetzthabenwirnochnichtüber REST gesprochensondernnurüber die Webarchitektur
  13. Representational State TransferRoy Fielding’s DissertationAnalysierte die Erfolgsgeschichte des WebsReihe von Einschränkungen auf eigeneArchitekturanwenden ProfitKurz: Reihe von Einschränkungen, darumArchitekturstil
  14. Befolgt man alleEinschränkungen = RESTfulWeitererAspekt der Hochverfügbarkeit?
  15. Hypermediaoder Hypermedia as the engine of application state (HAT OASE = HATEOAS)Einfachaber genialApplikationbewegtsichvorwärts von einemZustandzumAnderenwieStatemachineZuständenichtvorherbekannt, müssenentdecktwerdenRichtigangewendet = Web-friendly, wiemessen?
  16. Leonard Richardson KlassifikationsmodellMaturitätslevelfürApplikationen und ServicesAuf Basis: URIs, HTTP und Hypermedia
  17. Level Null, einzige URI nur POST VerbPlain Old XmlPOST http://localhost/api newAccount { }POST http://localhost/api updateInvoice { }
  18. Level Eins,Operationsnamen und Parameter in der URIHat zwarmehrereRessourcen (Teile und Herrsche)Benutztnur GETGET http://localhost/api/account?=newGET http://localhost/api/invoice?=update
  19. Level Zwei, URI addressierbareRessourcen,abernur CRUD (GET, POST, PUT und DELETE)FührtStandardset von Verbenein, reduziert die Anzahl an VariationenKeineEntdeckbarkeit
  20. Das meiste Web-friendlyLeve!EinzigesRESTfulEntdeckbar und Selbstdokumentierend
  21. Was fürein Level ist das?
  22. Startenwir in die DemoBACK: KlaresVerständnisfür REST, Prinzipien des SkalierbarenVebs auf deineSoftwarearchitekturangewendet
  23. Nochnichtüberzeugt? Willst du lernenwieRessourcendefinieren,Transitionen, Versionierung? Kein Problem! Vote fürnächstenVortrag