SlideShare ist ein Scribd-Unternehmen logo
REST Problems
Version 1.1 vom 2.10.2017
Thomas Bayer
bayer@predic8.de
@thomasub
www.predic8.de
Einführung
Probleme
Alternativen
www.predic8.de
Server
Remote Procedure Call (!= REST)
product = produktService.find( 65)
Funktion Parameter
Service
Produkt
Service
64
65
66
Client
Produkt
Service
Stub
find( 65)
www.predic8.de
Server
REST
GET /produkte/65
/produkte/64
/produkte/65
/produkte/66
Client
HTTP Client
Repräsentation
{ name:
... }
Kopie!
Ressource
HttpClient client = new HttpClient();
GetMethod method = new GetMethod("http://api.predic8.de/shop/products/65");
method.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
new DefaultHttpMethodRetryHandler(3, false));
int sc = client.executeMethod(method);
if (sc != HttpStatus.SC_OK) {
System.err.println(method.getStatusLine());
}
byte[] responseBody = method.getResponseBody();
200 OK
www.predic8.de
Quelle: https://trends.google.de/trends/explore?date=all&q=%2Fm%2F03nsxd,%2Fm%2F0315s4
SOA & REST Hype Cycle
www.predic8.de
Quelle: https://trends.google.de/trends/explore?date=all&q=%2Fm%2F03nsxd,%2Fm%2F0315s4
SOA & REST Hype Cycle
REST Ressource!
www.predic8.de
REST Vorteile
 Niedrige Einstiegshürde
 Tools
 Keine speziellen Werkzeuge notwendig
• Kein IDL Compiler, WSDL2JAVA, ...
 Gute Tool Unterstützung
• Browser ,Curl, Postman, Insomnia, Frameworks ...
 Nutzt das Web
 Firewalls
 Skalierbar
 Caching
 Geneignet für
 Public APIs
 Integration
 Dokumente
• Große
• Verschiedene Inhalte
REST rocks!
www.predic8.de
REST Probleme
#1 Kein „Standard“
#2 Design ist kompliziert
#3 Fehlersuche ist aufwendig
#4 Hypermedia wird nicht genutzt
#5 Verwendung von API Beschreibungen
www.predic8.de
Die Bibel
HTTP Spezifikationen
sind verbindlich
www.predic8.de
Quellen: https://www.ics.uci.edu/~fielding/pubs/dissertation/fielding_dissertation.pdf
https://de.wikipedia.org/wiki/Roy_Fielding#/media/File:Roy_Fielding.jpg
Wichtige Schrift für REST
Fans! Geniales Papier über
die Architektur des Webs,
aber nichts Konkretes zu
REST APIs.
Fielding Dissertation
www.predic8.de
Bhagavad Gita
Quelle: https://de.wikipedia.org/wiki/Bhagavad_Gita#/media/File:Bhagavad_Gita,_a_19th_century_manuscript.jpg
Wichtige Schrift für Yogis!
Enthält aber nichts
Konkretes zu den Yoga
Übungen!
www.predic8.de
Guidelines
• Whitehouse
• Twitter
• Haufe Lexware
• ...
www.predic8.de
Auslegungssache
Quellen:
https://mmikowski.github.io/the_lie/
https://stackoverflow.com/questions/5948659/when-should-i-use-a-trailing-slash-in-my-url
https://stackoverflow.com/questions/630453/put-vs-post-in-rest
www.predic8.de
REST Probleme
#1 Kein „Standard“
#2 Design ist kompliziert
#3 Fehlersuche ist aufwendig
#4 Hypermedia wird nicht genutzt
#5 Verwendung von API Beschreibungen
www.predic8.de
GET /products
oder
GET /products/
?
www.predic8.de
POST /produkte/
PUT /produkte/65
PATCH /produkte/65
Resource GET POST PUT DELETE
/articles/ List aller Artikel 201 Created
Neuer Artikel
erzeugen*
Location
Header setzen!
400 Bad
Request
Alle Artikel
löschen
/articles/7 Details zu
einem Artikel
400 Bad
Request
Artikel
erzeugen* oder
ändern
Artikel löschen
?
www.predic8.de
Subresouces
/products/11/photo
/kunden/65/vertraege/
/vendors/32/products/
/kunden/65/vertraege/6/policy/24
?
www.predic8.de
/shop/products/65
/shop/products/65?limit=10
/shop/products/65?limit=10
/shop/products;limit=10/
{ “Limit“: 10 }
Parameter
?Limit: 10
www.predic8.de
?Quelle: https://httpstatusdogs.com/
www.predic8.de
CRUD Mapping
Tunwörter zu Hauptwörter:
überweisen( account_1, account_2, 1000 )
POST /überweisungen/
{
“from“ : “1234“,
“to“ : “6789“,
“amount“ : 1000
}
www.predic8.de
C POST /products/
R GET /products/65
U PUT /products/65
D DELETE /products/65
REST ist ohne Hypermedia CRUD over HTTP!
www.predic8.de
Prozesse &
Nicht-Ressource Anfragen
 Ressourcen passen irgendwie nicht richtig oder sind uninteressant
 Beispiele
 Errechnen
 Umwandeln
 Prozess als Ressource oft umständlich
