REST
TechTalk


Doreen Seider
DLR-SC, Köln, 15.01.2009




                                                         Folie ...
Gliederung


  Theorie
       REST – Was? Was nicht? Woher? Wohin?

  Praxis
       REST-basierte Applikationen
       JSR...
REST – Theorie
Was ist REST?

  REST ist eine Alternative für SOAP Web Services ...?
  REST ist HTTP-basiert ...?
  REST i...
REST
Definition

   REpresentational State Transfer
   Geprägt 2000 in Dissertation von Roy Fielding
       “Architectural...
REST
Architektur des WWW

  Basisstandards: HTTP, URL, HTML
  Erfüllung der REST-Grundprinzipien

  = REST-basiert




   ...
REST
Grundprinzipien am Beispiel WWW

  Zustandslose Client-Server-Kommunikation




                                     ...
REST
Grundprinzipien am Beispiel WWW

  Eindeutig identifizierbare Ressourcen
       Uniform Resource Locator (URL)

    h...
REST
Grundprinzipien am Beispiel WWW

  Einheitliche Schnittstelle
       HTTP-Request-Methoden
              GET – Abrufe...
REST
Grundprinzipien am Beispiel WWW

  Einheitliche Schnittstelle




                   Quelle: http://www.infoq.com/art...
REST
Grundprinzipien am Beispiel WWW

  Repräsentation(en) von Ressourcen
       Felder Accept und Content-Type im HTTP-He...
REST
Grundprinzipien am Beispiel WWW

  Hypermedia
      Verknüpfung identifizierbarer Ressourcen (WWWeb)
      URL von Re...
REST – Praxis
REST-basierte Applikationen

   Erfüllen Grundprinzipien von REST
   Sind meist HTTP-basiert (auf Grund von ...
REST
JSR 311 oder JAX-RS

  The Java API for RESTful Web Services
  Ziel: Vereinfachung der Umsetzung von REST-Prinzipien
...
REST
Jersey

   Situation
         Client – [GET, PUT, POST, DELETE, ...] URL
         Server – Applikationslogik (in Java...
REST
Demonstration

   Jersey und RESTClient




                                                       Folie 15
         ...
REST-basierte WS vs. WS mit XML
Fakten

  WS mit XML
      Protokollunabhängig (aber fast immer SOAP mit HTTP)
      Tunne...
Zusammenfassung


  REST ist Architekturkonzept
  WWW liegt diesem Konzept zu Grunde


  REST-basierte Applikationen sind ...
Quellen und Verweise


  Quellen
       Dissertation von Roy Fielding
       Stefan Tilkov: A Brief Introduction to REST
 ...
Fragen und Anregungen




                                                    Folie 19
                        REST TechTa...
Nächste SlideShare
Wird geladen in …5
×

REST

2.009 Aufrufe

Veröffentlicht am

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

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

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

×