6. Web Services. Was sind Web Services?

Größe: px
Ab Seite anzeigen:

Download "6. Web Services. Was sind Web Services?"

Transkript

1 6. Web Services Inhalt: Begriff und Eigenschaften von Web-Services Serviceorientierte Architektur und Komponenten Protokolle SOAP-PHP-Beispiel Cloud-Computing 1 Was sind Web Services? Web Services stellen wohl definierte Dienste dar, die von Web- Applikationen im Internet von den Dienste-Anbietern abgerufen werden können. Es existieren bereits eine Anzahl von Anbietern, wie z.b. Google, Amazon, Salesforce, Microsoft-Azure. Definitionen: Die Web Services Architecture Arbeitsgruppe vom W3C definiert Web Services als "ein durch eine URI (nach RFC2396) identifiziertes Softwaresystem, dessen öffentliche Schnittstellen und Protokollbindungen durch XML definiert und beschrieben sind." 2

2 Was sind Web Services? Im Unternehmen Daimler-Chrysler wird meistens folgende Definition verwendet: "`A Web Service is a piece of server-side software that provides a certain functionality (as a black box) and is accessible through Internet protocols using XML/SOAP messages with a described and published interface (typically by means of WSDL). Those interface descriptions should be registered in a (global) registry such as UDDI."' 3 Service orientierte Software-Architektur (SOA) Im Software-Engineering sieht man darin eine Entwicklungsrichtung, die so genannte Service Orientierte Architektur (SOA). Im Gegensatz zu bisherigen Entwicklungen bei Web- Applikationen, wie die so genannte Middleware bei verteilten Systemen, z.b. Unix-RPC, RMI, CORBA oder DCOM, aber auch bei Browsern, HTML Versionen usw. ist der Bereich Web Services gegenwärtig noch durch eine relativ konstruktive und offene Kooperation führender IT-Firmen (Microsoft / IBM / SUN/ Oracle / HP / SAP / Software AG /... ) geprägt. Die bislang definierten Entwürfe und Standards basieren generell auf den Web-Basistechnologien (TCP/IP, http, XML) und sind offen für alle Anwender.< 4

3 Komponenten in einer SOA Bislang Middleware-Lösungen, oder auch an Sprachen angebundene verteilte Softwarelösungen. Es wurden nun Standards entwickelt, deren Architektur nicht mehr von verwendeter Middleware abhängt. Das Bild unten zeigt ein Anwendungsbeispiel mit Hauptkomponenten Quelle: S.Kühn, Skript zur Lehrveranstaltung IKS 5 Komponenten in einer SOA Webservice-Anbieter für WS (hier Flug buchen, Hotel buchen, Auto buchen), die auf Rechnerknoten im Internet entsprechende SOAP-Server jeweils für einen konkreten Service zur Verfügung stellen. SOAP steht für Simple Object Access Protocol. Nutzer für WS (hier Reise buchen) Als Nutzer eines WS treten hier immer Programme, also Software auf und keine Personen. Die Software kann natürlich eine Web-Anwendung sein, die auf der serverseitigen Skriptschicht einen entsprechenden SOAP-Client integriert hat. Der SOAP-Client schickt dann seine Anforderungen (Daten in XML-Dokument) an den SOAP-Server, der seine Antwortdaten dann ebenfalls als XML-Dokument sendet. Diese Daten müssen von der empfangenden Software verarbeitet werden. 6

4 Komponenten in einer SOA Beschreibung des WS über WSDL. WSDL steht für Web Service Description Language. Die WSDL-Datei ist eine XML-Datei, die den Webservice mit seiner Funktionsweise beschreibt. Sowohl der SOAP-Server als auch der SOAP-Client können sich über eine URL auf diese Beschreibung beziehen. Diese Variante muss nicht unbedingt benutzt werden. Es existieren für SOAP-Server und SOAP-Client die beiden Arbeitsregime: - non-wsdl-mode und - WSDL-Mode. Im non-wsdl-mode wird weder eine WSDL-Datei noch eine WS-Registratur (UDDI) genutzt. In diesem Fall müssen alle notwendigen Angaben im Client und Server vorhanden sein. 7 Protokoll zur Web-Service- Interaktion: Komponenten in einer SOA Pures HTTP mit Request und Response mittel GET oder POST SOAP Simple Object Access Protocol zählt eigentlich noch nicht zur Web-Service-Schicht. Man kann so aber schon WS programmieren. Großteil der SOA - Anwendungen benutzen SOAP. REST Representational State Transfer Alternative zu SOAP. Einfacher und kürzer, favorisiert zustandslose Dienste. 8

5 Komponenten in einer SOA Register der Web-Services (UDDI) UDDI- Universal Description, Discovery and Integration. UDDI ist XML-basiert und auch standardisiert. Webservice-Anbieter können hier ihre Dienste registrieren (WSDL-Datei wird gespeichert), damit sie von potentiellen Nutzern gefunden werden können. Im non-wsdl-mode wird diese Komponente nicht benötigt. Quellen: 9 Protokolle zur Web-Service-Interaktion Transport-Protokolle XML over HTTP SOAP REST HTTP HTTPS SSL TCP IP 10

6 XML über HTTP XML über HTTP: Der HTTP-Post-Request kann XML-Daten im Body transportieren. Beispiel: AJAX-Client ruft auf req.send( xml= +xmlstring ); AJAX-Client wertet Ergebnis des Request aus AJAX-Server-Webseite (PHP und SimpleXML) ruft auf $dom = new DOMDocument; $dom->loadxml($_post[xml]); // danach wird $dom ausgewertet // und ein neues Objekt $resultxml // aufgebaut $resultxml->savexml(); var xmlobj = req.responsexml; 11 SOAP (1) SOAP ist ein standardisiertes Protokoll, das über ein festgelegtes XML-Dateiformat (Envelope-Element) die Daten (Anforderungen an WS, Ergebnisdaten vom Server) zwischen Client und Webservice-Server austauscht. Als Transportprotokoll wird dabei im Internet http bzw. https benutzt. Da der SOAP-Client in der serverseitigen Skriptschicht integriert ist, müssen die jeweiligen SOAP-Implementierungen der benutzten Skriptsprachen, wie PHP, Perl usw. beachtet werden. 12

7 SOAP-WSDL (1) Verfügbare Web-Services werden in der Web Service Description Language (WSDL) beschrieben, die auf XML aufbaut. Ein WSDL-Dokument definiert: die Nachrichten, die ausgetauscht werden wie sie ausgetauscht werden wo der Service zu erreichen ist mit welchem Protokoll die Nachrichten ausgetauscht werden Bestandteile einer WSDL-Definition sind: Datentypdefinitionen für den Datenaustausch (<types>) Nachrichtendefinitionen (<message>) Porttypes zur Beschreibung der abstrakten Kommunikationsart (one-way, request-response, solicit response, notification) Bindings zur konkreten Definition des Austauschprotokolls(<bindings>) Services zur Zusammenfassung von mehreren Ports (<services>) P. Sobe 13 SOAP-WSDL (2) Der prinzipielle Aufbau eines WSDL-Dokumentes definitions service port binding < porttype message types Adresse unter der die Operation erreichbar ist Realisierung der Operation (Protokoll) Abstrakte Operation Abstrakte Nachricht Datentyp P.Sobe/R.Großmann 14

8 Beispiel-Anwendung Beispiel: Ein Thermometer-Service, der für verschiedene angfragte Positionen Temperaturwerte für innen und außen (inside/outside) zurückgibt. Temperatursensor Suedseite Temperatursensor Nordseite Temperatursensor Eingang Client / Service Interaktion: 15 SOAP-WSDL (3) WSDL: <definitions name="temperatureservice" targetnamespace="http://myhome.net/temperatureservice.wsdl"...> <types> <schema targetnamespace="http://myhome.net/temperatureservice.xsd xmlns="http://www.w3.org/2001/xmlschema"> <element name="temperaturerequest"> <complextype> <all> <element name="position" type="string"/> </all> </complextype> </element> <element name="temperatureresponse"> <complextype> <all> <element name="inside" type="float"/> <element name="outside" type="float"/> </all> </complextype> </element> </schema> </types> 16

9 SOAP-WSDL (4) WSDL Fortsetzung: <message name="inputmsg"> <part name="body" element="temperaturerequest"/> </message> <message name="outputmsg"> <part name="body" element="temperatureresponse"/> </message> <porttype name="temperporttype"> <operation name="gettemperature"> <input message="tns:inputmsg"> <output message="tns:outputmsg"> </operation> </porttype> 17 SOAP-WSDL (5) WSDL Fortsetzung: <binding name="temperaturebinding" type="tns:temperporttype"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="gettemperature"> <soap:operation soapaction="http://myhome.net/gettemperature"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </binding> <sevice name="temperatureservice"> <documentation> A thermometer at position returns inside and outside value</documentation> <port name="temperposttype" binding="tns:temeraturebinding"> <soap:address location="http://myhome.net/temperaturservice"\> </port> </service> <\definitions> 18

