28
10. Dezember 2002 Dr. Eduard Heindl SOAP, nur ein neuer XML- Dialekt? Dr. Eduard Heindl, Lehrbeauftragter an der FH-Geislingen

10. Dezember 2002Dr. Eduard Heindl SOAP, nur ein neuer XML- Dialekt? Dr. Eduard Heindl, Lehrbeauftragter an der FH- Geislingen

Embed Size (px)

Citation preview

Page 1: 10. Dezember 2002Dr. Eduard Heindl SOAP, nur ein neuer XML- Dialekt? Dr. Eduard Heindl, Lehrbeauftragter an der FH- Geislingen

10. Dezember 2002 Dr. Eduard Heindl

SOAP, nur ein neuer XML- Dialekt?

Dr. Eduard Heindl,Lehrbeauftragter an der FH-Geislingen

Page 2: 10. Dezember 2002Dr. Eduard Heindl SOAP, nur ein neuer XML- Dialekt? Dr. Eduard Heindl, Lehrbeauftragter an der FH- Geislingen

10. Dezember 2002 Dr. Eduard Heindl

Inhalt

Schnittstellen zwischen SoftwareSOAP Simple Object Access ProtocolBeispieldateienHintergrundWeitere Komponenten WDSL, UDDIVor- und NachteileTrend?

Page 3: 10. Dezember 2002Dr. Eduard Heindl SOAP, nur ein neuer XML- Dialekt? Dr. Eduard Heindl, Lehrbeauftragter an der FH- Geislingen

10. Dezember 2002 Dr. Eduard Heindl

INTERNET

WIN32

IT-Kommunikation

Anwendung

Anwendung

Anwendung

DCOM

COM

Anwendung

Anwendung

Anwendung

CORBA

UNIX

RMI

SOAP

Page 4: 10. Dezember 2002Dr. Eduard Heindl SOAP, nur ein neuer XML- Dialekt? Dr. Eduard Heindl, Lehrbeauftragter an der FH- Geislingen

10. Dezember 2002 Dr. Eduard Heindl

Probleme bisheriger Lösungen

Herstellerabhängig (RMI, COM, DCOM)Geringe Verbreitung (Corba)Binäre FormateNicht XML-konformPort der Anwendung oft geschlossen, keine feste Portnummer

Page 5: 10. Dezember 2002Dr. Eduard Heindl SOAP, nur ein neuer XML- Dialekt? Dr. Eduard Heindl, Lehrbeauftragter an der FH- Geislingen

10. Dezember 2002 Dr. Eduard Heindl

SOAP Simple Object Access Protocol

Was ist SOAP?SOAP = XML + HTTP + AnwendungenKommunikationslösungW3C StandardMinimalistische LösungTeil des Web Service KonzeptsNicht objektorientiert

Page 6: 10. Dezember 2002Dr. Eduard Heindl SOAP, nur ein neuer XML- Dialekt? Dr. Eduard Heindl, Lehrbeauftragter an der FH- Geislingen

10. Dezember 2002 Dr. Eduard Heindl

Eigenschaften von SOAP

Programmiersprachen-UnabhängigkeitLesbarer Text (human readable)Datentypen (jenseits des Strings)

Page 7: 10. Dezember 2002Dr. Eduard Heindl SOAP, nur ein neuer XML- Dialekt? Dr. Eduard Heindl, Lehrbeauftragter an der FH- Geislingen

10. Dezember 2002 Dr. Eduard Heindl

Aufbau SOAP Message

Format XMLDefinition durch XML-SchemaSOAP Envelope SOAP Header SOAP Body

Page 8: 10. Dezember 2002Dr. Eduard Heindl SOAP, nur ein neuer XML- Dialekt? Dr. Eduard Heindl, Lehrbeauftragter an der FH- Geislingen

10. Dezember 2002 Dr. Eduard Heindl

SOAP Aufbau

Transport-Umschlag (HTTP, SMTP, ...)

SOAP- Dokument <SE:Envelope>

<SE:Header>(optional)Delivery Information

<SE:Body>(required)

Nutzdaten (payload)

<SE:Fault> (optional)

Page 9: 10. Dezember 2002Dr. Eduard Heindl SOAP, nur ein neuer XML- Dialekt? Dr. Eduard Heindl, Lehrbeauftragter an der FH- Geislingen

10. Dezember 2002 Dr. Eduard Heindl

POST /Sample HTTP/1.1Host: www.sampleserver.comContent-Type: text/xml; charset="utf-8„Content-Length: 234SOAPAction: "GetLastTradePrice"

<SE:Envelopexmlns:SE=http://schemas.xmlsoap.org/soap/envelope/SE:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> <SE:Body> <m:GetLastTradePrice xmlns:m="Some-URI"> <symbol>DEF</symbol> </m:GetLastTradePrice> </SE:Body></SE:Envelope>

Eine kleine Anfrage

müssenübereinstimmen

Page 10: 10. Dezember 2002Dr. Eduard Heindl SOAP, nur ein neuer XML- Dialekt? Dr. Eduard Heindl, Lehrbeauftragter an der FH- Geislingen

