Volker Weinhandl1 Web Services Einleitung Web Services XML-RPC SOAP REST Seminar Internet...

Click here to load reader

  • date post

    05-Apr-2015
  • Category

    Documents

  • view

    104
  • download

    0

Embed Size (px)

Transcript of Volker Weinhandl1 Web Services Einleitung Web Services XML-RPC SOAP REST Seminar Internet...

  • Folie 1
  • Volker Weinhandl1 Web Services Einleitung Web Services XML-RPC SOAP REST Seminar Internet Technologien
  • Folie 2
  • 2 Web Services Basis Browser, manuelle Interaktion Kunde benutzt verschiedene Dienstleistungen, zum Kauf von Produkten. Kunden interpretiert Ergebnisse und schlussfolgert nchsten Schritt. Anbieter sind unabhngig von einander. Seminar Internet Technologien Quelle: www.uni-kassel.de
  • Folie 3
  • 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
  • Folie 4
  • 4 Web Services Warum HTTP ? Hypertext Transfer Protokoll Weitverbreitteste Protokoll im Internet. Plattform unabhngig. Einfach strukturiert. Kompatibel mit Firewalls. Seminar Internet Technologien
  • Folie 5
  • 5 Web Services Warum XML ? Extensible Markup Language Einfach und flexibel. Plattform unabhngig. Text basiert. Seminar Internet Technologien
  • Folie 6
  • 6 XML-RPC Remote Procedure Calls (RPC) Entwicklung Anfang 1998 von Dave Winer. Idee aus dem Ansatz, XML und HTTP zu verbinden, um XML Nachrichtenbermittlung ber das Internet zu schaffen. Erste Version April 1998. Microsoft bernahm Teile von XML-RPC und formte daraus SOAP. Seminar Internet Technologien
  • Folie 7
  • 7 XML-RPC Verbindung Seminar Internet Technologien
  • Folie 8
  • 8 XML-RPC HTTP-Header HTTP Anfrage (Aufruf ber POST) POST /xmlrpc HTTP/1.0 User-Agent: Client Host: 192.168.0.0 Content-Type: text/xml Content-length: 167 Seminar Internet Technologien
  • Folie 9
  • 9 XML-RPC Methodenaufruf ausgabe Technologie Seminar Internet Technologien
  • Folie 10
  • 10 XML-RPC HTTP-Header HTTP Antwort HTTP/1.1 200 OK Date: Mon. 07 Jan 2008 14:30:27 GMT Server: Server (Betriebssystem) Connection: close Content-Type: text/xml Content-length: 154 Seminar Internet Technologien
  • Folie 11
  • 11 XML-RPC Rckgabewerte Internet Technologie Seminar Internet Technologien
  • Folie 12
  • 12 XML-RPC Datentypen Einfache Datentypen integer, double, String, boolean, dateTime, Base64 Komplexe Datentypen Array, Struktur Seminar Internet Technologien
  • Folie 13
  • 13 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 (http://www.oreillynet.com/meerkat/...); Seminar Internet Technologien
  • Folie 14
  • 14 XML-RPC //Aufruf der entfernten Methode Vector result = (Vector) xmlrpc.execute(MethodName, params); //Ausgabe der Ergebnisse for(int i=0; i
  • 22 SOAP SOAP Envelope Seminar Internet Technologien
  • Folie 23
  • 23 SOAP SOAP Body DIS Seminar Internet Technologien
  • Folie 24
  • 24 SOAP SOAP Header Der SOAP Header ist optional. Er ermglicht einem Client, die serverseitige Verarbeitung der jeweiligen Nachricht genauer zu steuern. Drei mgliche Header Attribute werden durch SOAP vorgegeben. Seminar Internet Technologien
  • Folie 25
  • 25 SOAP SOAP Header actor enthlt einen URI, der angibt, fr welchen Surver auf dem Nachrichtenpfad der Eintrag bestimmt ist. encodingStyle definiert die Datentypen, die fr diesen Header verwendet werden knnen. mustUnderstand spezifiziert ob der Eintrag verarbeitet werden muss. Ist der Wert 1, dann darf der bestimmte Empfnger nicht ignorieren. Ist der Wert 0, so ist die Verarbeitung der SOAP Nachricht trotzdem mglich. Seminar Internet Technologien
  • Folie 26
  • 26 SOAP SOAP Header Bsp: Festlegung eines Zwischenknotens mit actor actor=http://yourServer.com> Verfgt keiner der Header Eintrge ber das Attribut actor, so wird die Nachricht direkt an die Zieladresse gesendet. Seminar Internet Technologien
  • Folie 27
  • 27 SOAP SOAP Header Bsp: Verwendung von mustUnderstand 5 Seminar Internet Technologien
  • Folie 28
  • 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 Rckbesinnung auf grundlegende Web-Technologien die Implementierung verteilter, web-basierter Systeme zu vereinfachen. Seminar Internet Technologien
  • Folie 29
  • 29 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. Seminar Internet Technologien
  • Folie 30
  • 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 ergnzt. Seminar Internet Technologien
  • Folie 31
  • 31 REST HTTP Methoden Mit DELETE lscht der Client Daten auf dem Server. Damit steht ein kleiner aber leistungsfhiger Sprachumfang zur Verfgung. Seminar Internet Technologien
  • Folie 32
  • 32 REST REST Begriffe Ressourcen Web Seiten, Bilder, Scripte werden ber URIs angesprochen Nachrichten bertragung smtlicher Dokumenttypen (gif, html, xml, pdf,.. ) Seminar Internet Technologien
  • Folie 33
  • 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) zurckgeliefert. Seminar Internet Technologien
  • Folie 34 Spar Seminar "> Spar Seminar Internet Technologien"> Spar Seminar " title="34 REST REST Begriffe Mgliche Antwort: XML-Datei Dagobert Duck Giro
  • 34 REST REST Begriffe Mgliche Antwort: XML-Datei Dagobert Duck Giro
  • 36 REST REST Begriffe Das Ergebnis des Aufrufs ist die aktuelle Darstellung des spezifischen Kontos 4000 H Bewegungen http://meinebank.de/engagement/1234450/30/ bewegungen">Bewegungen Seminar Internet Technologien
  • Folie 37
  • 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.de Tobias Hauser: Web Services Seminar Internet Technologien