10 SOAP-WSDL (6) Nachrichtenaustauschmuster (MEP, message exchange patterns), die folgenden 4 verschiedenen MEPs sind in WSDL 1.1 definiert Einweg (one way): <wsdl:operation name= > <wsdl:input message= /> </wsdl:operation> Benachrichtigung (notification): <wsdl:operation name= > <wsdl:output message= /> </wsdl:operation> Anfrage-Antwort (request response): <wsdl:operation name= > <wsdl:input message= /> <wsdl:output message= /> </wsdl:operation> Benachrichtigung-Antwort (notification-response): <wsdl:operation name= > <wsdl:output message= /> <wsdl:input message= /> </wsdl:operation> 19 SOAP-WSDL (7) Keine komplexen Interaktionsmuster Ein Beispiel für eine nicht erlaubte Interaktion: Buchungsanfrage an eine Hotelvermittlung Bestätigung der Anfrage Rückgabe von Hotelnamen (Benachrichtigung) 20

11 SOAP-Nachrichten (1) 21 SOAP-Nachrichten (2) Request via SOAP (mit SOAP envelope) <?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> <TemperatureRequest xmlns="http://myhome.net/temperatureservice.xsd"> <Authorization>1D9F7DD3</Authorization> <position> Eingang" </position> </TemperatureRequest> </soap:body> </soap:envelope> 22

12 Response via SOAP SOAP Nachrichten (3) <?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> <TemperatureResponse xmlns="hppt://myhome.net/temperatureservice.xsd"> <inside>23.1</inside> <outside>17.6</outside> <Signature>Iuv33HeZ73</Signature> </TemperatureResponse> </soap:body> </soap:envelope> 23 REST (1) REST - Representational state transfer Bei REST werden die Daten ohne eine zusätzliches Transportformat (vgl. SOAP) via HTTP transportiert REST ist das favorisierte Transportprotokoll für s.g. RESTful Services RESTful web services sind zustandslos, d.h. Services speichern nicht den Zustand des Clients der Client kann aber nach jeder Interaktion in eine neuen Zustand versetzt Ressourcen können den Zustand ändern Protokoll arbeitet stets nach gleichem Interaktionsmuster: Request, Response, Ende Jeder Request muss alle notwendigen Informationen beinhalten Eine Authentifizierung wird bei jedem Request immer wieder neu benötigt. 24

13 REST (2) REST -Fortsetzung RESTful ist ein architectural constraint, es muss nicht zwingend eingehalten werden RESTful bezieht sich auf Ressourcen - diese Ressourcen werden durch s.g. idempotente Operationen manipuliert Ressourcen-orientierte Operationen: GET selektiere eine Ressource, Lesen und Rückgabe von Daten POST Ändern einer Ressource PUT Zufügen einer neuen Ressource DELETE Löschen einer Ressource 25 REST (3) Request via REST GET HTTP/1.1 Host:... Date:... Authorization: 1D9F7DD3 Response via REST/XML <?xml version=1.0 encoding="utf-8"?> <temperatureresponsexmlns="http://myhome.net/temperatureservice.xsd"> <inside> 23.1 </inside> <outside> 17.6</outside> </temperatureresponse> 26

14 REST (4) Idempotente Operationen solche Operationen, die unabhängig wie oft sie mit den gleichen Daten wiederholt werden, immer zu den gleichen Ergebnissen führen. REST-Operationen: GET holt eine Ressource, muss ohne Seiteneffekte funktionieren, kann im Cache gehalten werden. POST erzeugt eine neue Ressource, potentiell unsicher PUT verändert eine existierende Ressource, wird auch zum Erzeugen einer Ressource verwendet, mehrfacher Aufruf hat gleiches Ergebnis wie ein einmaliger Aufruf (idempotent) DELETE löscht eine Ressource, mehrfacher Aufruf hat gleiches Ergebnis wie ein einmaliger Aufruf (idempotent) 27 REST (5) ressourcenorientierter Thermometer-Service: GET /temperaturservice/ Host: myhome.net/ liefert Werte aller Temperatursensoren <temperatureresponse> <position> <id>eingang</id> <inside> 23.1 </inside> <outside> 17.6</outside> </position> <position> <id>nordseite</id> <inside> 22.0 </inside> <outside> 15.1</outside> </position> </temperatureresponse> 28

15 REST (6) Ressourcen-orientierter Thermometer-Service (Fortsetzung): GET /temperaturservice/eingang Host: myhome.net/ liefert Wert der Ressource Eingang <temperatureresponse> <position> <id>eingang</id> <inside> 23.1 </inside> <outside> 17.6</outside> </position> </temperatureresponse> 29 REST (7) Ressourcen-orientierter Thermometer-Service (Fortsetzung): DELETE /temperaturservice/eingang Host: myhome.net/ löscht Ressource Eingang GET /temperaturservice/eingang Host: myhome.net/ <temperatureresponse> <position> <id>eingang</id> <error> ressource does not exist </error> </position> </temperatureresponse> 30

16 REST (8) Ressourcen-orientierter Thermometer-Service (Fortsetzung): POST /temperaturservice/ Host: myhome.net/ <position> <id/> <desc>dach, Sued</desc> </position> erzeugt eine neue Ressource Dach-Suedseite Antwort: <position> <id>dach-suedseite</id> <desc>dach, Sued</desc> </position> Danach kann Ressource mit GET /temperaturservice/dach-suedseite abgefragt werden. 31 SOAP-PHP ist ein Modul, das innerhalb von PHP-Webseiten verschiedene SOAP-Server und SOAP-Clients ermöglicht. Das Zusammenstellen der SOAP-Envelope-Nachrichten ist dabei automatisiert und wird in den Methoden der SOAP-PHP-Klassen erledigt. Diese Implementierung stützt sich auf folgende Klassen: - SoapClient - SoapServer - SoapFault - SoapHeader - SoapParam - SoapVar SOAP-PHP (1) Eine SOAP-PHP-Klassenbeschreibung findet man unter P. Sobe/ R. Großmann 32

17 SOAP-PHP (2) P. Sobe/ R. Grossmann 33 SOAP-PHP (3) Ein SOAP-Beispiel im non-wsdl-mode ein Minimalbeispiel, das schrittweise weiter ausgebaut werden kann. eine Demonstration der beiden wichtigsten Klassen SoapServer und SoapClient mit ihren wichtigsten Methoden Funktionen des Servers: 1. auf die Client-Anforderung "Start" soll der Server die Antwort "Der WS arbeitet!" senden 2. auf die Client-Anforderung "Ende" soll der Server die Antwort "Der WS beendet den Dienst!" senden Für den SOAP-Server muss eine Instanz der Klasse SoapServer erzeugt werden: SoapServer( mixed $wsdl [, array $options ] ) Der Konstruktor erlaubt das Erzeugen eines SoapServer-Objekts in WSDL- oder nicht P. Sobe/ R. Grossmann 34

18 SOAP-PHP (4) SoapServer( mixed $wsdl [, array $options ] ) Der Konstruktor gibt ein Handle (Zeiger) des Objektes zurück. Parameter: wsdl: Wenn der WSDL-Modus verwendet werden soll, muss der Parameter auf eine WSDL-Datei verweisen. Ansonsten wird NULL gesetzt und die uri in Options angegeben. options: Im non-wsdl-mode muss die uri verwendet werden. uri ist die Bezeichung für ein Element des assoziativen Arrays, dessen Wert auf den Namensraum verweist. Das PHP-Skript unseres Beispiels muss deshalb die Anweisung enthalten: $server = new SoapServer(NULL, array("uri" => "http://localhost/soap/" )); P. Sobe/ R. Grossmann 35 SOAP-PHP (5) Außerdem muss eine Funktion definiert werden, die die Daten für eine Antwort des Servers bereitstellt. Unter Benutzung eines assoziativen arrays für die Antworttexte könnte das wie folgt aussehen: $Anwort = array("start" => "Der WS arbeitet!", "Ende" => "Der WS beendet den Dienst!"); Die Funktion für die Antworttexte sei "Kontakt": function Kontakt($befehl){global $Antwort; return $Antwort[$befehl];}; Über den Parameter $befehl wird die Anforderung des Clients übergeben. Der SOAP-Server muss mit Hilfe der Methode addfunction() die gewünschte Funktion registieren und durch Aufruf der Methode handle() die Bearbeitung einer Anforderung auslösen, also: $server-> addfunction("kontakt"); $server-> handle(); P. Sobe/ R. Grossmann 36

