Web Services Soap. Vladyslav Kutsenko Seminar Web services Vortrag zum Thema Soap

Ähnliche Dokumente
XML-Webservices & SOAP

Software Reuse Sommer 2004

Verteilte Systeme: Übung 4

Implementierung von Web Services: Teil I: Einleitung / SOAP

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

Web Services. Standards und Realisierung in Java

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

Verteilte Systeme: Übung 4

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

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

Einführung in SOAP. Seminar E-Services. von Christoph Kurek

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

Wiederholung: Beginn

SOA. Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik

WSDL. Heutige Vorlesung. Wozu WSDL? Wie wird WSDL verwendet? Language. Services. Description. Web. Abstrakte vs. konkrete Syntax

FuE-Bereich IuK-Systeme im Gesundheitswesen

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

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

Web Services Integration heterogener Systemlandschaften. Prof. Dr. Gregor Engels Fabian Christ 08. Juni 2010

XML-RPC, SOAP und Web Services. Jörn Clausen

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

SOAP Integrationstechnologie für verteilte Middlewarearchitekturen?

Grundlagen der Web-Entwicklung INF3172

Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer

SOAP und REST Ein Vergleich von service- und ressourcenorientierten Architekturen und deren Einsatz im VMA-Projekt

Web Service Entwicklung mit Java. Sven Lindow

XML und SOAP Einführung und Grundlagen

Architektur von SOAP basierten Web Services

Workflow, Business Process Management, 4.Teil

Java und XML 2. Java und XML

WebServices: Kommunikation

Techniken von Web Services

Java Web Services. Seminarunterlage. Version 4.03 vom

Webservices Ein Vortrag von:

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

Architektur von REST basierten Webservices

Softwareentwicklung in verteilten Umgebungen Middleware Case Studies (Coulouris et al., Kapitel 5 und 19) Dieter Schmalstieg Jens Grubert

Web Services. Web Services in the News. Vision: Web of Services. Learning for Results. DECUS Symposium 2002, Vortrag 1K07,

2. WWW-Protokolle und -Formate

Web Services - Zusammenfassung. Autor: Roman Bühler

Kapitel 5 Web-Services

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

Markus Schulz Seminar: XML für Fortgeschrittene

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

SOAP Simple Object Access Protocol

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

Thema: Web Services. Was ist ein Web Service?

SOAP. SOAP: Envelope

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

XML-Technologien

Seminararbeit. XML-RPC vs. SOAP

3. Web Service Security 3.1 WS-Security. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit

SOAP-Faults und deren Behandlung

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010

Hauptseminar. Thema: WebServices

Softwareschnittstellen

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

.NET-Networking 2 Windows Communication Foundation

Gliederung Einleitung Die Interprozess Kommunikation Zusammenfassung Fragen. .NET Remoting. André Frimberger

Die Nutzung von Webservices in der Oracle Datenbank. 11 März 2010

Web-Dienste mit XML und SOAP

Web Services Eine Übersicht. Jörn Clausen

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

WSDL K. Schild, 2006 / M. Mochol

Web-Sevices : WSDL Entwicklung von Web-Anwendungen

XMPP: Extensible Messaging and Presence Protocol

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

Containerformat Spezifikation

Semantic Markup für die Dokumentenklassifizierung. Seminarvortrag von Mirko Pracht

Wie funktionieren OPC UA Companion Specifications

Unified-E Standard WebHttp Adapter

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

Open Archives Initiative - Protocol for Metadata Harvesting (OAI-PMH)

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

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

Wissenschaftliche Vertiefung Web Services. Esslingen, 22. Januar 2016 Simon Schneider

Termin 4: Web Services Computing

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

GRUDIS RB3 (Schnittstelle MapViewer)

Softwareentwicklung in verteilten Umgebungen, Teil 6 Web Services (Coulouris et al., Kapitel 19) Dieter Schmalstieg

Auszug aus JAX-WS Folien

