Software DDS aberto vs. RTI DDS

The Object Management Group (OMG) Serviço de distribuição de dados (DDS) padrão é o que é chamado de "padrão aberto". Isso significa que o padrão está disponível publicamente e fornece uma referência normativa para ajudar a garantir consistência, portabilidade e interoperabilidade. Um padrão aberto não é a mesma coisa que software de "código aberto". O software de código aberto é um software de computador disponibilizado com seu código-fonte. O software de código aberto pode ser compartilhado, modificado e distribuído, geralmente sob uma licença de código aberto. O DDS Standard é um padrão aberto e tem implementações de código aberto disponíveis. Por exemplo, OpenDDS é uma implementação de código aberto do DDS gerenciado pela OCI (Object Computing Inc.). Existem também muitas distribuições comerciais disponíveis, sendo a mais popular o Connext® DDS da RTI.
Então, o que você deve considerar ao decidir entre uma solução DDS de código aberto ou uma solução comercial?
Recursos principais do DDS de código aberto
Ao decidir entre o DDS de código aberto e um DDS comercial, é importante determinar os recursos do DDS de que você precisa e compará-los aos recursos disponíveis com a versão do DDS que deseja usar. Se você não tiver certeza do que precisará, é mais provável que uma implementação completa atenda às suas necessidades a longo prazo. Por exemplo, RTI Connext DDS suporta a API DDS completa.
Aqui estão alguns dos recursos OMG DDS padrão que o RTI Connext DDS suporta e que não são comumente encontrados em distribuições de código aberto:
- Suporte a idiomas - o Connext DDS oferece suporte a C ++, C ++ 03, C ++ 11, Java, Ada, C # e .Net tradicional. Por exemplo, OpenDDS suporta apenas C ++ tradicional.
- Qualidade de serviço de apresentação (QoS) - a capacidade de controlar a ordem em que as amostras chegam ao assinante.
- Filtragem de conteúdo do lado do escritor - usa menos largura de banda e menos ciclos de CPU no lado do receptor.
- Definição de tipos de dados - define os tipos de dados de uma forma mais flexível com a capacidade de evoluir ao longo do tempo sem abrir mão da portabilidade, interoperabilidade ou da expressividade do sistema de tipo DDS. Isso é conhecido como tipos extensíveis.
- Funcionalidade de solicitação / resposta - parte do padrão OMG e fornece aos usuários um paradigma de mensagem adicional para se adequar ao seu caso de uso.
- Suporte para especificação de linguagem de aplicativo XML - fornece aos usuários configuração de QoS por meio de arquivos XML.
- Dados coerentes em vários tópicos - isso é implementado com conjuntos coerentes com escopo de acesso à apresentação.
Aqui estão alguns dos recursos aprimorados (não padrão) que o RTI Connext DDS suporta e que não são comumente encontrados em distribuições de código aberto, incluindo a capacidade de:
- Recursos de entrega garantidos, incluindo reconhecimentos "no nível do aplicativo", GUIDs virtuais (para oferecer suporte a serviços de roteamento redundantes), assinaturas duráveis, histórico de gravação durável e gravadores de dados colaborativos.
- Combine pacotes menores em um pacote maior para maior rendimento (lote).
- Consulte dados históricos de seus tópicos (consulta de tópico).
- Adicione, remova e altere as conexões IP dinamicamente (Mobilidade IP).
Componentes e serviços do aplicativo
Ao considerar qual solução é melhor para você, é importante determinar qual suporte fora do núcleo do DDS você precisa que a versão do DDS que você está usando não tem. Você precisa fazer interface com páginas da web? Você quer se integrar com um banco de dados relacional? Alguns dos principais serviços que não estão disponíveis com DDS de código aberto incluem:
- Serviço de roteamento - encaminhe e transforme dados entre redes.
- Serviço de gravação e reprodução - grava dados em alta velocidade. Reproduza para um sistema ao vivo ou simulado.
- Serviço de integração de banco de dados - armazene dados DDS em bancos de dados relacionais. Monitore as alterações do banco de dados de qualquer lugar usando DDS.
- Serviço de integração da web - desenvolva aplicativos baseados na web e no navegador. Leia e grave dados DDS usando apenas comandos HTTP.
- Serviço de persistência - armazene dados permanentemente e disponibilize-os para os aplicativos sempre que eles ingressarem no sistema.
- Interface de linguagem de script dos Conectores DDS - interfaces do Connext DDS com linguagens de script Python, Javascript e Lua.
- Designer de sistema - projete e configure graficamente os sistemas Connext DDS.
- Prototipador - protótipo, exercício e teste de um sistema DDS.
- Serviço de descoberta em nuvem - implantar DDS na nuvem.
Ferramentas para implementação DDS
Você também desejará determinar quais ferramentas de desenvolvimento estão disponíveis para a implementação do DDS que está considerando. Freqüentemente, o DDS é usado em grandes sistemas interconectados que podem ser bastante complexos. Ter as ferramentas certas disponíveis para depurar esses sistemas é crucial. O Connext DDS tem um conjunto completo de ferramentas que foram projetadas para atender às necessidades de nossos clientes, incluindo:
- Admin Console - visualizar aplicativos DDS em execução e visualizar os dados. Veja os participantes, tópicos, escritores e leitores, incluindo configurações de QOS e tipos de dados. Os problemas de conexão são identificados automaticamente.
- Monitorar - obter informações detalhadas sobre entidades DDS, tráfego e estado interno.
- rtiddsspy - utilitário de linha de comando para ver o que está sendo publicado e o que está sendo assinado.
- Suplemento de planilha do Excel - Leia e escreva DDS no Microsoft Excel.
- Ferramenta de análise de heap - Faça instantâneos do uso de heap DDS e identifique rapidamente qualquer vazamento de memória.
Segurança DDS
As distribuições DDS de código aberto não incluem diretamente nenhum suporte de segurança. Ou seja, eles não suportam o padrão de segurança DDS e também não têm nenhum transporte TLS ou DTLS prontamente disponível. O RTI Connext DDS oferece suporte ao padrão de segurança DDS e tem versões disponíveis desde que o beta do Connext DDS Secure foi lançado pela primeira vez em 2015. O Connext DDS também tem um transporte WAN seguro que inclui suporte TLS e DTLS. Leia mais sobre nosso software RTI Connext DDS Secure.
Certificação
Sua inscrição precisa de alguma forma de certificação? É demorado e caro certificar um software e, quanto mais código estiver envolvido, mais difícil será de fazer. Atualmente, a única versão certificada de DDS é RTI Connext DDS Cert. O certificado Connext DDS suporta um subconjunto da API padrão DDS e foi certificado para a certificação DO178C nível A. Leia mais sobre o Connext DDS Cert.
Robustez
Provavelmente, o fator mais importante ao determinar se o DDS de código aberto é adequado é a robustez da implementação. A melhor maneira de o software se provar é em aplicativos reais do cliente. Quantos sistemas reais implantados estão usando a implementação DDS que você está considerando? Quando uma implementação foi colocada em campo com sucesso repetidas vezes, você sabe que ela pode fazer o trabalho. O Connext DDS foi testado em campo, comprovado e usado por mais de 1000 projetos diferentes em mais de 1 milhão de dispositivos hoje. Alguns desses aplicativos complexos de missão crítica que alavancam o Connext DDS hoje incluem:
- Grand Coulee Dam - operação 24x7, valores de dados 300K
- NASA KSC Launch Control - 300 mil pontos, a 400 mil msgs / s
- destruidor Raytheon Zumwalt - 1500 aplicações DDS, 10m pares publicáveis
- Controle de solo do aeroporto PVG de Xangai - usado nos aeroportos regionais do sudeste da China desde 2015
O Connext DDS provou seu valor inúmeras vezes em aplicativos da vida real.
Em segundo lugar, o RTI realmente testa o DDS. Isso inclui testes automatizados abrangentes, treinamento e análises rigorosos e amplo rastreamento e gerenciamento de problemas. Além disso, o RTI IIoT Testing Lab é a maior e mais completa instalação laboratorial da indústria, apresentando:
- teste de escala de 240 núcleos; executa milhares de programas simultâneos, 10k endpoints
- 32 matriz de CPU Xeon rápida
- Micro test array de 128 placas
- Quase 100 tipos diferentes de computadores
Uma pergunta muito importante a se fazer é:qual é a qualidade do lançamento do DDS ao qual você está confiando seus produtos?
Tecnologia da Internet das Coisas
- Teste de software em RTI
- Integração ROS2 + DDS:Quando os ecossistemas se fundem | RTI
- Introdução à terminologia de código aberto
- Código aberto e a IoT:inovação por meio da colaboração
- AT&T, Tech Mahindra colaboram na nova plataforma de IA de código aberto
- Riscos de software:Protegendo código aberto em IoT
- Ferramentas de desenvolvimento de IoT de código aberto vs. Ferramentas com suporte do fornecedor
- DeepLabCut:Uma IA de código aberto para rastrear partes do corpo de espécies em movimento
- A necessidade de código aberto na borda (eBook)
- Open Source impulsiona a adoção de IoT e Edge Computing