Sichere Web Services unter J2EE

Größe: px
Ab Seite anzeigen:

Download "Sichere Web Services unter J2EE"

Transkript

1

2 Patrick Schmitt Sichere Web Services unter J2EE Absicherung von Web Services mit WS-Security January 12, 2004 Fachhochschule Trier Betreuung: Prof.Dr.-Ing.DamianWeber Dr. Bernd Kuhlmann, BGS AG, Mainz

3 Erklärung Hiermit erkläre ich, dass ich die nachfolgende Arbeit selbstständig und ohne fremde Hilfe angefertigt habe. Dabei wurden keine anderen Hilfsmittel, als die im beigefügten Verzeichnis angegeben, verwendet. Patrick Schmitt (927151)

4 In den vergangenen Jahren entwickelten sich Web Services von einem Megatrend hin zu einer in vielen Unternehmen produktiv eingesetzten Technologie. Waren die ersten Implementierungen wie bei allen neuen Technologien noch überschaubar, so erreichen aktuelle Projekte leicht den Umfang einiger Millionen Euro und sind damit durchaus als unternehmenskritisch einzustufen. Einhergehend mit der steigenden Bedeutung von Web Services wurde auch der Ruf nach äquivalenten Sicherheitsstandards laut. So äußerten laut einer Studie von Cap Gemini Ernst & Young [1] 60 Prozent der befragten IT-Direktoren Befürchtungen über entstehende Sicherheitslücken durch den Einsatz der neuen Technologie. Die daraus entstandenen Standards und Protokolle zur Absicherung von Web Services sollen im folgenden betrachtet werden, anschließend wird eine Implementierung vorgestellt, die es ermöglicht, Web Services dem WS-Security-Standard konform abzusichern.

5 Inhaltsverzeichnis 1 Web Services - eine kurze Einführung WassindWebServices? ArchitekturvonWebServices Vergleich zwischen Sun ONE und Microsoft.NET SunONE Microsoft.NET Fazit Vor-undNachteilevonWebServices Standards im Bereich Web Services XML-ExtensibleMarkupLanguage Status Merkmale SOAP - Simple Object Access Protocol Status Ziele Merkmale Implementierungen WSDL- WebServicesDescriptionLanguage Status Ziele ElementeinWSDL UDDI - Universal Description, Discovery and Integration Status Ziele Merkmale UDDI-API fürjava ÖffentlicheUDDI-Registries... 13

6 VIII Inhaltsverzeichnis 3 Sicherheitsprotokolle und Standards WebServiceSecurity Status Ziele MerkmalevonWS-Security Implementierungen XML-Signature Status Ziele Merkmale Implementierungen XML-Encryption Status Ziele Merkmale Implementierungen XKMS-XMLKeyManagmentSpecification Status Ziele Implementierungen SAML - Security and Assertion Markup Language Status Ziele Implementierungen Die Axis SOAP-Implementierung DasAxis-Projekt ArchitekturvonAxis AxisalsServer AxisalsClient InstallationundKonfigurationvonAxis Installation EntwickelneinesWebServicesmitAxis ErstelleneinesJava-Interfaces Erzeugen der WSDL-Beschreibung Erzeugung der Java-Klassen aus dem WSDL-Dokument EinfügenderProgrammlogik InstallationvonWebServicesunterAxis ErstelleneinesClients SicherheitslückenvonWebServices SicherheitslückendurchXML GroßeXML-Dokumente EntityExpansionAttacks DateireferenzierendeEntities... 36

7 Inhaltsverzeichnis IX Gegenmaßnahmen SicherheitslückendurchdenEinsatzvonSOAP Sicherheit der übertragenendaten BufferOverflows Command-Injection SOAP-Attachments Gegenmaßnahmen AllgemeineSicherheitsmaßnahmen Die WS-Security Implementierung MotivationzurImplementierung Anforderungen SignierungvonNachrichten VerschlüsselungvonNachrichten AnforderungenzumpraktischenEinsatz Entwurf Realisierung Packagede.trier.wsse.type Packagede.trier.wsse.dsig Packagede.trier.wsse.enc Packagede.trier.wsse.security TestenderBibliothek Betrachtungen zum praktischen Einsatz der Implementierung IntegrationinvorhandeneWebServices Performance und Netzlast durch den Einsatz von WS-Security Performance Netzlast Fazit und Ausblick Fazit Weiterentwicklung der Bibliothek in der Zukunft Klassendokumentation Packagede.trier.wsse.type BinarySecurityToken CipherData DataReference EmbeddedReference EncryptedData EncryptedKey EncryptionMethod KeyIdentifier Reference... 60

8 X Inhaltsverzeichnis ReferenceList SecurityHeader SecurityTokenReference SignatureElement TimeStamp UsernameToken X509IssuerSerial Packagede.trier.wsse.enc CertificateResolver DecryptElement EncryptElement XEncrypt XMLDecryptor XMLEncryptor DecryptionException EncryptionException Packagede.trier.wsse.dsig SignBodyElement VerifySignedBody XSignature SignatureException Packagede.trier.wsse.security WSSecurity Packagede.trier.wsse.util EncryptionUtil SignatureUtil Packagede.trier.wsse.samples SignatureHandler VerifyingHandler UML-Diagramme der Packages Beispiele SOAP-AufrufRequest/Respone SOAP-AufrufinnerhalbeinesHTTP-Request SOAP-Antwort innerhalb einer HTTP-Response AutomatischerzeugtesWSDL-Dokument SOAP-Aufruf unter Verwendung von WS-Security SOAP-Aufruf Digital Signierter SOAP-Aufruf und Verarbeitung durcheinenproxy Digital signierter und verschlüsselter SOAP-Aufruf undverarbeitungdurcheinenproxy Abkürzungen... 87

9 Inhaltsverzeichnis XI 13 Stichwortverzeichnis Literaturverzeichnis... 95

10

