Open DDS против программного обеспечения RTI DDS
Группа управления объектами (OMG) Служба распространения данных (DDS) Стандарт - это то, что называется «открытым стандартом». Это означает, что стандарт является общедоступным и содержит нормативную ссылку, помогающую гарантировать согласованность, переносимость и функциональную совместимость. Открытый стандарт - это не то же самое, что программное обеспечение с открытым исходным кодом. Программное обеспечение с открытым исходным кодом - это компьютерное программное обеспечение, доступное вместе с исходным кодом. Программное обеспечение с открытым исходным кодом может совместно использоваться, изменяться и распространяться, как правило, по лицензии с открытым исходным кодом. Стандарт DDS - это открытый стандарт, для которого доступны реализации с открытым исходным кодом. Например, OpenDDS . представляет собой реализацию DDS с открытым исходным кодом, управляемую OCI (Object Computing Inc.). Также доступно множество коммерческих дистрибутивов, наиболее популярным из которых является Connext® DDS от RTI.
Итак, что вы должны учитывать при выборе решения DDS с открытым исходным кодом или коммерческого решения?
Основные функции DDS с открытым исходным кодом
При выборе между DDS с открытым исходным кодом и коммерческой DDS важно определить функции DDS, которые вам нужны, и сравнить их с функциями, доступными в версии DDS, которую вы хотите использовать. Если вы не уверены в том, что вам понадобится, полная реализация с большей вероятностью удовлетворит ваши потребности в долгосрочной перспективе. Например, RTI Connext DDS полностью поддерживает DDS API.
Вот некоторые из стандартных возможностей OMG DDS, которые поддерживает RTI Connext DDS, которые обычно не встречаются в дистрибутивах с открытым исходным кодом:
- Поддержка языков - Connext DDS поддерживает традиционные C ++, C ++ 03, C ++ 11, Java, Ada, C # и .Net. Например, OpenDDS поддерживает только традиционный C ++.
- Presentation Quality of Service (QoS) - возможность контролировать порядок, в котором образцы поступают к подписчику.
- Фильтрация содержимого на стороне писателя - использует меньшую полосу пропускания и меньше циклов ЦП на стороне получателя.
- Определение типов данных - определяет типы данных более гибким образом с возможностью развития со временем, не отказываясь от переносимости, взаимодействия или выразительности системы типов DDS. Это называется расширяемыми типами.
- Функциональность запроса / ответа - часть стандарта OMG и предоставляет пользователям дополнительную парадигму обмена сообщениями, соответствующую их варианту использования.
- Поддержка спецификации языка приложений XML - предоставляет пользователям конфигурацию QoS с помощью файлов XML.
- Связанные данные по нескольким темам - это реализовано с помощью согласованных наборов с областью доступа к презентации.
Вот некоторые из расширенных (нестандартных) возможностей, которые поддерживает RTI Connext DDS, которые обычно не встречаются в дистрибутивах с открытым исходным кодом, включая возможность:
- Функции гарантированной доставки, включая подтверждения на уровне приложения, виртуальные идентификаторы GUID (для поддержки избыточных служб маршрутизации), долговременные подписки, долговременную историю записи и совместные записи данных.
- Объединяйте меньшие пакеты в более крупный пакет для большей пропускной способности (пакетная обработка).
- Запрашивайте исторические данные из ваших тем (тематический запрос).
- Динамическое добавление, удаление и изменение IP-соединений (IP-мобильность).
Компоненты и службы приложения
При выборе решения, которое лучше всего подходит для вас, важно определить, какая поддержка помимо ядра DDS вам нужна, чего нет в используемой вами версии DDS. Вам нужно взаимодействовать с веб-страницами? Вы хотите интегрироваться с реляционной базой данных? Некоторые из ключевых услуг, которые недоступны в DDS с открытым исходным кодом, включают:
- Служба маршрутизации - пересылка и преобразование данных между сетями.
- Служба записи и воспроизведения - записывайте данные на высокой скорости. Воспроизвести живую или смоделированную систему.
- Служба интеграции баз данных - храните данные DDS в реляционных базах данных. Отслеживайте изменения в базе данных из любого места с помощью DDS.
- Служба веб-интеграции - разработка веб-приложений и приложений на базе браузера. Чтение и запись данных DDS с использованием только HTTP-команд.
- Persistence Service - постоянное хранение данных и предоставление доступа к ним приложениям, когда они присоединяются к системе.
- Интерфейс языка сценариев для коннекторов DDS - Connext DDS взаимодействует с языками сценариев Python, Javascript и Lua.
- System Designer - графическое проектирование и настройка систем Connext DDS.
- Prototyper - прототип, отработка и тестирование системы DDS.
- Cloud Discovery Service - разверните DDS в облаке.
Инструменты для реализации DDS
Вы также захотите определить, какие инструменты разработки доступны для рассматриваемой вами реализации DDS. Довольно часто DDS используется в больших взаимосвязанных системах, которые могут быть довольно сложными. Наличие правильных инструментов для отладки этих систем имеет решающее значение. Connext DDS имеет полный набор инструментов, которые были разработаны для удовлетворения потребностей наших клиентов, в том числе:
- Консоль администратора - просматривать запущенные приложения DDS и визуализировать данные. Просматривайте участников, темы, авторов и читателей, включая настройки QOS и типы данных. Проблемы с подключением выявляются автоматически.
- Монитор - получить подробную информацию об объектах DDS, трафике и внутреннем состоянии.
- rtiddsspy - утилита командной строки для просмотра того, что публикуется и на что подписывается.
- Надстройка электронных таблиц Excel - Чтение и запись DDS из Microsoft Excel.
- Инструмент анализа кучи - Делайте снимки использования кучи DDS и быстро выявляйте любые утечки памяти.
Безопасность DDS
Дистрибутивы DDS с открытым исходным кодом напрямую не включают никакой поддержки безопасности. То есть они не поддерживают стандарт безопасности DDS, а также не имеют легкодоступных транспортов TLS или DTLS. RTI Connext DDS поддерживает стандарт безопасности DDS, и выпуски доступны с момента первого выпуска бета-версии Connext DDS Secure в 2015 году. Connext DDS также имеет безопасный транспорт WAN, который включает поддержку TLS и DTLS. Узнайте больше о нашем программном обеспечении RTI Connext DDS Secure.
Сертификация
Требуется ли для вашего приложения какая-либо форма сертификации? Сертификация программного обеспечения требует много времени и затрат, и чем больше кода задействовано, тем сложнее это сделать. В настоящее время единственной сертифицированной версией DDS является RTI Connext DDS Cert. Connext DDS Cert поддерживает подмножество стандартного API DDS и имеет сертификат DO178C уровня A. Подробнее о Connext DDS Cert.
Надежность
Вероятно, наиболее важным фактором при определении того, подходит ли DDS с открытым исходным кодом, является надежность реализации. Программное обеспечение лучше всего зарекомендовало себя в реальных клиентских приложениях. Сколько реально развернутых систем используют рассматриваемую вами реализацию DDS? Когда реализация успешно продвигается снова и снова, вы знаете, что она может выполнять свою работу. Connext DDS был протестирован, испытан и используется сегодня в более чем 1000 различных проектах на более чем 1 миллионе устройств. Некоторые из этих сложных критически важных приложений, которые сегодня используют Connext DDS, включают:
- Плотина Гранд-Кули - круглосуточная работа, 300 000 значений данных.
- НАСА KSC Launch Control - 300 000 точек при 400 000 сообщений / сек.
- Эсминец Raytheon Zumwalt - 1500 приложений DDS, 10 млн пар для публикации
- Наземный контроль аэропорта Шанхай PVG - используется в региональных аэропортах Юго-Восточного Китая с 2015 года.
Connext DDS снова и снова зарекомендовал себя в реальных приложениях.
Во-вторых, RTI действительно проверяет DDS. Это включает в себя обширное автоматическое тестирование, тщательное обучение и проверки, а также обширное отслеживание проблем и управление ими. Кроме того, лаборатория тестирования RTI IIoT - это крупнейшая и наиболее полная лаборатория в отрасли, в которой представлены:
- Тест в масштабе 240 ядер; запускает тысячи параллельных программ, 10 тысяч конечных точек.
- 32-скоростной массив процессоров Xeon
- Тестовый массив Micro на 128 плат
- Почти 100 различных типов компьютеров.
Интернет вещей
- Тестирование программного обеспечения в РТИ
- Интеграция ROS2 + DDS:при слиянии экосистем | RTI
- Введение в терминологию с открытым исходным кодом
- Открытый исходный код и Интернет вещей:инновации через сотрудничество
- AT&T и Tech Mahindra совместно работают над новой платформой искусственного интеллекта с открытым исходным кодом
- Программные риски:защита открытого исходного кода в IoT
- Инструменты разработки IoT с открытым исходным кодом и инструменты, поддерживаемые поставщиком
- DeepLabCut:ИИ с открытым исходным кодом для отслеживания частей тела движущихся видов
- Необходимость открытого исходного кода на периферии (электронная книга)
- Открытый исходный код стимулирует внедрение Интернета вещей и граничных вычислений