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

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

Basistechnologien: Web-Services

Basistechnologien: Web-Services Alexander Rudolf Cloud-Computing Seminar Hochschule Mannheim WS0910 1/29 Basistechnologien: Web-Services Alexander Rudolf Hochschule Mannheim Fakultät für Informatik alexander.rudolf@stud.hs-mannheim.de

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Eine Taxonomie und Bewertung von Cloud Computing Diensten aus Entwicklersicht

Eine Taxonomie und Bewertung von Cloud Computing Diensten aus Entwicklersicht Eine Taxonomie und Bewertung von Cloud Computing Diensten aus Entwicklersicht Universität der Bundeswehr München Mario Golling und Michael Kretzschmar Fakultät für Informatik E-Mail: mario.golling@unibw.de

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

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

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

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

Termin 4: Web Services Computing

Termin 4: Web Services Computing Arbeitsgruppe Übung Netzbasierte Informationssysteme Termin 4: Web Services Computing Prof. Dr. Adrian Paschke Arbeitsgruppe Corporate Semantic Web (AG-CSW) Institut für Informatik, Freie Universität Berlin

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

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

Übersicht. Projekt DB-basierte, mobile Systeme. Übersicht. Was sind Web Services? Web Service - Kompakt. Warum das Rad neu erfinden?!

Übersicht. Projekt DB-basierte, mobile Systeme. Übersicht. Was sind Web Services? Web Service - Kompakt. Warum das Rad neu erfinden?! Übersicht HTML Projekt DB-basierte, mobile Systeme JAX-RPC via SOAP Aufgabenblatt 4 Web Services Übersicht Was sind Web Services? "A web service is any service that is available over the Internet, uses

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

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

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

Grundlagen des Grid Computing

Grundlagen des Grid Computing Grundlagen des Grid Computing Webservices und Grid Computing Globus Toolkit 4 - Grundlagen ICA Joh.. Kepler Universität t Linz Eine Typische Grid-Applikation (Beispiel) VO Management Service Resource Discovery

Mehr

5. Web-Services. Kommunikation zwischen Client und Server über XML-Format SOAP

5. Web-Services. Kommunikation zwischen Client und Server über XML-Format SOAP 1 5. Web-Services Kommunikation zwischen Client und Server über XML-Format SOAP Client SOAP Server Beschreibung von Webservices in WSDL (Web Services Description Language) Web Service Protokollstapel Suche

Mehr

Block Web-Dienste. Beispiel: ohne Browser. ohne Browser. Beispiel: Definition

Block Web-Dienste. Beispiel: ohne Browser. ohne Browser. Beispiel: Definition Block Web-Dienste Web-Dienste Klaus Schild, 2004 1 heutige Vorlesung Was sind Web-Dienste (Web Services)? diensteorientierte Architekturen Was ist SOAP, WSDL und UDDI? Entfernte Prozeduraufrufe (RPCs)

Mehr

It's all in the Cloud! Cloud Computing Grundlagen

It's all in the Cloud! Cloud Computing Grundlagen It's all in the Cloud! Cloud Computing Grundlagen Folie: 1/25 Agenda Einleitung - Cloud Computing Begriffe Überblick - Wer bietet was? Der Weg zur Private Cloud Einblick - RRZK und Cloud Computing Anmerkung

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

SOA Torben Merhofe. Service Oriented Architecture

SOA Torben Merhofe. Service Oriented Architecture SOA Torben Merhofe Service Oriented Architecture Gliederung SOA-Grundlagen Definition Bestandteile 10 Schritte zur SOA Realisierung mit Hilfe von Web Services Definition Standards UDDI WSDL SOAP Fazit

Mehr

Lösungen der Aufgaben zur Klausurvorbereitung. Aufgabe 1: a) was sagen die folgenden Eigenschaften eines XML-Dokumentes aus? wohlgeformt gültig