/order/4/actions/cancel
/antrag/4354/freigabe
/calculator/compute
www.predic8.de
REST Design Probleme
 Mehrere Lösungen für ein Problem
 REST ist nicht einfach, wenn die Aufgaben größer werden
 Styleguide ist notwenig
 Auswahl & Erstellung sind schwer
 Es gibt keinen perfekten Styleguide
 Auswirkung vieler Designentscheidungen nicht sofort erkennbar!
 Viel Interpretation und Kreativität ist gefordert
 Man beschäftigt sich mehr mit der Auslegung von REST als mit der
Fachlichkeit
Welches REST API hat ein gutes Design?
www.predic8.de
Client Server
t
Zeitverhalten entfernter Aufrufe
www.predic8.de
Client API
/shop/products/
/shop/products/3
/shop/products/10
/shop/products/33
Eine Abfrage der
Container Ressource
n-Abfragen für alle
Produkte der Liste
N + 1 Calls!
Chatty
www.predic8.de
API Design: The Musical
Quelle: https://events.drupal.org/losangeles2015/sessions/api-design-musical
Play
www.predic8.de
Automatisierte Design Tests
www.predic8.de
REST Probleme
#1 Kein „Standard“
#2 Design ist kompliziert
#3 Fehlersuche ist aufwendig
#4 Hypermedia wird nicht genutzt
#5 Verwendung von API Beschreibungen
www.predic8.de
Wo schau ich nach wenn etwas nicht geht?
 Methode
 Pfad
 Query Parameters
 Headers:
 Content-Type
 Accept
 Body
 Status Code
Ok: HTTP ist immer noch einfacher zu debuggen als z.B. CORBA
www.predic8.de
REST Probleme
#1 Kein „Standard“
#2 Design ist kompliziert
#3 Fehlersuche ist aufwendig
#4 Hypermedia wird nicht genutzt
#5 Verwendung von API Beschreibungen
www.predic8.de
Hypermedia ist cool!
www.predic8.de
www.predic8.de
Wer verwendet Hypermedia?
www.predic8.de
und auf dem Client?
www.predic8.de
www.predic8.de
www.predic8.de
www.predic8.de
www.predic8.de
Hypermedia Probleme
 Design ist aufwendig
 Dokumente werden lang und häßlich
 Viele Formate, Best Practice, ...
 Client verschmäht Hypermedia
www.predic8.de
REST Probleme
#1 Kein „Standard“
#2 Design ist kompliziert
#3 Fehlersuche ist aufwendig
#4 Hypermedia wird nicht genutzt
#5 Verwendung von API Beschreibungen
www.predic8.de
Code First mit Swagger
Swagger
mvn deploy
MVN
client.jar
Dependency
call
Projekt wird nur
gebaut. Kein
eigener Code
notwendig.
Code
Generation
Server Stub wird um
die Implementierung
erweitert
www.predic8.de
www.predic8.de
• Das Remoting ist komplett
verborgen
• RPC sieht genauso aus
www.predic8.de
Id angeben anstatt Link
verfolgen.
URI Template
www.predic8.de
/produkt/{pid}
+ 65
= /produkt/65
URI Templates sind nicht REST!
www.predic8.de
Regex macht aus
URI id für Template
Erzeugte Methode
erfordert Id
www.predic8.de
Problem Swagger
 Erst mach ich mir die Mühe und erstelle ein API mit Hypermedia und
