OpenDDS ist eine Open-Source-C++-Implementierung der Spezifikation „Data Distribution Service for Real-time Systems“ (DDS) der Object Management Group sowie einiger anderer verwandter Spezifikationen. Diese Standards definieren eine Reihe von Schnittstellen und Protokollen für die Entwicklung verteilter Anwendungen basierend auf den Publish-Subscribe- und verteilten Cache-Modellen. Obwohl OpenDDS selbst in C++ entwickelt wurde, werden Java-Bindungen bereitgestellt, damit Java-Anwendungen OpenDDS verwenden können. OpenDDS bietet außerdem Unterstützung für die DDS-Sicherheits- und XTypes-Spezifikationen.
OpenDDS basiert auf der ACE-Abstraktionsschicht, um Plattformportabilität zu gewährleisten. OpenDDS nutzt auch die Funktionen von TAO für die IDL-Kompilierung und das OpenDDS DCPS Information Repository.
Die primäre Entwicklung von OpenDDS wurde von Object Computing, Incorporated in St. Louis und Phoenix durchgeführt. Es wird unter großzügigen Lizenzbedingungen veröffentlicht, die denen von ACE, TAO und MPC ähneln. Einzelheiten finden Sie in der LICENSE
Datei.
Inhaltsverzeichnis:
Das OpenDDS-Entwicklerhandbuch ist unter https://opendds.readthedocs.io/en/latest-release verfügbar.
Für Entwickler, die zu OpenDDS beitragen möchten, lesen Sie bitte die Entwicklungsrichtlinien.
Weitere Dokumentation finden Sie im Verzeichnis docs
.
Für kommerziellen Support besuchen Sie bitte https://opendds.org/support.html.
Fragen zu OpenDDS sollten an GitHub Discussions gerichtet werden.
Wenn Sie einen Fehlerbericht einreichen möchten:
tests/DCPS/MyExample
( MyExample
ist ein Platzhalter.)run_test.pl
hinzu. Dokumentieren Sie unbedingt die Optionen. Inspiration finden Sie tests/DCPS/HelloWorld/run_test.pl
.README.rst
Datei hinzu, die einen allgemeinen Überblick über das Beispiel und das darin dargestellte Problem bietet. Es sollte möglich sein, das Beispiel mit run_test.pl
zu erstellen und auszuführen, wie in den Schnellstarts für Windows und Linux. Wenn das Problem im Beispiel liegt, können Benutzer über die Pull-Request-Schnittstelle von GitHub diskutieren, kommentieren und Änderungen vorschlagen, damit das Beispiel funktioniert. Wenn das Problem in OpenDDS liegt, handelt es sich bei dem Beispiel um einen neuen Testfall.
Diese Version von OpenDDS basiert auf der DDS-Spezifikation formal/2015-04-10 (Version 1.4). Es verfügt über die folgenden Transportprotokolle:
RTPS-Funktionen (Interoperabilität) basieren auf der DDS-RTPS-Spezifikation formal/2019-04-03 (Version 2.3). Weitere Informationen zu RTPS finden Sie im OpenDDS-Entwicklerhandbuch und in der Datei docs/design/RTPS.
Informationen zur OpenDDS-Konformität mit der DDS-Spezifikation finden Sie im Entwicklerhandbuch. Wenn Sie eine Funktion beisteuern oder die Entwickler sponsern möchten, um eine Funktion hinzuzufügen, finden Sie die Kontaktinformationen im Abschnitt „Support“ oben.
Dies sind nur die erforderlichen Abhängigkeiten. Eine vollständige detaillierte Liste der Abhängigkeiten, einschließlich optionaler Abhängigkeiten, finden Sie unter https://opendds.readthedocs.io/en/latest-release/devguide/building/dependencies.html.
OpenDDS erfordert TAO sowohl für die IDL-Kompilierung als auch für die Interaktion mit dem DCPSInfoRepo. ACE ist ebenfalls erforderlich, aber im TAO immer enthalten. Wenn Sie das configure
für OpenDDS verwenden, müssen Sie TAO nicht zuerst herunterladen – das configure
lädt es für Sie herunter.
Perl wird für das Konfigurationsskript, das Ausführen der in diesem Quellbaum enthaltenen automatisierten Tests und Beispiele sowie das Generieren von Makefiles oder Visual Studio-Projektdateien verwendet.
Unter Windows empfehlen wir die Verwendung von Strawberry Perl.
Diese Version von OpenDDS wurde auf den folgenden Plattformen getestet:
Linux-Familie:
Windows-Familie:
Eingebettet/Mobil/IoT:
Wir haben OpenDDS für VxWorks 6.9, 7 und 21.03 erstellt und grundlegende System- und Leistungstests durchgeführt (jedoch nicht die gesamte Regressionstestsuite). Weitere Informationen zur Unterstützung für ACE, TAO und OpenDDS auf VxWorks finden Sie auf der OpenDDS-Supportseite. Laden Sie hier VxWorks-RPM-Pakete für ACE, TAO und OpenDDS herunter.
Diese Version von OpenDDS wurde mit den folgenden Compilern getestet:
Anweisungen zum Erstellen und Installieren finden Sie unter https://opendds.readthedocs.io/en/latest-release/devguide/building/index.html
Informationen zur Verwendung des vorgefertigten Docker-Images finden Sie im Docker-Schnellstart.