19 SOAP-PHP (6) Gesamter Quelltext des SOAP-Servers (server1-1.php): <?php //globales assoziatives Array mit den Antworten $Antwort = array( "Start" => "Der WS arbeitet!", "Ende" => "Der WS beendet den Dienst! ); function Kontakt($befehl) { global $Antwort; return $Antwort[$befehl]; } /*SOAP Server Konstruktor im non-wsdl-mode, 1.Param. NULL, die uri des Nutzernamespaces muss angegeben werden */ $server = new SoapServer(NULL,array('uri' => "http://localhost/soap/")); $server->addfunction("kontakt"); $server->handle();?> P. Sobe/ R. Grossmann 37 SOAP-PHP (7) Entwicklung des SOAP-Clients Für den Client muss eine Instanz der Klasse SoapClient erzeugt werden: SoapClient ( mixed $wsdl [, array $options ] ) Der Konstruktor erlaubt das Erzeugen eines SoapClient-Objekts in WSDL- oder nicht-wsdl-modus. Der Konstruktor gibt ein Handle (Zeiger) des Objektes zurück. Parameter: wsdl: Im WSDL-Modus muss die URI auf eine WSDL-Datei verweisen. Sonst muss er auf NULL gesetzt werden, und mindestens die Optionen location und uri verwendet werden. options: Im non-wsdl-mode müssen folgende beiden Optionen verwendet werden. Die Option location enthält den URL des angesprochenen Webservices. Die Option uri enthält den Zielnamensraum des SOAP-Services. P. Sobe/ R. Grossmann 38

20 SOAP-PHP (8) SoapClient ( mixed $wsdl [, array $options ] ) Beachte: Sollen die SoapClient-Methoden getlastrequest(), getlastresonse(), getlastrequestheaders() oder getlastresonseheaders() zur Ausgabe der http-header bzw. der XML-Dokumente (Envelope) für die SOAP-Datenübertragung aufgerufen werden, so muss unbedingt die Option trace mit dem Wert 1 angegeben werden! P. Sobe/ R. Grossmann 39 SOAP-PHP (9) Das PHP-Skript unseres Beispiels muss deshalb die Anweisung $client = new SoapClient(NULL, array("location" => "http://localhost/soap/server1-1.php" "uri" => "urn:d1")); enthalten. Sever1-1.php ist der Dateiname unseres SOAP-Servers. D1 ist die von uns festgelegte Bezeichnung für den Namensraum. Mit der Methode soapcall() kann jetzt eine Funktion des SOAP-Servers aufgerufen werden. Dabei sind unbedingt der Name der Funktion und die für die Funktion notwendigen Argumente anzugeben. Möglicherweise können auch noch Optionen, wie uri oder soapaction angegeben werden. P. Sobe/ R. Grossmann 40

21 SOAP-PHP (10) Ein einzelner Rückkehrwert wird entsprechend seinem Typ zurückgegeben. Werden mehrere Werte durch die Funktion erzeugt, wird ein assoziatives array zurückgegeben. Die Werte können dann über print oder echo zur Clientseite ausgegeben werden. public mixed soapcall ( string $function_name, array $arguments [, array $options [, mixed $input_headers [, array &$output_headers ]]] ) Das PHP-Skript unseres Beispiels (client1-1s.php) muss deshalb die Anweisung print ($client-> SoapCall("Kontakt", array("befehl" => "Start"))); enthalten. "Kontakt" ist der Funktionsname unseres SOAP-Servers. "Start" ist eine der beiden möglichen Anforderungen, die dem Parameter $befehl der Funktion "Kontakt" als Argument übergeben werden muss. P. Sobe/ R. Grossmann 41 Quelltext des SOAP-Clients (client1-1s.php): SOAP-PHP (11) Erster Parameter NULL bewirkt non-wsdl-mode. Im zweiten Parameter wird ein assoziatives Array angegeben: die URL des Servers und Namespace D1 <?php $client = new SoapClient(NULL, array( "location" => "http://localhost/soap/server1-1.php", "uri" => "urn:d1")); Erster Parameter: Name der SOAP-Operation Zweiter Parameter: Name der Parameter und deren Werte in einem assoziativen Array print($client-> soapcall( "Kontakt", array("befehl" => "Start" ) ). "\n");?> Die Methode soapcall() gibt den Antwortwert "Der WS arbeitet!" als Rückkehrwert an die print-funktion von PHP weiter. P. Sobe/ R. Grossmann 42

22 SOAP-PHP (12) Aufruf des SOAP-Clients zur Nutzung des Web Service Es kann jetzt ein Browser gestartet werden, der die Datei unseres SOAP- Clients (client1-1s.php - mit der Anforderung "Start" an der Server) über http aufruft. Der SOAP-Client stellt eine Anforderung "Start" an der WS (SOAP-Server server1-1.php). Der Webservice antwortet mit the web service is working". Bei der Anforderung "Stop" würde der Webservice mit the web service is stopped antworten. Nach diesem Muster kann man beliebig aufwendige Funktionen implementieren. P. Sobe/ R. Grossmann 43 SOAP-PHP: Zugriff auf übertragene XML-Dokumente (1) Das SOAP-Protokoll kodiert die eigentliche Nutzdaten, sowohl der Anforderung als auch der Antwort, als wohldefinierte XML-Dokumente. Die Klasse SoapClient stellt vier Methoden bereit, die den Zugriff auf übertragene XML-Dokumente sowie die http-header ermöglichen. Methode getlastrequest getlastresponse getlastrequestheaders getlastresponseheaders Beschreibung XML-Dokument der Anforderung XML-Dokument der Antwort http Header der Anforderung http Header der Antwort Bei Aufruf dieser Methoden muss der SOAP-Client als Objekt mit der Option trace = 1 erzeugt werden. P. Sobe/ R. Grossmann 44

23 SOAP-PHP: Zugriff auf übertragene XML-Dokumente (2) $client = new SoapClient(NULL, array( "location" => "http://localhost/soap/server1-1.php", "uri" => "urn:d1", "style" => SOAP_RPC, "use" => SOAP_ENCODED, "trace" => 1 )); print($client-> soapcall("kontakt", array("befehl" => "Start"), array( "uri" => "urn:d1", "soapaction" => "urn:d1#kontakt")). "\n"); print "<pre>\n"; print "Anforderung:\n".htmlspecialchars($client-> getlastrequest())."\n"; print "Antwort:\n".htmlspecialchars( $client-> getlastresponse() )."\n"; print "</pre>"; print "<pre>\n"; print "Anforderung-Header:\n". htmlspecialchars( $client-> getlastrequestheaders() )."\n"; print "Antwort-Header:\n". htmlspecialchars( $client-> getlastresponseheaders() )."\n"; print "</pre>";?> P. Sobe/ R. Grossmann 45 SOAP-PHP: Zugriff auf übertragene XML-Dokumente XML-Anforderung als Ausgabe (nachträglich formatiert): <?xml version="1.0" encoding="utf-8"?> <SOAP-ENV:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:d1" xmlns:xsd="http://www.w3.org/2001/xmlschema" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <ns1:kontakt> <param0 xsi:type="xsd:string">start</param0> </ns1:kontakt> </SOAP-ENV:Body> </SOAP-ENV:Envelope> XML-Antwort, Anforderungs- und Antwort-Header als Demonstration P. Sobe/ R. Grossmann 46

24 SOAP-PHP: SoapFault-Object Man kann im SOAP-Client das SoapFault-Element auswerten. Das Auslösen der Anforderung mit der soapcall-methode muss dann in einer try { } catch( ){ } Anweisung erfolgen. In unserem Beispiel haben wir deshalb die folgende Skriptpassage aufgenommen: try { echo "\n<pre>"; print($client-> soapcall("kontakt", array("befehl" => "Start")). "\n</pre>\n"); } catch (SoapFault $exception) { echo "\n</pre>";echo"<h3>fehler</h3>"; echo "\n<pre>\n"; echo $exception; echo "\n\n</pre>"; } Tritt jetzt ein Fehler auf, so wird der Inhalt eines Fehlerelementes als Zeichenkette auf die Variable $exception übernommen und ausgegeben. Der Client nutzt, wie bisher den SOAP-Server. P. Sobe/ R. Grossmann 47 SOAP-PHP: weitere Objekte SoapHeader Eine Klasse für Objekte, die die Header der SOAP-XML- Nachrichten überscheiben können. Die Methode der Klasse Soap-Client dazu ist bool SoapClient:: setsoapheaders ([ mixed $soapheaders ] ) SoapParam Objekte, die Parameter für SoapClient:: Call() aufnehmen können, z.b. $param = new SoapParam( Start,$befehl); SoapVar eine Klasse, die zur Übergabe einer Variable oder eines Objekts dient P. Sobe/ R. Grossmann 48

