WS-Enumeration

WS-Enumeration (englisch enumeration ‚Aufzählung‘) ist ein im Jahr 2006 vorgelegter Vorschlag aus der Gruppe der WS-*-Spezifikationen. Seit April 2011 hat diese "Member Submission" (Vorschläge von Mitgliedern) den Status "Candidate Recommendation" (möglicher künftiger Standard). Die WS-*-Spezifikationen sind industrielle Standards des World Wide Web Consortium (W3C).

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.

Funktionsweise

Eine Datenübertragung zwischen Datensenke (Empfänger) und Datenquelle läuft dabei typischerweise wie folgt ab:

  1. Die Datensenke stellt eine Anfrage an die Datenquelle (Enumerate).
  2. Die Datenquelle schickt eine Antwort zurück (EnumerateResponse). Diese enthält auch den sogenannten Aufzählungskontext (EnumerationContext).
  3. Basierend auf dem Aufzählungskontext schickt die Datensenke nun ein oder mehrere Anfragen (Pull) an die Quelle.
  4. 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.

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.