dann wird die nur über Swagger generierte Clients im RPC Stil genutzt
genutzt!
 REST kann für Swagger nichts!
Swagger kills Hypermedia
+
• Swagger hat Vorteile
• HATEOAS hat Vorteile
• Swagger + HATEOAS gleichzeitig
• => Nachteil
www.predic8.de
REST ist nur (gutes) REST mit Hypermedia
Keiner macht Hypermedia => REST?
www.predic8.de
REST ALTERNATIVEN
www.predic8.de
Alternativen
 RPC
 GRPC
 JSON RPC
 Query Sprache
 GraphQL
 Messaging
 MQTT
 STOMP
 WAMP Autobahn + Crossbar.io
www.predic8.de
GRPC
 RPC Framework
 Basiert auf Google Protocol Buffers
 Verwendet IDL
 Protocol Buffers als Message Format
• JSON ist auch möglich
 Art neues CORBA
 HTTP/2 Transport
 Geeignet für Mobile
 Google stellt auf GRPC für Microservices um
 Sprachunterstützung
 Android, C++,C#, Go, Java, Node, Objective-C, PHP, Python, Ruby
 Quellen
 https://grpc.io
www.predic8.de
Java ServerObjective-C Client
Stub
get(id)
gRPC Server
get(id)
MyCode
MyCode
protoc
.proto
service ProductManager {
rpc get(int32) returns (Product) {}
}
protobuf
www.predic8.de
GraphQL
www.predic8.de
REST is dead.
www.predic8.de
REST is dead.
Long live REST!
www.predic8.de
Fazit
 REST ist ideal für Public APIs mit überschaubaren
Ressourcen
 Es gibt bereits große Investitionen in REST!
 REST muss nicht der einzige Ansatz für Remoting
sein
Es gibt auch einen Platz für Messaging, RPC & Queries
www.predic8.de
@thomasub
bayer@predic8.de
www.predic8.de
Quellen
 Architectural Styles and the Design of Network-based Software
Architectures, Roy Thomas Fielding
 https://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm
 RFC 7230, Hypertext Transfer Protocol (HTTP/1.1): Message
Syntax and Routing
 https://tools.ietf.org/html/rfc7230
 RFC 7231, Hypertext Transfer Protocol (HTTP/1.1): Semantics and
Content
 https://tools.ietf.org/html/rfc7231
 White House Web API Standards
 https://github.com/WhiteHouse/api-standards
 Haufe API Style Guide
 https://github.com/Haufe-Lexware/api-style-guide
 RESTful APIs, the big lie, Michael S. Mikowski
 https://mmikowski.github.io/the_lie/
 Status Dogs
 https://httpstatusdogs.com/

Weitere ähnliche Inhalte

Was ist angesagt?

New Broucher - Smart Cit - 22-6-2016
New Broucher - Smart Cit - 22-6-2016New Broucher - Smart Cit - 22-6-2016
New Broucher - Smart Cit - 22-6-2016
Faiyaz Khan
 
How Singapore is Paving the Way for Global Smart Cities
How Singapore is Paving the Way for Global Smart CitiesHow Singapore is Paving the Way for Global Smart Cities
How Singapore is Paving the Way for Global Smart Cities
Solace
 
Design Thinking - Workshop Sample
Design Thinking - Workshop SampleDesign Thinking - Workshop Sample
Design Thinking - Workshop Sample
Shimon Shmueli
 
What makes a successful SSI strategy?
What makes a successful SSI strategy?What makes a successful SSI strategy?
What makes a successful SSI strategy?
Evernym
 
Introducing design thinking
Introducing design thinkingIntroducing design thinking
Introducing design thinking
Zaana Jaclyn
 
Human centered design explained with everyday products
Human centered design explained with everyday productsHuman centered design explained with everyday products
Human centered design explained with everyday products
WowMakers Digital Media Studio
 
Design Thinking
Design ThinkingDesign Thinking
Design Thinking
lmittler
 
Smart Cities - Global Case Studies - Part - 4
Smart Cities - Global Case Studies - Part - 4Smart Cities - Global Case Studies - Part - 4
Smart Cities - Global Case Studies - Part - 4
Resurgent India
 
