Zugangsmechanismen beim Cloud-Computing

Größe: px
Ab Seite anzeigen:

Download "Zugangsmechanismen beim Cloud-Computing"

Transkript

1 Zugangsmechanismen beim Cloud-Computing SOAP-/RESTful-Webservices und Service- Orientierte Architekturen Semesterbegleitende Prüfungsleistung im Fach: Kommunikations- und Rechnernetze 2 an der Fachhochschule Dortmund im Fachbereich 04 im Studiengang Informatik Autor: Andreas Beckers Matrikel-Nr: Erstprüfer: Prof. Dr. Eren Datum: 27. Januar 2011

2 Inhalt II Inhalt Inhalt... II 1 Einleitung Was ist Cloud-Computing Motivation Zielsetzung Service-Orientierte Architekturen Definition SOA meets Cloud-Computing Zugangsmechanismen Webservice Allgemein SOAP-Webservices WSDL - Webservice Description Language SOAP RESTful-Webservices SOAP oder REST Umsetzungsmöglichkeiten SOAP-Webservices mit WSDL-Datei RESTful-Webservices Alternative Umsetzungen durch APIs und Frameworks Fazit Abbildungsverzeichnis Codeausschnittverzeichnis Literaturverzeichnis... 16

3 1 Einleitung 1 1 Einleitung 1.1 Was ist Cloud-Computing Der Begriff Cloud ergibt sich, historisch gesehen, aus Diagrammen von Computernetzwerken. Mit einer Wolke wird typischerweise die Schicht zwischen zwei Netzwerken dargestellt, die miteinander verbunden sind. Die Wolke stellt das unbekannte Netz des Providers dar, meistens das Internet. Hinter dem Begriff Cloud-Computing verbirgt sich ein großes, komplexes und unbekanntes System also die Wolke die, wie ein normaler Rechner, bestimmte Aufgaben übernimmt. Damit ist ein riesiges zusammengeschlossenes Rechnersystem gemeint, das eine enorme Rechenleistung und eine hohe Verfügbarkeit gewährleistet. Wenn einer der tausenden Rechner ausfällt, bemerkt der eigentliche Nutzer davon nichts. Das Management übernimmt der Anbieter, letztendlich soll der Anwender ja nur die unbekannte Wolke vor Augen haben. Eine weitere, wichtige Eigenschaft für den Endnutzer ist die Skalierbarkeit. Als bekanntes Beispiel dient hier das Weihnachtsgeschäft. Ein Web-Shop wird in der Regel passabel genutzt; es werden nicht viele Ressourcen benötigt. Liegt dieser Shop bei einem Cloud-Anbieter, wird das System auf entsprechend nur das Nötigste gedrosselt. Der Shop-Besitzer muss dementsprechend wenig zahlen. Zu Weihnachten jedoch, wo der Kaufandrang enorm steigt, werden durch den Cloud- Anbieter die Computer-Ressourcen so angepasst, dass die Performance des Systems jederzeit gut ist. Würde der Shop-Anbieter die Anwendung selbst hosten, müsste er entweder das ganze Jahr über starke, teure Hardware und eine schnelle Leitung bezahlen, wobei nur ein Teil benutzt wird, oder aber er hätte zu Weihnachten ein Problem, weil die Auslastung zu hoch ist. Ein Nutzer könnte die Anwendung nicht adäquat einsetzen. 1.2 Motivation Zurzeit ist Cloud-Computing zum richtigen Hype geworden. Jeder will sich damit beschäftigen und sucht nach einem angemessenen Szenario für seine Anwendung. Wie wird Cloud-Computing aber technisch umgesetzt? Über welchem Weg kommuniziere ich mit einem Cloud-Anbieter? In dieser Arbeit wird auf diese Fragen näher eingegangen. 1.3 Zielsetzung Zu allererst werden in Kapitel 2 die Begriffe Cloud-Computing und Service- Orientierte Architektur miteinander verglichen und unterschieden. Sie unterscheiden sich sehr, wobei sie aber einiges gemeinsam haben.

4 1 Einleitung 2 Anschließend werden die beiden gängigen Zugangsmechanismen SOAP- und RESTful-Webservices aufgezeigt, nachdem nochmal allgemein das Thema Webservices erläutert wird. In Kapitel 3.2 wird das Austauschformat SOAP vorgestellt, und wie man SOAP-basierte Webservices mittels der Webservice Description Language entwirft. Das Ganze wird mit einem Beispiel aus der Amazon Elastic Computing Cloud abgerundet. Dieses Beispiel wird auch in Kapitel 3.3 fortgeführt, in dem auf die REST- Technologie eingegangen wird. Amazon bietet nämlich beide Zugangsmechanismen für ihre Cloud an. In Kapitel 3.4 werden die beiden zuvor erläuterten Webservice Techniken verglichen und sollen einen Überblick bieten, welche der beiden denn nun für die eigene Anwendung in Frage kommt. Im anschließenden Kapitel wird erläutert, wie diese Techniken für die eigene Anwendung umgesetzt werden können.

5 2 Service-Orientierte Architekturen 3 2 Service-Orientierte Architekturen 2.1 Definition Eine Service-orientierte Architektur ist im eigentlichen Sinne gar keine Architektur sondern eher ein Paradigma oder ein bestimmter Ansatz, der beim Entwurf einer Software-Architektur hilft, konkrete Entscheidungen zu treffen. Letztlich muss SOA, wie jedes IT-Konzept, helfen, fachliche Anforderungen besser zu erfüllen. Um qualitative Lösungen rechtzeitig zu liefern, ist Flexibilität erforderlich. Damit Flexibilität nicht zu Chaos führt, braucht man aber eine klare Organisation, klare Rollen und klare Prozesse. Aus diesem Grund hat SOA auch mit all diesen nichttechnischen Aspekten zu tun. [Josu08, S. 17] In konzeptioneller Sicht gibt es Anbieter, die bestimmte Services zur Verfügung stellen, Konsumenten, die diese beanspruchen wollen und schließlich eine Registrierung, bei der Services angemeldet und erfragt werden können. In Abbildung 1 wird dieser Zusammenhang veranschaulicht. Abbildung 1: Konzept einer SOA Der Anbieter veröffentlicht seinen Service zum Beispiel durch eine WSDL-Datei in der Registrierung. Der Konsument stellt eine Anfrage und erhält schließlich diese WSDL-Datei, mit der er mittels SOAP oder REST Zugriff auf den Service bekommt. Auf die Themen WSDL, SOAP und REST wird in Kapitel 3 näher eingegangen. 2.2 SOA meets Cloud-Computing Eine SOA stellt Policen, Prinzipien und ein Framework bereit und illustriert somit, wie bestimmte Services von Enterprise Anwendungen genutzt werden können um bestimmten fachlichen Nutzen zu erhalten. Services in einer SOA dienen bestimmten Geschäftsfällen wie zum Beispiel das Aktualisieren eines Service-Level- Agreement zwischen dem Unternehmen und einem Kunden. Rein technische

