Seminar Internet Technologien

Slides:



Advertisements
Ähnliche Präsentationen
HS-Projekt Friedrich Junge-Schule, Kl. 9c, 2011 Wie funktionieren Internet-Server? Web-Server auf eigener Domain und Game-Server für Internet-Spiele Teilnehmer:
Advertisements

DVG Dateien Dateien. DVG Dateien 2 Die Klasse File Die Klasse File stellt die Verbindung zwischen dem Filesystem des Rechners und dem.
Software Engineering Praktikum SS 2003
Software Engineering Praktikum WS 2002/03
DI Christian Donner cd (at) donners.com
Basis-Architekturen für Web-Anwendungen
SOAP Simple Object Access Protocol
Internetzugriff mit Strings und Streams
Java: Grundlagen der Sprache
Objektorientierte Programmierung JDK-Klassenbibliothek
Konzeption und Implementierung einer XML-RPC und SOAP Anbindung Praktikumsbericht von Martin Spindler.
Java-Kurs - 2. Übung Entwicklungsumgebung Struktur von Programmen
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
JAVA RMI.
Introducing the .NET Framework
Projektplan: Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
© 2005 Pohlig - Taulien Datenströme GK Informatik 1 Datenströme.
Seite Common Gateway Interface. Konzepte. Übersicht 1Einleitung 2Was ist CGI? 3Wozu wird CGI verwendet? 4Geschichtlicher Überblick 5Grundvoraussetzungen.
1 Grundlagen und Anwendung der Extensible Markup Language (XML ) Peter Buxmann Institut für Wirtschaftsinformatik Johann Wolfgang Goethe-Universität Frankfurt.
FH-Hof HTML - Einführung Richard Göbel. FH-Hof Komponenten des World Wide Webs WWW Browser HyperText Transfer Protocol (HTTP) via Internet WWW Server.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Welche Funktion hat die php.ini? -Beinhaltet wichtige Einstellungen für PHP. Genannt seien hier u.a. der Speicherort von Cookies, Parameter der Kompilierung,
Einführung Servlets/JSPs
Distributed Programming in.NET. Inhaltsverzeichnis 1) Einführung 2).NET Remoting 3) Web-Services 4) Vergleich.NET Remoting und Web- Services 5) Fazit.
Wir bauen uns eine Webapplikation!
Applets Java für’s Web.
Client-Server Modell Advanced IT Basics Nicolas Frings.
Die .NET Common Language Runtime
Die .NET Common Language Runtime
Learning By Doing TCP/IP Netzwerke mit TCP/IP Das Internet verwendet weitgehend das rund 30-jährige TCP/IP-Protokoll (TCP: Transmission Control Protocol,
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 12 Folie 2 Web Services (1)
Integration heterogener verteilter Systeme mit WS-BPEL – ein Praxisbeispiel Dr. Wolf-Dieter Heinrichs.
UNIVERSITÄT ZU KÖLN HISTORISCH-KULTURWISSENSCHAFTLICHE INFORMATIONSVERARBEITUNG REUSABLE - CONTENT SS 2013 MARIA WAGNER ReST.
Client-Server Systeme
Grundlagen: Client-Server-Modell
Das Client/Server – Modell und die XAMPP-Distribution
Julia Grabsch Florian Hillnhütter Fabian Riebschläger
Client Server Modell Universität zu Köln
IFB Speyer Daniel Jonietz dj 2 XAMPP - Was ist das? Paket mit: – X – Apache (Webserver) – MySQL oder SQLite (Datenbank) – Perl (Skriptsprache) –
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 13 Kapitel 4 Folie 2 REST Web Services (1)
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 2013 Kapitel 6 Folie 2 WCF Data Services (1) s.a.
Oliver Spritzendorfer Thomas Fekete
Optimale Ursprungsgerade
CuP - Java Vierte Vorlesung Entspricht ungefähr Kapitel 2.1 des Skriptums Montag, 14. Oktober 2002.
Mag. Andreas Starzer weloveIT – EDV Dienstleistungen
Einführung in Web Services Web Services in der Praxis
HTTP IT-Zertifikat Universität zu Köln Allgemeine Technologien II
Programmierung von Agenten in Java: Implementierung einer Supply-Chain
Programmiervorkurs WS 2014/15 Methoden
Client-Server-Modell
Voyager Eigenschaften/Vorzüge Universalität: –ROI-Modelle: CORBA, RMI, DCOM –verschiedene Namens-, Verzeichnisdienste Nachrichtentypen: synchron, oneway,
CuP - Java Achte Vorlesung Entspricht ungefähr Kapitel 4.1 des Skriptums Montag, 28. Oktober 2002.
SharePoint 2013 Web Services
SOAP.
->Prinzip ->Systeme ->Peer – to – Peer
Java-Kurs - 3. Übung Hausaufgabe Arrays For-Schleifen.
Funktionsweise von CMS
Internet-Grundtechnologien. Client / Server Client („Kunde“): fordert Information / Datei an im Internet: fordert Internetseite an, z.B.
© Zühlke 2013 Romano Roth Workshop 6 (ws6C) native Entwicklung für mobile Geräte Lektion 2: Service 18. February 2013 Folie 1 von 19.
Webserver Apache & Xampp Referenten: Elena, Luziano und Sükran
Internet - Grundbegriffe Unterlagen zum Kurs "Wie erstelle ich eine Homepage?"
Web Services Spezielle Methoden der SWT Liste V – WS 2008/2009 Christian Boryczewski.
Cloud Entwicklung: Web Services
© WZL/Fraunhofer IPT Eine Gegenüberstellung von Websockets und RESTful Web Services Seminarvortrag von Lucie Mades.
Webservices SOAP und REST Nicole Fronhofs 1. Betreuer: Prof. Dr. Volker Sander 2. Betreuer: B. Sc. Sebastian Olscher.
SOAP - WSDL Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung Prof. Dr. Manfred Thaller AM 2 Hauptseminar: Virtuelle.
Prof. Dr.-Ing. Franz-Josef Behr Geodaten und Datenmodell
Tutorstunde 10.
 Präsentation transkript:

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

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: www.uni-kassel.de

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: www.uni-kassel.de

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

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

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.

Seminar Internet Technologien XML-RPC Verbindung

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

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>

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

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>

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

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 (“http://www.oreillynet.com/meerkat/...);

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());

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

Seminar Internet Technologien XML-RPC TCP-Monitor von Axis Quelle: www.teialehrbuch.de

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.

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

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

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

Seminar Internet Technologien SOAP HTTP Header • HTTP Anfrage (Aufruf über POST) POST /StockQuote HTTP/1.1 Host: www.Stockquoteserver.com Content-Type: text/xml; charset=“UTF-8“ Content-Length: 394 SOAPAction: “www.aktien.de/transaktion#buy“

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

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.

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.

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.

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.

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

Seminar Internet Technologien 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 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 REST REST Begriffe Wählt der Benutzer als nächstes das Girokonto, so werden diese Informationen durch den Aufruf der folgenden URI geliefert: GET http://meinebank.de/engagement/1234450/30

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=" http://meinebank.de/engagement/1234450/30/bewegungen">Bewegungen </funktion> </kontoinfo>

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