The image of the city-chapter 1+chapter5- tripolis-libya الصورة الذهنية للمد...
 The image of the city-chapter 1+chapter5- tripolis-libya الصورة الذهنية للمد... The image of the city-chapter 1+chapter5- tripolis-libya الصورة الذهنية للمد...
The image of the city-chapter 1+chapter5- tripolis-libya الصورة الذهنية للمد...
Imén Chhoumi
 
Human Centered Design
Human Centered DesignHuman Centered Design
Human Centered Design
Manik Choudhary
 
Design Thinking vs. Lean Startup: Friends or Foes?
Design Thinking vs. Lean Startup: Friends or Foes?Design Thinking vs. Lean Startup: Friends or Foes?
Design Thinking vs. Lean Startup: Friends or Foes?
Tathagat Varma
 
Design thinking - IDEO
Design thinking - IDEODesign thinking - IDEO
Design thinking - IDEO
Ahmed Alaraj
 
Human centered design [explained with examples]
Human centered design [explained with examples]Human centered design [explained with examples]
Human centered design [explained with examples]
WowMakers Digital Media Studio
 
Current Situation & Development Framework of Sino-Foreign Eco-Cities
Current Situation & Development Framework of Sino-Foreign Eco-CitiesCurrent Situation & Development Framework of Sino-Foreign Eco-Cities
Current Situation & Development Framework of Sino-Foreign Eco-Cities
SmartEcoCity (SEC)
 
Design thinking workshop
Design thinking workshopDesign thinking workshop
Design thinking workshop
Hanan Iftekhar
 

Was ist angesagt? (15)

New Broucher - Smart Cit - 22-6-2016
New Broucher - Smart Cit - 22-6-2016New Broucher - Smart Cit - 22-6-2016
New Broucher - Smart Cit - 22-6-2016
 
How Singapore is Paving the Way for Global Smart Cities
How Singapore is Paving the Way for Global Smart CitiesHow Singapore is Paving the Way for Global Smart Cities
How Singapore is Paving the Way for Global Smart Cities
 
Design Thinking - Workshop Sample
Design Thinking - Workshop SampleDesign Thinking - Workshop Sample
Design Thinking - Workshop Sample
 
What makes a successful SSI strategy?
What makes a successful SSI strategy?What makes a successful SSI strategy?
What makes a successful SSI strategy?
 
Introducing design thinking
Introducing design thinkingIntroducing design thinking
Introducing design thinking
 
Human centered design explained with everyday products
Human centered design explained with everyday productsHuman centered design explained with everyday products
Human centered design explained with everyday products
 
Design Thinking
Design ThinkingDesign Thinking
Design Thinking
 
Smart Cities - Global Case Studies - Part - 4
Smart Cities - Global Case Studies - Part - 4Smart Cities - Global Case Studies - Part - 4
Smart Cities - Global Case Studies - Part - 4
 
The image of the city-chapter 1+chapter5- tripolis-libya الصورة الذهنية للمد...
 The image of the city-chapter 1+chapter5- tripolis-libya الصورة الذهنية للمد... The image of the city-chapter 1+chapter5- tripolis-libya الصورة الذهنية للمد...
The image of the city-chapter 1+chapter5- tripolis-libya الصورة الذهنية للمد...
 
Human Centered Design
Human Centered DesignHuman Centered Design
Human Centered Design
 
Design Thinking vs. Lean Startup: Friends or Foes?
Design Thinking vs. Lean Startup: Friends or Foes?Design Thinking vs. Lean Startup: Friends or Foes?
Design Thinking vs. Lean Startup: Friends or Foes?
 
Design thinking - IDEO
Design thinking - IDEODesign thinking - IDEO
Design thinking - IDEO
 
Human centered design [explained with examples]
Human centered design [explained with examples]Human centered design [explained with examples]
Human centered design [explained with examples]
 
Current Situation & Development Framework of Sino-Foreign Eco-Cities
Current Situation & Development Framework of Sino-Foreign Eco-CitiesCurrent Situation & Development Framework of Sino-Foreign Eco-Cities
Current Situation & Development Framework of Sino-Foreign Eco-Cities
 
Design thinking workshop
Design thinking workshopDesign thinking workshop
Design thinking workshop
 

Ähnlich wie REST Problems

