• Keine Ergebnisse gefunden

Wie wird WSDL Wie wird WSDL

N/A
N/A
Protected

Academic year: 2022

Aktie "Wie wird WSDL Wie wird WSDL "

Copied!
8
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

© Klaus Schild, 2004 1

SOAP und WSDL in der SOAP und WSDL in der

Praxis Praxis

© Klaus Schild, 2004 2

Lernziele Lernziele

; Prinzipielle Aufbau von WSDL-Beschreibungen

; Protokoll-Bindungen in WSDL

; Google-WSDL lesen können

; Vor- und Nachteile von WSDL

ƒ Wie wird WSDL verwendet?

ƒ Anforderungen der Praxis

ƒ Erweiterungen von SOAP/WSDL

heute heute

© Klaus Schild, 2004 3

Wie wird WSDL Wie wird WSDL

verwendet?

verwendet?

© Klaus Schild, 2004 4

Wie wird WSDL verwendet?

Wie wird WSDL verwendet?

..netnetund und ApacheApacheAxisAxis

ƒ Aus einer WSDL-Beschreibung wird automatischeine Schnittstelle zur Anwendung (Stubs) generiert.

ƒ Stubs abstrahieren von SOAP und vom konkreten Übertragungsprotokoll.

ƒ Web-Dienst erscheint als lokaleBibliothek.

ƒ umgekehrt kann auch aus Anwendungsprogramm automatisch eine WSDL-Beschreibung erzeugt werden

Wie wird WSDL verwendet?

Wie wird WSDL verwendet?

XML SpyXML Spy

ƒ aus WSDL-Beschreibung SOAP-Nachricht generieren

ƒ Parameter der SOAP-Anfrage anpassen

ƒ SOAP-Nachricht an Web-Dienst senden Îsehr gut geeignet zum schnellen testen

Web

Web- -Dienste: Die Vision Dienste: Die Vision

Beispiel:

ƒ personalisierte Informations-Webseite benötigt Echtzeitkurse von bestimmten Aktien einer bestimmten Börse

ƒ Informations-Webseite sucht entsprechenden Web- Dienst für Echtzeitkurse und ruft diesen automatisch auf.

dynamische Einbindung zur Laufzeit dynamische Einbindung

zur Laufzeit

(2)

© Klaus Schild, 2004 7

Dynamische Einbindung zur Laufzeit

1.Anwendung sucht in einem Verzeichnis einen Web- Dienst, z.B. für Echtzeitkurse von Aktien

2.Suchergebnis: WSDL-Beschreibung

3.Anwendung erzeugt aus WSDL-Beschreibung Stubs 4.Anwendung ruft Web-Dienst als lokale Bibliothek auf

Nachfrager Anbieter

öffentliches Verzeichnis

WSDL- Beschreibung WSDL-

Beschreibung

SOAP-Nachrichten

Dienst muss automatisch gefunden und aufgerufen werden.

Dienst muss automatisch gefunden und aufgerufen werden.

© Klaus Schild, 2004 8

Aufruf des Dienstes

ƒ gegeben: WSDL- Beschreibung

ƒ Um den Web-Dienst automatischabzurufen, muss er standardisiert sein:

ƒ WSDL beschreibt zwar die Syntaxder Schnittstelle, nicht aber die Bedeutung der Prozedur/Parameter.

ƒ Bedeutung muss außerhalb von WSDL festgelegt (standardisiert) sein

ƒ Beispiel: Float Aktienkurs(Integer WKN, String Boersenplatz) automatisch manuell

automatischmanuell

Dienst finden

Dienst abrufen Dienst:

Standard

Dienst:

kein Standard

© Klaus Schild, 2004 9

Dienst finden

automatisch manuell

automatischmanuell

Dienst finden

Dienst abrufen

ƒ gegeben: standardisierter Web-Dienst

ƒ gesucht: Anbieter des Web-Dienstes (seine WSDL-Beschreibung)

ƒ Um einen Anbieter automatischzu finden, muss der Dienst kostenlos und unkritisch sein.

ƒ andernfalls Rücksprache und Verhandlungen nötig

Dienst:

ƒStandard

ƒkostenlos

ƒunkritisch Dienst:

ƒStandard

ƒkostenpflichtig oder kritisch

Dienst:

kein Standard

© Klaus Schild, 2004 10

Die Realität

automatisch manuell

automatischmanuell

Dienst finden

Dienst abrufen Dienst:ƒStandard

ƒkostenlos

ƒunkritisch Dienst:

ƒStandard

ƒkostenpflichtig oder kritisch

Dienst:

kein Standard

ƒ standardisierte Informationsdienste (kostenlos und unkritisch)

ƒ standardisierte Informationsdienste (kostenpflichtig und/oder kritisch)

ƒ Google-Web-Dienst, E-Business

Schlussfolgerung

Einbindung eines Web-Dienstes

ƒ zur Laufzeit:

Vollautomatisches Einbinden prinzipiell mit WSDL möglich, wird aber die Ausnahme bleiben.

ƒ zur Entwicklungszeit:

kein vollautomatisches Einbinden, aber WSDL erleichtert das Einbinden ganz erheblich

Anforderungen der Anforderungen der

Praxis

Praxis

(3)

© Klaus Schild, 2004 13

Anforderung des Praxis Anforderung des Praxis

Zulieferer Unternehmen Bestellung

(SOAP-Nachricht)

ƒ Absender eindeutig identifizierbar?

ƒ Nachricht unversehrt?

ƒ Nachricht genau einmalübermittelt?

ƒ Antwort nach bestimmter Zeit garantiert?

ƒ Passt die Nachricht in den Geschäftsprozess (z.B. keine Bestellung ohne vorherige Bestellanfrage)?

© Klaus Schild, 2004 14

Realisierung mit SOAP Realisierung mit SOAP

ƒ keineder Anforderungen von SOAP direkt unterstützt

ƒ können aber mit Zusatzinformationen im Briefkopf der SOAP-Nachricht realisiert werden

ƒ Absender eindeutig identifizierbar?

ƒ Nachricht unversehrt?

ƒ Nachricht genau einmalübermittelt?

ƒ Antwort nach bestimmter Zeit garantiert?

ƒ Passt die Nachricht in den Geschäftsprozess?

© Klaus Schild, 2004 15

Zusatzinformationen im

Zusatzinformationen im SOAP SOAP- -Briefkopf Briefkopf

ƒ digitale Signatur

ÎIdentifikation des Absenders ÎUnversehrtheit der Nachricht

ƒ Anforderung einer Empfangsbestätigung ÎNachricht mindestens einmal zugestellt

ƒ eindeutige Nachrichtenreferenz ÎErkennung von Duplikaten

ƒ Verweis auf vorherige Nachrichten, z.B. Bestellanfrage ÎBerücksichtigung des Workflows

ƒAbsender eindeutig identifizierbar?

ƒNachricht unversehrt?

ƒNachricht genau einmalübermittelt?

ƒAntwort nach bestimmter Zeit garantiert?

ƒPasst die Nachricht in den Geschäftsprozess?

© Klaus Schild, 2004 16

So einfach ist es dann doch nicht…

So einfach ist es dann doch nicht…

Zulieferer Unternehmen Bestellung

(SOAP-Nachricht)

Problem der Interoperabilität (Zusammenarbeitsfähigkeit):

ƒ Zulieferer soll ersetzt werden.

ƒ Neuer Zulieferer bekommt WSDL-Beschreibung.

ƒ WSDL beschreibt zwar die Syntax der Schnittstelle, einschl. der Zusatzinformationen im Briefkopf.

ƒ Was die Bedeutungder Zusatzinformationen ist, muss zwischen Unternehmen und Zulieferer geklärt werden.

Beispiel Fax Beispiel Fax

Fax ist hingegen uneingeschränkt interoperabel:

ƒ Ein Faxgerät kann durch ein anderes ersetzt werden, ohnemit potentiellen Sendern Protokolle auszuhandeln:

wie z.B. der Eingang eines Fax bestätigt wird

ƒ Grund: es gibt einen allgemein akzeptierten internationalen Fax-Standard

Interoperabilität

Interoperabilität von Web- von Web -Diensten Diensten

ƒ SOAP/WSDL zwar akzeptierte internationale Standards.

ƒ SOAP ist ein Format, mit dem Web-Dienste Nachrichten austauschen.

ƒ WSDL beschreibt die Syntax der Schnittstelle eines Web-Dienstes.