6 2 Service-Orientierte Architekturen 4 Funktionalitäten, wie das Updaten eines Eintrags in der Datenbank, sind jedoch keine Services im Sinne einer SOA. Auf einem höheren Level gesehen kann SOA als verbessertes Verwaltungsmanagement für Geschäftsfälle betrachtet werden. Dieses Konzept erlaubt uns, Geschäftsprozesse feingranular aufzuteilen, diese als Services bestimmten Anwendungen zur Verfügung zu stellen und somit eine Wiederverwendung von vorhandenen Anwendungsfällen zu ermöglichen. Der Vergleich zwischen SOA und Cloud-Computing kann in erster Sicht ein wenig verwirrend sein. Beides ist sich sehr ähnlich aber dennoch gibt es grundlegende Unterschiede. Webservices einer SOA werden von Unternehmensanwendungen für spezielle andere Applikationen angeboten wohingegen Services des Cloud- Computing Anbieters einem Endkunden angeboten werden um zum Beispiel Software oder Hardware zur Verfügung zu stellen. Cloud-Service Provider wie Amazon oder Force.com haben für die Architektur ihrer Services nutzen aus dem SOA-Konzept gezogen und um einige Dinge verbessert. Die angebotenen Dienste werden in die für den Kunden unergründliche Wolke gesteckt und können erweitert und genutzt werden, wann immer ein Bedarf danach besteht. In einer SOA hingegen ist das erweitern von Services schwierig und ein teures Vorgehen. [Ritt10, S ]

7 3 Zugangsmechanismen 5 3 Zugangsmechanismen 3.1 Webservice Allgemein Ein Webservice stellt die Form eines Nachrichtenaustauschs zwischen zwei Systemen dar. Mit dem Wort Web ist hierbei gemeint, dass als Übertragungsprotokoll das Hypertext Transfer Protokoll (HTTP), das auch für Zugriffe auf Webseiten zuständig ist, eingesetzt wird. Der Vorteil gegenüber anderen Mechanismen wie RPC, RMI und CORBA ist, dass keine weiteren Firewallregeln im Unternehmen definiert werden müssen, da aufgrund des HTTP-Ports 80 die Verbindungen üblicherweise durchgelassen werden. Die Übertragung der Daten über HTTP wird durch SOAP oder REST geregelt. Diese beiden Mechanismen werden in Kapitel 3.2 und Kapitel 3.3 erläutert. 3.2 SOAP-Webservices Die erste Möglichkeit, Zugriff zu Cloud-Computing Anbieter zu bekommen, ist der SOAP Webservice. Grundlegend dafür ist die WSDL-Datei, die die einzelnen Services auflistet und beschreibt, welche Parameter und Rückgabewerte die einzelnen Services besitzen. In Kapitel wird auf den Aufbau der WSDL-Datei eingegangen. In Kapitel wird der SOAP-Aufbau erläutert und anhand eines Beispiels gezeigt, wie ein neues Image (AMI) in der Amazon EC2 angelegt werden kann WSDL - Webservice Description Language WSDL steht für Web-Services Description Language und stellt die Grundlage der SOAP-Webservices dar. Mit ihr kann auf standardisiertem Wege die Schnittstelle zwischen Service-Anbieter und Konsument definiert werden. WSDL wird durch die Spezifikation des World Wide Web Consortium (W3C) definiert. Zurzeit existieren zwei wesentliche Versionen. Die am weitesten verbreitete und in diversen Werkzeugen und Technologien eingesetzte Version ist 1.1. Eine neuere Version, die sich zum Zeitpunkt dieser Arbeit aber noch nicht richtig durchsetzen konnte, ist die Version 2.0. Diese verfügt über einige Verbesserungen und Erweiterungen. WSDL-Dokumente sind grundsätzlich bottom-up aufgebaut. Das heißt, dass die konkreten Eigenschaften am Ende aufgeführt werden und die benötigten Details darüber stehen. In Abbildung 2 ist der Aufbau dargestellt.

8 3 Zugangsmechanismen 6 Abbildung 2: Aufbau eines WSDL1.1 Dokuments (vgl. [Josu08, S. 262]) Mit service und port wird der Service durch die genaue Adresse in Form einer URL mit dazugehörigem Port angegeben. Durch das binding werden dann die verschiedenen Operationen an den Service gebunden. Des Weiteren wird hier das genaue Übertragungsprotokoll festgelegt. Innerhalb des porttype wird die Verknüpfung zwischen Operationen und Requestund Responseparametern hergestellt. Mit message können schließlich allgemeine Datenpakete deklariert werden, die durch types mit Hilfe der XML-Schema Spezifikation exakt beschrieben werden. Hier werden einzelne Attribute benannt, die Häufigkeit des Auftretens sowie die Variablentypen. Es besteht auch die Möglichkeit, die XML-Schema Typenspezifikation auszulagern und innerhalb des WSDL-Dokuments zu importieren SOAP Die Spezifikation von SOAP (Simple Object Access Protocol) beschreibt in erster Linie den Aufbau und das Format der Nachrichten, die bei einem Service-Aufruf zwischen Konsument und Serviceprovider ausgetauscht werden. Die zu übertragenden Daten werden in einen speziellen Umschlag eingebettet, wie in Abbildung 3 zu sehen ist. class SOAP SOAP-Envelope SOAP-Header Soap-Body Abbildung 3: Aufbau einer SOAP-Nachricht Dabei wird innerhalb eines Umschlags (soap:envelope) ein Header (soap:header) und ein Body (soap:body) eingefügt. Syntaktisch wird das Austauschformat mit Hilfe

9 3 Zugangsmechanismen 7 der Extensible Markup Language (XML) beschrieben. In Codeausschnitt 1 ist eine leere Nachricht im XML-Format dargestellt. <?xml version="1.0"?> <soapenv:envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"> <soapenv:header> </soapenv:header> <soapenv:body> </soapenv:body> </soapenv:envelope> Codeausschnitt 1: Beispiel einer leeren SOAP-Nachricht Als praktisches Beispiel wird in Codeausschnitt 2 eine SOAP-Request Nachricht aufgezeigt, die zum Anlegen eines neuen Images in der Amazon Elastic Compute Cloud dient. <?xml version="1.0"?> <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://ec2.amazonaws.com/doc/ /"> <soapenv:header/> <soapenv:body> <ns:createimage> <ns:instanceid>i-10a64379</ns:instanceid> <ns:name>standard-web-server-v1.0</ns:name> <ns:description>standard Web Server v1.0</ns:description> <ns:noreboot>false</ns:noreboot> </ns:createimage> </soapenv:body> </soapenv:envelope> Codeausschnitt 2: SOAP-Request zum Anlegen eines Images in der Amazon EC2 Übermittelte Werte sind hier unter anderem der Name des Images, eine eindeutige ID und eine optionale Beschreibung. Der Aufbau der Nachricht lässt sich aus der offiziellen WSDL-Datei von Amazon ableiten [Amaz10]. 3.3 RESTful-Webservices Neben SOAP gibt es noch die REST-Webservices. REST steht für Representational State Transfer. Architekturen, die REST-Webservices nutzen werden auch als RESTful bezeichnet. Die Prinzipien dieser Technik werden schon längst, wenn auch vielleicht nicht bekannt, im Internet eingesetzt. Ressourcen und Methoden werden über einen Uniform Resource Identifier (URI) angesprochen, also quasi wie der Aufruf einer Webseite. Dabei kommen die Standard HTTP-Methoden GET, POST, PUT und DELETE zum Einsatz. REST-Webservices können als Kollektion von Ressourcen angesehen werden. Jede dieser Ressourcen ist durch eine Basis URI zu erreichen, gefolgt von einer eindeutigen ID, die die gewünschte Ressource identifiziert. Ein Web-Service, der eine Liste von Autos bereitstellt, könnte folgendermaßen aussehen: Wenn dieser Service das Autokennzeichen als eindeutige ID nutzt, könnten die Informationen über ein bestimmtes Auto folgendermaßen abgerufen werden:

