Vorlesungsmitschrieb

Werbung
REST, Restful Webservices
­ Steht für Representational State Transfer
­ Alternative zu SOAP­artigen Webservices
­ Idee: Jede Ressource (z.B. Kunde, Bestellposition) ist über eine (eindeutige) URL erreichbar
­ Nutzt HTTP für CRUD (create, read, update, delete)
> GET: READ
> POST: CREATE
> PUT: UPDATE
> DELETE: DELETE
http://meinserver.de/app/...
GET /kunden (gibt alle Kunden zurück z.B. im XML, JSON, Text-Format)
GET /kunden/3/bestellungen
GET /kunden/3/bestellungen/4/bestellpositionen
POST /kunden (vorname=hans&nachname=wurst)
PUT /kunden (vorname=franz)
DELETE /kunden/3/bestellungen/4
Mai 12­08:01
1
Beispiel für eine REST-API (https://developers.pipedrive.com/v1)
Mai 12­08:41
2
Vergleich REST versus SOAP
Viele URLs
Eine URL mit vielen Methoden
Mai 12­08:32
3
REST Webservice Eignet sich "Datenbank im Web" (Ressourcen­lastig") Logik, Workflow, ... Adressierung Viele URLs (jede Nur eine URL, Auswahl Ressource hat eigene der Ressourcen über URL), Ressourcen können Methoden untereinander verlinken
Rückgabe­Datenformat XML, JSON, TEXT, HTML XML (SOAP) Skalierung Loadbalancer, GET­
Anfragen Cachen Kein Caching, da immer POST Sicherheit kann Webserver übernehmen (.htaccess) über Applikation Mai 12­08:41
4
Implementierung mit Java => JERSEY
Kochrezept
­ Jars von http://jersey.java.net herunterladen (komplettes ZIP­Archiv)
­ Jars dem Build­Path hinzufügen
­ Fassade (Server) implementieren:
Pfad
<SERVER>/unsereresouces/message
Mai 12­08:49
5
­ Webserver starten
­ Entweder Ressource im Browser betrachten...
Mai 12­09:01
6
­ ... oder Client schreiben
Mai 12­09:02
7
Client mit mehreren Methoden ...
Mai 12­09:31
8
... und hier der dazu passende (siehe Nummerierung z.B. "1. Fall") Server-Teil
Mai 12­09:32
9
Die GET-Zugriffe können Sie auch mit dem Browser testen
Nächste Stunde: arbeiten mit PUT und POST
Mai 12­09:24
10
Herunterladen