ƒ Wie aber z.B. ein Sender authentifiziert werden kann, wird weder in SOAP noch WSDL festgelegt.

ÎEin Web-Dienst kannnicht ohne weiteres durch einen anderen ersetzt werden, selbst wenn beide die gleiche abstrakte Schnittstelle haben.

(4)

© Klaus Schild, 2004 19

Lösung: Erweiterungen von SOAP/WSDL Lösung: Erweiterungen von SOAP/WSDL

ƒ Sicherheit:

WS Security

ƒ Zuverlässigkeit

WS Reliable Messaging

ƒ qualitativen Aspekten (quality of service):

WS Policy

ƒ geschäftlicher Workflow:

BPEL

ƒ sehr gute Übersicht:

http://www-306.ibm.com/software/solutions/webservices/pdf/

SecureReliableTransactedWSAction.pdf

© Klaus Schild, 2004 20

Beispiel Beispiel

WS Reliable Messaging wird exemplarisch betrachtet WS Reliable Messaging wird exemplarisch betrachtet

© Klaus Schild, 2004 21

Zuverlässige Zuverlässige Kommunikation Kommunikation

© Klaus Schild, 2004 22

Beispiel Beispiel

Buchungsanfrage:

Buchungsanfrage:

ƒ Unternehmen ruft Buchungsprozedur eines Reiseunternehmens auf

ƒ Buchung nimmt häufig längere Zeit in Anspruch.

ƒ deshalb asynchronerAufruf der Buchungsprozedur

Asynchrone Buchungsprozedur Asynchrone Buchungsprozedur

ƒ Buchungsanforderung wird vom Client aufgerufen

ƒ Client wartet bis er vom Server Bestätigung der Annahme bekommen hat.

ƒ Server schickt später das endgültige Ergebnis der Buchungsanfrage

Client

Server Anfrage (request)

Anfrage akzeptiert (accept)

RPC-Aufruf RPC abgeschlossen

auf accept warten

Aufruf lokaler Prozedur

Ergebnis

Zuverlässige Buchungsanfrage Zuverlässige Buchungsanfrage

ƒ Anfrage (request): genau einmal zustellen

ƒ Annahme (accept): mindestens einmal zustellen

ƒ Ergebnis: genau einmal zustellen

ƒ Annahme immer vorErgebnis, ansonsten wird evtl. eine zweite Buchungsanfrage gestellt.

Client Server

Anfrage (request)

Anfrage akzeptiert (accept)

RPC-Aufruf RPC abgeschlossen

auf accept warten

Aufruf lokaler Prozedur

Ergebnis

ÎAnnahme und Ergebnis bilden eine Sequenz ÎAnnahme und Ergebnis bilden eine Sequenz

(5)

© Klaus Schild, 2004 25

WS WS Reliable Reliable Messaging Messaging

ƒ XML-Protokoll für zuverlässige Kommunikation

ƒ kann im Briefkopf von SOAP-Nachrichten oder in WSDL-Beschreibungen verwendet werden

ƒ gemeinsamer Vorschlag von BEA, IBM, Microsoft und TIBCO

ƒ von März 2003

ƒ noch kein etablierter Standard

Îhttp://www-106.ibm.com/developerworks/library/ws-rm/

© Klaus Schild, 2004 26

Beispiel Beispiel

ƒ Sequenz von drei Nachrichten

ƒ jede Nachricht genau einmal zustellen

ƒ Reihenfolge beachten

ƒ Empfang bestätigen

ƒ Sequenz von drei Nachrichten

ƒ jede Nachricht genau einmal zustellen

ƒ Reihenfolge beachten

ƒ Empfang bestätigen

© Klaus Schild, 2004 27

Beispiel Beispiel

© Klaus Schild, 2004 28

Sequenz von

Sequenz von SOAP SOAP- -Nachrichten Nachrichten senden senden

Erste

Erste SOAP SOAP- -Nachricht Nachricht

<S:Envelope xmlns:wsrm="http://schemas.xmlsoap.org/ws/2003/03/rm"

xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing">

<S:Header>

<wsa:MessageID>

http://Business456.com/guid/71e0654e-5ce8-477b-bb9d-34f05cfcbc9e

</wsa:MessageID>