11 1 Web Services - eine kurze Einführung Dieser Abschnitt gibt eine Einführung in den Aufbau und die Grundlagen von Web Services. Dabei werden die Unterschiede und Vorteile gegenüber klassischen Middleware-Architekturen herausgestellt. Anschließend folgt ein kurzer Vergleich der beiden Ansätze Sun ONE und Microsoft.NET. 1.1 Was sind Web Services? Web Services sind allgemein gesprochen Client/Server-Applikationen, die ihre Dienste über ein Netzwerk anbieten, typischerweise das Internet, aber auch ein Intranet. Meint man jedoch Web Services, von denen seit einiger Zeit die Rede ist, so kann man einschränken: Web Services sind Server-Applikationen, die mit dem Client über das auf XML basierende SOAP-Protokoll 1 kommunizieren und dazu HTTP oder SMTP als Trägerprotokoll benutzen. Neu ist daran lediglich die Kommunikation über SOAP und HTTP bzw. SMTP. Die Funktionalität wurde früher schon durch klassische Middleware-Technologien wie CORBA und das dabei benutzte Protkoll IIOP erreicht. Vereinfacht gesprochen kommunizieren Web Services durch den Austausch von XML- Dokumenten über HTTP. 1.2 Architektur von Web Services Die Architektur von Web Services lässt sich mit den vorher erwähnten klassischen Middleware-Architekturen vergleichen. Insgesamt kann man die folgenden drei Rollen vergeben: Service Requester bzw. Client Der Client nutzt die Dienste, die ein Server anbietet. Im Falle von Web 1 Simple Object Access Protocoll

12 2 1 Web Services - eine kurze Einführung Services führt der Client entfernte Methodenaufrufe auf dem Server durch, ähnlich dem lange bekannten Konzept der RPC 2. Dabei wird SOAP als Kommunikationsprotokoll benutzt. Den aufzurufenden Web Service kann der Client aus der UDDI-Registry 3 bestimmen (Find). Die UDDI-Registry ist eine Art öffentliches Verzeichnis, bei dem Anbieter ihre Web Services registrieren können. Eine ausführlichere Erläuterung von UDDI erfolgt in Kapitel 2.4. Service Provider bzw. Server Der Server stellt die Dienste bereit und veröffentlicht eine standardisierte Beschreibung (Publish), wie diese aufzurufen sind. Das kann ein WSDL- Dokument 4 zum Download sein oder ein Eintrag in einer UDDI-Registry. WSDL-Dokumente beschreiben Web Services mit einer XML-Grammatik, mehr dazu folgt in Kapitel 2.3. Service Registry bzw. Registry Hier kann der Betreiber der Web Services veröffentlichen (Publish), welche Funktionalität die angebotenen Services bieten. Diese Einträge sind ebenfalls standardisiert und erfolgen mittels UDDI. Abb Ablauf der Nutzung eines Web Service 1.3 Vergleich zwischen Sun ONE und Microsoft.NET Dieser Abschnitt zieht einen kurzen Vergleich zwischen den beiden bedeutendsten Architekturen zur Realisierung von Web Services, Sun ONE und Mi- 2 Remote Procedure Calls 3 Universal Description, Discovery and Integration 4 Web Service Description Language

13 1.3 Vergleich zwischen Sun ONE und Microsoft.NET 3 crosoft.net. Am Ende soll eine kurzes Fazit die Vor- und Nachteile aufzeigen, jedoch ohne eine Bewertung der beiden Ansätze durchzuführen Sun ONE Der Ansatz von Sun basiert auf dem Einsatz von Enterprise Java Beans, die die Geschäftslogik implementieren. EJBs kommunizieren mit der oder den Datenbanken, die Datenpräsentation auf der Clientseite geschieht mit JSPs oder Servlets. Sie erzeugen das vom Browser darstellbare HTML. Im Falle von Web Services kommuniziert der Client über SOAP mit dem Server, die SOAP-Anfragen werden dann auf Serverseite von einem Router-Servlet entgegengenommen. Das Router-Servlet greift seinerseits wieder auf die EJBs zu. Dabei ist die Programmiersprache in der der Client entwickelt wurde beliebig. Eine weitere Möglichkeit besteht im Einsatz von CORBA/RMI mit IIOP als Kommunikationsprotokoll zwischen Client und Server, damit kann der Client direkt auf die EJB-Umgebung zugreifen, siehe dazu Abb.1.2. Diese zweischichtige Architektur ermöglicht die klare Trennung zwischen präsentierenden (JSP, Servlets) und geschäftslogischen Funktionen (EJBs). Die EJB-Umgebung ist zudem absolut plattformunabhängig. Zur Entwicklung Java-basierter Lösungen steht eine Vielzahl eigenständiger Abb Die Sun ONE-Architektur

14 4 1 Web Services - eine kurze Einführung Produkte zur Verfügung. Von Sun gibt es die Forte Entwicklungsumgebung, andere IDEs sind NetBeans, VisualJ oder Eclipse. Als Application-Server sind der Sun ONE Application Server, JBoss, Jonas und andere auf dem Markt. Diese Produkte sind eigenständige Lösungen, die nicht aufeinander abgestimmt sind und nur mit Anpassungen zusammenarbeiten. Auch wenn Sun mit der ONE Initiative eine Komplettlösung ähnlich.net bieten will, merkt man doch recht schnell, daß hier, vorerst, nur vorhandene Produkte zu einem Paket zusammengefasst wurden. Während der Entwicklung muss ein Web Service kompiliert, von Hand installiert und anschließend ein Client zum Testen codiert werden. Zwar erleichtern einige Tools (wie beispielsweise in der Axis-Bibliothek) die Entwicklung, diese sind aber nicht in die Entwicklungsumgebung integriert und müssen von Hand aufgerufen oder eingebunden werden Microsoft.NET Die.NET-Architektur ähnelt stark derjenigen von Sun ONE. Der einzige Unterschied besteht darin, dass die Möglichkeit mit CORBA/RMI über IIOP zu kommunizieren, entfällt. Stattdessen kommt (D)COM als Protokoll zum Einsatz, mit dem der Client direkt auf die.net-komponenten im Kern des Gesamtsystems zugreifen kann, siehe Abb.1.3. Diese.NET-Komponenten werden mit einer beliebigen, von.net unterstützten Programmiersprache entwickelt, ebenso der Client. Auf den ersten Blick kann Java dann durch.net mit VisualBasic kommunizieren, was vorher so nicht möglich war. Dies stimmt sogar, allerdings ist dieser Ansatz nur sprachunabhängig und nicht plattformneutral. Der Microsoft-Ansatz erfordert immer eine Microsoft-Plattform, vielleicht wird diese Notwendigkeit in Zukunft durch das Mono-Projekt und.gnu unter Linux entfallen. Als Entwicklungsumgebung steht zur Zeit für.net nur das VisualStudio.NET von Microsoft zur Verfügung, andere Produkte sind noch keine vollwertigen IDEs, sondern eher Quellcodeeditoren. Dazu, quasi als Paket, bietet Microsoft den Internet Information Server als Application Server an, der zusammen mit dem Internet Explorer als Test- und Ablaufumgebung dient. Die Unterstützung des Internet Information Servers aus VisualStudio heraus ist weit fortgeschritten, so ist es möglich, mit nur einem Knopfdruck einen entwickelten Web Service zu installieren, starten und zu testen Fazit Beide Ansätze bieten Vor- und Nachteile. Der wichtigste Vorteil des Javabasierten Ansatzes ist natürlich die Plattformneutralität, da Java auf allen gängigen Betriebssystemen verfügbar ist. Demgegenüber steht die bislang schlechte Unterstützung durch die erhältlichen Entwicklungsumgebungen, hier besteht noch einiger Nachholbedarf durch die Hersteller. Momentan muss an dieser Stelle noch zuviel Handarbeit geleistet werden.

