1 / 28

SOAP, nur ein neuer XML- Dialekt?

SOAP, nur ein neuer XML- Dialekt?. Dr. Eduard Heindl, Lehrbeauftragter an der FH-Geislingen. Inhalt. Schnittstellen zwischen Software SOAP Simple Object Access Protocol Beispieldateien Hintergrund Weitere Komponenten WDSL, UDDI Vor- und Nachteile Trend?. INTERNET. COM. Anwendung.

akiva
Download Presentation

SOAP, nur ein neuer XML- Dialekt?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. INTERNET COM Anwendung Anwendung Anwendung Anwendung RMI Anwendung DCOM CORBA SOAP WIN32 UNIX IT-Kommunikation Anwendung Dr. Eduard Heindl

  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 Dr. Eduard Heindl

  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 Dr. Eduard Heindl

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

  7. Aufbau SOAP Message • Format XML • Definition durch XML-Schema • SOAP Envelope • SOAP Header • SOAP Body Dr. Eduard Heindl

  8. SOAP Aufbau Transport-Umschlag (HTTP, SMTP, ...) SOAP- Dokument <SE:Envelope> <SE:Header>(optional) Delivery Information <SE:Body>(required) Nutzdaten (payload) <SE:Fault> (optional) Dr. Eduard Heindl

  9. müssen übereinstimmen Eine kleine Anfrage • 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> Dr. Eduard Heindl

  10. Und die Antwort HTTP/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> Dr. Eduard Heindl

  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-part2-20020621/ Dr. Eduard Heindl

  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 Dr. Eduard Heindl

  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 • xmlns:rein=´http://www.lux.de/sauber´ • Einsatz im Dokument ... rein:soap ... Dr. Eduard Heindl

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

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

  16. Discovery Agency WSDL UDDI SOAP WSDL SOAP UDDI SOAP Web Service Provider Ablauf einer Anfrage 2. suchen 1. publizieren stub stub stub stub 3. Nutzen Service Requestor Anwendung Anwendung stub stub Dr. Eduard Heindl

  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 Dr. Eduard Heindl

  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) Dr. Eduard Heindl

  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 Dr. Eduard Heindl

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

  21. 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" /> Dr. Eduard Heindl

  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 Dr. Eduard Heindl

  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 Dr. Eduard Heindl

  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) Dr. Eduard Heindl

  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 Dr. Eduard Heindl

  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 Dr. Eduard Heindl

  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/ Dr. Eduard Heindl

  28. Zukunft? Dr. Eduard Heindl

More Related