10. Dezember 2002 Dr. Eduard Heindl

Und die AntwortHTTP/1.1 200 OKContent-Type: text/xml; charset="utf-8„Content-Length: 178

<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"><Price>34.5</Price></m:GetLastTradePriceResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>

Page 11: 10. Dezember 2002Dr. Eduard Heindl SOAP, nur ein neuer XML- Dialekt? Dr. Eduard Heindl, Lehrbeauftragter an der FH- Geislingen

10. Dezember 2002 Dr. Eduard Heindl

Schema für SOAP

Der SOAP XML-Dateiaufbau wird durch ein Schema beschriebenAktuelle Version 1.2Original: http://www.w3.org/TR/2002/WD-soap12-part2-20020621/

Page 12: 10. Dezember 2002Dr. Eduard Heindl SOAP, nur ein neuer XML- Dialekt? Dr. Eduard Heindl, Lehrbeauftragter an der FH- Geislingen

10. Dezember 2002 Dr. Eduard Heindl

Hintergrund: XML-Schema

Schema beschreibt die Struktur eines XML-DokumentsSchema löst die bisherige Form DTD abSchema wird in XML-Syntax geschriebenSchema kennt Datentypen Datenstrukturen

Page 13: 10. Dezember 2002Dr. Eduard Heindl SOAP, nur ein neuer XML- Dialekt? Dr. Eduard Heindl, Lehrbeauftragter an der FH- Geislingen

10. Dezember 2002 Dr. Eduard Heindl

Hintergrund: Namespace

Problem: Weltweiter Funktionsaufruf führt zu Namenskollisionen für Bezeichner: SOAP (Seife), SOAP (Seifenoper), SOAP (Web), ...Ziel: Namen von Bezeichnern weltweit eindeutigLösung: Dem Bezeichner wird eine URI vorangestellt, deren Abkürzung im Dokument vereinbart wirdxmlns:rein=´http://www.lux.de/sauber´Einsatz im Dokument ... rein:soap ...

Page 14: 10. Dezember 2002Dr. Eduard Heindl SOAP, nur ein neuer XML- Dialekt? Dr. Eduard Heindl, Lehrbeauftragter an der FH- Geislingen

10. Dezember 2002 Dr. Eduard Heindl

Sicherheitsaspekte

SOAP kann sichere Transportprotokolle nutzen Secure HTTP (HTTPS) Secure MIME (S/MIME)

Security im <header> vereinbarenNutzung von LDAP, X.509 für Authentifikation

Page 15: 10. Dezember 2002Dr. Eduard Heindl SOAP, nur ein neuer XML- Dialekt? Dr. Eduard Heindl, Lehrbeauftragter an der FH- Geislingen

10. Dezember 2002 Dr. Eduard Heindl

Web Services

1. Schnittstelle des Service beschreiben

2. Service zentral hinterlegen3. Service suchen4. Service in die Software

implementieren5. Service zur Laufzeit aufrufen

Page 16: 10. Dezember 2002Dr. Eduard Heindl SOAP, nur ein neuer XML- Dialekt? Dr. Eduard Heindl, Lehrbeauftragter an der FH- Geislingen

10. Dezember 2002 Dr. Eduard Heindl

stub

Web ServiceProvider

AnwendungstubSOAP

stub

stub

stub

Ablauf einer AnfrageDiscoveryAgency

WSDLUDDI

stub

ServiceRequestor

Anwendung

SOAPWSDL

1. publizieren

2. suchen

3. Nutzen

SOAPUDDI

Page 17: 10. Dezember 2002Dr. Eduard Heindl SOAP, nur ein neuer XML- Dialekt? Dr. Eduard Heindl, Lehrbeauftragter an der FH- Geislingen

10. Dezember 2002 Dr. Eduard Heindl

Universal Description Discovery and Integration - UDDI

Globaler VerzeichnisdienstEintragen der eigenen Web ServicesSuchen nach Web ServicesDynamische Anfrage vor ServiceaufrufÖffentliche UDDI-Server bei HP, IBM, Microsoft, SAP

Page 18: 10. Dezember 2002Dr. Eduard Heindl SOAP, nur ein neuer XML- Dialekt? Dr. Eduard Heindl, Lehrbeauftragter an der FH- Geislingen

10. Dezember 2002 Dr. Eduard Heindl

Inhalt von UDDI White Pages Firmenname und Adresse Kontaktinformationen, WebSite

Yellow Pages Business Type, Ort (Adresse), Produkte Industriezweig

• Green Pages Technische Informationen zum Business Pointer zur WSDL Beschreibung (Text)

Page 19: 10. Dezember 2002Dr. Eduard Heindl SOAP, nur ein neuer XML- Dialekt? Dr. Eduard Heindl, Lehrbeauftragter an der FH- Geislingen

10. Dezember 2002 Dr. Eduard Heindl

Web Service Description Language - WSDL

