Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Seminar Internet Technologien

Ähnliche Präsentationen


Präsentation zum Thema: "Seminar Internet Technologien"—  Präsentation transkript:

1 Seminar Internet Technologien
Web Services Einleitung Web Services XML-RPC SOAP REST Volker Weinhandl

2 Seminar Internet Technologien
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. Quelle:

3 Seminar Internet Technologien
Web Services Dienstleistung als ein Block ♦ Kunde benutzt Dienstleistung, die mit anderen Dienstleistungen spricht. ♦ Kunde muss nicht alle Schritte selbst erledigen. ♦ Anbieter arbeiten zusammen. Quelle:

4 Seminar Internet Technologien
Web Services Warum HTTP ? Hypertext Transfer Protokoll Weitverbreitteste Protokoll im Internet. Plattform unabhängig. Einfach strukturiert. Kompatibel mit Firewalls.

5 Seminar Internet Technologien
Web Services Warum XML ? Extensible Markup Language Einfach und flexibel. Plattform unabhängig. Text basiert.

6 XML-RPC Remote Procedure Calls (RPC)
Seminar Internet Technologien 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.

7 Seminar Internet Technologien
XML-RPC Verbindung

8 Seminar Internet Technologien
XML-RPC HTTP-Header • HTTP Anfrage (Aufruf über POST) POST /xmlrpc HTTP/1.0 User-Agent: Client Host: Content-Type: text/xml Content-length: 167

9 XML-RPC Methodenaufruf
Seminar Internet Technologien XML-RPC Methodenaufruf <?xml version="1.0" encoding="UTF-8"?> <methodCall> <methodName>ausgabe</methodName> <params> <param> <value> <string>Technologie</string> </value> </param> </params> </methodCall>

10 Seminar Internet Technologien
XML-RPC HTTP-Header • HTTP Antwort HTTP/ OK Date: Mon. 07 Jan :30:27 GMT Server: Server (Betriebssystem) Connection: close Content-Type: text/xml Content-length: 154

11 XML-RPC Rückgabewerte
Seminar Internet Technologien XML-RPC Rückgabewerte <?xml version="1.0" encoding="UTF-8"?> <methodResponse> <params> <param> <value> <string>Internet Technologie</string> </value> </param> </params> </methodResponse>

12 Seminar Internet Technologien
XML-RPC Datentypen Einfache Datentypen integer, double, String, boolean, dateTime, Base64 Komplexe Datentypen Array, Struktur

13 Seminar Internet Technologien
XML-RPC Beispiel: XML-RPC Client in Java import 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 (“

14 Seminar Internet Technologien
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());

15 Seminar Internet Technologien
XML-RPC Beispiel: XML-RPC Client in Java meerkat.getChannels meerkat.getCategories meerkat.getCategoriesBySubstring meerkat.getCategoriesByCategory meerkat.getChannelsBySubstring meerkat.getItems system.listMethods system.methodHelp system.methodSignature

16 Seminar Internet Technologien
XML-RPC TCP-Monitor von Axis Quelle:

17 Seminar Internet Technologien
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.

18 SOAP Nachrichten Arten
Seminar Internet Technologien SOAP Nachrichten Arten Anfrage Empfänger Sender Antwort Nachricht Sender Empfänger Empfänger 1 Sender Nachricht Empfänger 2

19 Seminar Internet Technologien
SOAP Übermittlung Intermediäre werden anhand ihrer URI identifiziert. Sie leiten die SOAP Nachricht über mehrere HTTP Verbindungen weiter. Quelle:

20 SOAP Nachrichten Aufbau
Seminar Internet Technologien SOAP Nachrichten Aufbau Transportprotokoll (HTTP etc.) SOAP-Envelope SOAP-Header SOAP-Body

21 Seminar Internet Technologien
SOAP HTTP Header • HTTP Anfrage (Aufruf über POST) POST /StockQuote HTTP/1.1 Host: Content-Type: text/xml; charset=“UTF-8“ Content-Length: 394 SOAPAction: “

22 Seminar Internet Technologien
SOAP SOAP Envelope <?xml version=“1.0“ encoding=“UTF-8“?> <SOAP-ENV:Envelope xmlns:SOAP-ENV= soap/envelope/“ SOAP-ENV:encodingStyle=

23 Seminar Internet Technologien
SOAP SOAP Body <SOAP-ENV:Body> <m:GetLastTradePrice xmlns:m=“Some-URI“> <symbol>DIS</symbol> </m:GetLastTradePrice> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

24 Seminar Internet Technologien
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.

25 Seminar Internet Technologien
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.

26 Seminar Internet Technologien
SOAP SOAP Header Bsp: Festlegung eines Zwischenknotens mit actor <SOAP-ENV:Header> actor=“ </SOAP-ENV:Header> Verfügt keiner der Header Einträge über das Attribut actor, so wird die Nachricht direkt an die Zieladresse gesendet.

27 Seminar Internet Technologien
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>

28 REST Representational State Transfer
Seminar Internet Technologien 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.

29 Seminar Internet Technologien
REST HTTP Verbindung Die Kommunikation zwischen Client und Webserver erfolgt durch den Austausch von HTTP-Nachrichten. Diese Nachrichten übertragen die Anfragen und Antworten zwischen Client und Server.

30 Seminar Internet Technologien
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.

31 Seminar Internet Technologien
REST HTTP Methoden Mit DELETE löscht der Client Daten auf dem Server. Damit steht ein kleiner aber leistungsfähiger Sprachumfang zur Verfügung.

32 Seminar Internet Technologien
REST REST Begriffe Ressourcen  Web Seiten, Bilder, Scripte  werden über URIs angesprochen Nachrichten  Übertragung sämtlicher Dokumenttypen (gif, html, xml, pdf, .. )

33 Seminar Internet Technologien
REST REST Begriffe Bsp: Abfragen eines Kontostands: GET Als Ergebnis eines solchen GETs wird ein Objekt (z.B. eine XML-Darstellung des Hauptkontos) zurückgeliefert.

34 Seminar Internet Technologien
REST REST Begriffe Mögliche Antwort: XML-Datei <konto> <inhaber>Dagobert Duck</inhaber> <unterkonten> <unterkonto xlink:href=" Giro</unterkonto> <unterkonto xlink:href=“ Spar</unterkonto> </unterkonten> </konto>

35 Seminar Internet Technologien
REST REST Begriffe Wählt der Benutzer als nächstes das Girokonto, so werden diese Informationen durch den Aufruf der folgenden URI geliefert: GET

36 Seminar Internet Technologien
REST REST Begriffe Das Ergebnis des Aufrufs ist die aktuelle Darstellung des spezifischen Kontos <kontoinfo typ="giro"> <saldo>4000 H</saldo> <funktion xlink:href=" </funktion> </kontoinfo>

37 Seminar Internet Technologien
Ende Noch Fragen ? Quellen: Tobias Hauser: Web Services


Herunterladen ppt "Seminar Internet Technologien"

Ähnliche Präsentationen


Google-Anzeigen