REST: Versprechen, Wirklichkeit & Alternativen: GraphQL, GRPC, JSON RPC...
REST: Versprechen, Wirklichkeit & Alternativen: GraphQL, GRPC, JSON RPC...REST: Versprechen, Wirklichkeit & Alternativen: GraphQL, GRPC, JSON RPC...
REST: Versprechen, Wirklichkeit & Alternativen: GraphQL, GRPC, JSON RPC...
predic8
 
Ist GraphQL das bessere REST
Ist GraphQL das bessere RESTIst GraphQL das bessere REST
Ist GraphQL das bessere REST
Martin Abraham
 
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreHands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Gregor Biswanger
 
SharePointCommunity.ch SharePoint Lösungen für die Zukunft
SharePointCommunity.ch SharePoint Lösungen für die ZukunftSharePointCommunity.ch SharePoint Lösungen für die Zukunft
SharePointCommunity.ch SharePoint Lösungen für die Zukunft
David Schneider
 
HTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenHTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenMayflower GmbH
 
HTML5 Offline - Fallstricke für mobile Webseiten und WebApps
HTML5 Offline - Fallstricke für mobile Webseiten und WebAppsHTML5 Offline - Fallstricke für mobile Webseiten und WebApps
HTML5 Offline - Fallstricke für mobile Webseiten und WebAppsUlrich Schmidt
 
Übersicht Skriptsprachen
Übersicht SkriptsprachenÜbersicht Skriptsprachen
Übersicht Skriptsprachen
A. LE
 
1. Technologie-Tag - Webstandards
1. Technologie-Tag - Webstandards1. Technologie-Tag - Webstandards
1. Technologie-Tag - WebstandardsNico Steiner
 
Einführung in ASP.NET Core Middlewares
Einführung in ASP.NET Core MiddlewaresEinführung in ASP.NET Core Middlewares
Einführung in ASP.NET Core Middlewares
Matthias Jauernig
 
Top 10 Internet Trends 2006
Top 10 Internet Trends 2006Top 10 Internet Trends 2006
Top 10 Internet Trends 2006
Jürg Stuker
 
Dipl.-Ing. Leopold Peneder (HC Solutions)
Dipl.-Ing. Leopold Peneder (HC Solutions)Dipl.-Ing. Leopold Peneder (HC Solutions)
Dipl.-Ing. Leopold Peneder (HC Solutions)
Agenda Europe 2035
 
Chatbot Hackathon Slidedeck
Chatbot Hackathon SlidedeckChatbot Hackathon Slidedeck
Chatbot Hackathon Slidedeck
Allgeier (Schweiz) AG
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
QAware GmbH
 
ICIS User Group - Oberflächentests mittels LCT deklarativ angehen
ICIS User Group - Oberflächentests mittels LCT deklarativ angehenICIS User Group - Oberflächentests mittels LCT deklarativ angehen
ICIS User Group - Oberflächentests mittels LCT deklarativ angehen
Kai Donato
 
Cloud Native & Java EE: Freund oder Feind?
Cloud Native & Java EE: Freund oder Feind?Cloud Native & Java EE: Freund oder Feind?
Cloud Native & Java EE: Freund oder Feind?
QAware GmbH
 
Cloud Native und Java EE: Freund oder Feind?
Cloud Native und Java EE: Freund oder Feind?Cloud Native und Java EE: Freund oder Feind?
Cloud Native und Java EE: Freund oder Feind?
Josef Adersberger
 
C/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino DevelopersC/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino Developers
Ulrich Krause
 
Kennst du ein Unternehmen, dass erfolgreich die QS outtasked hat?“
Kennst du einUnternehmen, dass erfolgreichdie QS outtasked hat?“Kennst du einUnternehmen, dass erfolgreichdie QS outtasked hat?“
Kennst du ein Unternehmen, dass erfolgreich die QS outtasked hat?“
hpaustria
 

Ähnlich wie REST Problems (20)

REST: Versprechen, Wirklichkeit & Alternativen: GraphQL, GRPC, JSON RPC...
REST: Versprechen, Wirklichkeit & Alternativen: GraphQL, GRPC, JSON RPC...REST: Versprechen, Wirklichkeit & Alternativen: GraphQL, GRPC, JSON RPC...
REST: Versprechen, Wirklichkeit & Alternativen: GraphQL, GRPC, JSON RPC...
 
