OpenDDS 是物件管理組織規範「即時系統資料分發服務」(DDS) 以及其他一些相關規範的開源 C++ 實作。這些標準定義了一組用於開發基於發布-訂閱和分散式快取模型的分散式應用程式的介面和協定。儘管OpenDDS本身是用C++開發的,但提供了Java綁定,以便Java應用程式可以使用OpenDDS。 OpenDDS 還包括對 DDS 安全性和 XTypes 規範的支援。
OpenDDS 建構在 ACE 抽象層之上,提供平台可攜性。 OpenDDS 也利用 TAO 的 IDL 編譯功能和 OpenDDS DCPS 資訊儲存庫。
OpenDDS 的主要開發是由位於聖路易斯和菲尼克斯的物件運算公司完成的。它是在類似於 ACE、TAO 和 MPC 的慷慨授權條款下發布的。有關詳細信息,請參閱LICENSE
文件。
目錄:
OpenDDS 開發人員指南可在 https://opendds.readthedocs.io/en/latest-release 上取得。
對於想要為 OpenDDS 做出貢獻的開發者,請閱讀開髮指南。
其他文件可以在docs
目錄中找到。
如需商業支持,請參閱 https://opendds.org/support.html。
有關 OpenDDS 的問題應直接訪問 GitHub 討論。
如果您想提交錯誤報告:
tests/DCPS/MyExample
( MyExample
是佔位符。)run_test.pl
。請務必記錄選項。請參閱tests/DCPS/HelloWorld/run_test.pl
以獲得靈感。README.rst
文件,該文件提供範例及其說明的問題的高級概述。應該可以使用run_test.pl
建置並運行範例,如 Windows 和 Linux 快速入門中所示。如果問題出在範例中,那麼 GitHub 的 Pull Request 介面將允許人們討論、評論並提出變更以使範例正常運作。如果問題出在 OpenDDS 上,那麼這個範例就是一個新的測試案例。
此版本的 OpenDDS 是基於 DDS 規格正式/2015-04-10(版本 1.4)。它具有以下傳輸協定:
RTPS(互通性)功能基於 DDS-RTPS 規範正式/2019-04-03(版本 2.3)。有關 RTPS 的更多詳細信息,請參閱 OpenDDS 開發人員指南和文件 docs/design/RTPS。
有關 OpenDDS 符合 DDS 規範的信息,請參閱開發人員指南。如果您想貢獻一項功能或贊助開發人員添加一項功能,請參閱上面的支援部分以取得聯絡資訊。
這些只是必需的依賴項。有關依賴項的完整詳細清單(包括可選依賴項),請參閱 https://opendds.readthedocs.io/en/latest-release/devguide/building/dependency.html。
OpenDDS 需要 TAO 來進行 IDL 編譯以及與 DCPSInfoRepo 的交互。 ACE 也是必需的,但它始終包含在 TAO 中。如果您將使用 OpenDDS 的configure
腳本,則無需先下載 TAO—— configure
腳本將為您下載它。
Perl 用於設定腳本,執行此原始碼樹中包含的自動化測試和範例,並產生 Makefile 或 Visual Studio 專案檔案。
在 Windows 上,我們建議使用 Strawberry Perl。
此版本的 OpenDDS 已在以下平台上進行了測試:
Linux家族:
Windows系列:
嵌入式/行動/物聯網:
我們已經為 VxWorks 6.9、7 和 21.03 建立了 OpenDDS,並運行了基本系統和效能測試(但不是整個回歸測試套件)。請參閱 OpenDDS 支援頁面,以了解有關 VxWorks 上 ACE、TAO 和 OpenDDS 支援的更多資訊。在此下載 ACE、TAO 和 OpenDDS 的 VxWorks RPM 軟體包。
此版本的 OpenDDS 已使用以下編譯器進行了測試:
有關建置和安裝說明,請參閱 https://opendds.readthedocs.io/en/latest-release/devguide/building/index.html
有關如何使用預先建置的 docker 映像,請參閱 Docker 快速入門。