Open DDS vs. RTI DDS-Software
The Object Management Group (OMG) Datenverteilungsdienst (DDS) Standard ist ein sogenannter "offener Standard". Dies bedeutet, dass der Standard öffentlich verfügbar ist und einen normativen Verweis bietet, um Konsistenz, Übertragbarkeit und Interoperabilität zu gewährleisten. Ein offener Standard ist nicht dasselbe wie Software, die "Open Source" ist. Open Source Software ist Computersoftware, die mit ihrem Quellcode zur Verfügung gestellt wird. Open-Source-Software darf geteilt und modifiziert und verteilt werden, normalerweise unter einer Open-Source-Lizenz. Der DDS-Standard ist ein offener Standard und bietet Open-Source-Implementierungen. Beispiel:OpenDDS ist eine Open-Source-Implementierung von DDS, die von OCI (Object Computing Inc.) verwaltet wird. Es gibt auch viele kommerzielle Distributionen, die beliebteste ist Connext® DDS von RTI.
Was sollten Sie also beachten, wenn Sie sich zwischen einer Open-Source-DDS-Lösung und einer kommerziellen Lösung entscheiden?
Open-Source-DDS-Kernfunktionen
Bei der Entscheidung zwischen Open-Source-DDS und einem kommerziellen DDS ist es wichtig, die benötigten DDS-Funktionen zu bestimmen und sie mit den Funktionen der DDS-Version zu vergleichen, die Sie verwenden möchten. Wenn Sie sich nicht sicher sind, was Sie benötigen, wird eine vollständige Implementierung auf lange Sicht eher Ihren Anforderungen entsprechen. RTI Connext DDS unterstützt beispielsweise die vollständige DDS-API.
Hier sind einige der standardmäßigen OMG DDS-Funktionen, die RTI Connext DDS unterstützt und die in Open-Source-Distributionen nicht häufig zu finden sind:
- Sprachunterstützung - Connext DDS unterstützt traditionelles C++, C++03, C++11, Java, Ada, C# und .Net. OpenDDS unterstützt beispielsweise nur traditionelles C++.
- Presentation Quality of Service (QoS) – die Möglichkeit, die Reihenfolge zu steuern, in der die Samples beim Abonnenten eintreffen.
- Inhaltsfilterung auf der Schreiberseite – verbraucht weniger Bandbreite und weniger CPU-Zyklen auf der Empfängerseite.
- Datentypendefinition - definiert Datentypen auf flexiblere Weise mit der Möglichkeit, sich im Laufe der Zeit zu entwickeln, ohne die Portabilität, Interoperabilität oder die Ausdruckskraft des DDS-Typsystems aufzugeben. Dies wird als erweiterbare Typen bezeichnet.
- Anfrage-/Antwort-Funktionalität – Teil des OMG-Standards und bietet Benutzern ein zusätzliches Messaging-Paradigma für ihren Anwendungsfall.
- Unterstützung der XML-Anwendungssprachenspezifikation – bietet Benutzern die QoS-Konfiguration über XML-Dateien.
- Kohärente Daten über mehrere Themen hinweg – dies wird mit kohärenten Sets mit Präsentationszugriffsbereich implementiert.
Hier sind einige der erweiterten (nicht standardmäßigen) Funktionen, die RTI Connext DDS unterstützt, die in Open-Source-Distributionen nicht üblich sind, einschließlich der Fähigkeit:
- Gewährleisten Sie Bereitstellungsfunktionen, einschließlich Bestätigungen auf Anwendungsebene, virtuelle GUIDs (zur Unterstützung redundanter Routing-Dienste), dauerhafte Abonnements, dauerhafte Schreibhistorie und kollaborative Datenschreiber.
- Kombiniere kleinere Pakete zu einem größeren Paket für einen höheren Durchsatz (Batching).
- Verlaufsdaten zu Ihren Themen abfragen (Themenabfrage).
- Dynamisches Hinzufügen, Entfernen und Ändern von IP-Verbindungen (IP Mobility).
Anwendungskomponenten und Dienste
Wenn Sie überlegen, welche Lösung für Sie am besten geeignet ist, ist es wichtig zu bestimmen, welche Unterstützung außerhalb des DDS-Kerns Sie benötigen, die die von Ihnen verwendete DDS-Version nicht bietet. Müssen Sie eine Schnittstelle zu Webseiten haben? Möchten Sie eine relationale Datenbank integrieren? Zu den wichtigsten Diensten, die mit Open-Source-DDS nicht verfügbar sind, gehören:
- Routing-Dienst – Weiterleiten und Transformieren von Daten zwischen Netzwerken.
- Record and Replay Service – Aufzeichnen von Daten mit hoher Geschwindigkeit. Wiedergabe auf einem Live- oder simulierten System.
- Datenbankintegrationsdienst – DDS-Daten in relationalen Datenbanken speichern. Überwachen Sie Datenbankänderungen von überall mit DDS.
- Web Integration Service – Entwickeln Sie webbasierte und browserbasierte Anwendungen. DDS-Daten nur mit HTTP-Befehlen lesen und schreiben.
- Persistenzdienst – Daten dauerhaft speichern und Anwendungen verfügbar machen, wenn sie dem System beitreten.
- DDS Connectors-Skriptsprachenschnittstelle - Connext DDS-Schnittstellen mit Python, Javascript und Lua-Skriptsprachen.
- System Designer – Connext DDS-Systeme grafisch entwerfen und konfigurieren.
- Prototyper – Prototyp, Übung und Test eines DDS-Systems.
- Cloud Discovery Service – Stellen Sie DDS in der Cloud bereit.
Tools für die DDS-Implementierung
Sie sollten auch feststellen, welche Entwicklungstools für die von Ihnen in Betracht gezogene DDS-Implementierung verfügbar sind. Sehr oft wird DDS in großen, miteinander verbundenen Systemen verwendet, die ziemlich komplex sein können. Es ist von entscheidender Bedeutung, die richtigen Tools zum Debuggen dieser Systeme zur Verfügung zu haben. Connext DDS bietet ein komplettes Set an Tools, die speziell auf die Bedürfnisse unserer Kunden zugeschnitten sind, darunter:
- Admin-Konsole – laufende DDS-Anwendungen anzeigen und die Daten visualisieren. Sehen Sie sich die Teilnehmer, Themen, Autoren und Leser an, einschließlich QOS-Einstellungen und Datentypen. Verbindungsprobleme werden automatisch erkannt.
- Überwachen – Erhalten Sie detaillierte Informationen zu DDS-Entitäten, Verkehr und internem Status.
- rtiddsspy – Befehlszeilen-Dienstprogramm, um anzuzeigen, was veröffentlicht und abonniert wird.
- Excel-Tabellenkalkulations-Add-In – DDS aus Microsoft Excel lesen und schreiben.
- Heap-Analysetool – Machen Sie Schnappschüsse der DDS-Heap-Nutzung und identifizieren Sie schnell alle Speicherlecks.
DDS-Sicherheit
Open-Source-DDS-Distributionen enthalten keine direkte Sicherheitsunterstützung. Das heißt, sie unterstützen nicht den DDS-Sicherheitsstandard und haben auch keine TLS- oder DTLS-Transporte zur Verfügung. RTI Connext DDS unterstützt den DDS-Sicherheitsstandard und hat Versionen seit der ersten Veröffentlichung der Connext DDS Secure-Beta im Jahr 2015 verfügbar. Connext DDS verfügt auch über einen sicheren WAN-Transport, der TLS- und DTLS-Unterstützung umfasst. Lesen Sie mehr über unsere RTI Connext DDS Secure-Software.
Zertifizierung
Benötigt Ihre Bewerbung eine Form der Zertifizierung? Software zu zertifizieren ist zeitaufwändig und teuer, und je mehr Code involviert ist, desto schwieriger ist es. Derzeit ist die einzige zertifizierte Version von DDS RTI Connext DDS Cert. Connext DDS Cert unterstützt eine Teilmenge der DDS-Standard-API und wurde nach DO178C Level A zertifiziert. Lesen Sie mehr über Connext DDS Cert.
Robustheit
Der wahrscheinlich wichtigste Faktor bei der Bestimmung, ob Open-Source-DDS gut geeignet ist, ist die Robustheit der Implementierung. Software beweist sich am besten in realen Kundenanwendungen. Wie viele real bereitgestellte Systeme verwenden die DDS-Implementierung, die Sie in Betracht ziehen? Wenn eine Implementierung immer und immer wieder erfolgreich eingesetzt wurde, wissen Sie, dass sie die Aufgabe erfüllen kann. Connext DDS ist praxiserprobt, bewährt und wird heute in mehr als 1000 verschiedenen Projekten in über 1 Million Geräten eingesetzt. Einige dieser komplexen, geschäftskritischen Anwendungen, die Connext DDS heute nutzen, umfassen:
- Grand Coulee Dam – 24x7 Betrieb, 300.000 Datenwerte
- NASA KSC Launch Control – 300.000 Punkte bei 400.000 Msgs/Sek.
- Raytheon Zumwalt-Zerstörer – 1500 DDS-Anwendungen, 10 Millionen veröffentlichbare Paare
- Shanghai PVG-Flughafen-Bodenkontrolle – seit 2015 auf den Regionalflughäfen Südostchinas im Einsatz
Connext DDS hat sich in der Praxis immer wieder bewährt.
Zweitens testet RTI wirklich DDS. Dazu gehören umfangreiche automatisierte Tests, strenge Schulungen und Überprüfungen sowie eine umfassende Problemverfolgung und -verwaltung. Darüber hinaus ist das RTI IIoT Testing Lab die branchenweit größte und umfassendste Laboreinrichtung mit:
- 240-Kern-Skala-Test; führt Tausende von gleichzeitigen Programmen aus, 10.000 Endpunkte
- 32 schnelles Xeon-CPU-Array
- 128-Platinen-Mikrotest-Array
- Fast 100 verschiedene Computertypen
Eine sehr wichtige Frage, die Sie sich stellen sollten, ist, welche Qualität die DDS-Veröffentlichung hat, der Sie Ihre Produkte anvertrauen?
Plattformunterstützung
Internet der Dinge-Technologie
- Softwaretests bei RTI
- ROS2 + DDS-Integration:Wenn Ökosysteme verschmelzen | RTI
- Einführung in die Open-Source-Terminologie
- Open Source und das IoT:Innovation durch Zusammenarbeit
- AT&T, Tech Mahindra arbeiten an einer neuen Open-Source-KI-Plattform zusammen
- Softwarerisiken:Sicherung von Open Source im IoT
- Open-Source-IoT-Entwicklungstools im Vergleich zu anbieterunterstützten Tools
- DeepLabCut:Eine Open-Source-KI zur Verfolgung von Körperteilen sich bewegender Arten
- Die Notwendigkeit von Open Source am Edge (eBook)
- Open Source fördert die Einführung von IoT und Edge Computing