Download - REST
![Page 1: REST](https://reader033.vdocuments.pub/reader033/viewer/2022042814/555b812ed8b42ae81d8b4633/html5/thumbnails/1.jpg)
Folie 1REST TechTalk > D. Seider > 15.01.2009
RESTTechTalk
Doreen SeiderDLR-SC, Köln, 15.01.2009
![Page 2: REST](https://reader033.vdocuments.pub/reader033/viewer/2022042814/555b812ed8b42ae81d8b4633/html5/thumbnails/2.jpg)
REST TechTalk > D. Seider > 15.01.2009
Folie 2
Gliederung
TheorieREST – Was? Was nicht? Woher? Wohin?
PraxisREST-basierte ApplikationenJSR 311 (JAX-RS)Referenzimplementierung Jersey
Zusammenfassung
![Page 3: REST](https://reader033.vdocuments.pub/reader033/viewer/2022042814/555b812ed8b42ae81d8b4633/html5/thumbnails/3.jpg)
REST TechTalk > D. Seider > 15.01.2009
Folie 3
REST – TheorieWas ist REST?
REST ist eine Alternative für SOAP Web Services ...?REST ist HTTP-basiert ...?REST ist ein Hype ...?...?
REST ist ein Architekturkonzept.(REST vs. SOAP)
![Page 4: REST](https://reader033.vdocuments.pub/reader033/viewer/2022042814/555b812ed8b42ae81d8b4633/html5/thumbnails/4.jpg)
REST TechTalk > D. Seider > 15.01.2009
Folie 4
RESTDefinition
REpresentational State TransferGeprägt 2000 in Dissertation von Roy Fielding
“Architectural Styles and the Design of Network-based Software Architectures”
GrundprinzipienZustandslose Client-Server-KommunikationEindeutig identifizierbare RessourcenEinheitliche SchnittstelleRepräsentation(en) der RessourcenHypermedia
![Page 5: REST](https://reader033.vdocuments.pub/reader033/viewer/2022042814/555b812ed8b42ae81d8b4633/html5/thumbnails/5.jpg)
REST TechTalk > D. Seider > 15.01.2009
Folie 5
RESTArchitektur des WWW
Basisstandards: HTTP, URL, HTMLErfüllung der REST-Grundprinzipien
= REST-basiert
Quelle: Wikipedia
![Page 6: REST](https://reader033.vdocuments.pub/reader033/viewer/2022042814/555b812ed8b42ae81d8b4633/html5/thumbnails/6.jpg)
REST TechTalk > D. Seider > 15.01.2009
Folie 6
RESTGrundprinzipien am Beispiel WWW
Server
Clients
Zustandslose Client-Server-Kommunikation
![Page 7: REST](https://reader033.vdocuments.pub/reader033/viewer/2022042814/555b812ed8b42ae81d8b4633/html5/thumbnails/7.jpg)
REST TechTalk > D. Seider > 15.01.2009
Folie 7
RESTGrundprinzipien am Beispiel WWW
Eindeutig identifizierbare RessourcenUniform Resource Locator (URL)
http://boox.com/sciencefiction/thehitchhikersguidetothegalaxyhttp://boox.com/orders/2009/01http://boox.com/customers/42http://boox.com/sales/2000-2009
![Page 8: REST](https://reader033.vdocuments.pub/reader033/viewer/2022042814/555b812ed8b42ae81d8b4633/html5/thumbnails/8.jpg)
REST TechTalk > D. Seider > 15.01.2009
Folie 8
RESTGrundprinzipien am Beispiel WWW
Einheitliche SchnittstelleHTTP-Request-Methoden
GET – Abrufen PUT – Update oder ErstellenPOST – Erstellen oder Hinzufügen DELETE – Löschen(HEAD, TRACE, OPTIONS, CONNECT)
[GET, PUT, POST, DELETE, ...] http://boox.com/orders/2009/01[GET, PUT, POST, DELETE, ...] http://boox.com/customers/42
...
![Page 9: REST](https://reader033.vdocuments.pub/reader033/viewer/2022042814/555b812ed8b42ae81d8b4633/html5/thumbnails/9.jpg)
REST TechTalk > D. Seider > 15.01.2009
Folie 9
RESTGrundprinzipien am Beispiel WWW
Quelle: http://www.infoq.com/articles/rest-introduction
Einheitliche Schnittstelle
![Page 10: REST](https://reader033.vdocuments.pub/reader033/viewer/2022042814/555b812ed8b42ae81d8b4633/html5/thumbnails/10.jpg)
REST TechTalk > D. Seider > 15.01.2009
Folie 10
RESTGrundprinzipien am Beispiel WWW
Repräsentation(en) von RessourcenFelder Accept und Content-Type im HTTP-HeaderClient-spezifische RepräsentationenZ.B. Browser: HTML
HTTP/1.1 200 OKServer: Apache/1.3.29 (Unix) PHP/4.3.4Content-Length: 483Content-Language: de Content-Type: text/htmlConnection: close
![Page 11: REST](https://reader033.vdocuments.pub/reader033/viewer/2022042814/555b812ed8b42ae81d8b4633/html5/thumbnails/11.jpg)
REST TechTalk > D. Seider > 15.01.2009
Folie 11
RESTGrundprinzipien am Beispiel WWW
HypermediaVerknüpfung identifizierbarer Ressourcen (WWWeb)URL von Ressourcen in Repräsentation von anderen RessourcenSiehe HTML
<order ref=http://boox.com/orders/1><customer ref=http://boox.com/customers/42><books>
<book ref=http://boox.com/sciencefiction/thehitchhikers\guidetothegalaxy>
<book ref=http://boox.com/fantasy/thelordoftherings></books>
</order>
![Page 12: REST](https://reader033.vdocuments.pub/reader033/viewer/2022042814/555b812ed8b42ae81d8b4633/html5/thumbnails/12.jpg)
REST TechTalk > D. Seider > 15.01.2009
Folie 12
REST – PraxisREST-basierte Applikationen
Erfüllen Grundprinzipien von RESTSind meist HTTP-basiert (auf Grund von WWW-Verbreitung)Sind nicht neu
RealisierungsmöglichkeitenServlet API, JAX-RS,
![Page 13: REST](https://reader033.vdocuments.pub/reader033/viewer/2022042814/555b812ed8b42ae81d8b4633/html5/thumbnails/13.jpg)
REST TechTalk > D. Seider > 15.01.2009
Folie 13
RESTJSR 311 oder JAX-RS
The Java API for RESTful Web ServicesZiel: Vereinfachung der Umsetzung von REST-PrinzipienServer-seitigVersion 1.0
Referenzimplementierung: Jersey
![Page 14: REST](https://reader033.vdocuments.pub/reader033/viewer/2022042814/555b812ed8b42ae81d8b4633/html5/thumbnails/14.jpg)
REST TechTalk > D. Seider > 15.01.2009
Folie 14
RESTJersey
SituationClient – [GET, PUT, POST, DELETE, ...] URLServer – Applikationslogik (in Java)
ZielVerknüpfen von Client-Anfragen mit Applikationslogik
Umsetzung in JerseyAbbilden von URLs und HTTP-Request-Methoden auf Klassen und Methoden in Java mittels Annotationen
![Page 15: REST](https://reader033.vdocuments.pub/reader033/viewer/2022042814/555b812ed8b42ae81d8b4633/html5/thumbnails/15.jpg)
REST TechTalk > D. Seider > 15.01.2009
Folie 15
RESTDemonstration
Jersey und RESTClient
![Page 16: REST](https://reader033.vdocuments.pub/reader033/viewer/2022042814/555b812ed8b42ae81d8b4633/html5/thumbnails/16.jpg)
REST TechTalk > D. Seider > 15.01.2009
Folie 16
REST-basierte WS vs. WS mit XMLFakten
WS mit XMLProtokollunabhängig (aber fast immer SOAP mit HTTP)Tunneln über HTTP GET !Fehlercodes, !Caching, ...Explizite Schnittstellenbeschreibung – WSDL (aber bedarf meist Metainformationen)Gewohnter Ansatz
REST-basierte WSNutzen von bewährtem Protokoll HTTP
Fehlercodes, Caching, Content Negotiation,Unabhängiger Client durch einheitliche Schnittstelle Metainformationen notwendigGewöhnungsbedürftiger Ansatz
![Page 17: REST](https://reader033.vdocuments.pub/reader033/viewer/2022042814/555b812ed8b42ae81d8b4633/html5/thumbnails/17.jpg)
REST TechTalk > D. Seider > 15.01.2009
Folie 17
Zusammenfassung
REST ist ArchitekturkonzeptWWW liegt diesem Konzept zu Grunde
REST-basierte Applikationen sind nicht neuREST-basierte Applikationen nutzen bewährtes Protokoll (HTTP)
Standards und Implementierungen von REST-APIs
![Page 18: REST](https://reader033.vdocuments.pub/reader033/viewer/2022042814/555b812ed8b42ae81d8b4633/html5/thumbnails/18.jpg)
REST TechTalk > D. Seider > 15.01.2009
Folie 18
Quellen und Verweise
QuellenDissertation von Roy FieldingStefan Tilkov: A Brief Introduction to RESTStefan Tilkov: REST Anti-PatternsJava Magazin 01/09JSR 311
ProjekteJerseyRESTClient
![Page 19: REST](https://reader033.vdocuments.pub/reader033/viewer/2022042814/555b812ed8b42ae81d8b4633/html5/thumbnails/19.jpg)
REST TechTalk > D. Seider > 15.01.2009
Folie 19
Fragen und Anregungen