Professional Documents
Culture Documents
bron: https://medium.com/@innovationchef/web-services-client-in-java-72386ea55ee4
- Representation State Transfer
- 2000 Roy Fielding (University of
REST California)
- Principes om webservices te maken
Uniforme Interface
Architecturale Statusloos
beperkingen
REST API Cacheable
Gelaagd Systeem
HTTP/1.1 200 OK
Content-Type: application/xml
…
<?xml version="1.0"?>
<user>
<name>Robert</name>
<color>red</color>
</user>
Industrieel Ingenieur Informatica 11
Voorbeeld POST
- Gebruiker toevoegen
POST /users HTTP/1.1
Host: myserver
Content-Type: application/xml application/json
[]
<?xml version="1.0"?>
<user> <name>John</name>
<color>green</color> </user>
<?xml version="1.0"?>
<user> <name>John</name>
<color>blue</color> </user>
- Wees Statusloos
• Elke aanvraag staat op zichzelf
• Server houdt geen informatie
➢ Gebruiker
➢ Applicatiecontext
• Client moet status bijhouden
- Voordelen
• Aanvraag doorgeven aan andere server(s)
• Load-balancing → verhogen schaalbaarheid
• Failover → verhogen betrouwbaarheid
Industrieel Ingenieur Informatica 19
bron: https://codeburst.io/load-balancers-an-analogy-cc64d9430db0?gi=75f92b6165d4
Cacheable
- Antwoord bevat
• Cacheable?
• Hoelang?
- Verbetert performantie
- Code on demand
- Optioneel
- De inhoud van het bericht mag ook code zijn (bv. javascript)
Uniforme Interface
Architecturale Statusloos
beperkingen
REST API Cacheable
Gelaagd Systeem
bron: https://martinfowler.com/articles/richardsonMaturityModel.html
25
Industrieel Ingenieur Informatica
Level 1: Bronnen - Bronnen
- Verschillende endpoints
- Argumenten in body
26
Industrieel Ingenieur Informatica
Level 2: HTTP- - HTTP-methodes als CRUD
27
Industrieel Ingenieur Informatica
Level 3: Hypermedia - HATEOAS (Hypertext As The Engine Of
Application State)
Controls - Links naar andere bronnen in antwoord
- Selfdocumenting Protocol
28
Industrieel Ingenieur Informatica