Service-orientierte Architektur. mit Web Services

XML-RPC zur Backend- Kommunikation in einem mobilen SBB-Projekt

ASN.1 <-> XML TRANSLATION

Uniform Resource Identifiers (URI) und Domain Name Service (DNS)

Java Web Services mit

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

XML. Einführung, XML-Grundlagen und -Konzepte. XPath DTD. XQuery. XML-Schema XSLT XML-Grundlagen, -Sprachen, -Datenhaltungsfragen

XML. Einführung, XML-Grundlagen und -Konzepte. XPath DTD. XQuery. XML-Schema XSLT XML-Grundlagen, -Sprachen, -Datenhaltungsfragen

Containerformat Spezifikation

Einführung in XML Extensible Markup Language

Seminar Internet Dienste. Webservices

Eine Untersuchung der Funktionen des Apache Wicket Webframeworks

Kapitel 6: Workflows im Internet. Jutta Mülle, IPD WfMS - WS 2007/08 Kapitel 6-1

An Geschäftsprozessen ausgerichtete IT- Infrastruktur. In SOA werden Services (Dienste) lose miteinander verbunden.

Web (Site) Engineering (WebSE)

XML für Nachrichten. Anwendungsfall RSS- Newsfeed. Florian Wilmshöver Proseminar Auszeichnungsprachen

Web Services. Eine kleine Einführung. Werner Gaulke

Transkript:

Web Services Soap Vladyslav Kutsenko Seminar Web services Vortrag zum Thema Soap uv08@stud.uni-karlsruhe.de 18. 05. 2004 Abstract Teleseminar Web Services Vortrag zum Thema Soap Typeset by FoilTEX

Inhalt 1 Definition 1 2 Definition 2 3 Motivation für SOAP 4 Vorteile von SOAP 5 Nachteile von SOAP 6 Grundlagen 7 Elemente einer Soap-Nachricht 8 soap/body 9 soap/body Child elements 10 soap/envelope 11 soap:fault 12 Fehlercodes 13 soap:header 14 soap:header child elements 15 Actor Attribute 16 soap:encodingstyle attribute 17 Mustunderstand attribute 18 Serialisationsregeln 1 19 Serialisationsregeln 2 20 Serialisationsregeln 3 21 Serialisierungsregeln: Beispiel 22 HTTP Binding 1 23 HTTP Binding 2 24 HTTP Binding: Beispiel 25 Typeset by FoilTEX 1

Definition 1 SOAP Version 1.2 (SOAP) is a lightweight protocol intended for exchanging structured information in a decentralized, distributed environment. It uses XML technologies to define an extensible messaging framework providing a message construct that can be exchanged over a variety of underlying protocols. The framework has been designed to be independent of any particular programming model and other implementation specific semantics. Quelle: W3C Typeset by FoilTEX 2

Definition 2 The Simple Object Access Protocol (SOAP) is an XML messaging specification that describes a message format along with a set of serialization rules for datatypes including structured types and arrays. In addition, it describes how to use the Hypertext Transfer Protocol (HTTP) as a transport for such messages. Quelle: Essential XML Aaron Skonnard Martin Gudgin Addison-Wessley Typeset by FoilTEX 3

Motivation für SOAP Zusammenfügen von XML und Web. Erzeugung eines effektiven Protokols für die Kommunikation im Netzwerk. Interoperabilität verschiedener Systeme Typeset by FoilTEX 4

Vorteile von SOAP Allgemein akzeptierte Standardisierung (W3C) Platformunabhängikeit (Voraussetzung für die Benutzung von SOAP: HTTP + XML) Offenheit (Offene Schnittstellen) Robustheit (HTTP-Protokol) Typeset by FoilTEX 5

Nachteile von SOAP Overhead verursacht durch Verarbeitung von XML Performance Nachteile durch Benutzung von HTTP in Szenarien, die kurzen Verbindungszeiten erfordern Neue Sicherheitsherausforderung (Firewall Durchdringung) Typeset by FoilTEX 6