15 1.4 Vor- und Nachteile von Web Services 5 Abb Die Microsoft.NET-Architektur Microsoft bietet mit der.net-plattform, der Visual-Studio-Entwicklungsumgebung und dem Internet Information Server ein sehr mächtiges System, mit dem Web Services schnell entwickelt, getestet und installiert werden können. Ein Nachteil ist die Bindung an eine komplette Umgebung dieses Anbieters, da sonst die Stärken des aufeinander abgestimmten Systems nicht mehr zum Tragen kommen. 1.4 Vor- und Nachteile von Web Services Der Vorteil von Web Services gegenüber klassischen Middleware-Techniken liegt in der Plattformneutralität. Ein Client muss nicht wissen, in welcher Sprache ein Service programmiert ist oder unter welchem Betriebssystem er läuft. Er benötigt lediglich die Information aus der Registry, also ein WSDL- Dokument oder einen Eintrag aus einer UDDI-Registry, um zu wissen, wie der Service zu nutzen ist. Ein weiterer positiver Aspekt (und gleichzeitiger Schwachpunkt) ist die Verwendung von HTTP als Trägerprotokoll. Andere TCP/IP-basierte Middleware- Technologien kommunizieren über einen priviligierten Port; dieser muss an einer Firewall explizit freigeschaltet werden. Bei der Nutzung von HTTP ist dies nicht notwendig, da der verwendete Port 80 für HTTP beinahe immer

16 6 1 Web Services - eine kurze Einführung geöffnet ist. Allerdings wird dadurch auch die Sicherheitsfunktion der Firewall untergraben, weil der Datenverkehr jetzt ungefiltert passieren kann. Ein weiterer Minuspunkt ist die ungesicherte Kommunikation zwischen Client und Server, alle Daten werden im Klartext übertragen und können so abgehört oder manipuliert werden. Hier müssen zusätzliche Sicherheitsmaßnahmen Berücksichtigung finden.

17 2 Standards im Bereich Web Services In diesem Kapitel werden Standards beschrieben, die im Umfeld von Web Services von Bedeutung sind. Diese Standards, XML, SOAP, WSDL und UDDI, sind die Basis für die Implementierung und den Betrieb von Web Services. 2.1 XML - Extensible Markup Language Status Extensible Markup Language (XML) 1.0 (Second Edition) W3C Recommendation 6. Oktober 2000 Aktuelle Version: Merkmale Da XML im Vergleich zu den anderen vorgestellten Standards schon auf weite Anwendungsfelder zurückblickt und nicht speziell für den Einsatz innerhalb von Web Services entwickelt wurde, wird hier nicht näher auf die Eigenheiten von XML eingegangen. Das wesentliche Merkmal von XML liegt in der Bereitstellung eines einheitlichen Datenformates zum Austausch strukturierter Informationen. Diese Eigenschaft wird sehr gut beim Einsatz von XML innerhalb von Web Services sichtbar, hier werden Daten zwischen verschiedensten Plattformen ausgetauscht und einheitlich verarbeitet. Für weitere Informationen zu XML sei auf die Webseite des W3C verwiesen, Empfehlenswerte Bücher zum Thema XML sind [2] und [3].

18 8 2 Standards im Bereich Web Services 2.2 SOAP - Simple Object Access Protocol Status Simple Object Access Protocol (SOAP) 1.2 W3C Note 8. Mai 2000 Aktuelle Version: Ziele Die SOAP-Spezifikation beschreibt ein einfaches Protokoll zum Austausch strukturierter Informationen in einer dezentralen, verteilten Umgebung mit XML. Dabei macht sie keine Aussagen über das Programmiermodell oder Implementierungsdetails der Anwendung, es wird lediglich ein Mechanismus entworfen, um Daten innerhalb verteilter Anwendungen auszutauschen. So kann SOAP mit einer Vielzahl anderer Protokolle kombiniert werden (Binding), im aktuellen Standard ist vorerst nur die Bindung an HTTP spezifiziert. Oberstes Design-Ziel war die Einfachheit und Erweiterbarkeit des Protokolls; so wurde bei der SOAP-Spezifikation auf einige Merkmale traditioneller Messaging- oder Distributed-Object-Systeme wie CORBA oder RMI bewusst verzichtet. Aufgrund der Zustandslosigkeit von Web Services fehlen unter anderem folgende vier Kernfunktionalitäten, die von Middleware- Frameworks bereitgestellt werden: Object-by-Reference Verteilte Garbage Collection Activation Messaging, bzw. Message-Queues Weiterhin werden in der Spezifikation keine Mechanismen zur Verschlüsselung, Authentifizierung und Datenintegrität beschrieben, diese Aufgaben müssen durch zusätzliche Maßnahmen abgedeckt werden Merkmale Die SOAP-Spezifikation besteht aus 3 Teilen: SOAP Envelope Der SOAP-Envelope (Umschlag) definiert eine Struktur, mit der definiert werden kann, was in der SOAP-Nachricht enthalten ist, wer der oder die Empfänger sind und welche Teile des Inhaltes vorgeschrieben oder optional sind. SOAP Encoding Rules Die SOAP Encoding Rules beschreiben einen Mechanismus zur Serialisierung von Anwendungsdaten, die dann innerhalb des erzeugten XML- Dokuments ausgetauscht werden können.