25 Zusammenfassung - Web Services Web Services sind ein Paradigma für kooperative Anwendungen im Client/Server-Stil Die offene Web-Standards und Web-Protokolle zur Kommunikation benutzen Die Service-Beschreibung und die Nachrichten sind in XML kodiert Zur Erzeugung und Verarbeitung der Nachrichten können XML- Verarbeitungs-Tools benutzt werden, z.b. innerhalb PHP Es gibt auch vorgefertigte Plattformen zur Interaktion via Web-Services, z.b. PHP-SOAP. Alle XML-Nachrichten werden hinter einem Interface versteckt. Web-Services sind eine Technologie für eine neue Generation komplexer und verteilter Softwaresysteme, den s.g. serviceorientierten Architekturen Web-Services sind ein Teil der Cloud-Computing-Technologie Peter Sobe 49 Cloud-Computing (1) Definition von Gartner David W. Cearley and David Mitchell Smith: Key Attributes Distinguish Cloud Computing Services, March 2009: Cloud computing is a style of computing where scalable and elastic IT-enabled capabilities are delivered as a service to external customers using Internet technologies. Cloud computing is positioning itself as a promising platform for delivering infrastructure (IaaS), platform (PaaS), and software (SaaS) as services. P. Sobe 50

26 Cloud-Computing (2) Kern-Technologien: Virtualisierung (processor, network, storage) serviceorientierte Architektur ortsunabhängige und gut erprobte Interfaces (Web-browser, Web Services) automatisierte Operation (Self-X wird angestrebt) P. Sobe 51 Cloud-Computing (3) Service Paradigmen Hardware as a Service Infrastructure as a Service - low level virtualized resources (storage, network, virtual machines) Software as a Service Data as a Service Zusammenfassung in Platform as a Service P. Sobe 52

27 Hardware as a Service Cloud-Computing (4) Term was coined possibly at 2006 as result of rapid advances in hardware virtualization Users can buy IT hardware: ranging from single (virtualized) hosts, disks to entire data centers Concept: dynamically create virtual machines and allow customer to log-in and to do computations, data processing etc. Combination with virtualized storage (disk images) and snapshots of virtual machines P. Sobe 53 Cloud-Computing (5) Hardware-as-a-Service ergibt als Kombination verschiedener virtualisierter Hardware-Komponenten eine Platform-as-a-Service: Mehrere virtualisierte Rechner (Prozessoren, Hauptspeicher) Speicherressourcen (virtuelle Disks) Virtuelle Netze (VPNs) Vergleich: Eigene Infrastruktur Virtualisierte Infrastruktur Bereitstellung P. Sobe 54

28 Beispiele für Cloud-Computing-Systeme Amazon Cloud (EC2, S3 with protocols SOAP, REST, BitTorrent, and Mechanical Turk API) Google Cloud - Google Apps: , Office, for companies ca. 50 Eur/person, classical "'Software as a Service"' approach - google app engine - deployment of web applications within Cloud Microsoft Azure - Platform as a Service, execution platform Salesforce - enterprise management, comparable to SAP Eucalyptus - Interface similar to Amazon EC2, S3, integrated into Ubuntu-Linux-Distribution P. Sobe 55 Beispiele für Cloud-Computing-Systeme Most infrastructures are operated by a company that owns both the cloud platform development and the operation platform public use, but closed-platform clouds On-premises cloud: System allows an installation on your own infrastructure Example: Eucalyptus (open source) Microsoft announced to release On-premises Cloud platform in 2010 P. Sobe 56

29 Amazon Web Services General Concept Several services: Compute resources (VMs) Storage (block storage, object storage, data base) Network and content delivery infrastructure Services can be deployed in a stand-alone way, e.g. a pure computing application with VMs Services can be applied in an integrated way, e.g. VMs connected via a network service and a content delivery platform for web access P. Sobe 57 Amazon Web Services Storage, REST AWS Simple Storage S3 - Cloud Storage REST, Sample Request creates a bucket named htw": PUT / HTTP/1.1 Host: htw.s3.amazonaws.com Content-Length: 0 Date: Wed, 01 Mar :00:00 GMT Authorization: AWS 15B4D3461F A:xQE0di... Response: HTTP/ OK x-amz-id-2: YgIPIfBiKa2bj0KMg95r/0zo3emzU4... x-amz-request-id: 236A E5A01 Date: Wed, 01 Mar :00:00 GMT Location: /htw Content-Length: 0 Connection: close Server: AmazonS3 P. Sobe 58

30 Amazon Web Services Storage, SOAP SOAP; Sample request to create a bucket named HTW". <CreateBucket xmlns="http://doc.s3.amazonaws.com/ "> <Bucket>basoti</Bucket> <AWSAccessKeyId>1D9FVRAYCP1VJEXAMPLE=</AWSAccessKeyId> <Timestamp> T12:00:00.183Z</Timestamp> <Signature>Iuyz3d3P0aTou39dzbqaEXAMPLE=</Signature> </CreateBucket> Sample Response <CreateBucketResponse xmlns="http://s3.amazonaws.com/doc/ "> <CreateBucketResponse> <Bucket>basoti</Bucket> </CreateBucketResponse> </CreateBucketResponse> P. Sobe 59 Amazon Web Services S3 Client Konsole P. Sobe 60

31 Amazon Web Services Ein AWS-Anwendungsbeispiel Quelle: aws.amazon.com P. Sobe 61

REST-basierte Web-Services mit PHP (1)

REST-basierte Web-Services mit PHP (1) REST-basierte Web-Services mit PHP (1) REST nutzt direkt die HTTP-Operationen Daher ist es (vgl. SOAP) einfacher, einen REST-basierten Webservice direkt mit PHP zu implementieren. Einige PHP-Frameworks,

Mehr

7. Cloud-Technologien

7. Cloud-Technologien 7. Cloud-Technologien Inhalt: Begriffe SOA, SOC, Grid, Cloud Verschiedene Arten von Cloud-Computing Beispiele für Cloud-Computing-Infrastrukturen Ausgewählte technische Details Peter Sobe 1 Distributed

Mehr

Verteilte Systeme: Übung 4

Verteilte Systeme: Übung 4 Verteilte Systeme: Übung 4 WSDL und SOAP Oliver Kleine Institut für Telematik https://www.itm.uni-luebeck.de/people/kleine SOAP Nachrichten Serialisierung in XML Root-Element einer SOAP Nachricht ist

Mehr

Seminar E-Services WS 02/03 WSDL. Web Services Description Language. Moritz Kleine SES 02 - WSDL

Seminar E-Services WS 02/03 WSDL. Web Services Description Language. Moritz Kleine SES 02 - WSDL Seminar E-Services WS 02/03 WSDL Web Services Description Language SES 02 - WSDL Zum Ablauf Einleitung Webservices und WSDL Grundlagen (XML - Schema und Namespaces) WSDL Syntax Beispiel Zusammenfassung

Mehr

Implementierung von Web Services: Teil I: Einleitung / SOAP

Implementierung von Web Services: Teil I: Einleitung / SOAP Implementierung von Web Services: Teil I: Einleitung / SOAP Prof. Dr. Kanne - FSS 2007 Carl-Christian Kanne, February 25, 2007 Web Services - p. 1/12 Web Services: Allgemein XML Datenaustauschformat plattformunabhängig

Mehr

WebServices Zwischen Buzzword und Nutzen

WebServices Zwischen Buzzword und Nutzen WebServices Zwischen Buzzword und Nutzen Tobias Koenig Übersicht Webservices Allgemein WSDL Anwendungsbeispiele Programmierung Perl Python C++/KDE Zusammenfassung LUG Dresden 2005 p.1 Webservices Trennung

Mehr

Kapitel 5 Web-Services

Kapitel 5 Web-Services Kapitel 5: Web-Services 1 Kapitel 5 Web-Services 5.1 Web-Services Verwendung/Aufruf (Service Invocation) SOAP Beschreibung (Service Description) WSDL Repository/Verzeichnis (Service Discovery) UDDI 5.2

Mehr

Web-Sevices : WSDL Entwicklung von Web-Anwendungen

Web-Sevices : WSDL Entwicklung von Web-Anwendungen Web-Sevices : WSDL Entwicklung von Web-Anwendungen Axel Reusch : ar047 MIB page 1 : 50 Agenda! Allgemeines! Prinzip! Anwendung! Details! WSDL und SOAP! Beispiel mit Java! Erweiterungen! Vorteile! Nachteile!