Grundlagen Die SOAP Spezifikation definiert: Das Root-Element Envelope, das ein XML-Dokument einschließt Beschreibt die Repräsentation der zusätzlichen Informationen wie z. B. Verweise auf die Schemata für das Dokument, die Transaktionsverwaltung, Sicherheit oder Applikationskoordination. Beschreibung der Regeln für die Serialisierung von Datentypen. Beschreibung der Bindung an HTTP-Protokol, damit die Daten fehlerfrei durchs Netzwerk zum Zielknoten und zum Soap-Prozessor übermittelt werden. Typeset by FoilTEX 7

Elemente einer Soap-Nachricht Envelope (root element) Header (optional) Body Diese Elemente sind im Namespace: http://schemas.xmlsoap.org/soap/envelope definiert Typeset by FoilTEX 8

soap/body <soap:body xmlns:soap= http://sch... > Nutzlast der Nachricht </soap:body> Typeset by FoilTEX 9

soap/body Child elements Ein oder mehr Namespace-qualified Elemente, die nicht in http://schemas.xmlsoap.org/soap/envelope definiert sind Bsp.:... <m:getorders xmlns:m= http://www.mywebshop.com//myschema >... Fehlerelement im Falle eines Fehlers aus Namespace: http://schemas.xmlsoap.org/soap/envelope Typeset by FoilTEX 10

soap/envelope <soap:envelope xmlns:soap= http://schemas.xmlsoa... > Optionale Kopfdaten (header) Body </soap:envelope> Durch soap/envelope wird die XML-Nachricht als eine Soap- Nachricht identifiziert. Child elements: Optional Header und Body Typeset by FoilTEX 11

soap:fault Zeigt an, daß bei der Anfragebearbeitung ein Fehler aufgetreten ist. Kommt nur in den Antwortnachrichten vor. Child elements: Faultcode definiert in: http://schemas.xmlsoap.org/soap/envelope/ Faultstring Type: String. Enthält eine von Menschen lesbare Meldung Faultactor (optional) Type: urireference. Zeigt die Fehlerquelle an. Z. B. Empfänger der Nachricht Detail (optional) Type: Anwendungspezifische Informationen zum Fehler. Kann beliebige Namespace-qualified Attribute enthalten. Typeset by FoilTEX 12

Fehlercodes Hier sind einige Beispiele der Fehler, die durch Faultcode angezeigt werden: VersionMismatch: Der Namespace des Envelope wird von Empfänger nicht akzeptiert. Die Nachricht soll korregiert wiederholt werden. Server: Serverseitige Probleme MustUnderstand: Ein Child Element des haeaders hat ein soap:mustunderstand Atribut, wird jedoch durch den Empfänger nicht verstanden client: Die Nachricht enthält nicht alle Elemente, die notwendig sind, damit die Verarbeitung durch den Empfänger erfolgen kann.... Typeset by FoilTEX 13

soap:header Aufgabe: Container für die Benutzerdefinierten Erweiterungen. Mögliche sinnvolle benutzerdefinierte Erweiterungen: Transaktionsverwaltung Authentifizierung Kryptologie Typeset by FoilTEX 14

soap:header child elements Beliebige Namespace-qualified Elemente, die nicht in http://schemas.xmlsoap.org/soap/envelope/ definiert sind. Beispiel:... <header> <x:sprache xmlns: x= http://www.example.com/extension > <x:codepage>latin1</x:codepage> </x:sprache> </header>... Typeset by FoilTEX 15

Actor Attribute Syntax: soap:actor= anyuri Spezifiziert den URI des Zwischenknoten, der die mit diesem Attribut markierten Erweiterung im Header interpretieren soll. Wenn uri= http://schemas.xmlsoap.org/soap/actor/next wird die Headererweiterung vom nächsten in der Kette Knoten interpretiert. wenn soap:actor nicht angegeben ist, wird die die Headererweiterung vom Zielknoten verarbeitet Typeset by FoilTEX 16