19 2.2 SOAP - Simple Object Access Protocol 9 SOAP RPC - SOAP Remote Procedure Calls SOAP-RPC beschreibt eine Konvention zur Repräsentierung von RPC- Aufrufen und RPC-Rückgaben in XML. Damit ist es möglich, mit Hilfe von SOAP entfernte Prozeduren aufzurufen, also verteilte Anwendungen zu implementieren. Der Prozeduraufruf über SOAP hat den Vorteil, keine Änderung an bestehenden Netzwerkkonfigurationen zu benötigen, da er über das übliche HTTP-Protokoll an Port 80 durchgeführt wird. Eine gültige SOAP-Nachricht besteht aus einem SOAP-Envelope, einem optionalen SOAP-Header und einem SOAP-Body. Zusätzlich können an die Nachricht noch Attachments in Form von Dateien angefügt werden. SOAP-Envelope Der Envelope repräsentiert das Wurzelelement einer SOAP-Nachricht. Er enthält die Namespace-Deklarationen für SOAP xmlns:soap-env= und eventuell zusätzliche Attribute, welche durch eine Namespace-Deklaration qualifiziert werden müssen. SOAP-Header Der Header stellt das erste Folgeelement des SOAP Envelope dar. Hiermit wird der Empfänger einer Nachricht, der sogenannte SOAP-actor, festgelegt. Es können auch sogenannte Intermediaries (Zwischenempfänger) angegeben werden. Diese empfangen die Nachricht und leiten sie an den Empfänger oder an den nächsten Intermediary weiter, wobei Teile der Nachricht geändert werden können. Dies wird wichtig im Zusammenhang mit der Verschlüsselung oder Signatur der Nachricht, da dann berücksichtigt werden muss, welche Teile der verschlüsselten Nachricht ein Intermediary lesen oder ändern können soll. Eventuell ist auch ein erneuter Signaturvorgang erforderlich. Weiter wird im Header durch das Attribut mustunderstand festgelegt, ob der Empfänger das Header-Element verabeiten muss oder ob es genügt, nur die Body- Elemente zu verarbeiten. Können die Header-Einträge nicht verarbeitet werden, muss die SOAP-Engine einen SOAP-Fehler (SOAP-Fault) erzeugen, der dann als Rückgabe innerhalb der Response im SOAP-Body steht. Anhand dieses SOAP-Faults kann der Absender dann ermitteln, weshalb sein SOAP- Aufruf nicht erfolgreich bearbeitet werden konnte. SOAP-Body Das Body-Element ist ein child-element des SOAP Envelope. Ist ein SOAP- Header-Element vorhanden, muss der SOAP-Body auf dieses folgen, ist kein Header-Element vorhanden, folgt es unmittelbar auf das SOAP-Envelope- Element. Der Body enthält die eigentlichen Nutzdaten, die an den Empfänger

20 10 2 Standards im Bereich Web Services übertragen werden, dies können RPC-Aufrufe oder Fehlermeldungen sein. Alle Einträge im Body sind durch Namespace-Deklarationen auszuzeichnen. Für SOAP-Fehlermeldungen gibt es das SOAP Fault-Element mit den 4 Subelementen faultcode, faultstring, faultactor und detail. Andere Subelemente sind zugelassen, müssen dann aber qualifiziert werden. Abb Aufbau einer SOAP-Nachricht Implementierungen Apache Axis Apache SOAP Microsoft.NET Framework Sun Web Services Development Kit ksoap Einen SOAP-Request und SOAP-Response über HTTP als Trägerprotokoll zeigt Beispiel 11.1.

21 2.3 WSDL - Web Services Description Language WSDL - Web Services Description Language Status Web Services Description Language (WSDL) 1.1 W3C Note 15. März 2001 Aktuelle Version: Ziele WSDL definiert eine XML-Grammatik zur Beschreibung von Web Services. Dazu beschreibt ein WSDL-Dokument einen Service als Endpunkt, an den Nachrichten versendet werden. Ein WSDL-Dokument kann über eine URL oder UDDI abgerufen werden, um diese Beschreibung dem Nutzer eines Services zur Verfügung zu stellen. Anhand dieses Dokumentes kann der Service dann mit den entsprechenden Parametern aufgerufen werden. In der aktuellen Version werden als Protokolle zum Nachrichtenaustausch SOAP, HTTP GET/POST und MIME unterstützt Elemente in WSDL service-element Die Adresse des Web Service, bei Nutzung von HTTP als Trägerprotokoll beispielsweise Die Adresse eines Web Service bildet zusammen mit den nachfolgenden Elementen des WSDL- Dokumentes den sogenannten service. types-element Dieses Element dient zur Definition der Datentypen, die in den Nachrichten ausgetauscht werden, sowie der zugehörigen Rückgabewerte. Um die Plattformunabhängigkeit und Interoperabilität zu gewährleisten, benutzt WSDL dazu XSD-Schemas. Es können aber auch neue, eigene Typsysteme verwendet werden. message-element Beschreibt die Ein- und Ausgabeparameter. operation-element Legt die vom Web Service unterstützten Methodensignaturen fest. porttype-element Definiert die Zuordnung der einzelnen öffentlich angebotenen Methoden zu den Methoden der Implementierungsklasse, die den Web Service realisiert. binding Beschreibt das konkrete Trägerprotokoll und Datenformat über das kommuniziert wird. Dies wird als Binding bezeichnet. port -Element Definiert den Endpunkt der Kommunikation als Kombination aus Binding und Netzwerkadresse. Ein automatisch aus einem Java-Interface generiertes WSDL-Dokument zeigt Beispiel 11.2.

22 12 2 Standards im Bereich Web Services 2.4 UDDI - Universal Description, Discovery and Integration Status Universal Description, Discovery and Integration Aktuelle Version 3.0: Ziele UDDI definiert ein webbasiertes, verteiltes System zur Registrierung von Web Services. Ziel ist es, Firmen die Möglichkeit zu geben, die von ihnen angebotenen Web Services in einer Art öffentlichem Verzeichnis, den UDDI-Registries, einzutragen. Diese Einträge können dann nach verschiedenen Kriterien durchsucht werden, um den passenden Anbieter eines Web Service zu finden. Die Beschreibung eines Web Service erfolgt dabei durch eine XML-Datei. In der neuesten Version 3 der Spezifikation wird zusätzlich die Sicherheit der eingetragenen Informationen berücksichtigt. Es wird damit in Zukunft möglich sein, UDDI-Einträge digital zu signieren, um die Integrität der Informationen sicherzustellen. So kann beispielsweise verhindert werden, dass die Adresse eines Web Services unerlaubt verändert wird und damit SOAP-Anfragen an die Adresse eines falschen Servers gesendet werden Merkmale Die UDDI-Spezifikation unterteilt sich in vier Hauptbestandteile: Datenstruktur Mit ihr wird beschrieben, welche Datentypen innerhalb von UDDI gespeichert werden sollen. Ähnlich wie WSDL wird auch UDDI mit Hilfe von XML-Schemas beschrieben. API-Spezifikation Diese Spezifikation beschreibt, wie man als Programmierer auf eine UDDI- Registry zugreifen kann. Dabei gibt es zwei Gruppen von Funktionen. Die sogenannten publishing functions dienen dem Eintragen und Updaten eines Dienstes in der Registry. Zum Auslesen dieser Informationen benötigt man die inquiry functions, mit denen Lesezugriffe auf die UDDI-Registries durchgeführt werden können. Die API ist programmiersprachenunabhängig und muss in die jeweils benötigte Programmiersprache übersetzt werden. Replikationsspezifikation In dieser Spezifikation wird festgelegt, wie zwischen verschiedenen Anbietern die Daten unterschiedlicher UDDI-Registries dupliziert werden können.