Beschreibungssprache für Web ServicesVergleichbar mit IDL (Interface Description Language) bei CorbaSpezifiziert einen Web ServiceC# oder Java Kommunikationsteil kann daraus abgeleitet werden, z.B mit WSDL2JAVA in Apache Axis

Page 20: 10. Dezember 2002Dr. Eduard Heindl SOAP, nur ein neuer XML- Dialekt? Dr. Eduard Heindl, Lehrbeauftragter an der FH- Geislingen

10. Dezember 2002 Dr. Eduard Heindl

WDSL InhalteService Interface Datei Datentypen Message Typen Operationen Port-Typen Bindings

Server Implementations Datei Port Service

Page 21: 10. Dezember 2002Dr. Eduard Heindl SOAP, nur ein neuer XML- Dialekt? Dr. Eduard Heindl, Lehrbeauftragter an der FH- Geislingen

10. Dezember 2002 Dr. Eduard Heindl

WSDL - Beispiel<?xml version="1.0" encoding="utf-8"?><definitions ….. ><types><s:schema elementFormDefault="qualified" targetNamespace…./"><s:element name="Echo"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="echoString" type="s:string"> </s:sequence> </s:complexType></s:element><s:element name="EchoResponse"><s:element name="string" nillable="true" type="s:string" />

Page 22: 10. Dezember 2002Dr. Eduard Heindl SOAP, nur ein neuer XML- Dialekt? Dr. Eduard Heindl, Lehrbeauftragter an der FH- Geislingen

10. Dezember 2002 Dr. Eduard Heindl

Web Service Flow Language (WSFL)

Ablaufbeschreibung für Web ServicesVerknüpfung mehrerer ServicesModel von IBM (vergleichbar XLANG von Microsoft) inzwischen als Vorschlag bei W3C eingereicht

Page 23: 10. Dezember 2002Dr. Eduard Heindl SOAP, nur ein neuer XML- Dialekt? Dr. Eduard Heindl, Lehrbeauftragter an der FH- Geislingen

10. Dezember 2002 Dr. Eduard Heindl

Implementierungen

Java API for XML Messaging – JAXM Unterstützt SOAP und ebXML

Java API for XML Processing – JAXP Arbeitet mit DOM, SAX, XSLT

Java API for XML Registries - JAXR Zugriff auf UDDI

Java API for XML-based RPC – JAX-RPC Export von WSDL möglich

Page 24: 10. Dezember 2002Dr. Eduard Heindl SOAP, nur ein neuer XML- Dialekt? Dr. Eduard Heindl, Lehrbeauftragter an der FH- Geislingen

10. Dezember 2002 Dr. Eduard Heindl

Vorteile von SOAP

Unterstützt durch größte SoftwareherstellerEinfachere Kombination verschiedener Dienste Kosten für die Integrations-Middleware sinktErste Anwendungen bereits online verfügbarProgrammiersprachen-UnabhängigkeitLesbarer Text (human readable)Datentypen (jenseits des Strings)

Page 25: 10. Dezember 2002Dr. Eduard Heindl SOAP, nur ein neuer XML- Dialekt? Dr. Eduard Heindl, Lehrbeauftragter an der FH- Geislingen

10. Dezember 2002 Dr. Eduard Heindl

Probleme bei Web Services

HTTP bei vielen Firewalls offenZuverlässigkeit der ServicesVielzahl von ServiceschnittstellenPerformance bei der ProzessverteilungHaftung für Leistungen

Page 26: 10. Dezember 2002Dr. Eduard Heindl SOAP, nur ein neuer XML- Dialekt? Dr. Eduard Heindl, Lehrbeauftragter an der FH- Geislingen

10. Dezember 2002 Dr. Eduard Heindl

SOAP – nur ein neuer XML Dialekt?

SOAP ist mehrSOAP ist Web ServicesSOAP ist das für Software, was HTML für den Internetnutzer istSOAP könnte das „Betriebssystem“ des Internets werden

Page 27: 10. Dezember 2002Dr. Eduard Heindl SOAP, nur ein neuer XML- Dialekt? Dr. Eduard Heindl, Lehrbeauftragter an der FH- Geislingen

10. Dezember 2002 Dr. Eduard Heindl

Zum WeiterlesenWeb Service Architecture http://www.w3.org/TR/2002/WD-ws-arch-20021114/Attack of the Web Services, Andreas Holubek, Javamagazin 5/2002Komposition von Web-Services mit WSFL, Thilo Frotscher, JAVASPEKTRUM 1/2002Fit for Web Services, SOAP in der Praxis, Chi-Quang Lam, Javamagazin 2/2002Web Services: Eine Middleware für das Internet? Andreas Kapp, Roy T. Fielding, netzwoche 15/2002http://www-106.ibm.com/developerworks/webservices/

Page 28: 10. Dezember 2002Dr. Eduard Heindl SOAP, nur ein neuer XML- Dialekt? Dr. Eduard Heindl, Lehrbeauftragter an der FH- Geislingen

10. Dezember 2002 Dr. Eduard Heindl

Zukunft?