REST
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

REST

  • 2,593 views
Uploaded on

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

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

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
2,593
On Slideshare
2,587
From Embeds
6
Number of Embeds
2

Actions

Shares
Downloads
20
Comments
0
Likes
0

Embeds 6

http://www.slideshare.net 5
https://wiki.sistec.dlr.de 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. REST TechTalk Doreen Seider DLR-SC, Köln, 15.01.2009 Folie 1 REST TechTalk > D. Seider > 15.01.2009
  • 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. 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. 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. 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. REST Grundprinzipien am Beispiel WWW Zustandslose Client-Server-Kommunikation Server Clients Folie 6 REST TechTalk > D. Seider > 15.01.2009
  • 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. 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. 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. 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. 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. 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. 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. 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. REST Demonstration Jersey und RESTClient Folie 15 REST TechTalk > D. Seider > 15.01.2009
  • 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. 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. 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. Fragen und Anregungen Folie 19 REST TechTalk > D. Seider > 15.01.2009