10. Dezember 2002Dr. Eduard Heindl SOAP, nur ein neuer XML- Dialekt? Dr. Eduard Heindl,...

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

Transcript of 10. Dezember 2002Dr. Eduard Heindl SOAP, nur ein neuer XML- Dialekt? Dr. Eduard Heindl,...

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?