View
107
Download
0
Category
Preview:
Citation preview
10. Dezember 2002 Dr. 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?
10. Dezember 2002 Dr. Eduard Heindl
INTERNET
WIN32
IT-Kommunikation
Anwendung
Anwendung
Anwendung
DCOM
COM
Anwendung
Anwendung
Anwendung
CORBA
UNIX
RMI
SOAP
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
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
10. Dezember 2002 Dr. Eduard Heindl
Eigenschaften von SOAP
Programmiersprachen-UnabhängigkeitLesbarer Text (human readable)Datentypen (jenseits des Strings)
10. Dezember 2002 Dr. Eduard Heindl
Aufbau SOAP Message
Format XMLDefinition durch XML-SchemaSOAP Envelope SOAP Header SOAP Body
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)
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
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>
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/
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
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 ...
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
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
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
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
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)
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
10. Dezember 2002 Dr. Eduard Heindl
WDSL InhalteService Interface Datei Datentypen Message Typen Operationen Port-Typen Bindings
Server Implementations Datei Port Service
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" />
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
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
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)
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
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
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/
10. Dezember 2002 Dr. Eduard Heindl
Zukunft?
Recommended