Software Open DDS vs.RTI DDS
El Grupo de administración de objetos (OMG) Servicio de distribución de datos (DDS) estándar es lo que se llama un "estándar abierto". Esto significa que el estándar está disponible públicamente y proporciona una referencia normativa para ayudar a garantizar la coherencia, portabilidad e interoperabilidad. Un estándar abierto no es lo mismo que un software de "código abierto". El software de código abierto es un software de computadora disponible con su código fuente. El software de código abierto se puede compartir, modificar y distribuir, generalmente bajo una licencia de código abierto. El estándar DDS es un estándar abierto y tiene implementaciones de código abierto disponibles. Por ejemplo, OpenDDS es una implementación de código abierto de DDS administrada por OCI (Object Computing Inc.). También hay muchas distribuciones comerciales disponibles, la más popular es Connext® DDS de RTI.
Entonces, ¿qué debe considerar al decidir entre una solución DDS de código abierto frente a una solución comercial?
Funciones principales de DDS de código abierto
Al decidir entre un DDS de código abierto y un DDS comercial, es importante determinar las funciones de DDS que necesita y compararlas con las funciones disponibles con la versión de DDS que desea utilizar. Si no está seguro de lo que necesitará, es más probable que una implementación completa satisfaga sus necesidades a largo plazo. Por ejemplo, RTI Connext DDS admite la API de DDS completa.
Estas son algunas de las capacidades estándar de OMG DDS que admite RTI Connext DDS y que no se encuentran comúnmente en distribuciones de código abierto:
- Compatibilidad con idiomas:Connext DDS admite C ++, C ++ 03, C ++ 11, Java, Ada, C # y .Net tradicionales. Por ejemplo, OpenDDS solo es compatible con C ++ tradicional.
- Calidad de servicio de presentación (QoS):la capacidad de controlar el orden en que las muestras llegan al suscriptor.
- Filtrado de contenido del lado del escritor:utiliza menos ancho de banda y menos ciclos de CPU en el lado del receptor.
- Definición de tipos de datos:define los tipos de datos de una manera más flexible con la capacidad de evolucionar con el tiempo sin renunciar a la portabilidad, interoperabilidad o la expresividad del sistema de tipos DDS. Esto se conoce como tipos extensibles.
- Funcionalidad de solicitud / respuesta:parte del estándar OMG y proporciona a los usuarios un paradigma de mensajería adicional para adaptarse a su caso de uso.
- Compatibilidad con la especificación del lenguaje de aplicación XML:proporciona a los usuarios la configuración de QoS a través de archivos XML.
- Datos coherentes en varios temas:esto se implementa con conjuntos coherentes con alcance de acceso a la presentación.
Estas son algunas de las capacidades mejoradas (no estándar) que admite RTI Connext DDS que no se encuentran comúnmente en distribuciones de código abierto, incluida la capacidad de:
- Garantice funciones de entrega que incluyen reconocimientos "a nivel de aplicación", GUID virtuales (para admitir servicios de enrutamiento redundantes), suscripciones duraderas, historial de escritura duradero y escritores de datos colaborativos.
- Combine paquetes más pequeños en un paquete más grande para obtener un mayor rendimiento (procesamiento por lotes).
- Consultar datos históricos de sus temas (consulta de tema).
- Agregue, elimine y cambie dinámicamente conexiones IP (Movilidad IP).
Servicios y componentes de la aplicación
Al considerar qué solución es la mejor para usted, es importante determinar qué soporte fuera del núcleo de DDS necesita y que no tiene la versión de DDS que está utilizando. ¿Necesita interactuar con páginas web? ¿Quieres integrarte con una base de datos relacional? Algunos de los servicios clave que no están disponibles con DDS de código abierto incluyen:
- Servicio de enrutamiento:reenvíe y transforme datos entre redes.
- Servicio de grabación y reproducción:graba datos a altas velocidades. Reproducir en un sistema en vivo o simulado.
- Servicio de integración de bases de datos:almacena datos DDS en bases de datos relacionales. Supervise los cambios de la base de datos desde cualquier lugar utilizando DDS.
- Servicio de integración web:desarrolle aplicaciones basadas en web y basadas en navegador. Lea y escriba datos DDS utilizando solo comandos HTTP.
- Servicio de persistencia:almacene datos de forma permanente y póngalos a disposición de las aplicaciones cada vez que se unen al sistema.
- Interfaz de lenguaje de scripting de conectores DDS:interfaces de Connext DDS con lenguajes de scripting Python, Javascript y Lua.
- Diseñador de sistemas:diseñe y configure gráficamente los sistemas Connext DDS.
- Prototyper:prototipo, ejercicio y prueba de un sistema DDS.
- Servicio de descubrimiento en la nube:implemente DDS en la nube.
Herramientas para la implementación de DDS
También querrá determinar qué herramientas de desarrollo están disponibles para la implementación de DDS que está considerando. Muy a menudo, DDS se utiliza en grandes sistemas interconectados que pueden ser bastante complejos. Tener las herramientas adecuadas disponibles para depurar estos sistemas es crucial. Connext DDS tiene un conjunto completo de herramientas que han sido diseñadas para satisfacer las necesidades de nuestros clientes, que incluyen:
- Consola de administración - ver las aplicaciones DDS en ejecución y visualizar los datos. Vea a los participantes, temas, escritores y lectores, incluida la configuración de QOS y los tipos de datos. Los problemas de conexión se identifican automáticamente.
- Supervisar - obtener información detallada sobre las entidades DDS, el tráfico y el estado interno.
- rtiddsspy - utilidad de línea de comandos para ver lo que se publica y lo que se suscribe.
- Complemento de hoja de cálculo de Excel - Leer y escribir DDS desde Microsoft Excel.
- Herramienta de análisis de montón - Tome instantáneas del uso del montón de DDS e identifique rápidamente cualquier pérdida de memoria.
Seguridad DDS
Las distribuciones de DDS de código abierto no incluyen directamente ningún soporte de seguridad. Es decir, no son compatibles con el estándar de seguridad DDS y tampoco tienen transportes TLS o DTLS disponibles. RTI Connext DDS es compatible con el estándar de seguridad DDS y ha tenido versiones disponibles desde que se lanzó por primera vez la versión beta de Connext DDS Secure en 2015. Connext DDS también tiene un transporte WAN seguro que incluye compatibilidad con TLS y DTLS. Obtenga más información sobre nuestro software RTI Connext DDS Secure.
Certificación
¿Su solicitud necesita algún tipo de certificación? Certificar software lleva mucho tiempo y es caro, y cuanto más código implica, más difícil es hacerlo. Actualmente, la única versión certificada de DDS es RTI Connext DDS Cert. Connext DDS Cert es compatible con un subconjunto de la API estándar DDS y ha sido certificado con la certificación de nivel A DO178C. Leer más sobre Connext DDS Cert.
Robustez
Probablemente el factor más importante para determinar si el DDS de código abierto es una buena opción es la solidez de la implementación. La mejor manera de que el software demuestre su valía es en las aplicaciones reales de los clientes. ¿Cuántos sistemas implementados reales están utilizando la implementación de DDS que está considerando? Cuando una implementación se ha realizado con éxito una y otra vez, sabe que puede hacer el trabajo. Connext DDS ha sido probado en el campo, probado y utilizado por más de 1000 proyectos diferentes en más de 1 millón de dispositivos en la actualidad. Algunas de estas aplicaciones complejas y de misión crítica que aprovechan Connext DDS en la actualidad incluyen:
- Grand Coulee Dam:operación 24x7, valores de datos de 300K
- NASA KSC Launch Control:300.000 puntos, a 400.000 mensajes por segundo
- Destructor Raytheon Zumwalt:1500 aplicaciones DDS, 10 millones de pares publicables
- Control terrestre del aeropuerto PVG de Shanghai:utilizado en los aeropuertos regionales del sudeste de China desde 2015
Connext DDS ha demostrado su eficacia una y otra vez en aplicaciones de la vida real.
En segundo lugar, RTI realmente pone a prueba el DDS. Esto incluye pruebas exhaustivas automatizadas, capacitación y revisiones rigurosas, y una gestión y un seguimiento exhaustivos de los problemas. Además, el laboratorio de pruebas RTI IIoT es la instalación de laboratorio más grande y completa de la industria, con:
Tecnología de Internet de las cosas
- Pruebas de software en RTI
- Integración ROS2 + DDS:cuando los ecosistemas se fusionan | RTI
- Anuncio de la última prueba de rendimiento de RTI para Connext DDS
- Introducción a la terminología de código abierto
- El código abierto y el IoT:innovación mediante la colaboración
- AT&T y Tech Mahindra colaboran en una nueva plataforma de inteligencia artificial de código abierto
- Riesgos de software:protección de código abierto en IoT
- Herramientas de desarrollo de IoT de código abierto frente a herramientas compatibles con el proveedor
- DeepLabCut:una IA de código abierto para rastrear partes del cuerpo de especies en movimiento
- La necesidad del código abierto en el perímetro (eBook)
- El código abierto impulsa la adopción de IoT y Edge Computing