Lösungen der Aufgaben zur Klausurvorbereitung. Aufgabe 1: a) was sagen die folgenden Eigenschaften eines XML-Dokumentes aus? wohlgeformt gültig HTW Dresden Fakultät Informatik/Mathematik Internettechnologien Lösungen der Aufgaben zur Klausurvorbereitung Aufgabe 1: a) was sagen die folgenden Eigenschaften eines XML-Dokumentes aus? wohlgeformt gültig

Mehr

Theorie und Praxis einer JSON-RPC-basierten Web-API

Theorie und Praxis einer JSON-RPC-basierten Web-API Theorie und Praxis einer JSON-RPC-basierten Web-API Christian Krause Christian.Krause@raritan.com Raritan Deutschland GmbH Chemnitzer LinuxTage 2015 Gliederung 1 2 Remote Procedure Call Interface Definition

Mehr

Web Services Eine Übersicht. Jörn Clausen joern@techfak.uni-bielefeld.de

Web Services Eine Übersicht. Jörn Clausen joern@techfak.uni-bielefeld.de Web Services Eine Übersicht Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht Was sind Web Services? XML-RPC und SOAP WSDL und UDDI Wo können wir Web Services einsetzen? Web Services Eine Übersicht

Mehr

COI-BUSINESSFLOW SOAP-SERVER MODUL INFORMATION

COI-BUSINESSFLOW SOAP-SERVER MODUL INFORMATION COI-BUSINESSFLOW SOAP-SERVER MODUL INFORMATION Präambel Die COI GmbH entwickelt seit 1988 moderne, prozessorientierte Lösungen rund um die Themen Archivierung, Dokumentenmanagement und Workflow. Als kompetenter

Mehr

Identity Web Services leicht gemacht

Identity Web Services leicht gemacht Identity Web Services leicht gemacht am Beispiel der TUMonline-IntegraTUM-Rückkopplung ZKI AK Verzeichnisdienste Dr. Ralf Ebner ebner@lrz.de Agenda IDM im Münchener Wissenschaftsnetz Identity-Services

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

Web 2.0 Architekturen und Frameworks

Web 2.0 Architekturen und Frameworks Web 2.0 Architekturen und Frameworks codecentric GmbH Mirko Novakovic codecentric GmbH Quality Technische Qualitätssicherung in Software-Projekten mit Fokus auf Performance, Verfügbarkeit und Wartbarkeit

Mehr

Cloud Computing mit OpenStack

Cloud Computing mit OpenStack Cloud Computing mit OpenStack B1 Systems GmbH http://www.b1-systems.de Cloud Computing Fragen Was ist Cloud Computing? Was ist Infrastructure As A Service? Was ist OpenStack...... und aus welchen Komponenten

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

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe... php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...7 3.Zugriff auf mysql Daten...11 Verteilte Systeme: php.sxw Prof.

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

Cloud Computing mit mathematischen Anwendungen

Cloud Computing mit mathematischen Anwendungen Cloud Computing mit mathematischen Anwendungen Vorlesung SoSe 2009 Dr. Marcel Kunze Karlsruhe Institute of Technology (KIT) Steinbuch Centre for Computing (SCC) KIT the cooperation of Forschungszentrum

Mehr

Java Web Services mit Apache Axis2 Entwickler

Java Web Services mit Apache Axis2 Entwickler Thilo Frotscher, Dapeng Wang, Marc Teufel Java Web Services mit Apache Axis2 Entwickler Vorwort 15 1 Einleitung 25 1.1 Entstehung 26 1.2 Unterstützte Standards 28 1.3 Was beinhaltet Axis2? 29 1.4 Warum

Mehr

Der Cloud Point of Purchase. EuroCloud Conference, 18. Mai 2011 (Christoph Streit, CTO & Co-Founder ScaleUp)"

Der Cloud Point of Purchase. EuroCloud Conference, 18. Mai 2011 (Christoph Streit, CTO & Co-Founder ScaleUp) Der Cloud Point of Purchase EuroCloud Conference, 18. Mai 2011 (Christoph Streit, CTO & Co-Founder ScaleUp)" Wer ist ScaleUp Hintergrund Cloud Provider ScaleUp ist ein Spin-Out des 12- Jahre alten MSPs