<wsa:To>http://fabrikam123.com/serviceB/123</wsa:To>

<wsa:ReplyTo>

<wsa:Address>http://Business456.com/serviceA/789</wsa:Address>

</wsa:ReplyTo>

<wsrm:Sequence>

<wsu:Identifier>http://Business456.com/RM/ABC</wsu:Identifier>

<wsrm:MessageNumber>1</wsrm:MessageNumber>

</wsrm:Sequence>

</S:Header> …

<S:Envelope xmlns:wsrm="http://schemas.xmlsoap.org/ws/2003/03/rm"

xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing">

<S:Header>

<wsa:MessageID>

http://Business456.com/guid/71e0654e-5ce8-477b-bb9d-34f05cfcbc9e

</wsa:MessageID>

<wsa:To>http://fabrikam123.com/serviceB/123</wsa:To>

<wsa:ReplyTo>

<wsa:Address>http://Business456.com/serviceA/789</wsa:Address>

</wsa:ReplyTo>

<wsrm:Sequence>

<wsu:Identifier>http://Business456.com/RM/ABC</wsu:Identifier>

<wsrm:MessageNumber>1</wsrm:MessageNumber>

</wsrm:Sequence>

</S:Header> …

ƒ WS RM benutzt WS Addressing

ƒ Nachricht hat eindeutige Referenz(MessageID)

ƒ WS RM benutzt WS Addressing

ƒ Nachricht hat eindeutige Referenz(MessageID)

Erste

Erste SOAP SOAP- -Nachricht Nachricht

<S:Envelope xmlns:wsrm="http://schemas.xmlsoap.org/ws/2003/03/rm"

xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing">

<S:Header>

<wsa:MessageID>

http://Business456.com/guid/71e0654e-5ce8-477b-bb9d-34f05cfcbc9e

</wsa:MessageID>

<wsa:To>http://fabrikam123.com/serviceB/123</wsa:To>

<wsa:ReplyTo>

<wsa:Address>http://Business456.com/serviceA/789</wsa:Address>

</wsa:ReplyTo>

<wsrm:Sequence>

<wsu:Identifier>http://Business456.com/RM/ABC</wsu:Identifier>

<wsrm:MessageNumber>1</wsrm:MessageNumber>

</wsrm:Sequence>

</S:Header> …

<S:Envelope xmlns:wsrm="http://schemas.xmlsoap.org/ws/2003/03/rm"

xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing">

<S:Header>

<wsa:MessageID>

http://Business456.com/guid/71e0654e-5ce8-477b-bb9d-34f05cfcbc9e

</wsa:MessageID>

<wsa:To>http://fabrikam123.com/serviceB/123</wsa:To>

<wsa:ReplyTo>

<wsa:Address>http://Business456.com/serviceA/789</wsa:Address>

</wsa:ReplyTo>

<wsrm:Sequence>

<wsu:Identifier>http://Business456.com/RM/ABC</wsu:Identifier>

<wsrm:MessageNumber>1</wsrm:MessageNumber>

</wsrm:Sequence>

</S:Header> …

ƒ WS RM benutzt WS Utilities

ƒ Sequenz hat eindeutige Referenz(Identifier)

ƒ erste Nachricht der Sequenz(MessageNumber)

ƒ WS RM benutzt WS Utilities

ƒ Sequenz hat eindeutige Referenz(Identifier)

ƒ erste Nachricht der Sequenz(MessageNumber)

(6)

© Klaus Schild, 2004 31

Zweite

Zweite SOAP SOAP- -Nachricht Nachricht

<S:Envelope …>

<S:Header>

<wsa:MessageID>

http://Business456.com/guid/daa7d0b2-c8e0-476e-a9a4-d164154e38de

</wsa:MessageID>

<wsa:To>http://fabrikam123.com/serviceB/123</wsa:To>

<wsa:ReplyTo>

<wsa:Address>http://Business456.com/serviceA/789</wsa:Address>

</wsa:ReplyTo>

<wsrm:Sequence>

<wsu:Identifier>http://Business456.com/RM/ABC</wsu:Identifier>

<wsrm:MessageNumber>2</wsrm:MessageNumber>

</wsrm:Sequence>

</S:Header> ...

<S:Envelope …>

<S:Header>

<wsa:MessageID>

