SOAP, nur ein neuer XML- Dialekt? - PowerPoint PPT Presentation

About This Presentation
Title:

SOAP, nur ein neuer XML- Dialekt?

Description:

SOAP, nur ein neuer XML- Dialekt? Dr. Eduard Heindl, Lehrbeauftragter an der FH-Geislingen Inhalt Schnittstellen zwischen Software SOAP Simple Object Access Protocol ... – PowerPoint PPT presentation

Number of Views:69
Avg rating:3.0/5.0
Slides: 29
Provided by: Eduar51
Category:
Tags: soap | xml | dialekt | ein | java | neuer | nur

less

Transcript and Presenter's Notes

Title: SOAP, nur ein neuer XML- Dialekt?


1
SOAP, nur ein neuer XML- Dialekt?
  • Dr. Eduard Heindl,
  • Lehrbeauftragter an der FH-Geislingen

2
Inhalt
  • Schnittstellen zwischen Software
  • SOAP Simple Object Access Protocol
  • Beispieldateien
  • Hintergrund
  • Weitere Komponenten WDSL, UDDI
  • Vor- und Nachteile
  • Trend?

3
IT-Kommunikation
Anwendung
4
Probleme bisheriger Lösungen
  • Herstellerabhängig (RMI, COM, DCOM)
  • Geringe Verbreitung (Corba)
  • Binäre Formate
  • Nicht XML-konform
  • Port der Anwendung oft geschlossen, keine feste
    Portnummer

5
SOAP Simple Object Access Protocol
  • Was ist SOAP?
  • SOAP XML HTTP Anwendungen
  • Kommunikationslösung
  • W3C Standard
  • Minimalistische Lösung
  • Teil des Web Service Konzepts
  • Nicht objektorientiert

6
Eigenschaften von SOAP
  • Programmiersprachen-Unabhängigkeit
  • Lesbarer Text (human readable)
  • Datentypen (jenseits des Strings)

7
Aufbau SOAP Message
  • Format XML
  • Definition durch XML-Schema
  • SOAP Envelope
  • SOAP Header
  • SOAP Body

8
SOAP Aufbau
Transport-Umschlag (HTTP, SMTP, ...)
SOAP- Dokument ltSEEnvelopegt
ltSEHeadergt(optional) Delivery Information
ltSEBodygt(required)
Nutzdaten (payload)
ltSEFaultgt (optional)
9
Eine kleine Anfrage
POST /Sample HTTP/1.1Host www.sampleserver.comC
ontent-Type text/xml charset"utf-8Content-Len
gth 234SOAPAction "GetLastTradePrice" ltSEEnvel
opexmlnsSEhttp//schemas.xmlsoap.org/soap/envel
ope/SEencodingStyle"http//schemas.xmlsoap.org/
soap/encoding/"/gt ltSEBodygt ltmGetLastTradePric
e xmlnsm"Some-URI"gt ltsymbolgtDEFlt/symbolgt
lt/mGetLastTradePricegt lt/SEBodygtlt/SEEnvelopegt
10
Und die Antwort
HTTP/1.1 200 OKContent-Type text/xml
charset"utf-8Content-Length
178 ltSOAP-ENVEnvelope xmlnsSOAP-ENVhttp//schem
as.xmlsoap.org/soap/envelope/ SOAP-ENVencodingSty
le"http//schemas.xmlsoap.org/soap/encoding/"/gtlt
SOAP-ENVBodygtltmGetLastTradePriceResponse
xmlnsm"Some-URI"gtltPricegt34.5lt/Pricegtlt/mGetLas
tTradePriceResponsegtlt/SOAP-ENVBodygtlt/SOAP-ENVE
nvelopegt
11
Schema für SOAP
  • Der SOAP XML-Dateiaufbau wird durch ein Schema
    beschrieben
  • Aktuelle Version 1.2
  • Original http//www.w3.org/TR/2002/WD-soap12-part
    2-20020621/