Mehr

SEQIS 10 things API Testing

SEQIS 10 things API Testing SEQIS 10 things API Testing SEQIS 10 things API Testing Herzlich Willkommen! Reinhard Salomon SEQIS Geschäftsleitung SEQIS 10 things Programm 2014 20.03.14 Business Analyse Einführung in den BABOK Guide

Mehr

Norm 410 Security Token Service

Norm 410 Security Token Service 1 Norm 410 Security Token Service 2 3 4 Release und Version Release 2 Version 2.5.0 (2.4.0) vom 25.04.2013, NAUS-Beschluss vom 14.06.2012 5 6 7 8 9 10 Status Arbeitsentwurf vom 12.08.2008 Potenzielle Norm

Mehr

Inhaltsverzeichnis. Enterprise Java im Überblick. Technologien der Java2 Enterprise Edition

Inhaltsverzeichnis. Enterprise Java im Überblick. Technologien der Java2 Enterprise Edition Inhaltsverzeichnis Vorwort 13 I Enterprise Java im Überblick 1 Bedeutung von Enterprise Java und IBM WebSphere 21 1.1 Enterprise Java 23 1.1.1 Anforderungen 23 1.1.2 E-Business 30 1.1.3 Java 36 1.2 IBM

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

5. Web-Services. Kommunikation zwischen Client und Server über XML-Format SOAP

5. Web-Services. Kommunikation zwischen Client und Server über XML-Format SOAP 1 5. Web-Services Kommunikation zwischen Client und Server über XML-Format SOAP Client SOAP Server Beschreibung von Webservices in WSDL (Web Services Description Language) Web Service Protokollstapel Suche

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

!"# $ % Internet Protokolle: HTTP 1/38

!# $ % Internet Protokolle: HTTP 1/38 !"# $ % Internet Protokolle: HTTP 1/38 1 Themenübersicht Schichtenmodell Gopher /FTP Statistik URL Einleitung Anwendungsablauf Beispiel mit Telnet Request, Response Anfragemethoden header Negotiation Proxyserver

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

SINT Rest App Documentation

SINT Rest App Documentation SINT Rest App Documentation Release 1.0 Florian Sachs 08.04.2014 Inhaltsverzeichnis 1 REST Service 3 1.1 Application................................................ 3 1.2 Konfiguration...............................................

Mehr

Java Forum Stuttgart 2008

Java Forum Stuttgart 2008 Professionelle Open Source SOA in 45 Minuten! Java Forum Stuttgart 2008 Dr. Halil-Cem Gürsoy, CDI AG Der Referent Insgesamt ca. 10 Jahre Beratung, davor Forschung Senior Consultant - JEE Evangelist Hauptsächlich

Mehr

Dateisysteme und Datenverwaltung in der Cloud

Dateisysteme und Datenverwaltung in der Cloud Dateisysteme und Datenverwaltung in der Cloud Sebastian Fischer Master-Seminar Cloud Computing - WS 2013/14 Institut für Telematik, Universität zu Lübeck Dateisysteme und Datenverwaltung in der Cloud 1

Mehr

Cloud Computing Services. oder: Internet der der Dienste. Prof. Dr. Martin Michelson

Cloud Computing Services. oder: Internet der der Dienste. Prof. Dr. Martin Michelson Cloud Computing Services oder: Internet der der Dienste Prof. Dr. Martin Michelson Cloud Cloud Computing: Definitionen Cloud Computing ist eine Form der bedarfsgerechten und flexiblen Nutzung von IT-Dienstleistungen.

Mehr

Cloud Computing im Kontext des D-Grid

Cloud Computing im Kontext des D-Grid im s & im Kontext des AHM 2010 Open Issue Session A. S. fluid Operations GmbH, TU Dortmund 23. März 2010 im s & Kurzvorstellung s und Offene Demonstration OpenNebula Zusammenfassung des 1. AHM Tages im