23 2.4 UDDI - Universal Description, Discovery and Integration 13 Spezifikation für Registry-Anbieter Diese Spezifikation ist für Unternehmen gedacht, die selber eine UDDI- Registry aufbauen möchten. Sie umfasst Details über einzuhaltende Sicherheitsmaßnahmen, damit ein standardisierter Zugriff auf alle Registries erfolgen kann. Die Beschreibung eines Web Services innerhalb einer Registry wird in vier Teile untergliedert: Business Information Hierunter versteht man allgemeine Informationen über den Anbieter des Web Service, also Firmenname, Branche oder spezielle Produktinformationen, die im Zusammenhang zum Web Service stehen. Service Information Mit diesem Element können mehrere Web Services zu einem Prozess zusammengefasst werden, damit dieser durch den Aufruf aller Services abgearbeitet werden kann. Binding Information Hiermit werden technische Aspekte des Web Service beschrieben, beispielsweise unter welcher Adresse er zu finden ist, wie das Routing zum Service verläuft oder welche Maßnahmen zum Load Balancing zu beachten sind. Specification Information Hier werden die zum Aufruf des Service wichtigen Informationen eingetragen. Dazu gehören die Parameter, die übergeben werden müssen, das Format der Antwort oder zusätzliche Informationen zur Sicherheit UDDI-API für Java UDDI4J von IBM Java-API zum Zugriff auf UDDI-Registries, kostenlos unter Öffentliche UDDI-Registries IBM Microsoft SAP HP

24

25 3 Sicherheitsprotokolle und Standards Dieser Abschnitt beschreibt die wichtigsten Protokolle und Standards im Zusammenhang mit der Absicherung von Web Services. Es werden die jeweils wichtigsten Bestandteile kurz beschrieben, um die Möglichkeiten des entsprechenden Protokolls darzustellen. 3.1 Web Service Security Status Specification: Web Services Security (WS-Security) Working Draft 17, 27. August 2003 Aktuelle Version: Vorgeschlagen von IBM, Microsoft, Verisign Addendum: Web Services Security Addendum, 18. August Ziele Ziel des WS-Security-Standards ist der sichere Austausch von SOAP-Nachrichten. Dazu erweitert die Spezifikation vorhandene Sicherheitsprotokolle wie XML-Signature und XML-Encryption, um den Austausch von Sicherheitsinformationen, die Nachrichtenintegrität und die Vertraulichkeit von Nachrichten sicherzustellen. In der Spezifikation wird ausdrücklichdaraufhingewiesen, daß allein der Einsatz von WS-Security noch keine sicheren Web Services gewährleistet: (...) WS-Security is a building block that can be used in conjunction with other Web Service extensions and higher-level applicationspecific protocols to accommodate a wide variety of security models and encryption technologies. [6]

26 16 3 Sicherheitsprotokolle und Standards Um das Ziel sicherer Web Services zu erreichen, entwirft die Spezifikation kein eigenes Protokoll, sondern ein flexibel erweiterbares Framework, daß auf vorhandenen Sicherheitsstandards aufsetzt und die Integration zukünftiger Protokolle ermöglicht. WS-Security gewährleistet dabei eine Ende-zu-Ende- Sicherheit der ausgetauschten XML-Dokumente. Es erweitert die in der SOAP- Spezifikation festgelegten Header-Elemente um neue Elemente, die es ermöglichen, Sicherheitsinformationen in das XML-Dokument zu integrieren. Spätere Spezifikationen wie WS-Policy (gerade verabschiedet), WS-Trust oder WS- Privacy werden auf WS-Security aufbauen, um dieses Framework zu erweitern. Abb Die WS-Security Roadmap Merkmale von WS-Security Security-Element Die Spezifikation führt ein Security-Element im Header der SOAP-Nachricht ein, dass zum Anfügen von Sicherheitsinformationen für einen bestimmten Empfänger oder Intermediary in die SOAP-Nachricht dient. Für jeden Intermediary/Empfänger kann dabei ein eigenes Security-Element eingefügt werden. So können unterschiedliche Sicherheitsanforderungen an verschiedene Empfänger adressiert werden. Ein Intermadiary kann neue Security-Elemente anfügen oder bestehende Einträge ändern. Der Security-Header stellt also eine Beschreibung dar, welche Schritte der Absender durchgeführt hat, um die Nachricht zu signieren und/oder zu verschlüsseln. UsernameToken-Element Innerhalb des Security-Elementes wird das UsernameToken-Element verwendet. Es dient zur Übermittlung eines Benutzernamens mit optionalem Passwort.