http://Business456.com/guid/daa7d0b2-c8e0-476e-a9a4-d164154e38de

</wsa:MessageID>

<wsa:To>http://fabrikam123.com/serviceB/123</wsa:To>

<wsa:ReplyTo>

<wsa:Address>http://Business456.com/serviceA/789</wsa:Address>

</wsa:ReplyTo>

<wsrm:Sequence>

<wsu:Identifier>http://Business456.com/RM/ABC</wsu:Identifier>

<wsrm:MessageNumber>2</wsrm:MessageNumber>

</wsrm:Sequence>

</S:Header> ... ƒ neue Nachrichten-Referenz

ƒ alte Sequenz-Referenz

ƒ neue Nachrichten-Referenz

ƒ alte Sequenz-Referenz

© Klaus Schild, 2004 32

Dritte und letzte

Dritte und letzte SOAP SOAP- -Nachricht Nachricht

<S:Envelope …>

<S:Header>

<wsa:MessageID>

http://Business456.com/guid/0baaf88d-483b-4ecf-a6d8-a7c2eb546817

</wsa:MessageID>

<wsa:To>http://fabrikam123.com/serviceB/123</wsa:To>

<wsa:ReplyTo>

<wsa:Address>http://Business456.com/serviceA/789</wsa:Address>

</wsa:ReplyTo>

<wsrm:Sequence>

<wsu:Identifier>http://Business456.com/RM/ABC</wsu:Identifier>

<wsrm:MessageNumber>3</wsrm:MessageNumber>

<wsrm:LastMessage/>

</wsrm:Sequence>

</S:Header> …

<S:Envelope …>

<S:Header>

<wsa:MessageID>

http://Business456.com/guid/0baaf88d-483b-4ecf-a6d8-a7c2eb546817

</wsa:MessageID>

<wsa:To>http://fabrikam123.com/serviceB/123</wsa:To>

<wsa:ReplyTo>

<wsa:Address>http://Business456.com/serviceA/789</wsa:Address>

</wsa:ReplyTo>

<wsrm:Sequence>

<wsu:Identifier>http://Business456.com/RM/ABC</wsu:Identifier>

<wsrm:MessageNumber>3</wsrm:MessageNumber>

<wsrm:LastMessage/>

</wsrm:Sequence>

</S:Header> …

ƒ neue Nachrichten-Referenz

ƒ alte Sequenz-Referenz

ƒ neue Nachrichten-Referenz

ƒ alte Sequenz-Referenz

© Klaus Schild, 2004 33

Bestätigung Bestätigung

© Klaus Schild, 2004 34

Bestätigung Bestätigung

<S:Envelope …>

<S:Header>

<wsa:MessageID>

http://fabrikam123.com/guid/0baaf88d-483b-4ecf-a6d8-a7c2eb546817

</wsa:MessageID>

<wsa:To>http://Business456.com/serviceA/789</wsa:To>

<wsa:ReplyTo>

<wsa:Address>http://fabrikam123.com/serviceB/123</wsa:Address>

</wsa:ReplyTo>

<wsrm:SequenceAcknowledgment>

<wsu:Identifier>http://Business456.com/RM/ABC</wsu:Identifier>

<wsrm:AcknowledgmentRangeUpper="1" Lower="1"/>

<wsrm:AcknowledgmentRangeUpper="3" Lower="3"/>

</wsrm:SequenceAcknowledgment>

</S:Header> …

<S:Envelope …>

<S:Header>

<wsa:MessageID>

http://fabrikam123.com/guid/0baaf88d-483b-4ecf-a6d8-a7c2eb546817

</wsa:MessageID>

<wsa:To>http://Business456.com/serviceA/789</wsa:To>

<wsa:ReplyTo>

<wsa:Address>http://fabrikam123.com/serviceB/123</wsa:Address>

</wsa:ReplyTo>

<wsrm:SequenceAcknowledgment>

<wsu:Identifier>http://Business456.com/RM/ABC</wsu:Identifier>

<wsrm:AcknowledgmentRangeUpper="1" Lower="1"/>

<wsrm:AcknowledgmentRangeUpper="3" Lower="3"/>

</wsrm:SequenceAcknowledgment>

</S:Header> …ƒƒ erste und dritte Nachricht angekommenerste und dritte Nachricht angekommen