Mehr

Entwicklung von Web Services

Entwicklung von Web Services Vorlesungsreihe Entwicklung webbasierter Anwendungen Entwicklung von Web Services Prof. Dr.-Ing. Thomas Wiedemann email: wiedem@informatik.htw-dresden.de HOCHSCHULE FÜR TECHNIK UND WIRTSCHAFT DRESDEN (FH)

Mehr

Grundlagen über die File Hosting Services Amazon S3 und Google Cloud Storage

Grundlagen über die File Hosting Services Amazon S3 und Google Cloud Storage Grundlagen über die File Hosting Services Amazon S3 und Google Cloud Storage Pascal Krause Hochschule Mannheim Fakultät für Informatik Paul-Wittsack-Straße 10 68163 Mannheim 922045@stud.hs-mannheim.de

Mehr

Vorlesung - Web Services

Vorlesung - Web Services Vorlesung - IVS Arbeitsgruppe Softwaretechnik Abschnitt 3.1.3 Grundlegende Web Service Technologien Seite 1 - Übersicht UDDI WSDL Requester SOAP over HTTP Provider Seite 2 - Übersicht A web service is

Mehr

Cloud Computing mit OpenStack

Cloud Computing mit OpenStack Cloud Computing mit OpenStack B1 Systems GmbH http://www.b1-systems.de Cloud Computing Cloud Computing Servicemodelle Software as a Service (SaaS) Platform as a Service (PaaS) Infrastructure as a Service

Mehr

Aufbau eigener Cloud-Infrastrukturen mit Eucalyptus Hochschule Mannheim

Aufbau eigener Cloud-Infrastrukturen mit Eucalyptus Hochschule Mannheim Andreas Ries Cloud-Computing Seminar Hochschule Mannheim WS0910 1/26 Aufbau eigener Cloud-Infrastrukturen mit Eucalyptus Hochschule Mannheim Andreas Ries Fakultät für Informatik Hochschule Mannheim ries.andreas@web.de

Mehr

PHP-Schwachstellen und deren Ausnutzung

PHP-Schwachstellen und deren Ausnutzung PHP-Schwachstellen und deren Ausnutzung 44. DFN Betriebstagung / 7. Februar 2006 DFN-CERT Services GmbH Jan Kohlrausch / CSIRT Gliederung Grundlagen HTTP und PHP Anatomie typischer Schwachstellen in PHP-Skripten

Mehr

Auszug aus Axis2 Schulung

Auszug aus Axis2 Schulung Auszug aus Axis2 Schulung Dieses Dokument ist ein Auszug aus unserem Skript zur Axis2- Schulung. Es dient lediglich als Beispiel für unsere Kursunterlagen. Thomas Bayer Hauptstraße 33 75050 Gemmingen Mehr

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

Inhalt I. Blick zurück II. Was sind WebServices? III. Rahmenwerk für edienstleistungen IV. Verwendete WebServices

Inhalt I. Blick zurück II. Was sind WebServices? III. Rahmenwerk für edienstleistungen IV. Verwendete WebServices WebServices Applikationen und Services Ralf Günther Consultant HP Services April, 2003 Ralf.Guenther@hp.com DECUS Symposium 2003, Vortrag 2L06 9.04.2003 Inhalt I. Blick zurück II. Was sind WebServices?

Mehr

Rechnernetze Übung 12

Rechnernetze Übung 12 Rechnernetze Übung 12 Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Juli 2011 Sie kennen sicherlich sogenannte Web-Mailer, also WWW-Oberflächen über die Sie Emails lesen und vielleicht

Mehr

Konsolidieren Optimieren Automatisieren. Virtualisierung 2.0. Klaus Kremser Business Development ACP Holding Österreich GmbH.

Konsolidieren Optimieren Automatisieren. Virtualisierung 2.0. Klaus Kremser Business Development ACP Holding Österreich GmbH. Konsolidieren Optimieren Automatisieren Virtualisierung 2.0 Klaus Kremser Business Development ACP Holding Österreich GmbH Business today laut Gartner Group Der Erfolg eines Unternehmen hängt h heute von

