Data Distribution Service
# Data Distribution Service

Der Data Distribution Service (DDS) ist ein Standard, der von der Object Management Group spezifiziert wurde.

## Überblick

DDS 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 zum Beispiel nur Daten in einem bestimmten Wertebereich des Topics zu empfangen.
Je nach Implementierung finden sich die Komponenten (Publisher und Subscriber) selbst (zum Beispiel RTI) oder mittels eines zentralen Servers (zum Beispiel Interface Repository beim TAO). Der Vorgang des gegenseitigen Auffindens wird Discovery genannt. Das Discovery ohne zentralen Server wird zum Beispiel via Multicast realisiert.