Mehr

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste Hauptseminar Internet Dienste Sommersemester 2004 Boto Bako Webservices 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung Was sind Web Services? Web Services sind angebotene

Mehr

SOA, Webservices und SOAP für Schnelleinsteiger

SOA, Webservices und SOAP für Schnelleinsteiger SOA, Webservices und SOAP für Schnelleinsteiger (C)opyright 2005 by Jochen Vajda Inhalt Einführung I. Was ist SOA? II. Webservices, SOAP und WSDL SOAP mit PHP5 I. Benötigte Komponenten II. Client ohne

Mehr

SOA. Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik

SOA. Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik SOA Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik Laderampen müssen passen Modularisieren Softwarearchitektur Modul A Modul B Modul C Modul D Große Anwendung im Unternehmen Modul

Mehr

Wiederholung: Beginn

Wiederholung: Beginn B) Webserivces W3C Web Services Architecture Group: "Ein Web Service ist eine durch einen URI eindeutige identifizierte Softwareanwendung, deren Schnittstellen als XML Artefakte definiert, beschrieben

Mehr

Übersicht. Angewandte Informatik 2 - Tutorium 6. Teile einer WSDL-Datei. Was ist WSDL. Besprechung: Übungsblatt 5

Übersicht. Angewandte Informatik 2 - Tutorium 6. Teile einer WSDL-Datei. Was ist WSDL. Besprechung: Übungsblatt 5 Übersicht Angewandte Informatik 2 - Tutorium 6 Besprechung: Übungsblatt 5 Götz Bürkle (goetz@buerkle.org) Übungsblatt 5: Aufgabe 4 - Webservices Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Mehr

Motivation. Web Services in der Bioinformatik. Web Services. Motivation (2) Definition

Motivation. Web Services in der Bioinformatik. Web Services. Motivation (2) Definition Web Services in der Bioinformatik 1. Motivation 2. Web Services - Definition - Funktionsweise - Umsetzung (WSDL, SOAP, UDDI) 3. Beispiele - XEMBL - OpenBQS - OmniGene 4. Zusammenfassung Situation: Viele

Mehr

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP)

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP) Enterprise Applikation Integration und Service-orientierte Architekturen 09 Simple Object Access Protocol (SOAP) Anwendungsintegration ein Beispiel Messages Warenwirtschaftssystem Auktionssystem thats

Mehr

SOAP Integrationstechnologie für verteilte Middlewarearchitekturen?

SOAP Integrationstechnologie für verteilte Middlewarearchitekturen? SOAP Integrationstechnologie für verteilte Middlewarearchitekturen? Großer Beleg Christian Wurbs Zwischenbericht http://www.inf.tu-dresden.de/~cw6 cw6@inf.tu-dresden.de Überblick 2 Aufgabenstellung CORBA

Mehr

Definition Web Service

Definition Web Service Gliederung Einführung Definition Web Service Drei Schhichtenmodell Architectural Model System Model Web Service Standards SOAP WSDL UDDI Types of Web Services Programmatic Web Services Interactive Web

Mehr

3-schichtige Informationssystem-Architektur

3-schichtige Informationssystem-Architektur 3-schichtige Informationssystem-Architektur plattformunabhängig beliebige Endgeräte Client als Applikation & Applet XML über SOAP Standard plattformunabhängig objektorientierte Architektur multiuserfähig

Mehr

WSDL. Web Services Description Language. André Vorbach. André Vorbach

WSDL. Web Services Description Language. André Vorbach. André Vorbach André Vorbach WSDL Web Services Description Language André Vorbach Übersicht Was ist WSDL? Dokumentenstruktur Elemente Definitions Types Messages porttype Binding Service SOAP-Bindings Beispiel Was ist

Mehr

Java und XML 2. Java und XML

Java und XML 2. Java und XML Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik Java und XML Hauptseminar Telematik WS 2002/2003

Mehr

Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer

Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer *Was sind Web Services? *Beispiele für Web Services *Web Service Architektur *Web Services Technologien *Fazit 2 *Übertragungsstandard

Mehr

Software Reuse Sommer 2004

Software Reuse Sommer 2004 8. Web Services Peter Sturm Universität Trier Ausgangspunkt Client/Server-Systeme Traditioneller RPC OO-Pendant RMI (CORBA) Probleme Installationbedarf auf Clientseite Aufwendige Installation auf Serverseite

Mehr

Webservices Ein Vortrag von:

Webservices Ein Vortrag von: Webservices Ein Vortrag von: Andreas Münstermann Michael Reiher Markus Buschky Gliederung Einführung in Webservices Technische Grundlagen SOAP UDDI WSDL Sicherheitskonzepte Blick in die Zukunft Einführung

Mehr

Seminarbericht Rechnernetze XML Web Services Schnittstelle zwischen den Welten.NET und Java

Seminarbericht Rechnernetze XML Web Services Schnittstelle zwischen den Welten.NET und Java Seminarbericht Rechnernetze XML Web Services Schnittstelle zwischen den Welten.NET und Java von Christian Brand Kennnummer: 09376 November 2005 Abkürzungen Abkürzungen API - Application Programming Interface

Mehr

Web-Konzepte für das Internet der Dinge Ein Überblick

Web-Konzepte für das Internet der Dinge Ein Überblick Web-Konzepte für das Internet der Dinge Ein Überblick Samuel Wieland sawielan@student.ethz.ch ETH Zürich Seminar Das Internet der Dinge Historisches Tim Berners-Lee Erster Web-Server Bildquelle: Wikimedia

Mehr

Web Services: Inhalt

Web Services: Inhalt Web Services Fachseminar Verteilte Systeme 8. April 2002 - Marco Steiner Assistent: Thomas Schoch Professor: Dr. F. Mattern Web Services: Inhalt Bedeutung Gegenwart Architektur SOAP WSDL UDDI Vergleich

Mehr

NEWpixi* API und die Umstellung auf REST. Freitag, 3. Mai 13

NEWpixi* API und die Umstellung auf REST. Freitag, 3. Mai 13 NEWpixi* API und die Umstellung auf REST Fakten NEWpixi* API Technik REST-basierend.NET Webservice IIS Webserver Release 31. August 2013, zusammen mit dem NEWpixi* ELI Release Legacy API und erste NEWpixi*

Mehr

Web Service Entwicklung mit Java. Sven Lindow

Web Service Entwicklung mit Java. Sven Lindow Web Service Entwicklung mit Java Sven Lindow 22.11.2006 Agenda Einleitung SOAP, REST, WSDL, UDDI Web Services mit Java JWSDP JAX-RPC, JAX-WS 2.0 AXIS, AXIS2 Web Services nutzen Google, Ebay Web Services

Mehr

SOAP, WSDL, UDDI. Martin Grimmer. Proseminar: Die Zukunft der Softwareentwicklung: Komponentensysteme/Web Services Vortrag 1 am 21.06.

SOAP, WSDL, UDDI. Martin Grimmer. Proseminar: Die Zukunft der Softwareentwicklung: Komponentensysteme/Web Services Vortrag 1 am 21.06. Proseminar: Die Zukunft der Softwareentwicklung: Komponentensysteme/Web Services Vortrag 1 am 21.06.2006 Betreuer: Dipl.-Inform. Andreas Both Lehrstuhl Softwaretechnik und Programmiersprachen, Institut

Mehr

Gliederung. Was ist Cloud Computing Charakteristiken Virtualisierung Cloud Service Modelle Sicherheit Amazon EC2 OnLive Vorteile und Kritik

Gliederung. Was ist Cloud Computing Charakteristiken Virtualisierung Cloud Service Modelle Sicherheit Amazon EC2 OnLive Vorteile und Kritik Cloud Computing Gliederung Was ist Cloud Computing Charakteristiken Virtualisierung Cloud Service Modelle Sicherheit Amazon EC2 OnLive Vorteile und Kritik 2 Bisher Programme und Daten sind lokal beim Anwender

Mehr

SOA mit.net: Vom Geschäftsprozess zur Lösung

SOA mit.net: Vom Geschäftsprozess zur Lösung SOA mit.net: Vom Geschäftsprozess zur Lösung Manfred Steyer Aktuelles Buch.Net 4.0 Update ISBN 978-3866454439 http://tinyurl.com/net4update 1 Kontakt [www] www.softwarearchitekt.at [mail] Manfred.Steyer@SoftwareArchitekt.at

Mehr

Affiliate SOAP-Schnittstelle

Affiliate SOAP-Schnittstelle Affiliate SOAP-Schnittstelle Inhalt: SOAP-Statistik - Schnittstellenbeschreibung - URI - Methode - Authentifizierung - Detaillierte Beschreibung des Soap-Service - Suchen von Transaktionsdaten - Statistiken