Mehr

Service-Orientierte Architekturen

Service-Orientierte Architekturen Hochschule Bonn-Rhein-Sieg Service-Orientierte Architekturen Kapitel 4: Web Services I Vorlesung im Masterstudiengang Informatik Sommersemester 2010 Prof. Dr. Sascha Alda (sascha.alda@h-brs.de) (Vorläufiger)

Mehr

Cloud Computing - die Lösung der Zukunft

Cloud Computing - die Lösung der Zukunft Cloud Computing - die Lösung der Zukunft Agenda: 08:30 08:40 Begrüssung Herr Walter Keller 08:40 09:00 Idee / Aufbau der Cloud Herr Daniele Palazzo 09:00 09:25 Definition der Cloud Herr Daniele Palazzo

Mehr

Open Source Virtualisierung mit ovirt. DI (FH) René Koch

Open Source Virtualisierung mit ovirt. DI (FH) René Koch Open Source Virtualisierung mit ovirt DI (FH) René Koch Agenda Einführung Komponenten Erweiterungen & Monitoring Use Cases & Herausforderungen Einführung ovirt Zentralisiertes Management für Server und

Mehr

Vorbesprechung Hauptseminar "Cloud Computing"

Vorbesprechung Hauptseminar Cloud Computing Vorbesprechung Hauptseminar "Cloud Computing" Dimka Karastoyanova, Johannes Wettinger, Frank Leymann {karastoyanova, wettinger, leymann}@iaas.uni-stuttgart.de Institute of Architecture of Application Systems

Mehr

Platform as a Service (PaaS) 15.01.2010 Prof. Dr. Ch. Reich

Platform as a Service (PaaS) 15.01.2010 Prof. Dr. Ch. Reich Platform as a Service (PaaS) 15.01.2010 Prof. Dr. Ch. Reich Cloud Computing Deployment Typen: Private cloud Besitzt das Unternehmen Community cloud Gemeinsame Nutzung durch Gemeinschaft Public cloud Öffentliche

Mehr

Sind Privacy und Compliance im Cloud Computing möglich?

Sind Privacy und Compliance im Cloud Computing möglich? Sind und Compliance im Cloud Computing möglich? Ina Schiering Ostfalia Hochschule für angewandte Wissenschaften Markus Hansen Unabhängiges Landeszentrum für Datenschutz www.ostfalie.de Wolfenbüttel, Germany

Mehr

1. Wie können Forms und SOA integriert werden?

1. Wie können Forms und SOA integriert werden? Forms goes SOA Jüssen, Stefan Senior Consultant 03.02.2011 Jede Änderung im Geschäftsprozess muss umgehend in der unterstützenden Software abgebildet werden können. Professionelle Systementwicklung basiert

Mehr

M2M-Serviceplattformen für das Internet der Dinge

M2M-Serviceplattformen für das Internet der Dinge M2M-Serviceplattformen für das Internet der Dinge Klaus-Dieter Walter SSV Software Systems GmbH, Hannover kdw@ssv-embedded.de 20.11.2013 1 Agenda Wer ist SSV Software Systems? Hintergründiges zu IoT, M2M,

Mehr

ITK-Trends 2010: Hardware and Software. Engineered to work together. Rolf Kersten EMEA Hardware Product Marketing, Oracle

ITK-Trends 2010: Hardware and Software. Engineered to work together. Rolf Kersten EMEA Hardware Product Marketing, Oracle ITK-Trends 2010: Hardware and Software. Engineered to work together. Rolf Kersten EMEA Hardware Product Marketing, Oracle SAFE HARBOR STATEMENT The following is intended to outline our general product

Mehr

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Service Oriented Architecture Teil 2. Web Services

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Service Oriented Architecture Teil 2. Web Services UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 Service Oriented Architecture Teil 2 Web Services el0100 copyright W. G. Spruth, wgs 04-09

Mehr

