View
218
Download
0
Category
Preview:
Citation preview
SOAP (Simple Object Access Protocol)
Universität zu KölnInstitut für Historisch-Kulturwissenschaftliche
Informationsverarbeitung WS 09/10
M.A. Susanne KurzHKI-Proseminar (Teil 1) Texte als Information
Referat von Feyza Fevziye ImrenDatum: 29.01.2010
Gliederung:
• Was ist SOAP?• Entwicklung• Funktionsweise von SOAP
Was ist SOAP?
• Netzwerkprotokoll• Ermöglicht Kommunikation zwischen
verteilten Netzwerksystemen• Remote Procedure Calls • Ziel: Unterstützung des
plattformunabhängigen Nachrichtenaustausch
• Stützt sich an XML und (z.B.) HTTP
Anwendungsbereiche
• Abwicklung von Suchanfragen durch SOAP (request-reponse; RPC)
• Wechselseitige, dialogorientierter Austausch von XML-Dokumenten
• Z.B. Authentifizierungen bei Bestellungen (Online-Shops), oder Elemente bei Suchanfragen in Suchmachinen
Entwicklung
• 1998: Dave Winer und Microsoft entwickeln den Vorgänger XML-RPC
• 1999: SOAP-Version 0.9, später 1.0• 2000: Unterstützung von IBM, Lotus & Sun• 2001: SOAP 1.1 Software bei W3C als ein
Standart• 2003: SOAP 1.2 wird anerkannt• Seit dem KEIN Akronym mehr
Funktionsweise von SOAP
Beispiel einer SOAP-Nachricht
Grundstruktur
„Envelope-Element“: Referenz durch Namensraum-Attribut auf: http://www.w3.org/2003/05/soap-envelope/
SOAP Header: optionaler Erweiterungsmechanismus (z.B. für Authentifikation oder Transaktionsverarbeitung)
SOAP Body: Pflichtelement (enthält eigentliche Dateninformationen)
SOAP Bespiel<?xml version='1.0' ?><env:Envelopexmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Header>….<env:Header><env:Body><wetter xmlns="http://www.soapwetter.de/wetter"><plz>57068</plz></wetter></env:Body></env:Envelope>
Die Übermittlung
Der Header (optional)
- hier: Authentifizierung anhand eines Benutzernamens und eines Passworts
-Wenn der Empfänger den Header nicht verarbeiten kann, wird er ignoriert. Es sei denn, das Attribut „mustUnderstand“ ist gesetzt.
Fluganfrage
Reservierung mit Header-Blöcken und einem Body
<?xml version='1.0' ?><env:Envelopexmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Header>
<m:reservationxmlns:m="http://travelcompany.example.org/reservation"env:role="http://www.w3.org/2003/05/soap-envelope/role/next"env:mustUnderstand="true"><m:reference>uuid:093a2da1-q345-739r-ba5d-pqff98fe8j7d</m:reference><m:dateAndTime>2001-11-29T13:20:00.000-05:00</m:dateAndTime></m:reservation><n:passengerxmlns:n="http://mycompany.example.com/employees"env:role="http://www.w3.org/2003/05/soap-envelope/role/next"env:mustUnderstand="true"><n:name>Åke Jógvan Øyvind</n:name></n:passenger>
</env:Header><env:Body><p:itinerary xmlns:p="http://travelcompany.example.org/reservation/travel"><p:departure><p:departing>New York</p:departing><p:arriving>Los Angeles</p:arriving><p:departureDate>2001-12-14</p:departureDate><p:departureTime>late afternoon</p:departureTime><p:seatPreference>aisle</p:seatPreference></p:departure><p:return><p:departing>Los Angeles</p:departing><p:arriving>New York</p:arriving><p:departureDate>2001-12-20</p:departureDate><p:departureTime>mid-morning</p:departureTime><p:seatPreference/></p:return></p:itinerary><q:lodgingxmlns:q="http://travelcompany.example.org/reservation/hotels"><q:preference>none</q:preference></q:lodging></env:Body>
</env:Envelope>
Antwort auf Fluganfrage
• wechselseitige (back-and forth) Konversation
• Dialogorietierter Austausch von XML-Dokumenten
<?xml version='1.0' ?><env:Envelopexmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Header><m:reservationxmlns:m="http://travelcompany.example.org/reservation"env:role="http://www.w3.org/2003/05/soap-envelope/role/next"env:mustUnderstand="true"><m:reference>uuid:093a2da1-q345-739r-ba5d-pqff98fe8j7d</m:reference><m:dateAndTime>2001-11-29T13:35:00.000-05:00</m:dateAndTime></m:reservation><n:passengerxmlns:n="http://mycompany.example.com/employees"env:role="http://www.w3.org/2003/05/soap-envelope/role/next"env:mustUnderstand="true"><n:name>Åke Jógvan Øyvind</n:name></n:passenger></env:Header><env:Body><p:itineraryClarificationxmlns:p="http://travelcompany.example.org/reservation/travel"><p:departure><p:departing><p:airportChoices>JFK LGA EWR</p:airportChoices></p:departing></p:departure><p:return><p:arriving><p:airportChoices>JFK LGA EWR</p:airportChoices></p:arriving></p:return></p:itineraryClarification></env:Body></env:Envelope>
Diese Antwort führt den Nachrichtenaustausch fort<?xml version='1.0' ?>
<env:Envelopexmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Header><m:reservationxmlns:m="http://travelcompany.example.org/reservation"env:role="http://www.w3.org/2003/05/soap-envelope/role/next"env:mustUnderstand="true"><m:reference>uuid:093a2da1-q345-739r-ba5d-pqff98fe8j7d</m:reference><m:dateAndTime>2001-11-29T13:36:50.000-05:00</m:dateAndTime></m:reservation><n:passengerxmlns:n="http://mycompany.example.com/employees"env:role="http://www.w3.org/2003/05/soap-envelope/role/next"env:mustUnderstand="true"><n:name>Åke Jógvan Øyvind</n:name></n:passenger></env:Header><env:Body><p:itineraryxmlns:p="http://travelcompany.example.org/reservation/travel"><p:departure><p:departing>LGA</p:departing></p:departure><p:return><p:arriving>EWR</p:arriving></p:return></p:itinerary></env:Body></env:Envelope>
Entfernte Prozeduraufrufe (RPC)
• Entfernte Methoden des Servers werden per Web Services aufgerufen
• ein struct wird modelliert, der den Namen der Prozedur oder Methode beinhaltet
• env:encodingStyle Attribut mit dem Wert http://www.w3.org/2003/05/soap-encoding (Um zu verdeutlichen, dass der Inhalt der Struktur gemäß den SOAP-Kodierungsregeln serialisiert worden ist)
Fehlerszenarien
• Das SOAP-Fault-Element ist ein Unterelement des Bodys
• Besteht aus Subelementen Code, Reason und den optionalen Elementen Node, Role und Detail
Quellen:• http://poseidon.home.tlink.de/w3c/REC-soap12-part0-
20030624-de_DE/#L1149• http://www.w3.org/TR/2003/REC-soap12-part1-
20030624/• http://www.w3.org/TR/2003/REC-soap12-part2-
20030624/• http://www.wi-ler.net/html/img/pool/papers/
php_soap.pdf?sid=6002d4db63ab7590f96e6d66978cf02c
• http://www.schoenberg-solutions.de/dl/SOAP_SEC_060810.pdf
SMIL
(Synchronized Multimedia Integration Language)
Was ist SMIL?
• XML basierend• Von W3C entwickelter Standard• Markup - Sprache für zeitsynchronisierte,
audiovisuelle und multimediale Inhalte• Als Dateierweiterung wird .smi oder .smil
verwendet• Aktuellste Version: SMIL 3.0
Ziele• Einheitliche 'Sprache' für interaktive Multimedia-• Präsentationen vor allem im Internet• Anzeigen von mehrere Dateien zur gleichen Zeit• Verfügt über Definition von Sequenz und Dauer
der einzelnen Elemente• Verfügt über Definition von Position und
Sichtbarkeit der Elemente• Anwendungsmöglichkeit mit SVG• Multimediaobjekte, die auf räumlich verteilten
Servern liegen, können zu einer einheitlichen Präsentation zusammengefasst werden
Eigenschaften
• Spezifikation des Layouts und Synchronisation• Ermöglicht die integrierte Darstellung und
Verlinkung unterschiedlicher Medien zu einer linearen oder interaktiven Multimedia-Präsentation – online wie offline.
• Anpassung an die Übertragungsbandbreite; Bildschirmauflösung und Farbtiefe
• Auswahl an Sprachversionen• Unterstützung von Hyperlinks
Grundstruktur<smil> <head> <meta name="copyright" content="Inhalt" /> <layout> <!—Layout-Elemente --> </layout> </head> <body> <!—Media- und Synchronisations-Elemente --></body> </smil>
Beispiel<smil><head><layout><root-layout id=“video” width="300" height="200"/><region id=“comment" left="25" top="50" width=“35" height=“29" /><region id=“bild" left=“135" top=“60" width=“43" height=“75" /><region id=“titel" left=“37" top=“115" width=“215" height="15" /></layout></head><body><seq><img src="bild.jpg" alt="Testbild" region= “video" dur=“5s”/><img src=“date.gif" region="video" begin="1.0s" end="3.0s"/> </seq></body></smil>
Eigenschaften• Unterstützt alle gängige standardisierten
Medienformate für Text, Grafik, Video, Sound:• img: JPEG, GIF, PNG, etc.• video: MPEG, AVI, MOV, etc.• audio: MP3, WAV, AU, etc.• animation: z.B SVG• text: TXT, ASCII, etc.• Ab 2.0 können die SMIL-Anweisungen in• andere Datei-Formate wie XHTML oder SVG• eingebettet werden
In welchen Player/Browserumgebungen können die SMIL-Applikationen abgespielt
werden?
• Ambulant 1.8 Open Source Player- als eigene Applikation- als FireFox PlugIn• RealPlayer – der beste Player für SMIL• Internet Explorer 6 (7 noch nicht, daran wird beiSMIL 3.0 gearbeitet)• QuickTime, jedoch nur SMIL 1.0!
Zeitliche Steuerung• Parallel• Sequentiell• Ereignisbasiert• In Abhängigkeit von…• Variable Zeit• Beispiel:
<body><img src="bild.jpg" alt="Bild" region= " video" dur="3s" begin="2s" /></body>…..
Synchronisationselemente
• - <seq>-Element – Sequenz für Nacheinanderabspielen• - <excl>-Element – einzelne Objekte ohne Reihenfolge• - <par>-Element – paralleles Abspielen der
Medienobjekte• Kombinationen von <par>, <seq> und <excl>• Wiederholungen
Ereignisbasierte Synchronisation mit Zeit als Ereignis
Ereignisbasierte Synchronisationmit Interaktions – Ereignissen
• - Nutzung des <excl>-Elements für zeitunabhängige• Präsentationen• - Als Ereignis kann z.B. ein Klick auf ein Objekt definiert
werden<body><excl><img src="bild1.jpg" id="bild1" region="bild" begin="0s;bild2.activateEvent" dur="indefinite" /><img src="bild2.jpg" id="bild2" region="bild"begin="bild1.activateEvent" dur="indefinite" /></excl></body>
Logische SynchronisationBeispiel: Wahl geeigneter Streams in Abh. von Bandbreite<par><text .../><switch><par system-bitrate="40000">...</par><par system-bitrate="24000">...</par><par system-bitrate="10000">........</par></switch></par>
Quellen
• http://www.w3.org/2000/xp/Group/ • http://www.xml.com/pub/a/2002/05/29/smil
.html• http://poseidon.home.tlink.de/w3c/REC-
soap12-part0-20030624-de_DE/#L1149• http://www.w3.org/TR/2003/REC-soap12-
part1-20030624/
Recommended