Mehr

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com Web Services Java Praktikum SS 2010 Gerald.Ehmayer@borland.com 1 Web Services Einführung Definition, Eigenschaften, Anwendungen... JAX-RPC Überblick, Architektur... JAX Übersicht, Architektur Java Praktikum

Mehr

Internettechnologien

Internettechnologien Internettechnologien Vorlesung für Master-Studierende Geoinformation und -management Sommersemester 2011 Prof. Dr.-Ing. habil. Peter Sobe Fakultät Informatik / Mathematik Dieser Foliensatz basiert z.t.

Mehr

FuE-Bereich IuK-Systeme im Gesundheitswesen

FuE-Bereich IuK-Systeme im Gesundheitswesen FuE-Bereich IuK-Systeme im Gesundheitswesen IG XML und Web Services Dipl.-Inform. Axel Schwolow IG Kommunikation im Web Entwicklung früher ausschließlich Kommunikation über Browser heute zunehmend direkt

Mehr

Workflow, Business Process Management, 4.Teil

Workflow, Business Process Management, 4.Teil Workflow, Business Process Management, 4.Teil 24. Januar 2004 Der vorliegende Text darf für Zwecke der Vorlesung Workflow, Business Process Management des Autors vervielfältigt werden. Eine weitere Nutzung

Mehr

Web Services. Dr. Wolfgang Süß

Web Services. Dr. Wolfgang Süß Service-orientierte Architektur (SOA) Architekturkonzept, da sich aus Diensten zusammensetzt. 3 Komponenten: Konnektoren: register Registrierung eines Dienstes bei einer Registry find Suchanfrage eines

Mehr

XML-Webservices & SOAP

XML-Webservices & SOAP Definition Motivation 12.07.2010 Definition Motivation Definition: A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface

Mehr

Architektur von SOAP basierten Web Services

Architektur von SOAP basierten Web Services Architektur von SOAP basierten Web Services André Homeyer 28.11.2005 Worst-Case einer verteilten Anwendung TravelTime Client Benutzerinterface WackyWing Server Flüge suchen TravelTime Server Flüge suchen

Mehr

epayment Leistungen des Bundes einfach, schnell und sicher bezahlen mit Payment Eine Idee mit Zukunft 17.05.2005 1

epayment Leistungen des Bundes einfach, schnell und sicher bezahlen mit Payment Eine Idee mit Zukunft 17.05.2005 1 epayment Leistungen des Bundes einfach, schnell und sicher bezahlen mit Payment Eine Idee mit Zukunft 17.05.2005 1 Übersicht Internet eshop n... Leistungen des Bundes Rechnung Lastschrift Einzelüberweisung

Mehr

2. Interaktive Web Seiten. action in Formularen. Formular. Superglobale Variablen $ POST, $ GET und $ REQUEST. GET und POST

2. Interaktive Web Seiten. action in Formularen. Formular. Superglobale Variablen $ POST, $ GET und $ REQUEST. GET und POST 2. Interaktive Web Seiten GET und POST Die Übertragungsmethoden GET und POST sind im http Protokoll definiert: POST: gibt an, dass sich weitere Daten im Körper der übertragenen Nachricht befinden: z.b.

Mehr

Gliederung. 1. Einleitung (1) 1. Einleitung (3) 1. Einleitung (2)

Gliederung. 1. Einleitung (1) 1. Einleitung (3) 1. Einleitung (2) Referat im Rahmen des Proseminars Internettechnologie WS 2007/2008 Thema: Web Services und serviceorientierte Architekturen (SOA) vorgelegt von: Intelligente Web Services sind für das Informationszeitalter,

Mehr

Web APIs auf dem Prüfstand Volle Kontrolle oder fertig mit den Azure Mobile Services?

Web APIs auf dem Prüfstand Volle Kontrolle oder fertig mit den Azure Mobile Services? Web APIs auf dem Prüfstand Volle Kontrolle oder fertig mit den Azure Mobile Services? Web APIs Wo kommen wir her? Remote Procedure Calls (RPC) Verben/Aktionen im Endpunkt enthalten GetCustomer InsertInvoice

Mehr

Markus Schulz Seminar: XML für Fortgeschrittene 30.06.2003

Markus Schulz Seminar: XML für Fortgeschrittene 30.06.2003 Markus Schulz Seminar: XML für Fortgeschrittene 30.06.2003 Vortragsgliederung 1. Motivation 2.-8. WS : Definition, Ansatz, Architektur,... 9.x. SOAP : Definition, Geschichte,... 10.x.x. WSDL : siehe oben...

Mehr

XML-RPC, SOAP und Web Services. Jörn Clausen joern@techfak.uni-bielefeld.de

XML-RPC, SOAP und Web Services. Jörn Clausen joern@techfak.uni-bielefeld.de XML-RPC, SOAP und Web Services Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht Was ist RPC? Was hat XML mit RPC zu tun? Was sind XML-RPC und SOAP? Was sind Web Services? Wird das die Welt retten?

Mehr

Inhalt. ! Einführung. ! Model/Architektur und Protokoll-Stack. ! Begriffe XML-RPC, SOAP, WSDL und UDDI. ! Web Services Ablauf (Anhand eines Beispiels)

Inhalt. ! Einführung. ! Model/Architektur und Protokoll-Stack. ! Begriffe XML-RPC, SOAP, WSDL und UDDI. ! Web Services Ablauf (Anhand eines Beispiels) Webtechnologien - webt Web Services webt web services zeman, feisthammel, marti, burkert 04/2004 1 webt web services zeman, feisthammel, marti, burkert 04/2004 2 Verteilte Software-Systeme Ziel Protokolle,

Mehr

Web Services and Semantic Web - Introduction to Web Services. von Andreas Weiler

Web Services and Semantic Web - Introduction to Web Services. von Andreas Weiler Web Services and Semantic Web - Introduction to Web Services von Andreas Weiler Definitionen Beispiele Technologien Vorteile Kritik Abschlussbeurteilung Fragen? Definition von IBM: Web services are a new

Mehr

Kapitel WT:VI (Fortsetzung)

Kapitel WT:VI (Fortsetzung) Kapitel WT:VI (Fortsetzung) VI. Architekturen und Middleware-Technologien Client--Architekturen Ajax REST RPC, XML-RPC, Java RMI, DCOM Web-Services CORBA Message-oriented-Middleware MOM Enterprise Application

Mehr

Wolkig bis heiter. Andreas Wismann WHEN OTHERS. APEX als Drehkreuz für Web Service-Anwendungen

Wolkig bis heiter. Andreas Wismann WHEN OTHERS. APEX als Drehkreuz für Web Service-Anwendungen Wolkig bis heiter APEX als Drehkreuz für Web Service-Anwendungen Andreas Wismann WHEN OTHERS Beratung Projektmanagement Coaching rund um Oracle Application Express In APEX Informationen von "woanders"

Mehr

.NET-Networking 2 Windows Communication Foundation

.NET-Networking 2 Windows Communication Foundation .NET-Networking 2 Windows Communication Foundation Proseminar Objektorientiertes Programmieren mit.net und C# Fabian Raab Institut für Informatik Software & Systems Engineering Agenda Grundproblem Bestandteile

Mehr

Web Services mit Java

Web Services mit Java Web Services mit Java Neuentwicklung und Refactoring in der Praxis Torsten Langner new technology Markt+Technik Verlag Inhaltsverzeichnis Vorwort 13 Warum ausgerechnet dieses Buch? 13 An wen richtet sich

Mehr

Zustandsgebundene Webservices

Zustandsgebundene Webservices Zustandsgebundene Webservices Präsentation ausgewählter Problemstellungen der Informatik Markus Oertel oer@uni-paderborn.de Universität Paderborn 25. September 2005 Zustandsgebundene Webservices Seite

Mehr

Web-Services Grundlagen

Web-Services Grundlagen Web-Services Grundlagen Praktikum Informationsintegration 1.11.2005 Agenda Aktueller Stand Was sind Web-Services? Allgemeines Web-Service-Technologien SOAP WSDL 2 Umgebung (Korrektur) Rechner/Server mangold.informatik.hu-berlin.de

Mehr

5. Übung zur Vorlesung Service-orientierte Architekturen

5. Übung zur Vorlesung Service-orientierte Architekturen 5. Übung zur Vorlesung Service-orientierte Architekturen Webservices und WSDL SoSe 2011 Anmerkung Hausaufgabe 03 BPMN Auch hier gilt: Layout! Zu Unterschieden zw. BPMN und eepk Relative Aussagen sind geschickter

Mehr

Themen. Web Service - Clients. Kommunikation zw. Web Services

Themen. Web Service - Clients. Kommunikation zw. Web Services Themen Web Service - Clients Kommunikation zw. Web Services Bisher: Implementierung einer Java Anwendung und Bereitstellung durch Apache Axis unter Apache Tomcat Java2WSDL Erzeugen einer WSDL-Datei zur

