volker weinhandl1 web services einleitung web services xml-rpc soap rest seminar internet...
TRANSCRIPT
![Page 1: Volker Weinhandl1 Web Services Einleitung Web Services XML-RPC SOAP REST Seminar Internet Technologien](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6749795902118bce32/html5/thumbnails/1.jpg)
Volker Weinhandl 1
Web Services
Einleitung Web Services XML-RPC SOAP REST
Seminar Internet Technologien
![Page 2: Volker Weinhandl1 Web Services Einleitung Web Services XML-RPC SOAP REST Seminar Internet Technologien](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6749795902118bce32/html5/thumbnails/2.jpg)
2
Web Services
Basis Browser, manuelle Interaktion
♦ Kunde benutzt verschiedene Dienstleistungen, zum Kauf von Produkten.
♦ Kunden interpretiert Ergebnisse und schlussfolgert nächsten Schritt.
♦ Anbieter sind unabhängig von einander.
Seminar Internet Technologien
Quelle: www.uni-kassel.de
![Page 3: Volker Weinhandl1 Web Services Einleitung Web Services XML-RPC SOAP REST Seminar Internet Technologien](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6749795902118bce32/html5/thumbnails/3.jpg)
3
Web Services
Dienstleistung als ein Block
♦ Kunde benutzt Dienstleistung, die mit anderen Dienstleistungen spricht.
♦ Kunde muss nicht alle Schritte selbst erledigen.
♦ Anbieter arbeiten zusammen.
Seminar Internet Technologien
Quelle: www.uni-kassel.de
![Page 4: Volker Weinhandl1 Web Services Einleitung Web Services XML-RPC SOAP REST Seminar Internet Technologien](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6749795902118bce32/html5/thumbnails/4.jpg)
4
Web Services
Warum HTTP ?Hypertext Transfer Protokoll
Weitverbreitteste Protokoll im Internet. Plattform unabhängig. Einfach strukturiert. Kompatibel mit Firewalls.
Seminar Internet Technologien
![Page 5: Volker Weinhandl1 Web Services Einleitung Web Services XML-RPC SOAP REST Seminar Internet Technologien](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6749795902118bce32/html5/thumbnails/5.jpg)
5
Web Services
Warum XML ?Extensible Markup Language
Einfach und flexibel. Plattform unabhängig. Text basiert.
Seminar Internet Technologien
![Page 6: Volker Weinhandl1 Web Services Einleitung Web Services XML-RPC SOAP REST Seminar Internet Technologien](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6749795902118bce32/html5/thumbnails/6.jpg)
6
XML-RPC Remote Procedure Calls (RPC)
Entwicklung Anfang 1998 von Dave Winer. Idee aus dem Ansatz, XML und HTTP zu
verbinden, um XML Nachrichtenübermittlung über das Internet zu schaffen.
Erste Version April 1998. Microsoft übernahm Teile von XML-RPC und
formte daraus SOAP.
Seminar Internet Technologien
![Page 7: Volker Weinhandl1 Web Services Einleitung Web Services XML-RPC SOAP REST Seminar Internet Technologien](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6749795902118bce32/html5/thumbnails/7.jpg)
7
XML-RPC Verbindung
Seminar Internet Technologien
![Page 8: Volker Weinhandl1 Web Services Einleitung Web Services XML-RPC SOAP REST Seminar Internet Technologien](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6749795902118bce32/html5/thumbnails/8.jpg)
8
XML-RPC HTTP-Header
• HTTP Anfrage (Aufruf über POST)
POST /xmlrpc HTTP/1.0 User-Agent: ClientHost: 192.168.0.0Content-Type: text/xmlContent-length: 167
Seminar Internet Technologien
![Page 9: Volker Weinhandl1 Web Services Einleitung Web Services XML-RPC SOAP REST Seminar Internet Technologien](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6749795902118bce32/html5/thumbnails/9.jpg)
9
XML-RPC Methodenaufruf
<?xml version="1.0" encoding="UTF-8"?><methodCall> <methodName>ausgabe</methodName> <params> <param> <value> <string>Technologie</string> </value> </param> </params></methodCall>
Seminar Internet Technologien
![Page 10: Volker Weinhandl1 Web Services Einleitung Web Services XML-RPC SOAP REST Seminar Internet Technologien](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6749795902118bce32/html5/thumbnails/10.jpg)
10
XML-RPC HTTP-Header
• HTTP Antwort
HTTP/1.1 200 OK Date: Mon. 07 Jan 2008 14:30:27 GMTServer: Server (Betriebssystem)Connection: closeContent-Type: text/xmlContent-length: 154
Seminar Internet Technologien
![Page 11: Volker Weinhandl1 Web Services Einleitung Web Services XML-RPC SOAP REST Seminar Internet Technologien](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6749795902118bce32/html5/thumbnails/11.jpg)
11
XML-RPC Rückgabewerte
<?xml version="1.0" encoding="UTF-8"?><methodResponse> <params> <param> <value> <string>Internet Technologie</string> </value> </param> </params></methodResponse>
Seminar Internet Technologien
![Page 12: Volker Weinhandl1 Web Services Einleitung Web Services XML-RPC SOAP REST Seminar Internet Technologien](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6749795902118bce32/html5/thumbnails/12.jpg)
12
XML-RPC Datentypen
Einfache Datentypen integer, double, String, boolean, dateTime, Base64
Komplexe Datentypen Array, Struktur
Seminar Internet Technologien
![Page 13: Volker Weinhandl1 Web Services Einleitung Web Services XML-RPC SOAP REST Seminar Internet Technologien](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6749795902118bce32/html5/thumbnails/13.jpg)
13
XML-RPC
Beispiel: XML-RPC Client in Javaimport java.util.*; import org.apache.xml.rpc.*;
public class XMLRPCTestClient { public static void main(String [] args) { try { // Name der aufzurufenden Prozedur String MethodName = „System.listMethods"; // Initialisierung XML-RPC Clients
XmlRpcClient xmlrpc = new XmlRpcClient (“http://www.oreillynet.com/meerkat/...);
Seminar Internet Technologien
![Page 14: Volker Weinhandl1 Web Services Einleitung Web Services XML-RPC SOAP REST Seminar Internet Technologien](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6749795902118bce32/html5/thumbnails/14.jpg)
14
XML-RPC
//Aufruf der entfernten Methode Vector result = (Vector) xmlrpc.execute(MethodName, params);
//Ausgabe der Ergebnisse for(int i=0; i<result.size(); i++){ System.out.println(result.elementAt(i));
} } catch (Exception e) { System.err.println(e.toString()); } } }
Seminar Internet Technologien
![Page 15: Volker Weinhandl1 Web Services Einleitung Web Services XML-RPC SOAP REST Seminar Internet Technologien](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6749795902118bce32/html5/thumbnails/15.jpg)
15
XML-RPC
Beispiel: XML-RPC Client in Java
meerkat.getChannelsmeerkat.getCategoriesmeerkat.getCategoriesBySubstring meerkat.getCategoriesByCategorymeerkat.getChannelsBySubstringmeerkat.getItemssystem.listMethodssystem.methodHelpsystem.methodSignature
Seminar Internet Technologien
![Page 16: Volker Weinhandl1 Web Services Einleitung Web Services XML-RPC SOAP REST Seminar Internet Technologien](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6749795902118bce32/html5/thumbnails/16.jpg)
16
XML-RPC
TCP-Monitorvon Axis
Seminar Internet Technologien
Quelle: www.teialehrbuch.de
![Page 17: Volker Weinhandl1 Web Services Einleitung Web Services XML-RPC SOAP REST Seminar Internet Technologien](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6749795902118bce32/html5/thumbnails/17.jpg)
17
SOAP
SOAP wurde von XML-RPC abgeleitet. Entwickelt von Microsoft, IBM und anderen
Firmen. Erste Version SOAP 1.1 im April 2000 beim W3C
eingereicht. Zweite Version SOAP 1.2 wurde im Juni 2003
vom W3C zur Empfehlung. SOAP ist ab Version 1.2 kein Akronym mehr,
sondern steht einfach für sich selbst.
Seminar Internet Technologien
![Page 18: Volker Weinhandl1 Web Services Einleitung Web Services XML-RPC SOAP REST Seminar Internet Technologien](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6749795902118bce32/html5/thumbnails/18.jpg)
18
SOAP Nachrichten Arten
Sender
Sender
Sender
Empfänger
Empfänger
Empfänger 1
Empfänger 2
Anfrage
Antwort
Nachricht
Nachricht
Seminar Internet Technologien
![Page 19: Volker Weinhandl1 Web Services Einleitung Web Services XML-RPC SOAP REST Seminar Internet Technologien](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6749795902118bce32/html5/thumbnails/19.jpg)
19
SOAP Übermittlung
Intermediäre werden anhand ihrer URI identifiziert. Sie leiten die SOAP Nachricht über mehrere HTTP Verbindungen weiter.
Seminar Internet Technologien
Quelle: www.uni-kassel.de
![Page 20: Volker Weinhandl1 Web Services Einleitung Web Services XML-RPC SOAP REST Seminar Internet Technologien](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6749795902118bce32/html5/thumbnails/20.jpg)
20
SOAP Nachrichten Aufbau
Transportprotokoll (HTTP etc.)
SOAP-Envelope
SOAP-Header
SOAP-Body
Seminar Internet Technologien
![Page 21: Volker Weinhandl1 Web Services Einleitung Web Services XML-RPC SOAP REST Seminar Internet Technologien](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6749795902118bce32/html5/thumbnails/21.jpg)
21
SOAP HTTP Header
• HTTP Anfrage (Aufruf über POST)
POST /StockQuote HTTP/1.1Host: www.Stockquoteserver.comContent-Type: text/xml; charset=“UTF-8“Content-Length: 394SOAPAction: “www.aktien.de/transaktion#buy“
Seminar Internet Technologien
![Page 22: Volker Weinhandl1 Web Services Einleitung Web Services XML-RPC SOAP REST Seminar Internet Technologien](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6749795902118bce32/html5/thumbnails/22.jpg)
22
SOAP SOAP Envelope
<?xml version=“1.0“ encoding=“UTF-8“?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV=http://schemas.xmlsoap.org/
soap/envelope/“ SOAP-ENV:encodingStyle= http://schemas.xmlsoap.org/soap/encoding/>
Seminar Internet Technologien
![Page 23: Volker Weinhandl1 Web Services Einleitung Web Services XML-RPC SOAP REST Seminar Internet Technologien](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6749795902118bce32/html5/thumbnails/23.jpg)
23
SOAP SOAP Body
<SOAP-ENV:Body> <m:GetLastTradePrice xmlns:m=“Some-URI“> <symbol>DIS</symbol> </m:GetLastTradePrice> </SOAP-ENV:Body></SOAP-ENV:Envelope>
Seminar Internet Technologien
![Page 24: Volker Weinhandl1 Web Services Einleitung Web Services XML-RPC SOAP REST Seminar Internet Technologien](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6749795902118bce32/html5/thumbnails/24.jpg)
24
SOAP SOAP Header
Der SOAP Header ist optional.
Er ermöglicht einem Client, die serverseitige Verarbeitung der jeweiligen Nachricht genauer zu steuern.
Drei mögliche Header Attribute werden durch SOAP vorgegeben.
Seminar Internet Technologien
![Page 25: Volker Weinhandl1 Web Services Einleitung Web Services XML-RPC SOAP REST Seminar Internet Technologien](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6749795902118bce32/html5/thumbnails/25.jpg)
25
SOAP SOAP Header
actor enthält einen URI, der angibt, für welchen Surver auf dem Nachrichtenpfad der Eintrag bestimmt ist.
encodingStyle definiert die Datentypen, die für diesen Header verwendet werden können.
mustUnderstand spezifiziert ob der Eintrag verarbeitet werden muss.
Ist der Wert 1, dann darf der bestimmte Empfänger nicht ignorieren.
Ist der Wert 0, so ist die Verarbeitung der SOAP Nachricht trotzdem möglich.
Seminar Internet Technologien
![Page 26: Volker Weinhandl1 Web Services Einleitung Web Services XML-RPC SOAP REST Seminar Internet Technologien](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6749795902118bce32/html5/thumbnails/26.jpg)
26
SOAP SOAP Header
Bsp: Festlegung eines Zwischenknotens mit actor
<SOAP-ENV:Header> actor=“http://yourServer.com“></SOAP-ENV:Header>
Verfügt keiner der Header Einträge über das Attribut actor, so wird die Nachricht direkt an die Zieladresse gesendet.
Seminar Internet Technologien
![Page 27: Volker Weinhandl1 Web Services Einleitung Web Services XML-RPC SOAP REST Seminar Internet Technologien](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6749795902118bce32/html5/thumbnails/27.jpg)
27
SOAP SOAP Header
Bsp: Verwendung von mustUnderstand
<SOAP-ENV:Header> <t:Transaction xmlns:t=“Some-URI“ SOAP-ENV:mustUnderstand=“1“> 5 </t:Transaction></SOAP-ENV:Header>
Seminar Internet Technologien
![Page 28: Volker Weinhandl1 Web Services Einleitung Web Services XML-RPC SOAP REST Seminar Internet Technologien](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6749795902118bce32/html5/thumbnails/28.jpg)
28
REST Representational State Transfer
Der Begriff stammt aus der Dissertation von Roy Fielding aus dem Jahr 2000.
Roy Fielding ist einer der Hauptautoren der Spezifikation des Hypertext-Transfer-Protokolls (HTTP).
Ziel von REST ist es, durch eine Rückbesinnung auf grundlegende Web-Technologien die Implementierung verteilter, web-basierter Systeme zu vereinfachen.
Seminar Internet Technologien
![Page 29: Volker Weinhandl1 Web Services Einleitung Web Services XML-RPC SOAP REST Seminar Internet Technologien](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6749795902118bce32/html5/thumbnails/29.jpg)
29
REST HTTP Verbindung
Die Kommunikationzwischen Client und Webserver erfolgt durchden Austausch vonHTTP-Nachrichten. Diese Nachrichtenübertragen die Anfragenund Antworten zwischenClient und Server.
Seminar Internet Technologien
![Page 30: Volker Weinhandl1 Web Services Einleitung Web Services XML-RPC SOAP REST Seminar Internet Technologien](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6749795902118bce32/html5/thumbnails/30.jpg)
30
REST HTTP Methoden
Mit GET fordert der Client Daten vom Server an.
Mit POST werden neue Daten/Ressourcen auf dem Server abgelegt.
Mit PUT werden vorhandene Daten aktualisiert oder untergeordnete Ressourcen ergänzt.
Seminar Internet Technologien
![Page 31: Volker Weinhandl1 Web Services Einleitung Web Services XML-RPC SOAP REST Seminar Internet Technologien](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6749795902118bce32/html5/thumbnails/31.jpg)
31
REST HTTP Methoden
Mit DELETE löscht der Client Daten auf dem Server.
Damit steht ein kleiner aber leistungsfähiger Sprachumfang zur Verfügung.
Seminar Internet Technologien
![Page 32: Volker Weinhandl1 Web Services Einleitung Web Services XML-RPC SOAP REST Seminar Internet Technologien](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6749795902118bce32/html5/thumbnails/32.jpg)
32
REST REST Begriffe
Ressourcen Web Seiten, Bilder, Scripte werden über URIs angesprochen
Nachrichten Übertragung sämtlicher Dokumenttypen (gif, html, xml, pdf, .. )
Seminar Internet Technologien
![Page 33: Volker Weinhandl1 Web Services Einleitung Web Services XML-RPC SOAP REST Seminar Internet Technologien](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6749795902118bce32/html5/thumbnails/33.jpg)
33
REST REST Begriffe
Bsp:
Abfragen eines Kontostands: GET http://meinebank.de/engagement/1234450
Als Ergebnis eines solchen GETs wird ein Objekt (z.B. eine XML-Darstellung des Hauptkontos) zurückgeliefert.
Seminar Internet Technologien
![Page 34: Volker Weinhandl1 Web Services Einleitung Web Services XML-RPC SOAP REST Seminar Internet Technologien](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6749795902118bce32/html5/thumbnails/34.jpg)
34
REST REST Begriffe Mögliche Antwort: XML-Datei<konto> <inhaber>Dagobert Duck</inhaber> <unterkonten> <unterkonto xlink:href=" http://meinebank.de/engagement/1234450/30"> Giro</unterkonto> <unterkonto xlink:href=“ http://meinebank.de/engagement/1234450/40"> Spar</unterkonto> </unterkonten></konto>
Seminar Internet Technologien
![Page 35: Volker Weinhandl1 Web Services Einleitung Web Services XML-RPC SOAP REST Seminar Internet Technologien](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6749795902118bce32/html5/thumbnails/35.jpg)
35
REST REST Begriffe
Wählt der Benutzer als nächstes das Girokonto, so werden diese Informationen durch den Aufruf derfolgenden URI geliefert:
GET http://meinebank.de/engagement/1234450/30
Seminar Internet Technologien
![Page 36: Volker Weinhandl1 Web Services Einleitung Web Services XML-RPC SOAP REST Seminar Internet Technologien](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6749795902118bce32/html5/thumbnails/36.jpg)
36
REST REST Begriffe
Das Ergebnis des Aufrufs ist die aktuelle Darstellung des spezifischen Kontos
<kontoinfo typ="giro"><saldo>4000 H</saldo><funktion xlink:href="http://meinebank.de/engagement/1234450/30/bewegungen">Bewegungen
</funktion></kontoinfo>
Seminar Internet Technologien
![Page 37: Volker Weinhandl1 Web Services Einleitung Web Services XML-RPC SOAP REST Seminar Internet Technologien](https://reader035.vdocuments.mx/reader035/viewer/2022062512/55204d6749795902118bce32/html5/thumbnails/37.jpg)
37
Ende
Noch Fragen ?
Quellen: www.oio.de/public/xml/, www.drweb.de/programmierung/webservices.shtml, www.microsoft.com/germany/msdn/library/xmlwebservices/, www.akquinet.de/fileadmin/PDF_JASA/newsletter/REST-SOAP.pdf, www.torsten-horn.de/techdocs/soap.htm#WSDL, www.teia.deTobias Hauser: Web Services
Seminar Internet Technologien