Oliver Olbrich Das ebxml Projekt Entstand 1999 in einer gemeinsamen Initiative von OASIS (Organisation for the Advancement of Structured Information Standards) und UN/CEAFACT (United Nations Center for

Mehr

Proseminar: Website-Management-Systeme

Proseminar: Website-Management-Systeme Proseminar: Website-Management-Systeme Thema: Web: Apache/Roxen von Oliver Roeschke email: o_roesch@informatik.uni-kl.de Gliederung: 1.) kurze Einleitung 2.) Begriffsklärung 3.) Was ist ein Web? 4.) das

Mehr

JAXR Java API for XML Registries. Jasmin Hatteh

JAXR Java API for XML Registries. Jasmin Hatteh JAXR Java API for XML Registries Jasmin Hatteh Übersicht Web Service Architektur Rollenverteilung Interaktionen Business-Registry UDDI ebxml JAXR Architektur Interaktionen Pakete Was sind Web Services?

Mehr

Service-Oriented Architecture (SOA) [1]

Service-Oriented Architecture (SOA) [1] Verteilte Systeme SoSe 2007 Service-Oriented Architecture und Web Services Service-Oriented Architecture (SOA) [1] Ziel: Entwicklung einer robusten Architektur zur einfachen, schnellen und sicheren Integration

Mehr

Stefan Kusiek BFW-Leipzig

Stefan Kusiek BFW-Leipzig Stefan Kusiek BFW-Leipzig Schnellere Geräte (CPU, HDD, RAM, ) Mehrere Geräte (CPU, HDD, RAM, ) Mehrere Geräte (Rechner, Server, ) Cluster Preiswerter????? Mindestgröße Installation Konfiguration Wartung

Mehr

GecMeGUI. Eine SSO-enabled Cloud WebGUI mit clientseitiger Schlüsselgenerierung

GecMeGUI. Eine SSO-enabled Cloud WebGUI mit clientseitiger Schlüsselgenerierung GecMeGUI Eine SSO-enabled WebGUI mit clientseitiger Schlüsselgenerierung Hochschule Furtwangen Frank Dölitzscher 04.04.2011 Agenda Web GUI 1. Einführung 2. Absicherung des Service Zugangs 3. Web GUI Sicherung

Mehr

Programmentwicklung ohne BlueJ

Programmentwicklung ohne BlueJ Objektorientierte Programmierung in - Eine praxisnahe Einführung mit Bluej Programmentwicklung BlueJ 1.0 Ein BlueJ-Projekt Ein BlueJ-Projekt ist der Inhalt eines Verzeichnisses. das Projektname heißt wie

Mehr

Information Systems & Semantic Web University of Koblenz Landau, Germany. Cloud Computing. Steffen Staab

<is web> Information Systems & Semantic Web University of Koblenz Landau, Germany. Cloud Computing. Steffen Staab Information Systems & Semantic Web University of Koblenz Landau, Germany Cloud Computing Cloud Computing if you do not have Cloud Computing in your business proposal you do not get VC funding. P. Miraglia@Austin,

Mehr

Klausur Verteilte Systeme

Klausur Verteilte Systeme Klausur Verteilte Systeme SS 2005 by Prof. Walter Kriha Klausur Verteilte Systeme: SS 2005 by Prof. Walter Kriha Note Bitte ausfüllen (Fill in please): Vorname: Nachname: Matrikelnummer: Studiengang: Table

Mehr

Open Source Data Center Virtualisierung mit OpenNebula. 22.05.2013 LinuxTag Berlin. Bernd Erk www.netways.de

Open Source Data Center Virtualisierung mit OpenNebula. 22.05.2013 LinuxTag Berlin. Bernd Erk www.netways.de Open Source Data Center Virtualisierung mit OpenNebula 22.05.2013 LinuxTag Berlin Bernd Erk VORSTELLUNG NETWAYS NETWAYS! Firmengründung 1995! GmbH seit 2001! Open Source seit 1997! 38 Mitarbeiter! Spezialisierung

Mehr