Ist GraphQL das bessere REST
Ist GraphQL das bessere RESTIst GraphQL das bessere REST
Ist GraphQL das bessere REST
 
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreHands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
 
SharePointCommunity.ch SharePoint Lösungen für die Zukunft
SharePointCommunity.ch SharePoint Lösungen für die ZukunftSharePointCommunity.ch SharePoint Lösungen für die Zukunft
SharePointCommunity.ch SharePoint Lösungen für die Zukunft
 
HTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenHTML5 und node.js Grundlagen
HTML5 und node.js Grundlagen
 
GWT
GWTGWT
GWT
 
HTML5 Offline - Fallstricke für mobile Webseiten und WebApps
HTML5 Offline - Fallstricke für mobile Webseiten und WebAppsHTML5 Offline - Fallstricke für mobile Webseiten und WebApps
HTML5 Offline - Fallstricke für mobile Webseiten und WebApps
 
Übersicht Skriptsprachen
Übersicht SkriptsprachenÜbersicht Skriptsprachen
Übersicht Skriptsprachen
 
1. Technologie-Tag - Webstandards
1. Technologie-Tag - Webstandards1. Technologie-Tag - Webstandards
1. Technologie-Tag - Webstandards
 
Einführung in ASP.NET Core Middlewares
Einführung in ASP.NET Core MiddlewaresEinführung in ASP.NET Core Middlewares
Einführung in ASP.NET Core Middlewares
 
Top 10 Internet Trends 2006
Top 10 Internet Trends 2006Top 10 Internet Trends 2006
Top 10 Internet Trends 2006
 
Jug muenchen bpmn in der praxis
Jug muenchen bpmn in der praxisJug muenchen bpmn in der praxis
Jug muenchen bpmn in der praxis
 
Dipl.-Ing. Leopold Peneder (HC Solutions)
Dipl.-Ing. Leopold Peneder (HC Solutions)Dipl.-Ing. Leopold Peneder (HC Solutions)
Dipl.-Ing. Leopold Peneder (HC Solutions)
 
Chatbot Hackathon Slidedeck
Chatbot Hackathon SlidedeckChatbot Hackathon Slidedeck
Chatbot Hackathon Slidedeck
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
 
ICIS User Group - Oberflächentests mittels LCT deklarativ angehen
ICIS User Group - Oberflächentests mittels LCT deklarativ angehenICIS User Group - Oberflächentests mittels LCT deklarativ angehen
ICIS User Group - Oberflächentests mittels LCT deklarativ angehen
 
Cloud Native & Java EE: Freund oder Feind?
Cloud Native & Java EE: Freund oder Feind?Cloud Native & Java EE: Freund oder Feind?
Cloud Native & Java EE: Freund oder Feind?
 
Cloud Native und Java EE: Freund oder Feind?
Cloud Native und Java EE: Freund oder Feind?Cloud Native und Java EE: Freund oder Feind?
Cloud Native und Java EE: Freund oder Feind?
 
C/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino DevelopersC/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino Developers
 
Kennst du ein Unternehmen, dass erfolgreich die QS outtasked hat?“
Kennst du einUnternehmen, dass erfolgreichdie QS outtasked hat?“Kennst du einUnternehmen, dass erfolgreichdie QS outtasked hat?“
Kennst du ein Unternehmen, dass erfolgreich die QS outtasked hat?“
 

REST Problems

Hinweis der Redaktion

  1. Wir reden heute über REST API Interfaces zw. Client und Server zw. Maschine und Maschine
  2. Client/Server https://pixabay.com/de/sanduhr-uhr-zeitgeber-sand-zeit-152090/ https://pixabay.com/de/zahnrad-getriebe-kogge-optionen-145804/
  3. HTTP Spec ist verbindlich
  4. Brauch Viel ist Brauch z.B. POST für neue Ressource anstatt PUT
  5. Vieles ist Auslegungssache
  6. REST ist nicht uniform!
  7. Ab 5:28 abspielen!
  8. API Beschreibung von CORBA/Web Services
  9. REST ist das verfolgen von Links
  10. Hypermedia war nie lebendig
  11. Now I have to wash my mouth with SOAP