SOAP Simple Object Access Protocol

Slides:



Advertisements
Ähnliche Präsentationen
SOAP, nur ein neuer XML- Dialekt?
Advertisements

Aufgabe1: Probleme mit Seife
DTD XML-Technik Dino Azzano. Definition Document Type Definition Beschreibung der Regeln zum Aufbau aller XML-Dokumente, die zu einer Dokumentklasse.
Elektronisch messen, steuern, regeln
Basis-Architekturen für Web-Anwendungen
© 2003 Guido Badertscher Spontane Vernetzung - UPnP 9. Jänner 2004 Spontane Vernetzung Guido Badertscher.
SOAP Simple Object Access Protocol
Datenbankzugriff im WWW (Kommerzielle Systeme)
Dipl.- Dok. Rusalka Offer
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Pascal Busch, WWI00B – Vergleich CORBA vs. Web Services hinsichtlich der Applikationsintegration Web Services vs CORBA Web Services vs CORBA Ein Vergleich.
IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do,
HTML - Einführung Richard Göbel.
FH-Hof Extensible Markup Language Richard Göbel. FH-Hof Extensible Markup Language XML XML ist universeller Ansatz für die Strukturierung von Zeichenketten.
Java: Grundlagen der Sprache
XINDICE The Apache XML Project Name: Jacqueline Langhorst
SOAP (Simple Object Access Protocol)
XML-Schema HKI Proseminar Wintersemester 2010/11 Dozentin: Frau Kurz von Jan Kohl und Christian Lütticke.
© 2002 Prof. Dr. G. Hellberg 1 XML-Seminar XML-Technologie: XML in Theorie und Praxis Prof. Dr. G. Hellberg XML-Technologie: XML in Theorie und Praxis.
Konzeption und Implementierung einer XML-RPC und SOAP Anbindung Praktikumsbericht von Martin Spindler.
Entwicklung einer Plattform für (Auto)mobile Informations- Systeme in einer Heterogenen Netzwerkumgebung Oliver R. Achtelik.
Einführung in die Programmierung mit Java
Geoinformation III Vorlesung 13b XML-Schema.
JAVA RMI.
Introducing the .NET Framework
Seminar Internet Technologien
1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik
1 Grundlagen und Anwendung der Extensible Markup Language (XML ) Peter Buxmann Institut für Wirtschaftsinformatik Johann Wolfgang Goethe-Universität Frankfurt.
Seminar Praktische Informatik Web Services
Distributed Programming in.NET. Inhaltsverzeichnis 1) Einführung 2).NET Remoting 3) Web-Services 4) Vergleich.NET Remoting und Web- Services 5) Fazit.
Leistungsorientierte Krankenanstaltenfinanzierung „LKF“
Die .NET Common Language Runtime
Die .NET Common Language Runtime
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 12 Folie 2 Web Services (1)
ArcGIS als WPS Server Aktueller Stand der Umsetzung
Integration heterogener verteilter Systeme mit WS-BPEL – ein Praxisbeispiel Dr. Wolf-Dieter Heinrichs.
Webservice Grundlagen
Einsatzgebiete und Anwendungen
Consulting and Solutions.NET Vortragsreihe – Vorstellung der Referenten Happy Arts Software Markus Kämmerer IT-Erfahrung seit 1987,
UNIVERSITÄT ZU KÖLN HISTORISCH-KULTURWISSENSCHAFTLICHE INFORMATIONSVERARBEITUNG REUSABLE - CONTENT SS 2013 MARIA WAGNER ReST.
Java für Fortgeschrittene
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 2 Folie 2 XAML (1) s.a.
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 13 Kapitel 4 Folie 2 REST Web Services (1)
Sesame Florian Mayrhuber
Wohlgeformtheit und Gültigkeit Grundlagen der Datenmodellierung Anke Jackschina.
Management- und Web Services- Architekturen
XML (Extensible Markup Language)
Kurzpräsentation von Herbert Schlechta
XJustiz: Elektronischer Rechtsverkehr mit XML
Client-Server-Modell
Reinhold Rumberger Web Services.
SOAP.
->Prinzip ->Systeme ->Peer – to – Peer
Universal Plug and Play
Microsoft.NET InfoPoint 8. Juni 2005 Stefan Bühler.
Peter Brezany Institut für Softwarewissenschaften Universität Wien
XML Schema Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung WS2011/2012 Hist.-kult.wiss. Informationsverarbeitung (Teil.
Geoinformation3 Geoinformation III XML Grundlagen, Namensräume und Hyperlinks Vorlesung 12b.
Web Services (Axis) ETIS SS05.
Web Services Spezielle Methoden der SWT Liste V – WS 2008/2009 Christian Boryczewski.
ORB – Konzepte Ist – Analyse der betrieblichen Notwendigkeiten, Anforderungsableitung an moderne Lösungskonzepte, alternative ORB – Konzepte mit Zukunft,
8.November 2006 ― 1Elektronisches Publizieren: XML Namespaces Kodierung strukturierter Dokumente im Web — XML Namespaces —
XML-Erweiterungen in ORDBMS Seminar: DBMS für spezielle Anwendungen Florian Brieler.
Vergleich verschiedener Kommunikationsinfrastrukturen in Enterprise Information Systems Ben Mainz Seminar am Lehrstuhl für Software Engineering RWTH Aachen.
Webservices SOAP und REST Nicole Fronhofs 1. Betreuer: Prof. Dr. Volker Sander 2. Betreuer: B. Sc. Sebastian Olscher.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Web Services Dr. Wolfgang Wörndl
SOAP - WSDL Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung Prof. Dr. Manfred Thaller AM 2 Hauptseminar: Virtuelle.
Business Process Excuction Lanaguage
Business Process Excuction Lanaguage
 Präsentation transkript:

SOAP Simple Object Access Protocol Leitung: Dr. Ingrid Wetzel / Universität Hamburg Referenten: Nicole Brandstätter, 9955780 Christian Haim, 9955433 Martin Kottrasch, 9955823 Projektstudium E-Business & E-Service, WS 2001/2002 Institut f. WIN, Abteilung Software-Engineering, Universität Linz

E-Business / E-Service WS 01/02 Gliederung Einführung Aufbau von SOAP-Nachrichten SOAP-Datentypen SOAP und RPCs Zusammenfassung E-Business / E-Service WS 01/02

E-Business / E-Service WS 01/02 Einführung (1) neue Technologie, wird seit 1998 von DevelopMentor, IBM, Lotus, Microsoft und Userland Software entwickelt einfach, erweiterbar, plattformübergreifend, basierend auf Web-Standards (HTTP, XML) rein XML-basiert Mechanismus zum Beschreiben der spezifische Semantik einer Anwendung Einsatz bei RPCs (Remote Procedure Calls) Netzwerkprotokoll E-Business / E-Service WS 01/02

E-Business / E-Service WS 01/02 Einführung (2) prinzipieller Ablauf (Request):        Nachricht Nachricht ... DFÜ DFÜ SOAP SOAP-Anwendung SOAP E-Business / E-Service WS 01/02

E-Business / E-Service WS 01/02 Einführung(3) SOAP spezifiziert: Aussehen der Serialisierung (unter Verwendung spezieller XML-Tags u. -Semantik) Übertragungsart der XML-Informationen (gegenwärtig via HTTP) SOAP ist als Protokoll für ferne Methodenaufrufe gedacht. SOAP bedient sich dem HTTP um die XML-kodierten, serialisierten Methodenargumentdaten von System zu System zu transportieren. E-Business / E-Service WS 01/02

Funktionale Vorteile von SOAP Programmiersprachenunabhängig Betriebssystemunabhängig Plattformunabhängig Keine Beeinträchtigung durch Firewalls Breite Unterstützung, weil viele große Firmen an der Entwicklung mitarbeiten. E-Business / E-Service WS 01/02

Technische Vorteile von SOAP Einfache Technologie Erweiterbar Benutzt industrieweite Standards: XML, HTTP, SMTP, FTP Stellt die Trennung von Inhalt und Struktur sicher E-Business / E-Service WS 01/02

E-Business / E-Service WS 01/02 Nachteile von SOAP SOAP ist äußerst unsicher Noch immer keine vollständige Interoperabilität Große Nachrichten, weil nur Werte gespeichert werden und keine Referenzen Geringere Performance als andere RPC SOAP ist (nur) ein Netzwerkprotokoll und keine komplette verteilte Objektarchitektur. E-Business / E-Service WS 01/02

E-Business / E-Service WS 01/02 Gliederung Einführung Aufbau von SOAP-Nachrichten SOAP-Datentypen SOAP und RPCs Zusammenfassung E-Business / E-Service WS 01/02

Aufbau eines SOAP-Pakets Scribner, K.; Stiver, M.: SOAP developer‘s guide S. 37 E-Business / E-Service WS 01/02

Elemente einer SOAP-Nachricht SOAP-Envelope SOAP-Header SOAP-Body Envelope-Element Header-Element (optional) Body-Element E-Business / E-Service WS 01/02

Exkurs: XML-Namensräume (1) wird von einer URI-Referenz identifiziert erweitert die Bezeichnung von Element- und Attributnamen verhindert Namenskonflikte und ermöglich Wiederverwendung von ganzen Wortschätzen E-Business / E-Service WS 01/02

Exkurs: XML-Namensräume (2) Gehört keinem Namensraum an: <Produkt> <Produktname Type="1">Widget</Produktname> </Produkt> Deklaration eines Namensraums: xmlns:<Namensraum-Präfix> = <URI> Voranstellung des Präfixes an lokale Elemente und Attribute: <pns:Produkt xmlns:pns="http://www.mcp.com/prodns"> <pns:Produktname pns:Type="1">Widget</pns:Produktname> </pns:Produkt> E-Business / E-Service WS 01/02

Exkurs: XML-Namensräume (3) <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schema.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle= "http://schema.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <m:Print xmlns:m="Some-uri"> <norm>din</norm> <size>a4</size> </m:Print> </SOAP-ENV:Body> </SOAP-ENV:Envelope> E-Business / E-Service WS 01/02

E-Business / E-Service WS 01/02 SOAP-Envelope Name des Elements lautet Envelope Element muß in jeder SOAP Nachricht enthalten sein Element darf Namensräume enthalten Element darf zusätzliche Attribute enthalten Element darf weitere Unterelemente enthalten E-Business / E-Service WS 01/02

E-Business / E-Service WS 01/02 SOAP-Header(1) Header Element ist erstes direktes Kindelement ist optional besteht aus einem oder mehreren Header Entries wird identifiziert durch Name und Namensraum-URI Zusatzattribute “mustUnderstand” und “actor” E-Business / E-Service WS 01/02

E-Business / E-Service WS 01/02 SOAP-Header (2) <SOAP-ENV:Header> <ns1:DataGram xmlns:ns1=­"http://www.myurl.com/datagram"> <ns1:Datum id="EtwasWichtiges"> <!-- Hier Konstante definieren... --> </ns1:Datum> </ns1:DataGram> </SOAP-ENV:Header> <SOAP-ENV:Body> <ns1:Methode1 xmlns:ns1="http://www.myurl.com/datagram"> <ns1:Arg1 href="#EtwasWichtiges">123</ns1:Arg1> </ns1:Methode1> </SOAP-ENV:Body> E-Business / E-Service WS 01/02

Header-Element und seine Attribute SOAP-ENV:mustUnderstand dient dazu, dem SOAP-Prozessor mitzuteilen, eine unbekannte oder unerwartete Information zu verwerfen SOAP-ENV:actor Anwendung, die zur Verarbeitung bestimmt ist E-Business / E-Service WS 01/02

E-Business / E-Service WS 01/02 SOAP-Body (1) Der Body ist ein direktes Kindelement des Envelope-Elements Der Body besteht aus ein oder mehreren Body-Entries wird identifiziert durch Präfix und lokalen Namen sowie Namespace-Definition lokaler Name (globale Namespace-Definition wird verwendet) Der Body kann genau einmal ein Fault-Element enthalten E-Business / E-Service WS 01/02

E-Business / E-Service WS 01/02 SOAP-Body (2) 3 mögliche Inhalte des SOAP-Bodys: Aufruf -Informationen Antwort -Informationen Fehler -Informationen E-Business / E-Service WS 01/02

SOAP-Body beim Aufruf einer Methode POST /StockQuote HTTP/1.1 Host: www.stockquotes.com Content-Type: text/xml; charset="utf-8" Content-Length: nnnn SOAPAction: "Some-URI#GetLastTradePriceDetailed" <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <m:GetLastTradePriceDetailed xmlns:m="Some-URI"> <Symbol>USD</Symbol> <Company>SAP Corp</Company> <Price>34.1</Price> </m:GetLastTradePriceDetailed> </SOAP-ENV:Body> </SOAP-ENV:Envelope> E-Business / E-Service WS 01/02

SOAP-Body einer Antwortnachricht HTTP/1.1 200 OK Content-Type: text/xml; charset="utf-8" Content-Length: nnnn <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <m:GetLastTradePriceResponse xmlns:m="Some-URI"> <PriceAndVolume> <LastTradePrice>34.1</LastTradePrice> <DayVolume>10000</DayVolume> </PriceAndVolume> </m:GetLastTradePriceResponse> </SOAP-ENV:Body> <SOAP-ENV:Envelope> E-Business / E-Service WS 01/02

SOAP-Body einer Fehlernachricht HTTP/1.500 Internal Server Error Content-Type: text/xml; charset="utf-8" Content-Length: nnnn <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <SOAP-ENV:Fault> <faultcode>SOAP-ENV:MustUnderstand</faultcode> <faultstring>SOAP Must Understand Error</faultstring> </SOAP-ENV:Fault> </SOAP-ENV:Body> <SOAP-ENV:Envelope> E-Business / E-Service WS 01/02

E-Business / E-Service WS 01/02 Gliederung Einführung Aufbau von SOAP-Nachrichten SOAP-Datentypen SOAP und RPCs Zusammenfassung E-Business / E-Service WS 01/02

E-Business / E-Service WS 01/02 Datentypen bei SOAP Einfache Datentypen direkt in XML verankert Zusammengesetzte Datentypen Strukturen Arrays E-Business / E-Service WS 01/02

E-Business / E-Service WS 01/02 Einfache Datentypen Zeichenketten (strings) Fließkommazahlen (float, double) Boolsche Werte (boolean) Festkommazahlen (decimal) Zeit- und Datumsangaben (TimeDuration) Binärdaten (binary) [Aufzählungstypen] E-Business / E-Service WS 01/02

Zusammengesetzte Datentypen (1) Strukturen: <book> <author>Pomberger, G.</author> <title>Methoden des SWE</title> <price>430.00</price> </book> E-Business / E-Service WS 01/02

Zusammengesetzte Datentypen (2) Arrays: <queue SOAP-ENC:arrayType="xsd:int[2]"> <zahl>3</zahl> <zahl>5</zahl> </queue> E-Business / E-Service WS 01/02

E-Business / E-Service WS 01/02 Gliederung Einführung Aufbau von SOAP-Nachrichten SOAP-Datentypen SOAP und RPCs Zusammenfassung E-Business / E-Service WS 01/02

E-Business / E-Service WS 01/02 SOAP und RPCs SOAP wurde hauptsächlich für RPCs entworfen Aufrufen einer "fernen" Methode RPC = Remote Procedure Call folgt dem Request/Response-Modell des HTTP Probleme wie Referenzübergabe oder Identifikation ferner Endpunkte bei verteilten Systemen bleiben auch bei SOAP bestehen E-Business / E-Service WS 01/02

Entfernter Methodenaufruf Objektendpunktkennung POST /creator.pl?objekt=meinobj HTTP/1.1 HOST: www.mcp.com Accept: text/* Content-type: text/xml Content-length: nnnn SOAPAction: Some-uri#Add   <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schema.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schema.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body> <m:Add xmlns:m="Some-uri"> <a>3</a> <b>4</b> </m:Add> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Maschinenadresse SOAP-Nutzlast Methodenname Schnittstelle E-Business / E-Service WS 01/02

ORPC – Object Remote Procedure Call SOAP ist für RPC nur ein weiteres ORPC-Protokoll, welches die gleiche Taktik zur Realisierung ferner Methodenaufrufe erfordert wie DCOM und CORBA. E-Business / E-Service WS 01/02

E-Business / E-Service WS 01/02 Gliederung Einführung Aufbau von SOAP-Nachrichten SOAP-Datentypen SOAP und RPCs Zusammenfassung E-Business / E-Service WS 01/02

E-Business / E-Service WS 01/02 Zusammenfassung (1) SOAP = Netzwerkprotokoll, keine Architektur Aufbau: Envelope, [Header], Body XML-Dokument mit spez. Namespaces Serialisierung von Datenströmen Übetragung hauptsächl. über HTTP für Remote Procedure Calls E-Business / E-Service WS 01/02

E-Business / E-Service WS 01/02 Zusammenfassung (2) Ausblick / Zukunft von SOAP: Tools von der Programmiersprache zum XML-Schema XML-Schemata für die Schnittstellendefinition SOAP-fähige Betriebssysteme E-Business / E-Service WS 01/02