- WS-Enumeration
-
WS-Enumeration (engl. enumeration ‚Aufzählung‘) ist eine vom W3C vorgeschlagene Spezifikationen aus der Gruppe der WS-* Spezifikationen. Seit April 2011 hat die 2006 eingereichte "Member Submission" (Mitglieder Vorschlage) den Status "Candidate Recommendation" (Spezifikationsvorschlag).
Das Ziel der Spezifikation ist es, die blockweise Übertragung größerer Datenmengen zu standardisieren. Hierbei geht es allerdings um jegliche Art von aufzählbaren Daten wie die Datenzeilen einer Datenbankabfrage oder die Elemente einer Queue. Dabei ist es nicht erforderlich, dass die gesamte Datenmenge sofort am Stück übertragen wird. Durch die blockweise Übertragung der Daten kann der Sender die Aufbereitung der nächsten Daten durchführen, während der Empfänger die zuletzt gesendeten Daten verarbeitet. Durch diese überschneidende Aufbereitung bzw. Verarbeitung der Daten kann eine höhere Geschwindigkeit erzielt werden, als wenn die Daten auf einmal übertragen würden.
Inhaltsverzeichnis
Funktionsweise
Eine Datenübertragung zwischen Datensenke (Empfänger) und Datenquelle läuft dabei typischerweise wie folgt ab:
- Die Datensenke stellt eine Anfrage an die Datenquelle (Enumerate).
- Die Datenquelle schickt eine Antwort zurück (EnumerateResponse). Diese enthält auch den sogenannten Aufzählungskontext (EnumerationContext).
- Basierend auf dem Aufzählungskontext schickt die Datensenke nun ein oder mehrere Anfragen (Pull) an die Quelle.
- Die Datenquelle antwortet auf jeden Pull-Anfrage mit einer PullResponse. Im Element Item sind dabei die eigentlichen Daten enthalten, deren Aufbau und Format anwendungsspezifisch ist. Ist in dieser PullResponse das Element EndofSequence enthalten, sind damit alle Daten übertragen und keine weiteren Pull-Anfragen zu dieser Aufzählung mehr nötig.
Es existieren weiterer Protokollelemente, beispielsweise für eine Statusabfrage und den vorzeitigen Abbruch der Datenübertragung.
Besonderheiten und Beschränkungen
WS-Enumeration legt nicht fest, ob der Aufzählungskontext (EnumerationContext) von der Datenquelle oder dem Empfänger gespeichert wird. Zudem ist es möglich, die Verantwortung für die Speicherung bei jeder Anfrage zu wechseln.
Weiterhin wird durch WS-Enumeration nicht festgelegt,
- ob die Daten vollständig zu übertragen sind,
- in welcher Reihenfolge die Daten übertragen werden und
- ob bei jeder Anfrage die gleichen Daten zurückgegeben werden.
Alle diese Punkte sind anwendungsspezifisch.
Einordnung im Kontext von WS-*
WS-Enumeration baut auf WS-Addressing auf, das Format der ausgetauschten Nachrichten (Messages) und die Definition der Endpoints entspricht dieser Spezifikation. Dadurch wird es auch möglich, dass die Daten über einen längeren Zeitraum hinweg übertragen werden. Aus Sicherheitsgründen wird des Weiteren die Nutzung von WS-Security (Verschlüsselung und Signierung) empfohlen. Um zusätzlich bestimmte Arten von Attacken zu vermeiden, legt die Spezifikation außerdem nahe, WS-SecureConversation und WS-SecurityPolicy zu nutzen. Dadurch wird dann auch WS-Policy für alle Teilnehmer verpflichtend.
Weblinks
- Web Services Enumeration (WS-Enumeration) (engl.) W3C Candidate Recommendation vom 28 April 2011
- Web Services Enumeration (WS-Enumeration)(engl.) W3C Member Submission vom 15 März 2006
Wikimedia Foundation.