Data Distribution Service
Der Data Distribution Service (DDS) ist ein Standard, der von der Object Management Group spezifiziert wurde.
Überblick
Er stellt eine Middleware zur datenzentrierten Kommunikation in hochdynamischen Verteilten Systemen dar. Zugrunde liegt ein Publisher-Subscriber Konzept, das deterministische Ressourcenverwaltung unterstützt.
Die Spezifikation unterteilt sich in zwei Bereiche:
- Data-Centric Publish-Subscribe (DCPS) beschreibt die grundlegenden Konzepte zur Datenverteilung
- Data Local Reconstruction Layer (DLRL) stellt eine Abstraktionsschicht für Anwendungen auf Basis von DCPS zur Verfügung
Konzepte
Die DDS Spezifikation enthält folgende Kernkonzepte:
- Ein Topic ist ein anwendungsspezifischer Datentyp (bspw. in IDL definiert), der festlegt welche Art von Informationen ein DDS Paket enthält.
- Eine Domain dient zur logischen Gliederung und enthält eine Menge von Topics.
- Ein Publisher ist ein Teilnehmer im DDS System der Daten (Topics) zur Verfügung stellt.
- Ein Subscriber ist ein Teilnehmer im DDS System, der Empfänger für bestimmte Daten (Topics) ist.
Mithilfe von Quality of Service Parametern kann ein Subscriber seine Anforderungen an die Qualität der Datenübertragung deklarativ festlegen. Außerdem kann er Filter anlegen, um z.B. nur Daten in einem bestimmten Wertebereich des Topics zu empfangen.
Je nach Implementierung finden sich die Komponenten (Publisher und Subscriber) selbst (z.B. RTI) oder mittels eines zentralen Servers (z.B. Interface Repository beim TAO). Der Vorgang des gegenseitigen Auffindens wird Discovery geannant. Das Discovery ohne zentralen Server wird zum Beispiel via Multicast realisiert.
Implementierungen
Es existieren mehrere Implementierungen am Markt (kein Anspruch auf Vollständigkeit):
- OpenDDS
- DDS for TAO
- OpenSplice
- RTI Data Distribution Service (vormals NDDS, kommerzielle Implementierung des DDS-Standards)