OpenDDS es una implementación C++ de código abierto de la especificación "Servicio de distribución de datos para sistemas en tiempo real" (DDS) del Object Management Group, así como algunas otras especificaciones relacionadas. Estos estándares definen un conjunto de interfaces y protocolos para desarrollar aplicaciones distribuidas basadas en los modelos de publicación-suscripción y caché distribuida. Aunque OpenDDS está desarrollado en C++, se proporcionan enlaces Java para que las aplicaciones Java puedan utilizar OpenDDS. OpenDDS también incluye soporte para las especificaciones DDS Security y XTypes.
OpenDDS se basa en la capa de abstracción ACE para proporcionar portabilidad de la plataforma. OpenDDS también aprovecha las capacidades de TAO para la compilación IDL y el repositorio de información OpenDDS DCPS.
El desarrollo principal de OpenDDS fue realizado por Object Computing, Incorporated en St. Louis y Phoenix. Se publica bajo generosos términos de licencia similares a ACE, TAO y MPC. Consulte el archivo LICENSE
para obtener más detalles.
Tabla de contenido:
La Guía para desarrolladores de OpenDDS está disponible en https://opendds.readthedocs.io/en/latest-release.
Para los desarrolladores que deseen contribuir a OpenDDS, lean las pautas de desarrollo.
Se puede encontrar otra documentación en el directorio docs
.
Para obtener soporte comercial, consulte https://opendds.org/support.html.
Las preguntas sobre OpenDDS deben dirigirse a las Discusiones de GitHub.
Si desea presentar un informe de error:
tests/DCPS/MyExample
( MyExample
es un marcador de posición).run_test.pl
. Asegúrese de documentar las opciones. Consulte tests/DCPS/HelloWorld/run_test.pl
para inspirarse.README.rst
que brinde una descripción general de alto nivel del ejemplo y el problema que ilustra. Debería ser posible compilar y ejecutar el ejemplo utilizando run_test.pl
como en los inicios rápidos para Windows y Linux. Si el problema radica en el ejemplo, entonces la interfaz Pull Request de GitHub permitirá a las personas discutir, comentar y proponer cambios para que el ejemplo funcione. Si el problema radica en OpenDDS, entonces el ejemplo es un nuevo caso de prueba.
Esta versión de OpenDDS se basa en la especificación DDS formal/2015-04-10 (versión 1.4). Cuenta con los siguientes protocolos de transporte:
Las funciones RTPS (interoperabilidad) se basan en la especificación DDS-RTPS formal/2019-04-03 (versión 2.3). Consulte la Guía del desarrollador de OpenDDS y el archivo docs/design/RTPS para obtener más detalles sobre RTPS.
Consulte la Guía del desarrollador para obtener información sobre el cumplimiento de OpenDDS con la especificación DDS. Si desea contribuir con una función o patrocinar a los desarrolladores para que agreguen una función, consulte la sección Soporte anterior para obtener información de contacto.
Estas son solo las dependencias requeridas. Para obtener una lista completa y detallada de dependencias, incluidas las opcionales, consulte https://opendds.readthedocs.io/en/latest-release/devguide/building/dependencies.html.
OpenDDS requiere TAO tanto para la compilación IDL como para la interacción con DCPSInfoRepo. También se requiere ACE, pero siempre se incluye con TAO. Si va a utilizar el script configure
para OpenDDS, no necesita descargar TAO primero: el script configure
lo descargará por usted.
Perl se utiliza para el script de configuración, ejecuta las pruebas automatizadas y los ejemplos incluidos en este árbol de fuentes y genera archivos Makefiles o de proyecto de Visual Studio.
En Windows recomendamos el uso de Strawberry Perl.
Esta versión de OpenDDS ha sido probada en las siguientes plataformas:
Familia Linux:
Familia de Windows:
Integrado/Móvil/IoT:
Hemos creado OpenDDS para VxWorks 6.9, 7 y 21.03 y hemos ejecutado pruebas básicas de rendimiento y del sistema (pero no todo el conjunto de pruebas de regresión). Consulte la página de soporte de OpenDDS para obtener más información sobre el soporte para ACE, TAO y OpenDDS en VxWorks. Descargue los paquetes VxWorks RPM para ACE, TAO y OpenDDS aquí.
Esta versión de OpenDDS se ha probado utilizando los siguientes compiladores:
Para obtener instrucciones de construcción e instalación, consulte https://opendds.readthedocs.io/en/latest-release/devguide/building/index.html
Consulte el Inicio rápido de Docker para saber cómo utilizar la imagen de Docker prediseñada.