Zweite Nachricht nochmals senden

Zweite Nachricht nochmals senden Zweite Nachricht nochmals senden Zweite Nachricht nochmals senden

<S:Envelope …>

<S:Header>

<wsa:MessageID>

http://Business456.com/guid/0baaf88d-483b-4ecf-a6d8-a7c2eb546817

</wsa:MessageID>

<wsrm:Sequence>

<wsu:Identifier>http://Business456.com/RM/ABC</wsu:Identifier>

<wsrm:MessageNumber>2</wsrm:MessageNumber>

</wsrm:Sequence>

<wsrm:AckRequested>

<wsu:Identifier>http://Business456.com/RM/ABC</wsu:Identifier>

</wsrm:AckRequested>

</S:Header> …

<S:Envelope …>

<S:Header>

<wsa:MessageID>

http://Business456.com/guid/0baaf88d-483b-4ecf-a6d8-a7c2eb546817

</wsa:MessageID>

<wsrm:Sequence>

<wsu:Identifier>http://Business456.com/RM/ABC</wsu:Identifier>

<wsrm:MessageNumber>2</wsrm:MessageNumber>

</wsrm:Sequence>

<wsrm:AckRequested>

<wsu:Identifier>http://Business456.com/RM/ABC</wsu:Identifier>

</wsrm:AckRequested>

</S:Header> … ƒ zweite Nachricht der Sequenz

ƒ Bestätigung vom Empfänger verlangt

ƒ zweite Nachricht der Sequenz

ƒ Bestätigung vom Empfänger verlangt

(7)

© Klaus Schild, 2004 37

Endgültige Bestätigung Endgültige Bestätigung

© Klaus Schild, 2004 38

Endgültige Bestätigung Endgültige Bestätigung

<S:Envelope …>

<S:Header>

<wsa:MessageID>

http://fabrikam123.com/guid/0baaf88d-483b-4ecf-a6d8-a7c2eb546817

</wsa:MessageID>

<wsa:To>http://Business456.com/serviceA/789</wsa:To>

<wsa:ReplyTo>

<wsa:Address>http://fabrikam123.com/serviceB/123</wsa:Address>

</wsa:ReplyTo>

<wsrm:SequenceAcknowledgment>

<wsu:Identifier>http://Business456.com/RM/ABC</wsu:Identifier>

<wsrm:AcknowledgmentRangeUpper="3" Lower="1"/>

</wsrm:SequenceAcknowledgment>

</S:Header> …

<S:Envelope …>

<S:Header>

<wsa:MessageID>

http://fabrikam123.com/guid/0baaf88d-483b-4ecf-a6d8-a7c2eb546817

</wsa:MessageID>

<wsa:To>http://Business456.com/serviceA/789</wsa:To>

<wsa:ReplyTo>

<wsa:Address>http://fabrikam123.com/serviceB/123</wsa:Address>

</wsa:ReplyTo>

<wsrm:SequenceAcknowledgment>

<wsu:Identifier>http://Business456.com/RM/ABC</wsu:Identifier>

<wsrm:AcknowledgmentRangeUpper="3" Lower="1"/>

</wsrm:SequenceAcknowledgment>

</S:Header> … ƒƒ Sequenz vollständig empfangenSequenz vollständig empfangen

© Klaus Schild, 2004 39

Was gibt es noch?

Was gibt es noch?

ƒ wsu:Expires: Verfallsdatum und -zeit

ƒ wsrm:SequenceFault: Fehlermeldung bzgl. Sequenzen, wie z.B. wsrm:SequenceTerminatedoder

wsrm:InvalidAcknowledgement

ƒ wsrm:DeliveryAssurance: verlangte Zuverlässigkeit, z.B.

AtLeastOnceoder InOrder

ƒ wsrm:InactivityTimeout: wie lange ein Empfänger höchstens auf die nächste Nachricht warten muss

© Klaus Schild, 2004 40

Integration in SOAP oder WSDL?

Integration in SOAP oder WSDL?

ƒ WS-RM-Elemente können im Briefkopf einer SOAP- Nachricht erscheinen.

ƒ Elemente wie z.B.

<wsrm:DeliveryAssurance Value="wsrm:AtLeastOnce"/>