10 3 Zugangsmechanismen 8 Für ein komplexeres Beispiel wird der SOAP Amazon EC2 Service zum Anlegen eines neuen AMI aus dem vorherigem Kapitel als REST-Lösung in Codeausschnitt 3 dargestellt: https://ec2.amazonaws.com/?action=createimage &Description=Standard+Web+Server+v1.0 &InstanceId=i-10a64379 &Name=standard-web-server-v1.0 &NoReboot=false Codeausschnitt 3: REST-Anfrage zum Anlegen eines AMI in der Amazon EC2 Wie zu sehen ist, ist der Service-Aufruf wie ein Webseitenaufruf aufgebaut. Benötigte Werte werden als Parameter angefügt. Die Antwort auf ein REST- Request ist, ebenfalls im XML-Format oder auch in JSON, aber nicht eingepackt in einem SOAP-Umschlag, sondern lediglich mit einem standardisierten HTTP- Header. Die Antwort auf die CreateImage-Anfrage könnte folgendermaßen aussehen: HTTP/ OK x-amz-id-2: id x-amz-request-id: request_id Date: date Content-Type: type Content-Length: length Connection: close Server: AmazonEC2 <CreateImageResponse xmlns="http://ec2.amazonaws.com/doc/ /"> <requestid>59dbff89-35bd-4eac-99ed-be587example</requestid> <imageid>ami-4fa54026</imageid> </CreateImageResponse> Codeausschnitt 4: Beispiel Response auf REST-Anfrage von Amazon EC2 Dieses Beispiel stammt aus der Amazon EC2 API Referenz [Ama10]. Noch fehlt es an einem standardisierten Deskriptor für RESTful Webservices. Es existieren aber bereits einige Ansätze. Einer ist zum Beispiel die Web Application Description Language (WADL), konnte sich aber bisher noch nicht klar durchsetzen. Eine weitere Möglichkeit ist die WSDL-Datei in der Version 2.0, die, wenn es von dem Web-Service Framework unterstützt wird, die Services hinreichend beschreibt [Rub07]. 3.4 SOAP oder REST Die Frage, welchen Webservice-Mechanismus man einsetzen sollte, kann nicht pauschal beantwortet werden. Zuallererst sollte evaluiert werden, welche Methoden von welchem Cloud-Anbieter unterstützt werden. Falls aber zum Beispiel ein Anbieter beide Möglichkeiten anbietet, wie es zum Beispiel die Amazon Elastic Computing Cloud macht, ist eine genauere Überlegung sinnvoll. SOAP-Webservices sind weit verbreitetet und es gibt zahlreiche Tools und Frameworks, um diese zu designen und umzusetzen. Des Weiteren gibt es viele Beispiele, die einem die eigene Umsetzung erleichtern können. Dennoch wurde

11 3 Zugangsmechanismen 9 diese Technologie von REST überholt. REST ist vor allem leichter zu benutzen, denn der Entwickler muss sich mit weniger Protokollen auseinandersetzen. Des Weiteren muss zum Nutzen der Services keine individueller Client installiert werden. Der Aufruf von REST ist ein normaler http-aufruf, wie auch der Aufruf einer Web- Seite [Mark10, S. 50]. Aber auch Performance-Vorteile sind durch REST gegeben. Der Server, der die Webservices zur Verfügung stellt, hat durch REST eine geringere Last als wenn er SOAP-Webservices anbieten würde. Die Antwortzeit auf eine Anfrage ist ebenfalls schneller [Ritt10, S. 199 f]. Anhand der Nutzungsstatistiken der Amazon Elastic Computing Cloud kann man feststellen, dass auch die Entwickler die Vorteile von REST ernst nehmen. 85% der Webservice Aufrufe dort geschehen über REST [ORei03].

12 4 Umsetzungsmöglichkeiten 10 4 Umsetzungsmöglichkeiten 4.1 SOAP-Webservices mit WSDL-Datei Um auf SOAP-Webservices zugreifen zu können, ist die WSDL-Datei des Cloud- Anbieters notwendig. Um nun aus der XML-basierten Datei einen Aufruf zu starten, ist es notwendig, sich sogenannte Client-Stubs oder auch Artefakte zu erzeugen. Diese Stubs sind gewöhnliche Klassen, die die Informationen, wie Datentypen und Services, in entsprechenden Klassen und Methoden aufteilen. Um solche Klassen zu bekommen, bedarf es einem Code-Generator. Über die Kommandozeile oder aber auch über Build-Skripte werden schließlich durch Angabe der WSDL-Datei diese Stubs erzeugt. Diese Code-Generatoren sind durch verschiedene Frameworks umgesetzt worden. Im Java Bereich sind die bekanntesten Vertreter Apache Axis [Axis10] und JAX-WS (Java API for XML-Web Services mit Generator wsimport). Im.net Bereich ist bereits ein Generator enthalten (wsdl.exe). Am Beispiel des Apache Axis2 Frameworks wird nun erläutert, wie der oben bereits erwähnte Service createimage() der Amazon EC2 implementiert werden kann. Mit Hilfe des Generators müssen zuerst die Client-Stubs aus der WSDL-Datei erzeugt werden. Dazu muss die WSDL-Datei lokal gespeichert werden und mit dem wsdl2java-generator ausgeführt werden. In Codeausschnitt 5 ist der notwendige Kommandozeilenaufruf zu sehen. wsdl2java s l java d xmlbeans o c:/stubs uri AmazonEC2.wsdl Codeausschnitt 5: Generatoraufruf zum Erzeugen der SOAP Client-Stubs Als Parameter werden die WSDL-Datei angegeben, die Programmiersprache, das Data-Binding Framework und schließlich den Pfad, wohin die Dateien gespeichert werden sollen. Das Data-Binding Framework bestimmt die Art und Weise, wie XML- Daten zu Datenobjekten konvertiert werden bzw. andersrum. Zusätzlich kann mit dem Parameter t auch ein JUnit Test erstellt werden. Die nun erzeugten Klassen können in das eigene Projekt eingebunden werden. Zusätzlich müssen noch die Libraries des Apache Frameworks in den Classpath hinzugefügt werden. Im Codeausschnitt 6 ist zu sehen, wie mit den generierten Klassen der Serviceaufruf implementiert wird. // Stub zum Aufruf der Services AmazonEC2Stub stub = new AmazonEC2Stub(); // Vorbereiten des Aufrufs (Request erstellen) CreateImageDocument createimagerequest = CreateImageDocument.Factory.newInstance(); CreateImageType data = createimagerequest.addnewcreateimage(); // Requestdaten füllen data.setdescription("standard Web Server v1.0"); data.setinstanceid("i-10a64379"); data.setname("standard-web-server-v1.0");