27 3.2 XML-Signature 17 BinarySecurityToken-Element Zur Übermittlung binärer (z.b. X.509 Zertifikate, Kerberos Tickets) Security Token dient das BinarySecurityToken-Element. Es definiert die Art der Information, sowie die Binärkodierung (z.b. Base64Binary), die durchgeführt wurde, um das Token in das XML-Dokument einzubinden. SecurityTokenReference-Element Für Tokens, die nicht in der SOAP-Nachricht enthalten sind, sondern extern über eine URI referenziert werden, ist das SecurityTokenReference- Element vorgesehen. Es kann beispielsweise dazu verwendet werden, über eine URI einen Schlüssel zu referenzieren, der zur Verifizierung einer Signatur benötigt wird. TimeStamp-Element Das TimeStamp-Element ermöglicht die Angabe des Erstellungs- und/oder Verfallszeitpunktes für ein XML-Dokument. Optional können auch Delays angegeben werden, die die Dauer der Übertragung oder Verarbeitung des Dokumentes beschreiben. Andere Elemente werden aus den Standards XML-Encryption/XML-Signature übernommen, ihre Beschreibung erfolgt in den beiden nächsten Abschnitten. Ein Beispiel zur Benutzung von WS-Security innerhalb eines SOAP-Aufrufes findet sich unter Beispiel Implementierungen Microsoft Web Service Development Kit für.net 3.2 XML-Signature Status XML-Signature Syntax and Processing W3C Recommendation 12 Februar 2002 Aktuelle Version: Ziele Die XML-Signature-Spezifikation beschreibt eine Syntax und dazugehörige Verarbeitungsregeln zur Erzeugung und Verarbeitung von digitalen Signaturen innerhalb von XML-Dokumenten. Diese Signaturen können auf jede Art digitaler Daten angewendet werden, vor allem natürlich XML-Dokumente. Es können sowohl Daten innerhalb eines XML-Dokumentes signiert werden (Enveloped bzw. enveloping-signature), als auch externe Daten (detached- Signature). XML-Signature legt dabei die Bindung eines Schlüssels an die

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

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

Mehr

Verteilte Systeme: Übung 4

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

Mehr

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

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

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

Mehr

Java und XML 2. Java und XML

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

Mehr

Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer

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

Mehr

Web Service Security

Web Service Security Hochschule für Angewandte Wissenschaften Hamburg Fachbereich Elektrotechnik und Informatik SS 2005 Masterstudiengang Anwendungen I Kai von Luck Web Service Security Thies Rubarth rubart_t@informatik.haw-hamburg.de

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

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

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

Mehr

Sicherheitsaspekte von Web Services. Hauptseminar Rechnernetze

Sicherheitsaspekte von Web Services. Hauptseminar Rechnernetze Sicherheitsaspekte von Web Services Hauptseminar Rechnernetze Stefan Hennig sh790883@inf.tu-dresden.de 21. Januar 2005 Gliederung Einführung Überblick Sicherheit auf Netzwerk- und Transportebene XML-Sicherheit

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

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

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

Mehr

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

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

Mehr

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

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

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

Mehr

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

Die Technik hinter Web Services. Wie baut man einen Web Service? Was sind die technischen Details von WSDL, SOAP und UDDI?

Die Technik hinter Web Services. Wie baut man einen Web Service? Was sind die technischen Details von WSDL, SOAP und UDDI? Die Technik hinter Web Services Wie baut man einen Web Service? Was sind die technischen Details von WSDL, SOAP und UDDI? Folie 1 / 47 Themen Beschreibung des Beispiels Exkurs: XML Beschreibung eines Web

Mehr

SOA. Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik

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

Mehr

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

Microsoft.NET und SunONE

Microsoft.NET und SunONE Microsoft.NET und SunONE, Plattformen und Application Service Providing Agenda Einordnung.NET und SunONE Kurzvorstellung Gegenüberstellung Zusammenfassung ASP (Application( Service Providing) ) und Ausblick

Mehr

Containerformat Spezifikation

Containerformat Spezifikation Containerformat Spezifikation Version 1.0-09.05.2011 Inhaltsverzeichnis 0 Einführung... 4 0.1 Referenzierte Dokumente... 4 0.2 Abkürzungen... 4 1 Containerformat... 5 1.1 Aufbau des Container-Headers...

Mehr

Apache AXIS Architektur

Apache AXIS Architektur In diesem Kapitel Um was geht s? Axis Architektur Eine Übersicht Subsysteme Message Flow Handlers und Chains (Handler Ketten) Message Contexts Adminstratives Subsystem SOAP Message Modell Subsystem Message

Mehr

Containerformat Spezifikation

Containerformat Spezifikation Containerformat Spezifikation Version 1.1-21.02.2014 Inhaltsverzeichnis 0 Einführung... 4 0.1 Referenzierte Dokumente... 4 0.2 Abkürzungen... 4 1 Containerformat... 5 1.1 Aufbau des Container-Headers...

Mehr

Software Reuse Sommer 2004

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

Mehr

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

Webservices Ein Vortrag von:

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

Mehr

Wiederholung: Beginn

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

Mehr

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

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

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

WS-Security. Thies Rubarth. Sicherheitskonzepte in global verteilten Anwendungen. 21. Sep 2007 ACM/GI Localgroup #216

WS-Security. Thies Rubarth. Sicherheitskonzepte in global verteilten Anwendungen. 21. Sep 2007 ACM/GI Localgroup #216 WS-Security Sicherheitskonzepte in global verteilten Anwendungen Thies Rubarth 21. Sep 2007 ACM/GI Localgroup #216 Thies Rubarth, M.Sc. (Informatik) IT Berater Jahrgang 1979 Anwendungsentwicklung seit

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

Implementierung von Web Services: Teil I: Einleitung / SOAP

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

Mehr

XML Signature (DSig) Einführung, Anwendungsbeispiele und Ausblick. heiko@vegan-welt.de GPN4: 22.05.2005

XML Signature (DSig) Einführung, Anwendungsbeispiele und Ausblick. heiko@vegan-welt.de GPN4: 22.05.2005 XML Signature (DSig) Einführung, Anwendungsbeispiele und Ausblick GPN4: 22.05.2005 Übersicht Wofür Signaturen? Wieso ein weiteres Signaturverfahren? Grundlagen Signatur-Typen Juristische Aspekte von Signaturen

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

Thema: Web Services. Was ist ein Web Service?

Thema: Web Services. Was ist ein Web Service? Willkommen zum Component Ware Seminar Thema: Achim Grimm & Fabian Unterschütz Folie 1 Was ist ein Web Service? Web Services sind selbstbeschreibende, modulare Softwarekomponenten im Internet, die sich

Mehr

Projektbericht. Thies Rubarth. WS-Security mit Axis. Hochschule für Angewandte Wissenschaften Hamburg Hamburg University of Applied Sciences

Projektbericht. Thies Rubarth. WS-Security mit Axis. Hochschule für Angewandte Wissenschaften Hamburg Hamburg University of Applied Sciences Hochschule für Angewandte Wissenschaften Hamburg Hamburg University of Applied Sciences Projektbericht Thies Rubarth WS-Security mit Axis Fakultät Technik und Informatik Studiendepartment Informatik Faculty

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

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

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

Mehr

Seminarvortrag Serviceorientierte Softwarearchitekturen

