1 / 15

ReST

ReST. Universität zu Köln Historisch-kulturwissenschaftliche Informationsverarbeitung Reusable - Content SS 2013 Maria Wagner. Inhaltsverzeichnis. Allgemein Vorteile Grundprinzipen Architektur SOAP vs. ReST Beispiel ReST Server Antwort Javascript Nutzung Video Quellen .

dinh
Download Presentation

ReST

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ReST Universität zu Köln Historisch-kulturwissenschaftliche Informationsverarbeitung Reusable - Content SS 2013 Maria Wagner

  2. Inhaltsverzeichnis Allgemein Vorteile Grundprinzipen Architektur SOAP vs. ReST Beispiel ReST Server Antwort Javascript Nutzung Video Quellen

  3. Allgemein Einfacher Weg um die Interaktion zwischen zwei unabhängigen Systemen zu organisieren • RepresentationalState Transfer • Kommunikationsprotokoll • Seit 2005 gewinnt es an Populitarität • Inspiriert, Weiterführung, Basierend auf http • Anwendungsschicht- Protokoll  http

  4. Vorteile • Unabhängig vom Client Server • Plattformunabhängig • Sprachen unabhängig • Standard basieren auf http Basis • Kann auch mit firewalls benutzt werden • Barrierefreiheit • Anbindung an Fremdsprachen • Unabhängig installierbarer Komponeten • Skalierbarkeit • Reduzierte Networkstau: • Besserer Cache Support • Einfachere Anfrage und Antworten - System • Einfacheres Verständnis

  5. Grundprinzipen • Ressourcen mit eindeutiger Identifikation • Verknüpfungen/Hypermedia • Standardmethoden • Unterschiedliche Repräsentationen • Statuslose Kommunikation

  6. Architektur • GET: fragt die Repräsentation einer Ressource ab • POST: kann einer Ressource etwas hinzugefügt, updatetet, gelöscht werden. • PUT: Neue Ressourcen können mit PUT erzeugt oder der Inhalt bestehender Ressourcen kann mit PUT ersetzt werden. • DELETE: Ressourcen können mit DELETE gelöscht werden.  CRUD

  7. SOAP vs. ReST • SOAP = Briefumschlag vs. Rest = Postkarte • SOAP  web Service, das XML für Datentransfernutzt, um zwischen zwei Maschinen zu verbinden, benutzt man das einfache http

  8. Beispiel SOAP vs. ReST • SOAP: <?xml version="1.0"?> <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <soap:body pb="http://www.acme.com/phonebook"> <pb:GetUserDetails> <pb:UserID>12345</pb:UserID> </pb:GetUserDetails> </soap:Body> </soap:Envelope> • ReST: http://www.acme.com/phonebook/UserDetails/12345 • Komplexer: http://www.acme.com/phonebook/UserDetails?firstName=John&lastName=Doe

  9. ReST Server Antwort <parts-list> <partid="3322"> <name>ACME Boomerang</name> <desc> Usedby Coyote in <i>Zoom atthe Top</i>, 1962 </desc> <pricecurrency="usd" quantity="1">17.32</price> <uri>http://www.acme.com/parts/3322</uri> </part> <partid="783"> <name>ACME DehydratedBoulders</name> <desc> Usedby Coyote in <i>ScrambledAches</i>, 1957 </desc> <pricecurrency="usd" quantity="pack">19.95</price> <uri>http://www.acme.com/parts/783</uri> </part> </parts-list>

  10. Javascript: Anfrage Objekt functioncreateRequest() { varresult = null; if (window.XMLHttpRequest) { result= newXMLHttpRequest(); if (typeofxmlhttp.overrideMimeType != 'undefined') { result.overrideMimeType('text/xml'); } } elseif (window.ActiveXObject) { result = newActiveXObject("Microsoft.XMLHTTP"); } else{} returnresult; }

  11. Javascript: Callback varreq = createRequest(); // defined above // Create the callback: req.onreadystatechange = function() { if (req.readyState != 4) return; // Not there yet if (req.status != 200) { // Handle request failure here... return; } // Request successful, read the response varresp = req.responseText; // ... and use it as needed by your app. }

  12. Javascript: Anfrage req.open("GET", url, true); req.send(); Oder req.open("POST", url, true); req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); req.send(form-encoded request body);

  13. Nutzung

  14. Quellen http://rest.elkstein.org/ http://www.oio.de/public/xml/rest-webservices.htm http://de.wikipedia.org/wiki/Representational_State_Transfer http://dpunkt.de/leseproben/3574/3_Einfuehrung%20in%20REST.pdf http://www.oio.de/public/xml/rest-webservices.htm http://www.infoq.com/articles/rest-introduction

More Related