13 4 Umsetzungsmöglichkeiten 11 data.setnoreboot(false); // Aufruf des Services und extrahieren der Daten CreateImageResponseDocument response = stub.createimage(createimagerequest); CreateImageResponseType responsedata = response.getcreateimageresponse(); System.out.println( "Image ID : " + responsedata.getimageid() ); System.out.println( "Request ID: " + responsedata.getrequestid() ); Codeausschnitt 6: Aufruf des SOAP-Services mittels der generierten Klassen von Axis2 Zuerst muss ein stub initialisiert werden, über den die eigentlichen Services, die in der WSDL-Datei definiert wurden, aufgerufen werden können. Die benötigten Parameter (Requestparameter) werden in für jeden Service generierte Datentypen gekapselt (hier: CreateImageType). Ebenfalls für den Rückgabewert des entfernten Methodenaufrufs wurde ein eigener Datentyp generiert, der schließlich zur Weiterverarbeitung ausgelesen werden kann. Diese Vorgehensweise ist praktisch für alle Cloud-Anbieter gleich, die SOAP- Webservices durch eine WSDL-Datei bereitstellen. Die WSDL-Dateien müssen konform aufgebaut sein. Das einzige, was sich zwischen den Anbietern ändert, sind die Servicenamen, die Request und Responseparameter sowie natürlich die unterschiedlichen Fachlichkeiten, die durch die Services erreicht werden sollen. 4.2 RESTful-Webservices Auch für RESTful-Webservices gibt es mehrere Implementierungsmöglichkeiten. Da ein Service wie eine Website zu erreichen ist, kann zum Beispiel in der eigenen Anwendung ein HTTP-Aufruf mit der gewünschte URL umgesetzt werden. Allerdings muss die erhaltene Antwort selbst geparst werden, um an benötigte Informationen zu gelangen. Alternativen stellen wieder diverse Frameworks dar. Eine davon ist zum Beispiel Jersey, die Open-Source Implementierung von JAX-RS [Jers10]. Zum besseren Verständnis, wie dieses Framework eingesetzt werden kann, wird im Codeausschnitt 7 dargestellt, wie auf den Amazon Service RESTful zugegriffen wird. Client client = Client.create(); // URL des WebServices WebResource wr = client.resource("https://ec2.amazonaws.com"); // Parameter für WebService MultivaluedMap< String, String > params = new MultivaluedMapImpl(); params.add("action", "CreateImage"); params.add("description", "Standard Web Server v1.0"); params.add("instanceid", "i-10a64379"); params.add("name", "standard-web-server-v1.0"); params.add("noreboot", "false"); CreateImageResponse response = wr.queryparams(params).accept(mediatype.application_xml_type).get(new GenericType< CreateImageResponse >() {}); //Ergebnis ausgeben System.out.println("Request ID: " response.getrequestid()); System.out.println("Image ID: " response.getimageid()); Codeausschnitt 7: RESTful Zugriff mittels Jersey JAX-RS Implementierung