machen in SOAP-Nachrichten allerdings keinen Sinn.

ƒ Solche Elemente werden in einer WSDL-Beschreibung integriert.

Zweistufige Integration in WSDL Zweistufige Integration in WSDL

1. WS-RM-Elemente werden als Kommunikationsregeln (policy) formuliert – und zwar mit Hilfe von WS Policy.

2. Diese Kommunikationsregeln werden dann in WSDL integriert.

ƒ Gleiches Vorgehen auch bei anderen Erweiterungen:

WSDL WS Policy

WS RM WS Security WS Addressing

Beispiel Beispiel

<wsdl:definitions name="PurchaseOrder" …>

<wsdl:message name="OrderRequest">

<wsp:Policy>

<wsrm:DeliveryAssurance Value="wsrm:ExactlyOnce"

wsp:Usage="wsp:Required"/>

</wsp:Policy>

</wsdl:message>

<wsdl:message name="OrderAccept">

</wsdl:message>

</wsdl:definitions>

<wsdl:definitions name="PurchaseOrder" …>

<wsdl:message name="OrderRequest">

<wsp:Policy>

<wsrm:DeliveryAssurance Value="wsrm:ExactlyOnce"

wsp:Usage="wsp:Required"/>

</wsp:Policy>

</wsdl:message>

<wsdl:message name="OrderAccept">

</wsdl:message>

</wsdl:definitions>

ƒ hier wsp:Policyals Erweiterungselement

ƒ tatsächlich erlaubt aber WSDL für messageund portTypekeineErweiterungselemente

ƒ daher etwas andere Kodierung mit Attributen

ƒ hier wsp:Policyals Erweiterungselement

ƒ tatsächlich erlaubt aber WSDL für messageund portTypekeineErweiterungselemente

ƒ daher etwas andere Kodierung mit Attributen

(8)

© Klaus Schild, 2004 43

Bewertung der Bewertung der Erweiterungen Erweiterungen

© Klaus Schild, 2004 44

Bewertung der Erweiterungen Bewertung der Erweiterungen

+ einzelne Erweiterungen unabhängig voneinander + meist gemeinsame Vorschläge von Microsoft und IBM - nochkeineetablierten Standards

- WS Policy Grammatik zur Festlegung von qualitativen Aspekten, einzelne qualitative Aspekte müssen noch standardisiert werden

Keine prinzipiellen Hürden, jedoch noch ein langer Standardisierungsweg zu gehen!Keine prinzipiellen Hürden, jedoch noch ein langer Standardisierungsweg zu gehen!

© Klaus Schild, 2004 45

Lernziele Lernziele

; Wie wird WSDL verwendet?

; Anforderungen der Praxis

; Erweiterungen von SOAP/WSDL

ƒ Kurze Wiederholung von Themen, die bei Rücksprachen Probleme bereiteten.

ƒ Diskussionswürdiges

nächste Woche nächste

Woche

Referenzen

ÄHNLICHE DOKUMENTE

Fügen Sie ein zusätzlich zur vorhandenen Bindung (SOAP/HTTP-POST) eine HTTP- GET-Bindung hinzu, wie sie von ECS auch angeboten wird, die also XML und nicht SOAP zurückliefert.

§ Enthält zusätzlich Tools für Bearbeitung von WSDL und das Deployment von Web Services.

ƒ Ports eines Service sollen semantisch äquivalente Alternativen einer abstrakten Schnittstelle sein..

&lt;http:address location=&#34;http http:// ://webservices.amazon.com webservices.amazon.com/ /onca

ƒ Konkrete Schnittstelle (binding) bildet abstrakte Syntax auf bestimmte Protokolle und Nachrichtenformate ab. ƒ Dennoch kann abstrakte Nachricht einer konkreten

Sequenz von SOAP SOAP- -Nachrichten Nachrichten senden senden Erste SOAP Erste SOAP- -Nachricht Nachricht.

Wie abstrakt eine abstrakte Syntax ist, zeigt also erst die konkrete Schnittstelle (binding). Wie abstrakt eine abstrakte Syntax ist, zeigt also erst die konkrete

ƒ Aber: Zum ersten mal in der Geschichte haben sich alle großen IT- Unternehmen auf einen Standard geeinigt: XML, SOAP und WSDL XML 2004.