REST

1.813 Aufrufe

Veröffentlicht am

TechTalk von Doreen Seider (DLR Köln-Porz, 15.01.2009).

Veröffentlicht in: Technologie
0 Kommentare
1 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.813
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
21
Aktionen
Geteilt
0
Downloads
29
Kommentare
0
Gefällt mir
1
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

REST

  1. 1. REST TechTalk Doreen Seider DLR-SC, Köln, 15.01.2009 Folie 1 REST TechTalk > D. Seider > 15.01.2009
  2. 2. Gliederung Theorie REST – Was? Was nicht? Woher? Wohin? Praxis REST-basierte Applikationen JSR 311 (JAX-RS) Referenzimplementierung Jersey Zusammenfassung Folie 2 REST TechTalk > D. Seider > 15.01.2009
  3. 3. REST – Theorie Was 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) Folie 3 REST TechTalk > D. Seider > 15.01.2009
  4. 4. REST Definition REpresentational State Transfer Geprägt 2000 in Dissertation von Roy Fielding “Architectural Styles and the Design of Network-based Software Architectures” Grundprinzipien Zustandslose Client-Server-Kommunikation Eindeutig identifizierbare Ressourcen Einheitliche Schnittstelle Repräsentation(en) der Ressourcen Hypermedia Folie 4 REST TechTalk > D. Seider > 15.01.2009
  5. 5. REST Architektur des WWW Basisstandards: HTTP, URL, HTML Erfüllung der REST-Grundprinzipien = REST-basiert Quelle: Wikipedia Folie 5 REST TechTalk > D. Seider > 15.01.2009
  6. 6. REST Grundprinzipien am Beispiel WWW Zustandslose Client-Server-Kommunikation Server Clients Folie 6 REST TechTalk > D. Seider > 15.01.2009
  7. 7. REST Grundprinzipien am Beispiel WWW Eindeutig identifizierbare Ressourcen Uniform Resource Locator (URL) http://boox.com/sciencefiction/thehitchhikersguidetothegalaxy http://boox.com/orders/2009/01 http://boox.com/customers/42 http://boox.com/sales/2000-2009 Folie 7 REST TechTalk > D. Seider > 15.01.2009
  8. 8. REST Grundprinzipien am Beispiel WWW Einheitliche Schnittstelle HTTP-Request-Methoden GET – Abrufen PUT – Update oder Erstellen POST – 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 ... Folie 8 REST TechTalk > D. Seider > 15.01.2009
  9. 9. REST Grundprinzipien am Beispiel WWW Einheitliche Schnittstelle Quelle: http://www.infoq.com/articles/rest-introduction Folie 9 REST TechTalk > D. Seider > 15.01.2009
  10. 10. REST Grundprinzipien am Beispiel WWW Repräsentation(en) von Ressourcen Felder Accept und Content-Type im HTTP-Header Client-spezifische Repräsentationen Z.B. Browser: HTML HTTP/1.1 200 OK Server: Apache/1.3.29 (Unix) PHP/4.3.4 Content-Length: 483 Content-Language: de Content-Type: text/html Connection: close Folie 10 REST TechTalk > D. Seider > 15.01.2009
  11. 11. REST Grundprinzipien am Beispiel WWW Hypermedia Verknüpfung identifizierbarer Ressourcen (WWWeb) URL von Ressourcen in Repräsentation von anderen Ressourcen Siehe 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> Folie 11 REST TechTalk > D. Seider > 15.01.2009
  12. 12. REST – Praxis REST-basierte Applikationen Erfüllen Grundprinzipien von REST Sind meist HTTP-basiert (auf Grund von WWW-Verbreitung) Sind nicht neu Realisierungsmöglichkeiten Servlet API, JAX-RS, Folie 12 REST TechTalk > D. Seider > 15.01.2009
  13. 13. REST JSR 311 oder JAX-RS The Java API for RESTful Web Services Ziel: Vereinfachung der Umsetzung von REST-Prinzipien Server-seitig Version 1.0 Referenzimplementierung: Jersey Folie 13 REST TechTalk > D. Seider > 15.01.2009
  14. 14. REST Jersey Situation Client – [GET, PUT, POST, DELETE, ...] URL Server – Applikationslogik (in Java) Ziel Verknüpfen von Client-Anfragen mit Applikationslogik Umsetzung in Jersey Abbilden von URLs und HTTP-Request-Methoden auf Klassen und Methoden in Java mittels Annotationen Folie 14 REST TechTalk > D. Seider > 15.01.2009
  15. 15. REST Demonstration Jersey und RESTClient Folie 15 REST TechTalk > D. Seider > 15.01.2009
  16. 16. REST-basierte WS vs. WS mit XML Fakten WS mit XML Protokollunabhängig (aber fast immer SOAP mit HTTP) Tunneln über HTTP GET !Fehlercodes, !Caching, ... Explizite Schnittstellenbeschreibung – WSDL (aber bedarf meist Metainformationen) Gewohnter Ansatz REST-basierte WS Nutzen von bewährtem Protokoll HTTP Fehlercodes, Caching, Content Negotiation, Unabhängiger Client durch einheitliche Schnittstelle Metainformationen notwendig Gewöhnungsbedürftiger Ansatz Folie 16 REST TechTalk > D. Seider > 15.01.2009
  17. 17. Zusammenfassung REST ist Architekturkonzept WWW liegt diesem Konzept zu Grunde REST-basierte Applikationen sind nicht neu REST-basierte Applikationen nutzen bewährtes Protokoll (HTTP) Standards und Implementierungen von REST-APIs Folie 17 REST TechTalk > D. Seider > 15.01.2009
  18. 18. Quellen und Verweise Quellen Dissertation von Roy Fielding Stefan Tilkov: A Brief Introduction to REST Stefan Tilkov: REST Anti-Patterns Java Magazin 01/09 JSR 311 Projekte Jersey RESTClient Folie 18 REST TechTalk > D. Seider > 15.01.2009
  19. 19. Fragen und Anregungen Folie 19 REST TechTalk > D. Seider > 15.01.2009

×