soap:encodingstyle attribute Syntax: soap:encodingstyle= List of anyuri Zeigt dem Empfänger einer Soap-Nachricht an, welches Serialisierungsformat benutzt wurde, um das Element sowie die zugehörigen Unterelemente zu serialisieren. Kann an jedem Element einer Soap-Nachricht angewandt werden. Die Unterelemente können diese Attribute überschreiben. Typeset by FoilTEX 17

Mustunderstand attribute Syntax: mustunderstand= 1 oder mustunderstand= 0 Funktion: Zeigt an, ob eine Header-Erweiterung verarbeitet werden soll. Per Default ist mustunderstand= 0. Wenn dieses Attribut auf 1 gesetzt ist, muß die Header-erweiterung verarbeitet werden. Oder ein Fault zurückgegeben werden. Typeset by FoilTEX 18

Serialisationsregeln 1 Objekte und Strukturen der Programmiersprachen werden auf die SOAP Data Structs abgebildet, und es werden remote calls erzeugt, die die Aufrufe der Methoden der entsprechenden Objekte der höheren Programmiersprachen in ihren Signaturen abbilden Die einfachen Datentypen werden den entsprechenden XML- Datentypen zugeordnet. Typeset by FoilTEX 19

Serialisationsregeln 2 Die strukturierten Daten werden als XML-Elemente dargestellt. Metadaten z. B. Referenzen als Attribute Datentypen wie Structs und Arrays werden in: http://schemas.xmlsoap.org/soap/encoding definiert. Typeset by FoilTEX 20

Serialisationssregeln 3 Datentypen wie Strukturen oder Klassen: Jedes Element wird serialisiert durch ein xml-element mit dem gleichen Namen Verschachtelung ist zugelassen. Z. B. Elemente eines Arrays sind nicht primitiv. Wurzelelemente der strukturierten Datentypen sind Namespace-qualified, die darunterliegenden dagegen nicht. Die Serialisationsregeln betreffen die Unterelemente des Header- und Bodyelements Typeset by FoilTEX 21

Serialisationsregeln: Beispiel package example.org.people; // Java class definition class Person { String name; float alter; } Serialisierung in SOAP:... <p:person xmlns:p= http://www.mywebshop.com/staff > <name>martin</name> <alter>30</alter> </p:person>... Typeset by FoilTEX 22

HTTP Binding 1 Die SOAP Spezifikation beschreibt das Verhältnis zwischen SOAP Request/Response und HTTP-Headers. (HTTP-Binding) Content-type: Content-Type: text/xml; charset=? Festlegung der Mime type der Nachricht und optional der Zeichenkodierung. Z. B. utf-8 Typeset by FoilTEX 23

HTTP Binding 2 content-lenth: Zeigt die Anzahl der Bytes in Body der Request oder Response Nachricht. SOAPACTION zeigt dem Server an, daß die vorliegende Nachricht ein SOAP-Request ist. Der Wert ist URI Typeset by FoilTEX 24

HTTP Binding: Beispiel POST /endpoint HTTP/1.1 Content-Type: text/xml; charset=utf-16 Content-Length: 167 SOAPAction: http://www.mywebshop.com#method <env:envelope xmlns: env= http://schemas.xmlsoap.org/soap/envelope/ > <env:body> <m:method xmlns:m= http://www.mywebshop.com /> </env:body> </env:envelope> Typeset by FoilTEX 25

Zusammenfassung Wie in diesem Vortrag beschrieben wurde, spezifiziert SOAP mit SOAP envelope, Headers, Body und Fault Elementen spezielle XML-Dokumente für ein nachrichtenorientiertes Übertragungsmechanismus. Es wird außerdem ein XML-basiertes Typsystem definiert, das zur Serialisation der Datentypen benutzt wird. Anschließend wird die Bindung des SOAP-Protokolss an HTTP behandelt. Typeset by FoilTEX 26