Seminarvortrag Serviceorientierte Softwarearchitekturen Seminarvortrag Serviceorientierte Softwarearchitekturen vorhandene Altsysteme Gliederung Einführung Grundlegende Modelle Grundlegende Komponenten Architekturen 2 Einführung Altanwendung und Altsysteme?

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

Web Services Security

Web Services Security Web Services Security Dokumentation zu den Beispielen Vortrag vom 11.12.02 Svetoslav Draganov Einrichtung der Entwicklungsumgebung unter Windows NT/2000/XP 1. Herunterladen aller Packages - VeriSign Trust

Mehr

Andreas Eberhart Stefan Fischer. Web Services. Grundlagen und praktische Umsetzung mit J2EE und.net HANSER

Andreas Eberhart Stefan Fischer. Web Services. Grundlagen und praktische Umsetzung mit J2EE und.net HANSER Andreas Eberhart Stefan Fischer Web Services Grundlagen und praktische Umsetzung mit J2EE und.net HANSER 1 Einführung 1 1.1 Motivation 1 1.2 Aufbau des Buches 6 1.3 Die Web-Seite zum Buch 11 Teil I: Grundlagen

Mehr

Web Services. XML, WSDL, SOAP und UDDI Einblicke und Ausblicke. 18.09.2002 J.M.Joller 1

Web Services. XML, WSDL, SOAP und UDDI Einblicke und Ausblicke. 18.09.2002 J.M.Joller 1 Web Services XML, WSDL, SOAP und UDDI Einblicke und Ausblicke 18.09.2002 J.M.Joller 1 Architektur von Web Services und ergänzende Technologien Inhalt Sicherheit WS-License und WS-Security Prozessfluss

Mehr

SOAP und WSDL in der Praxis. Wie wird SOAP/WSDL verwendet? Heutige Vorlesung. .net. und Apache Axis

SOAP und WSDL in der Praxis. Wie wird SOAP/WSDL verwendet? Heutige Vorlesung. .net. und Apache Axis Heutige Vorlesung SOAP und WSDL in der Praxis Aufbau von WSDL-Beschreibungen Protokoll-Bindungen in WSDL Google-WSDL lesen und erweitern können Vor- und Nachteile von WSDL heute Wie wird SOAP/WSDL verwendet?.net,

Mehr

Merkblatt: HSM. Version 1.01. Systemvoraussetzungen, Setup und Trouble Shooting. pdfsupport@pdf-tools.com

Merkblatt: HSM. Version 1.01. Systemvoraussetzungen, Setup und Trouble Shooting. pdfsupport@pdf-tools.com Merkblatt: HSM Version 1.01 Systemvoraussetzungen, Setup und Trouble Shooting Kontakt: pdfsupport@pdf-tools.com Besitzer: PDF Tools AG Kasernenstrasse 1 8184 Bachenbülach Schweiz www.pdf-tools.com Copyright

Mehr

SOAP Integrationstechnologie für verteilte Middlewarearchitekturen?

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

Mehr

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

XML und SOAP Einführung und Grundlagen

XML und SOAP Einführung und Grundlagen XML und SOAP Einführung und Grundlagen Matthias Böhmer 16.12.2005 Agenda 1. XML 2. SOAP 3. Seife im Buchladen?! E-Commerce :: XML und SOAP Matthias Böhmer 16.12.2005 2 XML :: Einführung (1) extensible

Mehr

Web Service Security - XKMS (TrustPoint)

Web Service Security - XKMS (TrustPoint) Web Service Security - XKMS (TrustPoint) Daniel Bär Andreas Philipp Norbert Pohlmann Fachhochschule Gelsenkirchen Fachbereich Informatik Verteilte Systeme und Informationssicherheit Neidenburger Str. 43,

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

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

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

Mehr

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

Sicherheit in Web Services. Seminar Service-orientierte Software Architekturen Melanie Storm

Sicherheit in Web Services. Seminar Service-orientierte Software Architekturen Melanie Storm Sicherheit in Web Services Seminar Service-orientierte Software Architekturen Melanie Storm Agenda Motivation Fallbeispiel WS-Security XML Encryption XML Signature WS-Policy WS-SecurityPolicy WS-Trust

Mehr

Web Service Security

Web Service Security Informatik Masterstudiengang SS 2005 Anwendungen I Web Service Security Thies Rubarth Übersicht Einleitung Secure Socket Layer XML Encryption & XML Signature WS-* WS-Security WS-Policy WS-Trust Angebot

Mehr

Kapitel WT:VI (Fortsetzung)

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

Mehr

Web Services. XML, WSDL, SOAP und UDDI Einblicke und Ausblicke. 31.03.2003 J.M.Joller 1

Web Services. XML, WSDL, SOAP und UDDI Einblicke und Ausblicke. 31.03.2003 J.M.Joller 1 Web Services XML, WSDL, SOAP und UDDI Einblicke und Ausblicke 31.03.2003 J.M.Joller 1 Inhalt Architekturen Main Stream.NET J2EE und Applikations-Server Sicht der Anbieter Java J2EE J2EE versus.net Web

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

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

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

3-schichtige Informationssystem-Architektur

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

Mehr

Securing SOAP e-services

Securing SOAP e-services Securing SOAP e-services Nilson Reyes Sommersemester 2004 aus: E. Damiani, S. De Capitani di Vermercati, S. Paraboschi, P. Samarati, Securing SOAP e-sservices, IJIS, Ausgabe 1 (2002), S.110-115. Gliederung

Mehr

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

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

Mehr

Definition Web Service

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

Mehr

Kapitel 5 Web-Services

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

Mehr

Anwendung eines Enterprise Java Beans

Anwendung eines Enterprise Java Beans Anwendung eines Enterprise Java Beans EJB Server EJB Container Remote Interface Home Interface EJB Object Der EJB Container kümmert sich um die Kommunikation des Beans mit anderen Komponenten, wobei er

Mehr

E-Mail-Verschlüsselung mit Geschäftspartnern

E-Mail-Verschlüsselung mit Geschäftspartnern E-Mail-Verschlüsselung mit (Anleitung für Geschäftspartner) Datum: 13.07.2011 Dokumentenart: Anwenderbeschreibung Version: 3.0 : Redaktionsteam PKI cio.siemens.com Inhaltsverzeichnis 1. Zweck des Dokumentes:...3

Mehr

Technische Universität München. SAML/Shibboleth. Ein Vortrag von Florian Mutter

