OpenDDS против RTI Connext DDS: выбор правильного решения Data Distribution Service
Стандарт OMG Data Distribution Service (DDS) — это открытый стандарт, то есть он публично доступен и предоставляет нормативную ссылку, обеспечивающую согласованность, переносимость и интероперабельность между реализациями. В отличие от открытого программного обеспечения, которое распространяется с исходным кодом, открытый стандарт может быть реализован множеством способов, включая через открытые реализации, такие как OpenDDS, управляемую OCI (Object Computing Inc.). Коммерческие дистрибутивы, в частности RTI Connext® DDS, также придерживаются того же стандарта, но предлагают дополнительные функции, поддержку и проверенную надежность.
При выборе между открытым DDS-решением и коммерческим, учитывайте конкретные возможности, которые вам нужны, уровень поддержки, который вам необходим, и критичность вашего приложения.
Основные функции Open-Source DDS
Open-source DDS часто предоставляет полную реализацию DDS API, делая её надежной основой для большинства проектов. Однако коммерческий DDS, как RTI Connext, обеспечивает более широкий набор функций, который может быть решающим для миссионно-критических или высокоспециализированных приложений.
Стандартные возможности OMG DDS, предлагаемые RTI Connext (нечасто в Open-Source)
- Мультиязыковая поддержка — C++, C++03, C++11, Java, Ada, C# и .NET (OpenDDS предлагает только традиционный C++).
- QoS представления — контроль порядка поступления образцов у подписчика.
- Фильтрация контента на стороне писателя — снижает пропускную способность и использование ЦПУ на приемниках.
- Расширяемые определения типов — гибкая эволюция типов данных без жертвы переносимостью или выразительностью.
- Парадигма запрос/ответ — паттерн обмена сообщениями, определенный стандартом OMG.
- XML конфигурация QoS — спецификация настроек QoS через XML-файлы.
- Когерентные данные между топиками — достигается с когерентными наборами и областями представления.
Расширенные (нестандартные) функции в RTI Connext
- Гарантии доставки — подтверждения на уровне приложения, виртуальные GUID для избыточной маршрутизации, долговечные подписки и писатели, совместные datawriters.
- Пакетная обработка пакетов — объединение маленьких пакетов для более высокой пропускной способности.
- Исторические запросы данных — извлечение прошлых данных из топиков.
- IP мобильность — динамическое добавление, удаление и модификация IP-соединений.
Компоненты приложения и сервисы за пределами ядра DDS
Коммерческий DDS часто включает сервисы, упрощающие интеграцию с внешними системами и ускоряющие разработку:
- Служба маршрутизации — передает и трансформирует данные между сетями.
- Служба записи и воспроизведения — захватывает высокоскоростные данные для воспроизведения в живых или симулированных системах.
- Служба интеграции с БД — сохраняет DDS-данные в реляционных базах и мониторит изменения через DDS.
- Веб-интеграция — предоставляет DDS-данные через HTTP для браузерных приложений.
- Служба персистентности — поддерживает доступность данных для поздно присоединяющихся приложений.
- DDS Коннекторы — скриптовые интерфейсы для Python, JavaScript и Lua.
- System Designer — графическая конфигурация DDS-систем.
- Prototyper — быстрое прототипирование, тестирование и отработка DDS-развертываний.
- Облачный сервис обнаружения — развертывание DDS в облачных средах.
Инструменты для реализации DDS
Надежный инструментарий необходим для отладки сложных распределенных систем. RTI Connext предлагает всеобъемлющий набор:
- Admin Console — визуализация участников, топиков, писателей, читателей, настроек QoS и типов данных; автообнаружение проблем с соединением.
- Monitor — детальные инсайты в DDS-сущности, трафик и внутреннее состояние.
- rtiddsspy — утилита командной строки для инспекции опубликованных и подписанных данных.
- Excel Add-in — чтение/запись DDS-данных прямо из Microsoft Excel.
- Heap Analysis Tool — захват снимков кучи DDS и выявление утечек памяти.
Безопасность DDS
Open-source DDS обычно не имеет встроенной поддержки стандарта DDS Security, TLS или DTLS транспортов. RTI Connext DDS реализовал стандарт DDS Security с его Secure бета в 2015 году и предлагает Secure WAN транспорт, включающий TLS/DTLS. Для подробностей обратитесь к документации RTI Connext DDS Secure.
Сертификация
Сертификация может быть критична для регулируемых отраслей. RTI Connext DDS Cert, сертифицированное подмножество DDS API, достигло сертификации DO178C Level A. См. обзор Connext DDS Cert для полных спецификаций.
Надежность
Полевая производительность — конечный бенчмарк. Connext DDS развернут в более чем 1000 проектах и работает на более чем 1 миллионе устройств по всему миру. Значимые случаи использования включают:
- Гранд-Кулее дамба — работа 24/7, 300 000 точек данных.
- NASA KSC Launch Control — 300 000 точек при 400 000 сообщениях в секунду.
- Raytheon Zumwalt эсминец — 1500 DDS-приложений, 10 миллионов публикуемых пар.
- Шанхайский аэропорт PVG Ground Control — стандартизирован по Юго-Восточному Китайскому Региональным Аэропортам с 2015 года.
RTI сильно инвестирует в тестирование, с обширными автоматизированными наборами, строгим обучением и крупнейшей в отрасли IIoT тестовой лабораторией, включающей 240-ядерные масштабные тесты, 32 Xeon CPU, 128-платные микро-массивы и почти 100 различных типов компьютеров.
Поддержка платформ
Убедитесь, что ваша целевая архитектура, ОС и компилятор поддерживаются. Connext DDS покрывает самый широкий спектр платформ в отрасли. Если платформа не поддерживается, open-source DDS может быть пересобран из исходников с предоставленными инструкциями. Однако пересборка библиотек требует тщательной валидации для соответствия строгости коммерческих релизов.
Стоимость
Open-source DDS может показаться дешевле изначально, но скрытые затраты возникают: отсутствующие функции, дополнительные усилия разработки и зависимость от сообщества или сторонней поддержки. Коммерческий DDS предлагает понятную структуру затрат и посвященную поддержку, которая может сократить time-to-market и долгосрочные расходы на обслуживание.
Время выхода на рынок
Скорость имеет значение. Коммерческий DDS предоставляет более полный набор функций, надежный инструментарий и проверенную надежность, часто сокращая циклы разработки. С более чем 50 инженерами, посвященными разработке Connext DDS, и дополнительной командой поддержки, риск задержек минимизирован.
Поддержка DDS
Качество поддержки критично для миссионно-критических приложений. RTI предлагает поддержку 24/7 через центры в США и Европе, с инженерами, специализирующимися на распределенных реально-временных и встраиваемых системах. Их политики эскалации, прямой доступ к ресурсам разработки и богатая онлайн-документация — включая статьи группы пользователей, обучающие видео, примеры кода и обучение — обеспечивают быстрое решение проблем.
Начало работы с RTI Connext DDS
Четко определите свои требования перед выбором реализации. Рассмотрите следующие вопросы:
- Поддерживается ли ваш предпочитаемый язык программирования?
- Нужна ли вам интеграция со скриптовыми языками?
- Требуется ли облачная или реляционно-база-данных связность?
- Является ли будущая безопасность или сертификация проблемой?
- Нужен ли вам релиз, прошедший строгое тестирование и полевое развертывание?
Если ваш продукт требует быстрой поставки, твердой производительности, комплексной поддержки и будущее-устойчивого набора функций, RTI Connext DDS — логичный выбор.
Интернет вещей
- Строгое программное тестирование в RTI: обеспечение надежности во всем Connext DDS
- ROS2 Bouncy Bolson добавляет бесплатный RTI Connext DDS: усиление связности и диагностики
- Руководство новичка по терминологии Open Source
- Как открытое ПО двигает инновации в интернете вещей
- AT&T и Tech Mahindra запускают Acumos: открытую ИИ-платформу для быстрого развертывания
- Защита открытого ПО в IoT: смягчение программных рисков
- Open Source vs вендор-поддерживаемые инструменты разработки IoT: выбор правильного стека для предприятия
- DeepLabCut: открытый ИИ для точного трекинга частей тела животных на видео
- Почему открытый исходный код движет инновациями на периферии — важная электронная книга
- Открытый исходный код питает рост IoT и периферийных вычислений