Mehr

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen 9 3 Web Services 3.1 Überblick Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen mit Hilfe von XML über das Internet ermöglicht (siehe Abb.

Mehr

VS11 Slide 1. Verteilte Systeme. Vorlesung 11 Sebastian Iwanowski FH Wedel

VS11 Slide 1. Verteilte Systeme. Vorlesung 11 Sebastian Iwanowski FH Wedel VS11 Slide 1 Verteilte Systeme Vorlesung 11 Sebastian Iwanowski FH Wedel VS11 Slide 2 Verteilte Systeme 1. Innovative Beispiele aus der Praxis 2. Allgemeine Anforderungen und Techniken verteilter Systeme

Mehr

Hauptseminar Internetdienste Prof. F. Schweiggert Sommersemester 2004 Universität Ulm. Web Services. Boto Bako

Hauptseminar Internetdienste Prof. F. Schweiggert Sommersemester 2004 Universität Ulm. Web Services. Boto Bako Hauptseminar Internetdienste Prof. F. Schweiggert Sommersemester 2004 Universität Ulm Web Services Boto Bako Inhaltsverzeichnis 1.Einführung und Motivation...3 2.Verwendete Standards...4 2.1.SOAP...5 2.2.WSDL...6

Mehr

Themen. Web Services und SOA. Stefan Szalowski Daten- und Online-Kommunikation Web Services

Themen. Web Services und SOA. Stefan Szalowski Daten- und Online-Kommunikation Web Services Themen Web Services und SOA Wer kennt den Begriff Web Services? Was verstehen Sie unter Web Services? Die Idee von Web Services Ausgangspunkt ist eine (evtl. schon bestehende) Software Anwendung oder Anwendungskomponente

Mehr

Softwareentwicklung mit Enterprise JAVA Beans

Softwareentwicklung mit Enterprise JAVA Beans Softwareentwicklung mit Enterprise JAVA Beans Java Enterprise Edition - Überblick Was ist J2EE Java EE? Zunächst mal: Eine Menge von Spezifikationen und Regeln. April 1997: SUN initiiert die Entwicklung

Mehr

Zeiterfassung für Projekte. SOAP-Schnittstelle. Juli 2013 Version 4.7

Zeiterfassung für Projekte. SOAP-Schnittstelle. Juli 2013 Version 4.7 Weil Zeit Geld ist Zeiterfassung für Projekte SOAP-Schnittstelle Juli 2013 Version 4.7 provantis IT Solutions GmbH Siemensstr. 1 71254 Ditzingen Tel. +49 (0)7156/43623-0 Fax. +49 (0)7156/43623-11 zep@provantis.de

Mehr

WSDL. 7363 - Web-basierte Anwendungen WSDL WSDL. Eine Vertiefungsveranstaltung mit Schwerpunkt auf XML-Technologien. Web Services Description Language

WSDL. 7363 - Web-basierte Anwendungen WSDL WSDL. Eine Vertiefungsveranstaltung mit Schwerpunkt auf XML-Technologien. Web Services Description Language Fachhochschule Wiesbaden - Fachhochschule Wiesbaden - 7363 - Web-basierte Anwendungen Eine Vertiefungsveranstaltung mit Schwerpunkt auf XML-Technologien Web Services Description Language 10.06.2004 H.

Mehr

Programmieren II. WebServices. www.kit.edu. Institut für Angewandte Informatik

Programmieren II. WebServices. www.kit.edu. Institut für Angewandte Informatik Programmieren II WebServices KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Service-orientierte Architektur (SOA) Architekturkonzept,

Mehr

Entwicklung von Web-Anwendungen auf JAVA EE Basis

Entwicklung von Web-Anwendungen auf JAVA EE Basis Entwicklung von Web-Anwendungen auf JAVA EE Basis Java Enterprise Edition - Überblick Prof. Dr. Bernhard Schiefer Inhalt der Veranstaltung Überblick Java EE JDBC, JPA, JNDI Servlets, Java Server Pages

Mehr

Web Services Einsatzmöglichkeiten für das Information Retrieval im WWW

Web Services Einsatzmöglichkeiten für das Information Retrieval im WWW Web Services Einsatzmöglichkeiten für das Information Retrieval im WWW Fabio Tosques & Philipp Mayr Frankfurt am Main, den 24. Mai 2005 27. Online-Tagung der DGI 2005 1 Überblick Datenanalyse mittels screen

Mehr

Web-Applications mit SOAP und RSS. Vortrag 8, Jonas Mitschang, 15.6.2005

Web-Applications mit SOAP und RSS. Vortrag 8, Jonas Mitschang, 15.6.2005 Web-Applications mit SOAP und RSS Vortrag 8, Jonas Mitschang, 15.6.2005 Inhalt Motivation Web Applications / Web Services SOAP - Simple Object Access Protocol RSS - Really Simple Syndication Bewertung

Mehr

SOAP. SOAP: Envelope

SOAP. SOAP: Envelope SOAP Simple Object Access Protocol XML-basierter Nachrichtenaustauschmechanismus Projektbeginn 1998 (Microsoft). Heute: SOAP V1.2 W3C Recommendation http://www.w3.org/2002/ws/ Spezifikation umfasst: SOAP

Mehr

Asynchrone Webservices mit Axis 1.x in Java

Asynchrone Webservices mit Axis 1.x in Java Asynchrone Webservices mit Axis 1.x in Java 1. Übersicht Architektur Da Webservices nach relativ kurzen Timeouts Anfragen abgearbeitet haben müsse, sind komplexe Anfragen wie sie in der Bioinformatik üblich

Mehr

PL/SQL Web-Services mit Oracle 11g

PL/SQL Web-Services mit Oracle 11g DOAG 2008 Konferenz 01. - 03.12.2008 Nürnberg Markus Fiegler ORDIX AG, Paderborn mf@ordix.de www.ordix.de Agenda SOA und Web-Services im Überblick Datenbank als Web-Services Provider - Alternative mit

Mehr

Webservices REST vs. SOAP

Webservices REST vs. SOAP Webservices REST vs. SOAP Amine El Ayadi INF-M2 Anwendungen 1 (SS 2008) Department Informatik HAW Hamburg 17. Juni 2008 1/41 Agenda Einführung & Motivation Webservices SOAP Webservices REST Webservices

Mehr

easylearn Webservice lsessionservice Interface für Single Sign On (SSO)

easylearn Webservice lsessionservice Interface für Single Sign On (SSO) - 1 - easylearn Webservice lsessionservice Interface für Single Sign On (SSO) SDN AG, Solution Development Network Dezember 2008 - 2 - Inhaltsverzeichnis Inhaltsverzeichnis... 2 easylearn Webservice lsessionservice...

Mehr

SOAP Simple Object Access Protocol

SOAP Simple Object Access Protocol Informatikseminar Tobias Briel Überblick 1. Einführung - was ist? 2. Middlewaretechnologie 3. Aufbau von Nachrichten 4. Vergleiche 5. Beispielanwendung 6. Zusammenfassung 1 Einführung was ist Soap? neue

Mehr

Softwareschnittstellen

Softwareschnittstellen P4.1. Gliederung Rechnerpraktikum zu Kapitel 4 Softwareschnittstellen Einleitung, Component Object Model (COM) Zugriff auf Microsoft Excel Zugriff auf MATLAB Zugriff auf CATIA Folie 1 P4.2. Einleitung

Mehr

Aktuelle Technologien zur Entwicklung verteilter Anwendungen RESTful Web Services mit JAX-RS

Aktuelle Technologien zur Entwicklung verteilter Anwendungen RESTful Web Services mit JAX-RS Aktuelle Technologien zur Entwicklung verteilter Anwendungen Überblick, Grundlagen und Entwicklung mit Java Gliederung A. I. Web Services II. RESTful Web Services III. Java API for RESTful Web Services

Mehr

Web- und Gridservices zur Überwindung von Heterogenität. Bearbeiter: Lei Xia 16.07.2004

Web- und Gridservices zur Überwindung von Heterogenität. Bearbeiter: Lei Xia 16.07.2004 Web- und Gridservices zur Überwindung von Heterogenität Bearbeiter: Lei Xia 16.07.2004 Gliederung Einleitung Formen von Heterogenität Grundlagen Web Services als Schnittstelle zu DBMS Grid Data Services

Mehr

Tutorial: Web Services. Was ist das? Wozu sind Web Services nützlich? Wie implementiere ich eigene Web Services

Tutorial: Web Services. Was ist das? Wozu sind Web Services nützlich? Wie implementiere ich eigene Web Services Tutorial: Web Services Was ist das? Wozu sind Web Services nützlich? Wie implementiere ich eigene Web Services Bei Web Services handelt es sich um Softwarebausteine, die auf verschiedenen Netzwerkrechnern

Mehr

E-Services mit der Web-Service-Architektur

E-Services mit der Web-Service-Architektur E-Services mit der Web-Service-Architektur im Seminar Neue Konzepte anwendungsorientierter Middleware - Stefan Kürten - Literatur A. Tsalgatidou and T. Pilioura, An Overview of Standards and Related Rechnology

Mehr

Enterprise Applikation Integration und Service-orientierte Architekturen. 08 Einführung Service-Orientierte Architekturen

Enterprise Applikation Integration und Service-orientierte Architekturen. 08 Einführung Service-Orientierte Architekturen Enterprise Applikation Integration und Service-orientierte Architekturen 08 Einführung Service-Orientierte Architekturen Ist SOA immer noch aktuell? Prof. Dr. Holger Wache http://bhc3.files.wordpress.com/2009/07/gartner-emerging-technologies-hype-cycle-2009.png?w=552&h=451

Mehr

Client/Server-Systeme

Client/Server-Systeme Frühjahrsemester 2011 CS104 Programmieren II / CS108 Programmier-Projekt Java-Projekt Kapitel 3: /Server-Architekturen H. Schuldt /Server-Systeme Ein zweischichtiges /Server-System ist die einfachste Variante

Mehr

Ein Beispiel. Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse?

Ein Beispiel. Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse? Ein Beispiel Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse? Dipl.-Kfm. Claus Häberle WS 2015 /16 # 42 XML (vereinfacht) visa

Mehr

XML-RPC & SOAP. Sven Heß & Fabio Caprera Systemprogrammierung SS 08

XML-RPC & SOAP. Sven Heß & Fabio Caprera Systemprogrammierung SS 08 XML-RPC & SOAP & Fabio Caprera Systemprogrammierung SS 08 Inhalt XML-RPC Überblick Entstehung Konzept Fehlerbehandlung Vor- und Nachteile SOAP Überblick Entstehung Konzept Fehlerbehandlung Vor- und Nachteile

Mehr

Integration von Web Services in J EE Anwendungen mit XFire. 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire

Integration von Web Services in J EE Anwendungen mit XFire. 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire Integration von Web Services in J EE Anwendungen mit XFire 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire univativ : = Umsetzung durch Studenten und Young Professionals.

Mehr

Inhaltsverzeichnis. Vorwort... Einleitung... Einführung... 1

Inhaltsverzeichnis. Vorwort... Einleitung... Einführung... 1 Vorwort... Einleitung... V VII Einführung... 1 1 Grundlagen... 7 1.1 Dokumentmodelle... 7 1.1.1 Multimedia... 8 1.1.2 Hypermedia... 9 1.1.3 Verteilung... 11 1.2 Geschichte des WWW... 13 1.2.1 Struktur...

Mehr

SAP NetWeaver Gateway. Connectivity@SNAP 2013

SAP NetWeaver Gateway. Connectivity@SNAP 2013 SAP NetWeaver Gateway Connectivity@SNAP 2013 Neue Wege im Unternehmen Neue Geräte und Usererfahrungen Technische Innovationen in Unternehmen Wachsende Gemeinschaft an Entwicklern Ausdehnung der Geschäftsdaten

Mehr

Java Web Services. Seminarunterlage. Version 4.02 vom

Java Web Services. Seminarunterlage. Version 4.02 vom Seminarunterlage Version: 4.02 Version 4.02 vom 4. September 2015 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen

Mehr

Web Services - Tutorial

Web Services - Tutorial RPG als Web Service Client Mihael Schmidt 0.1 Juli 2007 2007, 2008 Mihael Schmidt All rights reserved. Table of Contents 1. Allgemeines 1 1.1 Client... 1 1.2 Anwendungsserver... 1 2. Client 2 2.1 WSDL...

Mehr

Modul 6 Virtuelle Private Netze (VPNs) und Tunneling

Modul 6 Virtuelle Private Netze (VPNs) und Tunneling Modul 6 Virtuelle Private Netze (VPNs) und Tunneling M. Leischner Netzmanagement Folie 1 Virtuelle Private Netze Begriffsdefinition Fortsetz. VPNC Definition "A virtual private network (VPN) is a private

Mehr

Grid-Systeme. Betrachtung verschiedener Softwareplattformen zur Realisierung von Grids und Vorstellung des Globus Toolkit. 07.06.2002 Grid Systeme 1

Grid-Systeme. Betrachtung verschiedener Softwareplattformen zur Realisierung von Grids und Vorstellung des Globus Toolkit. 07.06.2002 Grid Systeme 1 Grid-Systeme Betrachtung verschiedener Softwareplattformen zur Realisierung von Grids und Vorstellung des Globus Toolkit 07.06.2002 Grid Systeme 1 Gliederung Vorstellung verschiedener Plattformen Globus

Mehr

Cloud Computing: Hype oder Chance auch. für den Mittelstand?

Cloud Computing: Hype oder Chance auch. für den Mittelstand? Prof. Dr.-Ing. Rainer Schmidt HTW Aalen Wirtschaftsinformatik Überblick Was ist Cloud-Computing und wieso ist es für Unternehmen wichtig? Wie können Unternehmen mit Hilfe einer Cloud- Computing-Strategie

Mehr

Automatisierung und Integration von Request Tracker Systemen mittels REST-Schnittstelle. Stefan Hornburg. Perlworkshop 2008

Automatisierung und Integration von Request Tracker Systemen mittels REST-Schnittstelle. Stefan Hornburg. Perlworkshop 2008 Automatisierung und Integration von Request Tracker Systemen mittels REST-Schnittstelle Stefan Hornburg Perlworkshop 2008 split() Request Tracker REST-Schnittstelle Automatisierung Integration Kunden Deutschland:

Mehr

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek Speaker Andreas Holubek VP Engineering andreas.holubek@arlanis.com arlanis Software AG, D-14467 Potsdam 2009, arlanis

Mehr

Java Web Services mit Apache Axis2

Java Web Services mit Apache Axis2 Thilo Frotscher, Marc Teufel, Dapeng Wang Java Web Services mit Apache Axis2 ntwickier Vorwort 13 Wer sollte dieses Buch lesen? 14 Aufbau 14 Wichtiger Hinweis zu den Listings 16 Feedback 16 Danksagung

Mehr

SMS-API. Sloono Schnittstellenbeschreibung. Version 1.2 Stand 22.10.2014

SMS-API. Sloono Schnittstellenbeschreibung. Version 1.2 Stand 22.10.2014 SMS-API Sloono Schnittstellenbeschreibung Version 1.2 Stand 22.10.2014 Diese Seiten über die SLOONO-APIs sollen Ihnen helfen SLOONO in Ihre bestehenden Anwendungen zu integrieren oder neue Anwendungen

Mehr

Einführung in WebServices

Einführung in WebServices Einführung in WebServices Grundlagen und Praxis von WebServices Seminarleiterin: Dipl.-Ing. Mahbouba Gharbi Folie 1 / 34 Zielsetzung und Voraussetzungen Zielsetzung Nutzen von WebServices kennenlernen

Mehr

Service Oriented Architecture. Hanno Wunderlich SWT-Projekt WS07/08

Service Oriented Architecture. Hanno Wunderlich SWT-Projekt WS07/08 Service Oriented Architecture Hanno Wunderlich SWT-Projekt WS07/08 1 Agenda Einführung SOA / Webservices Standards und Technologien hinter SOA/Webservices Beispiel für SOA SOA in unserem Projekt 2 Einführung

Mehr

Netzprogrammierung Web-Dienste

Netzprogrammierung Web-Dienste Netzprogrammierung Web-Dienste Robert Tolksdorf und Mitarbeiter und Peter Löhr Überblick 1. Was sind Web-Dienste? 3 2. WSDL 13 3. Axis 20 4. SOAP 23 5. SOAP und HTTP 30 6. Zusammenfassung 36 Robert Tolksdorf

Mehr

Unternehmen-IT sicher in der Public Cloud

Unternehmen-IT sicher in der Public Cloud Unternehmen-IT sicher in der Public Cloud Safely doing your private business in public David Treanor Team Lead Infrastructure Microsoft Certified Systems Engineer (MCSE) Microsoft Certified Systems Administrator

Mehr

RESTful Web. Representational State Transfer

RESTful Web. Representational State Transfer RESTful Web Representational State Transfer 1 Warum REST? REST ist die Lingua Franca des Webs Heterogene (verschiedenartige) Systeme können mit REST kommunizieren, unabhängig von Technologie der beteiligten

Mehr