Technische Universität München. SAML/Shibboleth. Ein Vortrag von Florian Mutter SAML/Shibboleth Ein Vortrag von Florian Mutter Security Assertion Markup Language XML-basierter Standard für den Austausch von Authentifizierungs-, Attributs- Berechtigungsinformationen Seit 2001 von OASIS

Mehr

SSL-Protokoll und Internet-Sicherheit

SSL-Protokoll und Internet-Sicherheit SSL-Protokoll und Internet-Sicherheit Christina Bräutigam Universität Dortmund 5. Dezember 2005 Übersicht 1 Einleitung 2 Allgemeines zu SSL 3 Einbindung in TCP/IP 4 SSL 3.0-Sicherheitsschicht über TCP

Mehr

Webservices. Grundlagen, Beispiel, Tomcat, Apache Axis

Webservices. Grundlagen, Beispiel, Tomcat, Apache Axis Webservices Grundlagen, Beispiel, Tomcat, Apache Axis Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Was ist ein WebService Eine oder mehrere Methoden die über das Netzwerk aufgerufen werden

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

Markus Schulz Seminar: XML für Fortgeschrittene 30.06.2003

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

Mehr

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

Howto. Konfiguration eines Adobe Document Services

Howto. Konfiguration eines Adobe Document Services Howto Konfiguration eines Adobe Document Services (ADS) Inhaltsverzeichnis: 1 SYSTEMUMGEBUNG... 3 2 TECHNISCHE VERBINDUNGEN ZWISCHEN DEN SYSTEMEN... 3 2.1 PDF BASIERENDE FORMULARE IN DER ABAP UMGEBUNG...

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

E-Mail-Verschlüsselung mit Geschäftspartnern

E-Mail-Verschlüsselung mit Geschäftspartnern E-Mail-Verschlüsselung mit (Anleitung für Geschäftspartner) Datum: 15.07.2013 Dokumentenart: Anwenderbeschreibung Version: 3.2 : Redaktionsteam PKI cio.siemens.com Inhaltsverzeichnis 1. Zweck des Dokumentes:...

Mehr

Einsatz von Applikationsservern. Untersucht am Beispiel des Sybase Enterprise Application Server

Einsatz von Applikationsservern. Untersucht am Beispiel des Sybase Enterprise Application Server Einsatz von Applikationsservern Untersucht am Beispiel des Sybase Enterprise Application Server Architektur von Datenbanksystemen Client / Server Modell (2 Schichten Modell) Benutzerschnittstelle Präsentationslogik

Mehr

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. WebSphere Application Server Teil 4

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. WebSphere Application Server Teil 4 UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 WebSphere Application Server Teil 4 Leistungsverhalten el0100 copyright W. G. Spruth,

Mehr

Die Open Source SOA-Suite SOPERA

Die Open Source SOA-Suite SOPERA Architektur, Komponenten und Realisierung Jörg Gerlach Technische Universität Dresden Fakultät Informatik Institut für Angewandte Informatik Lehrstuhl Technische Informationssysteme 11. Juni 2009 Gliederung

Mehr

SZENARIO BEISPIEL. Implementation von Swiss SafeLab M.ID mit Citrix. Redundanz und Skalierbarkeit

SZENARIO BEISPIEL. Implementation von Swiss SafeLab M.ID mit Citrix. Redundanz und Skalierbarkeit SZENARIO BEISPIEL Implementation von Swiss SafeLab M.ID mit Citrix Redundanz und Skalierbarkeit Rahmeninformationen zum Fallbeispiel Das Nachfolgende Beispiel zeigt einen Aufbau von Swiss SafeLab M.ID

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

Java - Webapplikationen

Java - Webapplikationen Java - Webapplikationen Bestandteile (HTTP,, JSP) Aufbau (Model View Controller) Datenverwaltung (Java Beans, Sessions) Entwicklung (Projektstruktur, Sysdeoplugin für Eclipse) 17. Januar 2006 Jan Hatje

Mehr

Asynchrone Webservices mit Axis 1.x in Java

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

Mehr

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

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

Mehr

Einrichten eines SSH - Server

Einrichten eines SSH - Server Einrichten eines SSH - Server Um den Server weiter einzurichten bzw. später bequem warten zu können ist es erforderlich, eine Schnittstelle für die Fernwartung / den Fernzugriff zu schaffen. Im Linux -

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

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

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

ObjectBridge Java Edition

ObjectBridge Java Edition ObjectBridge Java Edition Als Bestandteil von SCORE Integration Suite stellt ObjectBridge Java Edition eine Verbindung von einem objektorientierten Java-Client zu einer fast beliebigen Server-Komponente

Mehr

Systemprogrammierung. Projekt: Java RMI. Wintersemester 2006 / 2007

Systemprogrammierung. Projekt: Java RMI. Wintersemester 2006 / 2007 Systemprogrammierung Projekt: Java RMI Wintersemester 2006 / 2007 Systemprogrammierung 1. Einleitung 2. Einführung in RPC 3. RMI 4. Code Beispiele 5. Live Vorstellung 6. Ausblick 7. Fazit 2 1. Einleitung

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

Norm 230 Übertragung von Dateien

Norm 230 Übertragung von Dateien 1 Norm 230 Übertragung von Dateien 2 3 Release und Version Release 1, Version 1, vom 30. Juli 2007 4 5 Status Potentielle Konvention (PN) 6 7 Editor Sören Chittka, VOLKSWOHL BUND (soeren.chittka@volkswohl-bund.de)

Mehr

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Präsentation zur Diplomarbeit von Übersicht Java 2 Enterprise Edition Java Servlets JavaServer Pages Enterprise JavaBeans Framework

Mehr

Inhalt Einführung Was ist SAML Wozu braucht man SAML Wo wird SAML verwendet kleine Demo SAML. Security Assertion Markup Language.

Inhalt Einführung Was ist SAML Wozu braucht man SAML Wo wird SAML verwendet kleine Demo SAML. Security Assertion Markup Language. Inhalt Einführung Was ist Wozu braucht man Wo wird verwendet kleine Demo Security Assertion Markup Language Björn Rathjens Inhalt Einführung Was ist Wozu braucht man Wo wird verwendet kleine Demo 1 Einführung

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

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

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

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

Java RMI Remote Method Invocation

Java RMI Remote Method Invocation Java RMI Remote Method Invocation Ziel: Aufruf von Instanzmethoden entfernter Objekte basierend auf Java. Paket: java.rmi und Unterpakete Topologie: RMI Registry RMI Server RMI Client Der Server registriert

Mehr