12
Hintergrund XML-Schema
  • Schema beschreibt die Struktur eines
    XML-Dokuments
  • Schema löst die bisherige Form DTD ab
  • Schema wird in XML-Syntax geschrieben
  • Schema kennt
  • Datentypen
  • Datenstrukturen

13
Hintergrund Namespace
  • Problem Weltweiter Funktionsaufruf führt zu
    Namenskollisionen für Bezeichner SOAP (Seife),
    SOAP (Seifenoper), SOAP (Web), ...
  • Ziel Namen von Bezeichnern weltweit eindeutig
  • Lösung Dem Bezeichner wird eine URI
    vorangestellt, deren Abkürzung im Dokument
    vereinbart wird
  • xmlnsreinhttp//www.lux.de/sauber
  • Einsatz im Dokument ... reinsoap ...

14
Sicherheitsaspekte
  • SOAP kann sichere Transportprotokolle nutzen
  • Secure HTTP (HTTPS)
  • Secure MIME (S/MIME)
  • Security im ltheadergt vereinbaren
  • Nutzung von LDAP, X.509 für Authentifikation

15
Web Services
  • Schnittstelle des Service beschreiben
  • Service zentral hinterlegen
  • Service suchen
  • Service in die Software implementieren
  • Service zur Laufzeit aufrufen

16
Ablauf einer Anfrage
2. suchen
1. publizieren
stub
stub
stub
stub
3. Nutzen
Service Requestor
Anwendung
Anwendung
stub
stub
17
Universal Description Discovery and Integration -
UDDI
  • Globaler Verzeichnisdienst
  • Eintragen der eigenen Web Services
  • Suchen nach Web Services
  • Dynamische Anfrage vor Serviceaufruf
  • Öffentliche UDDI-Server bei HP, IBM, Microsoft,
    SAP

18
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)

19
Web Service Description Language - WSDL
  • Beschreibungssprache für Web Services
  • Vergleichbar mit IDL (Interface Description
    Language) bei Corba
  • Spezifiziert einen Web Service
  • C oder Java Kommunikationsteil kann daraus
    abgeleitet werden, z.B mit WSDL2JAVA in Apache
    Axis

20
WDSL Inhalte
  • Service Interface Datei
  • Datentypen
  • Message Typen
  • Operationen
  • Port-Typen
  • Bindings
  • Server Implementations
  • Datei
  • Port
  • Service

21
WSDL - Beispiel
lt?xml version"1.0" encoding"utf-8"?gtltdefinition
s .. gtlttypesgtltsschema elementFormDefault"qual
ified" targetNamespace./"gtltselement
name"Echo"gt ltscomplexTypegt ltssequencegt
ltselement minOccurs"0" maxOccurs"1"
name"echoString" type"sstring"gt
lt/ssequencegt lt/scomplexTypegtlt/selementgtltsel
ement name"EchoResponse"gtltselement
name"string" nillable"true" type"sstring" /gt
22
Web Service Flow Language (WSFL)
  • Ablaufbeschreibung für Web Services
  • Verknüpfung mehrerer Services
  • Model von IBM (vergleichbar XLANG von Microsoft)
    inzwischen als Vorschlag bei W3C eingereicht

23
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

24
Vorteile von SOAP
  • Unterstützt durch größte Softwarehersteller
  • Einfachere Kombination verschiedener Dienste
  • Kosten für die Integrations-Middleware sinkt
  • Erste Anwendungen bereits online verfügbar
  • Programmiersprachen-Unabhängigkeit
  • Lesbarer Text (human readable)
  • Datentypen (jenseits des Strings)

25
Probleme bei Web Services
  • HTTP bei vielen Firewalls offen
  • Zuverlässigkeit der Services
  • Vielzahl von Serviceschnittstellen
  • Performance bei der Prozessverteilung
  • Haftung für Leistungen

26
SOAP nur ein neuer XML Dialekt?
  • SOAP ist mehr
  • SOAP ist Web Services
  • SOAP ist das für Software, was HTML für den
    Internetnutzer ist
  • SOAP könnte das Betriebssystem des Internets
    werden

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

28
Zukunft?
Write a Comment
User Comments (0)
About PowerShow.com