14 4 Umsetzungsmöglichkeiten 12 Ähnlich wie bei der Implementierung des SOAP-Webservices wird zuerst ein Client- Stub initialisiert über den dann später der Service Aufruf erfolgt. Dem Client von Jersey muss allerdings die Web Ressource des REST-Services bekanntgegeben werden. Dazu wird die URI angegeben sowie die nötigen Parameter, die der Cloud- Anbieter durch seine API vorgibt. Der Response Datentyp ist eine selbst erstellte Klasse, die die definierte Antwort des Service-Anbieters repräsentiert. Durch die wird das Mapping deklariert. Diese Notation gebührt der Java-Erweiterung JAXB, die für das sogenannte Unmarshalling von XML zu normalen Objekten zuständig ist. Als Beispiel ist die Response Klasse des CreateImage-Services ohne Getter-Methoden in Codeausschnitt 8 zu public class CreateImageResponse { private String requestid; private String imageid; Codeausschnitt 8: XML-Mapper für den Response eines REST-Aufrufs durch Jersey 4.3 Alternative Umsetzungen durch APIs und Frameworks Cloud-Anbieter wie Salesforce.com oder Amazon bieten Zugriff zu einer WSDL- Datei oder stellen HTTP-basierte REST-Webservices bereit, um ihre Lösungen dynamisch konfigurierbar zu machen. Bei Anbietern wie Google Apps Engine oder Windows Azure können ebenfalls (bei Azure) eigens entwickelte Applikationen gehostet werden. Darin können dann Services nach dem SOA-Prinzip bereitgestellt werden, die gewünschte Fachlichkeiten übernehmen und nach dem Cloud- Computing Prinzip effizient und skalierbar aufgerufen werden können. Bei diesem Szenario ist es aber einem selbst überlassen, den Webservice, diesmal als Server oder Codeseitig als Server-Skeleton, zu implementieren. Dazu werden oftmals eigene Schnittstellen oder aber auch Frameworks von Drittanbietern angeboten. Restlet für Google Apps Engine (www.restlet.org) Ein Beispiel wäre Restlet für die Google Apps Engine (GAE). Applikationen für diese Cloud haben nur einen eingeschränkten Zugriff auf Bibliotheken. Somit sind nur die Standard Java Bibliotheken verfügbar. Restlet als jar-bibliothek ergänzt die eigene Anwendung um REST-Funktionalität, so dass von der Cloud aus, als Client, weitere Services genutzt werden können, oder aber in der Cloud ein REST-Server eingerichtet wird, der es eben ermöglicht, aus anderen Anwendungen auf die GAE- Applikation in der Cloud zuzugreifen, um bestimmte Fachlichkeiten hochskalierbar durchzuführen. Microsoft.WindowsAzure.StorageClient [MsCe10] Der StorageClient der Windows Azure SDK ist eine vorgefertigte Bibliothek die es dem Entwickler vereinfacht, die REST-Operationen der Storage Cloud zu nutzen. Dieser Client abstrahiert die Schnittstelle in dem er ein gekapseltes closed-source Interface zur Verfügung stellt. Diese Lösung versteckt die komplexeren inneren Abläufe der Web-Services, die einem Entwickler meistens nicht interessieren. Amazon Web Services (AWS) Java /.Net / PHP Library [AWSAPI10] Auch Amazon stellt eine vorgefertigte Bibliothek zur Verfügung, die es ermöglicht, auf dessen Services zuzugreifen und hebt die Komplexität auf, selbst den Zugriff zu den Web Services erstellen zu müssen.

15 5 Fazit 13 5 Fazit In dieser Arbeit wurde, nachdem im kleineren Umfang Cloud-Computing erläutert wurde, dieser Ansatz mit der Service-Orientierten Architektur verglichen. Es hat sich herausgestellt, dass sich beide Methoden sehr ähneln, sich aber dennoch grundlegend differenzieren. Eine SOA dient dem feingranularen Aufteilen von Geschäftsprozessen, die schließlich wiederverwendbar sind und von anderen Anwendungen genutzt werden können. Cloud-Computing hingegen wird genutzt, um Software, Hardware oder Betriebssysteme hochverfügbar und skalierbar zur Verfügung gestellt zu bekommen. Schließlich wurden die beiden gängigsten Zugangsmechanismen SOAP- und RESTful-Webservices vorgestellt. Bei SOAP-Webservices spielt die WSDL-Datei die entscheidende Rolle, da darin alle Services und Austauschformate deklariert werden. Die eigentlichen Nachrichten werden im XML-Format innerhalb eines SOAP-Umschlags versendet. RESTful-Webservices werden über die Standard- HTTP Messages POST, PUT, GET, und DELETE ausgeführt. Angesprochen werden sie, wie bei einem Webseitenaufruf, durch ihre Uniform Resource Identifier. In einem anschließenden Vergleich zwischen SOAP und REST hat sich herausgestellt, dass die RESTful-Webservices bei den Entwicklern aufgrund der leichteren Bedienung und ihrer effizienteren Arbeitsweise beliebter sind und bei einer modernen Anwendungen vorzuziehen sind, wenn der gewünschte Cloud- Anbieter diesen Mechanismus unterstützt. Mit der Hilfestellung, wie solche Web-Services selbst implementiert und integriert werden können, wird ein näheres, praktischeres Verständnis für diese Thematik vorgezeigt.

16 Abbildungsverzeichnis 14 Abbildungsverzeichnis Abbildung 1: Konzept einer SOA... 3 Abbildung 2: Aufbau eines WSDL1.1 Dokuments (vgl. [Josu08, S. 262])... 6 Abbildung 3: Aufbau einer SOAP-Nachricht... 6

17 Codeausschnittverzeichnis 15 Codeausschnittverzeichnis Codeausschnitt 1: Beispiel einer leeren SOAP-Nachricht... 7 Codeausschnitt 2: SOAP-Request zum Anlegen eines Images in der Amazon EC Codeausschnitt 3: REST-Anfrage zum Anlegen eines AMI in der Amazon EC Codeausschnitt 4: Beispiel Response auf REST-Anfrage von Amazon EC Codeausschnitt 5: Generatoraufruf zum Erzeugen der SOAP Client-Stubs Codeausschnitt 6: Aufruf des SOAP-Services mittels der generierten Klassen von Axis Codeausschnitt 7: RESTful Zugriff mittels Jersey JAX-RS Implementierung Codeausschnitt 8: XML-Mapper für den Response eines REST-Aufrufs durch Jersey... 12

18 Literaturverzeichnis 16 Literaturverzeichnis [Josu08] Nicolai Josuttis: SOA in der Praxis (dpunkt.verlag, Heidelberg, 2008). [Mark10] Eric A. Marks, Bob Lozano: Executive's Guide to Cloud Computing (John Wiley & Sons, Inc., New Jersey, 2010). [Ritt10] John W. Rittinghouse, James F. Ransome: Cloud Computing - Implementation, Management, and Security (CRC Press, Boca Raton, 2010). Onlinequellen [Ama10] Amazon Web Services LLC: Amazon Elastic Compute Cloud API Reference (2010) [http://docs.amazonwebservices.com/awsec2/latest/apireference/apireference-query- CreateImage.html] (Zugriff: 4. Januar 2011). [Amaz10] Amazon: Amazon EC2 WSDL-Datei () [http://s3.amazonaws.com/ec2-downloads/ec2.wsdl] (Zugriff: ). [AWSAPI10] amazon web services: AWS SDK for Java (2010) [http://aws.amazon.com/sdkforjava/] (Zugriff: 27. Januar 2011). [Axis10] The Apache Software Foundation: Apache Axis2 (2010) [http://axis.apache.org/axis2/java/core/] (Zugriff: Januar 11). [Baye02] Thomas Bayer: OiO - REST Web Services (2002) [http://www.oio.de/public/xml/rest-webservices.htm] (Zugriff: 4. Januar 2011). [Jers10] Java.net: Jersey 1.4 User Guide (2010) [http://jersey.java.net/nonav/documentation/latest/user-guide.html#client-api] (Zugriff: 12. Januar 2011). [MsCe10] Ms Certs.net: Windows Azure Storage : REST API (part 2) - Storage Client APIs (2010) [http://mscerts.net/windows/windows%20azure%20storage%20%20%20rest%20api%20%28part%2 02%29%20-%20storage%20client%20apis.aspx] (Zugriff: Januar 12). [ORei03] Tim O'Reilly: REST vs. SOAP at Amazon (2003) [http://www.oreillynet.com/pub/wlg/3005] (Zugriff: 4. Januar 2011). [Rub07] Daniel Rubio: WADL: The REST answer to WSDL (2007) [http://searchsoa.techtarget.com/tip/wadl-the-rest-answer-to-wsdl] (Zugriff: 4. Januar 2011). [Stei07] Thomas Steiner: Automatic Multi Language Program Library Generation for REST APIs (2007) [https://docs.google.com/doc?id=dgdcn6h3_38fz2vn5] (Zugriff: ).

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

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

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

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

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

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

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

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

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

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

Entwicklung eines interoperablen, multimedialen Teaching-File-Service: Web-Service unterstützter Wissenstransfer in der Radiologie

Entwicklung eines interoperablen, multimedialen Teaching-File-Service: Web-Service unterstützter Wissenstransfer in der Radiologie Aus dem Universitätsklinikum Benjamin Franklin der Freien Universität Berlin Institut für Medizinische Informatik, Biometrie und Epidemiologie Geschäftsführender Direktor: Prof. Dr. Thomas Tolxdorff Entwicklung

Mehr

REST Grundlagen. Seminar Aktuelle Software-Engineering-Praktiken für das World Wide Web. Olga Liskin

REST Grundlagen. Seminar Aktuelle Software-Engineering-Praktiken für das World Wide Web. Olga Liskin <olga.liskin@gmail.com> REST Grundlagen Seminar Aktuelle Software-Engineering-Praktiken für das World Wide Web Olga Liskin Übersicht Motivation, Einführung Architekturstil REST RESTful Webservices Patterns,

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

.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

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

Friedrich. Kiltz. Java Webservices

Friedrich. Kiltz. Java Webservices Friedrich Kiltz Java Webservices Symbole.NET 379 @Action 279, 423 @Addressing 372 @BindingType 416 @Consumes 87 @Context 82, 88 @CookieParam 82, 88 @DefaultValue 82, 88 @DELETE 87 @Encoded 82, 88 @Endpoint

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

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

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

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

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

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

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

E-Business Architekturen

E-Business Architekturen E-Business Architekturen Übersicht zu den Inhalten der Vorlesung Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Darüber hinaus finden sich vielfältige Beispiele aus

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

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

Software Engineering II (IB) Serviceorientierte Architektur

Software Engineering II (IB) Serviceorientierte Architektur Serviceorientierte Architektur Prof. Dr. Oliver Braun Fakultät für Informatik und Mathematik Hochschule München SS 2015 Webservices Ziel: flexible programmatische Zusammenarbeit zwischen Servern Bereitstellung

Mehr

Praktikum Internetprotokolle - POP3

Praktikum Internetprotokolle - POP3 Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik/Rechnernetze 19. Mai 2008 1 Aufgabenstellung Praktikum

Mehr

Web-Services Implementierung mit Java

Web-Services Implementierung mit Java Web-Services Implementierung mit Java J. Heinzelreiter WS 2004/05 Java-APIs für Web-Services (1) Anwendungs-Code JAXR JAXM JAX-RPC SAAJ SOAP/SwA JWSDL WSDL XML/XML-Schema Web-Services/Java - 2 Java-APIs

Mehr

A Generic Database Web Service for the Venice Lightweight Service Grid

A Generic Database Web Service for the Venice Lightweight Service Grid A Generic Database Web Service for the Venice Lightweight Service Grid Michael Koch Bachelorarbeit Michael Koch University of Kaiserslautern, Germany Integrated Communication Systems Lab Email: m_koch2@cs.uni-kl.de

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

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

Das eigene Kandidatenfrontend

Das eigene Kandidatenfrontend Das eigene Kandidatenfrontend THEMA: Mit dem BeeSite API zum eigenen Job Board Dr. Sascha Juchem R&D Abteilung sascha.juchem@milchundzucker.de AGENDA Mit dem BeeSite API zum eigenen Job Board 01 Einleitung

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

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

DRESDEN, 08.10.2009 CHRISTIAN.KNAUER@INF.TU-DRESEDEN.DE

DRESDEN, 08.10.2009 CHRISTIAN.KNAUER@INF.TU-DRESEDEN.DE DOKUMENTATION MAAS - MONITORING AS A SERVICE DRESDEN, 08.10.2009 CHRISTIAN.KNAUER@INF.TU-DRESEDEN.DE Dokumentation MaaS - Monitoring as a Service Inhalt 1. MaaS - Monitoring as Service... 3 1.1 Einleitung...

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

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

Mobilkommunikation. REST-basierte Dienste für verteilte, mobile Anwendungen. A. Gillert, A. Grebe, M. Hüffmeyer, C. Vogt

Mobilkommunikation. REST-basierte Dienste für verteilte, mobile Anwendungen. A. Gillert, A. Grebe, M. Hüffmeyer, C. Vogt Mobilkommunikation REST-basierte Dienste für verteilte, mobile Anwendungen A. Gillert, A. Grebe, M. Hüffmeyer, C. Vogt Fachhochschule Köln, Institut für Nachrichtentechnik Fachhochschule Köln Anton Gillert,

Mehr

VIVIT TQA Treffen in Köln am 18. 04. 2013. API- Programmierung und Nutzung bei HP Quality Center / ALM. Michael Oestereich IT Consultant QA

VIVIT TQA Treffen in Köln am 18. 04. 2013. API- Programmierung und Nutzung bei HP Quality Center / ALM. Michael Oestereich IT Consultant QA VIVIT TQA Treffen in Köln am 18. 04. 2013 API- Programmierung und Nutzung bei HP Quality Center / ALM Michael Oestereich IT Consultant QA Agenda Vorstellung der API- Versionen OTA- API SA- API REST- API

Mehr

... Einleitung... 15. 3... Prozessintegration und Integrationsszenarien... 127 3.1... Integrationsszenariomodelle... 128

... Einleitung... 15. 3... Prozessintegration und Integrationsszenarien... 127 3.1... Integrationsszenariomodelle... 128 ... Einleitung... 15 1... Grundlagen der Modellierung von Enterprise Services... 23 1.1... Serviceorientierte Architekturen... 26 1.1.1... Merkmale serviceorientierter Architekturen... 27 1.1.2... SOA

Mehr

PROC SOAP, PROC HTTP und der ganze REST Webservices und SAS

PROC SOAP, PROC HTTP und der ganze REST Webservices und SAS PROC SOAP, PROC HTTP und der ganze REST Webservices und SAS Schnittstellen Martin Haffner HMS Analytical Software GmbH Rohrbacher Str. 26 69115 Heidelberg Martin.Haffner@analyticalsoftware.de Andreas Mangold

Mehr

Dokumentation zur Verwendung eines SOAP-Webservices in SAP PI

Dokumentation zur Verwendung eines SOAP-Webservices in SAP PI Betriebswirtschaftliche Anwendungen 2: Serviceorientierte Anwendungsintegration Dokumentation zur Verwendung eines SOAP-Webservices in SAP PI Umrechnung von Währungen Steffen Dorn, Sebastian Peilicke,

Mehr

Verteilte Systeme - 1. Übung

Verteilte Systeme - 1. Übung Verteilte Systeme - 1. Übung Dr. Jens Brandt Sommersemester 2011 1. Rechnerverbünde Kommunikationsverbund: Beispiele: E-Mail (SMTP, POP/IMAP), Instant Messaging (XMPP, IRC, ICQ,...), Newsgroups (NNTP)

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

Enterprise Java Beans

Enterprise Java Beans Enterprise Java Beans Beispiel Minibank nur: Kunde, Konto, Überweisung personen.person Attributes Name:String Vorname:String überweisungen.überweisung Attributes Verwendungszweck:String Datum:Date betrag:integer

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

.NET-Objekte einfach speichern Michael Braam, Senior Sales Engineer InterSystems GmbH

.NET-Objekte einfach speichern Michael Braam, Senior Sales Engineer InterSystems GmbH Make Applications Faster.NET-Objekte einfach speichern Michael Braam, Senior Sales Engineer InterSystems GmbH Agenda Vorstellung InterSystems Überblick Caché Live Demo InterSystems auf einen Blick 100.000

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

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

Service-Orientierte Architekturen

Service-Orientierte Architekturen Hochschule Bonn-Rhein-Sieg Service-Orientierte Architekturen Kapitel 7: Web Services IV Exkurs über Sicherheitsanforderungen Vorlesung im Masterstudiengang Informatik Sommersemester 2010 Prof. Dr. Sascha

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

ESB. Open Source ESB: Mule Flightreservation. Res Gilgen Hochschule Luzern [Wählen Sie das Datum aus]

ESB. Open Source ESB: Mule Flightreservation. Res Gilgen Hochschule Luzern [Wählen Sie das Datum aus] ESB Open Source ESB: Mule Flightreservation Res Gilgen Hochschule Luzern [Wählen Sie das Datum aus] Inhalt 1. Open Source ESB: Mule... 2 1.1. Überblick... 2 1.1.1. Das Beispiel Zeigt:... 2 1.2. Installationsanleitung...

Mehr

POIS-Praktikum 2007. Prozessimplementierung, RosettaNet PIPs 3A

POIS-Praktikum 2007. Prozessimplementierung, RosettaNet PIPs 3A POIS-Praktikum 2007 Prozessimplementierung, RosettaNet PIPs 3A Manuel Blechschmidt, David Foerster, Michael Leben, Mike Nagora, Jonas Rogge, Paul Römer Gliederung 2 Einleitung Was war unsere Aufgabe? Was

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

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

Managed VPSv3 Was ist neu?

Managed VPSv3 Was ist neu? Managed VPSv3 Was ist neu? Copyright 2006 VERIO Europe Seite 1 1 EINFÜHRUNG 3 1.1 Inhalt 3 2 WAS IST NEU? 4 2.1 Speicherplatz 4 2.2 Betriebssystem 4 2.3 Dateisystem 4 2.4 Wichtige Services 5 2.5 Programme

Mehr

Das Interceptor Muster

Das Interceptor Muster Das Interceptor Muster Implementierung des Interceptor Musters basierend auf OSGi and Friends Benjamin Friedrich Hochschule für Technik und Wirtschaft des Saarlandes Praktische Informatik - Entwurfsmuster

Mehr

Mobile und Verteilte Datenbanken

Mobile und Verteilte Datenbanken Mobile und Verteilte Datenbanken Java RMI Vorlesung Wintersemester 2013/2014 groppe@ifis.uni-luebeck.de Institut für Informationssysteme Universität zu Lübeck Kommunikations-Middleware Bietet höhere Kommunikations-Dienste

Mehr

Technische Beschreibung: EPOD Server

Technische Beschreibung: EPOD Server EPOD Encrypted Private Online Disc Technische Beschreibung: EPOD Server Fördergeber Förderprogramm Fördernehmer Projektleitung Projekt Metadaten Internet Foundation Austria netidee JKU Linz Institut für

Mehr

Gefahren aus dem Internet 1 Grundwissen April 2010

Gefahren aus dem Internet 1 Grundwissen April 2010 1 Grundwissen Voraussetzungen Sie haben das Internet bereits zuhause oder an der Schule genutzt. Sie wissen, was ein Provider ist. Sie wissen, was eine URL ist. Lernziele Sie wissen, was es braucht, damit

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

JE Web Services. Hinweise. Beschreibung. Doku.-Version: 1.0 Letzte Änderung: 02.02.2011

JE Web Services. Hinweise. Beschreibung. Doku.-Version: 1.0 Letzte Änderung: 02.02.2011 Beschreibung Hinweise Doku.-Version: 1.0 Letzte Änderung: 02.02.2011 http://www.jacob-computer.de/kontakt.html software@jacob-elektronik.de Inhaltsverzeichnis 1. Inhaltsverzeichnis Hinweise... 1 1. Inhaltsverzeichnis...

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

Implementierung von Geschäftsprozessen in der Verwaltung mit Hilfe von SOA

Implementierung von Geschäftsprozessen in der Verwaltung mit Hilfe von SOA E-Gov Fokus Geschäftsprozesse und SOA 31. August 2007 Implementierung von Geschäftsprozessen in der Verwaltung mit Hilfe von SOA Im Vortrag werden die Vor- und Nachteile von Geschäftsprozessen in der öffentlichen

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

Verteilte Systemarchitekturen

Verteilte Systemarchitekturen Verteilte Systemarchitekturen Proseminar im WS 09/10 Prof. Sergei Gorlatch, Philipp Kegel, Alexander Ploß Parallele und verteilte Systeme, Westfälische Wilhelms-Universität Münster 17. Juli 2009 Inhalte

Mehr

GeoServer in action Fortgeschrittene Möglichkeiten beim Einsatz des Geoservers

GeoServer in action Fortgeschrittene Möglichkeiten beim Einsatz des Geoservers GeoServer in action Fortgeschrittene Möglichkeiten beim Einsatz des Geoservers Nils Bühner buehner@terrestris.de terrestris GmbH & Co KG Über uns Nils Bühner buehner@terrestris.de github.com/buehner Informatiker

Mehr

Analyse von Sicherheitaspekten in Service-orientierten Architekturen

Analyse von Sicherheitaspekten in Service-orientierten Architekturen Analyse von Sicherheitaspekten in Service-orientierten Architekturen Vortragende: Jia Jia Betreuer: Dipl.-Inf. Matthias Lehmann Dresden,10.12.2009 10.12.2009 Analyse von Sicherheitaspekten in SOA 1 Gliederung

Mehr

Vorwort... 11 Azure Cloud Computing mit Microsoft... 12 Danksagungen... 13 Kontakt zum Autor... 13

Vorwort... 11 Azure Cloud Computing mit Microsoft... 12 Danksagungen... 13 Kontakt zum Autor... 13 Inhaltsverzeichnis Vorwort... 11 Azure Cloud Computing mit Microsoft... 12 Danksagungen... 13 Kontakt zum Autor... 13 Einleitung... 15 Zielgruppe... 16 Aufbau... 16 Inhalt der einzelnen Kapitel... 17 Systemanforderungen...

Mehr

Liste der Handbücher. Liste der Benutzerhandbücher von MEGA

Liste der Handbücher. Liste der Benutzerhandbücher von MEGA Liste der Handbücher Liste der Benutzerhandbücher von MEGA MEGA 2009 SP4 1. Ausgabe (Juni 2010) Die in diesem Dokument enthaltenen Informationen können jederzeit ohne vorherige Ankündigung geändert werden

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

Azure und die Cloud. Proseminar Objektorientiertes Programmieren mit.net und C# Simon Pigat. Institut für Informatik Software & Systems Engineering

Azure und die Cloud. Proseminar Objektorientiertes Programmieren mit.net und C# Simon Pigat. Institut für Informatik Software & Systems Engineering Azure und die Cloud Proseminar Objektorientiertes Programmieren mit.net und C# Simon Pigat Institut für Informatik Software & Systems Engineering Agenda Was heißt Cloud? IaaS? PaaS? SaaS? Woraus besteht

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

Von der UML nach C++

Von der UML nach C++ 22 Von der UML nach C++ Dieses Kapitel behandelt die folgenden Themen: Vererbung Interfaces Assoziationen Multiplizität Aggregation Komposition Die Unified Modeling Language (UML) ist eine weit verbreitete

Mehr

Web 2.0 Software-Architekturen

Web 2.0 Software-Architekturen Web 2.0 Software-Architekturen Servlets als Controller einer MVC Web Architektur Prof. Dr. Nikolaus Wulff HTTP und HTML Das HyperText TransferProtokoll (HTTP) beschreibt eine einfache verbindungslose Kommunikation,

Mehr

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008 PIWIN I Kap. 7 Objektorientierte Programmierung - Einführung 1 PIWIN I Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I Vorlesung 3 SWS WS 2007/2008 FB Informatik

Mehr

Etablierung serviceorientierter Architekturen mit Web Services

Etablierung serviceorientierter Architekturen mit Web Services Etablierung serviceorientierter Architekturen mit Web Services Vorlesung im (Entwicklung von Serviceangeboten) 1 Agenda Einsatzbereiche von Web Service basierten Angeboten Übersicht zur Java-System Application

Mehr

Der Einsatz von CORBA in verteilten EDA-Tools

Der Einsatz von CORBA in verteilten EDA-Tools Der Einsatz von CORBA in verteilten EDA-Tools Frank Grützmacher Technische Universität Ilmenau Fakultät für Elektrotechnik und Informationstechnik Fachgebiet Mikroelektronische Schaltungen und Systeme

Mehr

Java und XML/XML und Java. Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle.

Java und XML/XML und Java. Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle. Java und XML/XML und Java Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle.de XML und Programmiersprachen... Java ist... Programmiersprache

Mehr

Hauptseminar Management von Softwaresystemen. Techniken der System-Integration EAI, Middleware, SOA, CORBA

Hauptseminar Management von Softwaresystemen. Techniken der System-Integration EAI, Middleware, SOA, CORBA Hauptseminar Management von Softwaresystemen Techniken der System-Integration EAI, Middleware, SOA, CORBA Betreuerin: Referent: Ulrike Hammerschall Alexey Krivoborodov Agenda Motivation Arten der Verteilung

Mehr

Web- Applikationen. in Java-Web

Web- Applikationen. in Java-Web Einführung in Java-Web Web- Applikationen Frank Huber Humboldt-Universität zu Berlin Allgemeines Java: Programmierung ist Programmierung nach Konvention Insbesondere bei Web-Applikationen wurde eine API

Mehr

Remote Communications

Remote Communications HELP.BCFESDEI Release 4.6C SAP AG Copyright Copyright 2001 SAP AG. Alle Rechte vorbehalten. Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher

Mehr

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten CORBA-Konzept Ziele Common Object Request Broker Architecture CORBA Plattformunabhängige Kommunikation Transparente Verteilung von Objekten CORBA-Konzept Object Management Group Spezifiziert den CORBA-Standard

Mehr

DBUS Interprozess-Kommunikation für Embedded-Plattformen

DBUS Interprozess-Kommunikation für Embedded-Plattformen DBUS Interprozess-Kommunikation für Embedded-Plattformen Andreas Schwarz Neratec Solutions AG Firmenprofil Neratec Solutions AG Produkt-Entwicklungen für kundenspezifische elektronische Produkte Produkte

Mehr

Geschäftsprozessmodellierung essmodellierung mit BPEL

Geschäftsprozessmodellierung essmodellierung mit BPEL Geschäftsprozessmodellierung essmodellierung mit BPEL Autor: Stefan Berntheisel Datum: 8. Januar 2010 Stefan Berntheisel Hochschule RheinMain Fachseminar WS 09/10 Agenda Grundlagen Business Process Execution

Mehr

Mobile Backend in der

Mobile Backend in der Mobile Backend in der Cloud Azure Mobile Services / Websites / Active Directory / Kontext Auth Back-Office Mobile Users Push Data Website DevOps Social Networks Logic Others TFS online Windows Azure Mobile

Mehr

Die nächste Revolution in der modelgetriebenen Entwicklung?

Die nächste Revolution in der modelgetriebenen Entwicklung? Die nächste Revolution in der modelgetriebenen Entwicklung? Me Johannes Kleiber Software Engineer bei FMC Johannes.Kleiber@fmc-ag.com Themen Überblick Window Workflow Foundation Workflows modellieren WF

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

Zend PHP Cloud Application Platform

Zend PHP Cloud Application Platform Zend PHP Cloud Application Platform Jan Burkl System Engineer All rights reserved. Zend Technologies, Inc. Zend PHP Cloud App Platform Ist das ein neues Produkt? Nein! Es ist eine neue(re) Art des Arbeitens.

Mehr

Internettechnologien

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

Mehr

Sicherheitsaspekte in Service Orientierten Architekturen. Eike Falkenberg Sommersemester 2006 Anwendungen I

Sicherheitsaspekte in Service Orientierten Architekturen. Eike Falkenberg Sommersemester 2006 Anwendungen I Sicherheitsaspekte in Service Orientierten Architekturen Eike Falkenberg Sommersemester 2006 Anwendungen I Agenda SOA? Web Services? Sicherheitsrisiko Web Services Web Services & Sicherheit Sichere SOAs

Mehr

Client/Server-Systeme

Client/Server-Systeme Fachbereich Informatik Projektgruppe KOSI Kooperative Spiele im Internet Client/Server-Systeme Vortragender Jan-Ole Janssen 26. November 2000 Übersicht Teil 1 Das Client/Server-Konzept Teil 2 Client/Server-Architekturen

Mehr

XML-Sicherheitsdienste für das Netzwerk der Global Biodiversity Information Facility GBIF

XML-Sicherheitsdienste für das Netzwerk der Global Biodiversity Information Facility GBIF XML-Sicherheitsdienste für das Netzwerk der Global Biodiversity Information Facility GBIF Dipl.-Inf. Lutz Suhrbier Prof. Dr.-Ing. Robert Tolksdorf Dipl.-Inf. Ekaterina Langer Freie Universität Berlin Institut

Mehr

Web-Services Implementierung

Web-Services Implementierung Web-Services Implementierung Praktikum Informationsintegration 8.11.2005 Agenda Aktueller Stand / Abgabe Implementierung Wie geht das mit Java und Tomcat? Service Client 2 Abgabe Teil 1 Ein paar Zahlen

Mehr

Etablierung serviceorientierter Architekturen mit Web Services

Etablierung serviceorientierter Architekturen mit Web Services Etablierung serviceorientierter Architekturen mit Web Services Vorlesung im (Übersicht zu den Inhalten der Vorlesung) Somemrsemester 2013 1 Ziele und Abgrenzung 2 Allgemeine Lernziele Vermittlung von Basiskenntnissen

Mehr

Enterprise Web-SSO mit CAS und OpenSSO

Enterprise Web-SSO mit CAS und OpenSSO Enterprise Web-SSO mit CAS und OpenSSO Agenda Gründe für SSO Web-SSO selbst gemacht Enterprise Web-SSO mit CAS Enterprise Web-SSO mit SUN OpenSSO Federation-Management Zusammenfassung Gründe für SSO Logins

Mehr