2016-07-06 4 views
3

Ich brauche für C# winform App und für Android native Anwendung DDS (Data Distribution Service) zu verwenden. Jeder kann Abonnent und Schreiber sein. Was ist wichtig für mich:
- Hohe Leistung.
- Einfach zu bedienen und Dokumentation.
- Unterstützung.
- Niedriger Preis.DDS - Welche wird empfohlen - OpenSplice oder CoreDX?

Welches Produkt wird am besten empfohlen - OpenSplice oder CoreDX?
Was sind die Unterschiede zwischen ihnen?

Thank

Antwort

6

Leider kann ich nicht viel über CoreDX sagen, aber ich habe schon eine ganze Weile mit Vortex OpenSlice und RTI Connext DDS gearbeitet. Hier sind meine Erfahrungen:

Einige Unterschiede

OpenSlice implementiert eine Art von föderierten Modell. Ihre Anwendung wird in einem separaten Prozess ausgeführt, die DCPS-Kommunikation und -Konfiguration wird in einem anderen (Daemon-) Prozess abgewickelt. Dies ermöglicht eine klare Trennung, birgt aber auch die Gefahr, bei sehr hohen Datenraten oder gar einem Single-Point-of-Failure zum Engpass zu werden (falls der Prozess mit DCPS abstürzt). OpenSlice unterstützt auch eine Single-Process-Architektur, aber das ist nicht der Standard und es ist auch weniger optimiert. Außerdem unterstützt OpenSlice zwei Protokolle: RTNetworking ist der Standard und der RTPS-Standard wird nur für Interoperabilität mit DDS-Implementierungen anderer Anbieter verwendet.

Die Architektur von RTI Connext DDS ist vollständig eigenständig und benötigt keinen Daemon-Prozess. Dies hat den Vorteil, dass der Single Point of Failure eliminiert und die Latenz reduziert wird. Die Daten-Batch-Optimierung zwischen mehreren DDS-Anwendungen auf demselben Host ist jedoch schwieriger, was zu einer Verringerung der Skalierbarkeit führt, insbesondere bei kleineren Datengrößen.

CoreDX ist eine Implementierung, die speziell für die Embedded-Domäne gedacht ist und auch die Single-Process-Architektur anwendet. Es konzentriert sich auf einen geringen Speicherbedarf und Latenz und kann ohne Betriebssystem ohne größere Einschränkungen ausgeführt werden.

High Performance

Ich weiß nicht, Ihre Leistungsanforderungen, aber ich denke, die unvoreingenommene Analyse in Data Distribution Service (DDS): A performance comparison of OpenSplice and RTI implementations finden Sie die beste Indikation liefern. Es wurde mit Connext 5.0.0 und OpenSlice V5.5.1 Community durchgeführt, so dass es immer noch als relevant angesehen werden kann.In diesem Whitepaper wurden die Anzahl der Samples pro Sekunde, der Durchsatz in MBit/s, die Umlaufzeit, der Arbeitsspeicher und die CPU-Auslastung analysiert. Die allgemeine Schlussfolgerung lautet, dass OpenSlice für Datengrößen von 0 bis 1 KB besser ist als Connext, aber für Datengrößen von mehr als 1 KB übertrifft Connext OpenSlice. Es tut mir leid, dass ich Ihnen die genauen Zahlen nicht nennen kann, da dieses Papier kostenpflichtig ist. Ich schlage daher vor, dass Sie es sich selbst anschauen und basierend auf der Größe Ihrer Daten entscheiden, welche am besten zu Ihnen passt. Leider kann ich Ihnen nichts über die Leistung von CoreDX sagen, da ich keine unabhängig verifizierten Indikationen gefunden habe.

Einfache und Dokumentation

In beiden Fällen zu verwenden, werden Sie eine saubere und konsistente API in allen Sprachbindungen finden. Es gibt viele ready-to-execute-Beispiele und Code-Snippets, die kostenlos heruntergeladen werden können. Die offiziellen Benutzerhandbücher sind umfassend und decken alles ab, was Sie zum Starten benötigen. Ich persönlich fand das RTI-Handbuch viel besser, weil es voller Beispiele ist, die Sie direkt in Ihrer Anwendung anwenden können. Meiner Erfahrung nach beginnen Sie wirklich mit den Handbüchern und nicht mit dem begleitenden Code, sonst werden Sie in Details eingeschlossen, von denen Sie keine Ahnung haben. Die Communitys von RTI Connext und Vortex OpenSlice sind zwar groß, aber man kann feststellen, dass die RTI-Community schneller reagiert und umfassender ist. Wann immer Sie eine Frage in den Foren stellen, werden FAEs Ihnen in den meisten Fällen eine angemessene Antwort innerhalb von Stunden liefern. Wenn Sie spezifische und professionelle Unterstützung benötigen, gibt es leider keine andere Möglichkeit als Supportlizenzen zu erwerben.

Im Gegensatz dazu ist die Dokumentation von CoreDX nur die meisten Informationen auf ein paar Seiten mit nur wenigen Beispielen - das ist nicht das, was Sie für einen einfachen Start wollen.

Niedriger Preis

Es ist eine Community-Version von Vortex OpenSlice, aber es unterstützt nur 32/64 bit x86 Linux und 32/64 bit x86 Windows, die für DDS-Anwendungen auf Android bedeutet, müssen Sie ein kommerzielle Version von Connext, OpenSlice oder CoreDX. Die genaue Preisgestaltung hängt immer von Ihren Bedürfnissen ab. Ich kenne das Beispiel von RTI, weil ich sie kontaktiert habe. Sie können nur die Softwarepakete auswählen, die Sie wirklich benötigen, und deshalb zahlen Sie deutlich weniger als die angegebenen 8000 $ oder so. Sie haben auch die Möglichkeit, sich für Forschungs- und Evaluierungslizenzen zu bewerben, die Sie nicht einen einzigen Preis kosten.

Sicherheit

RTI Connext DDS Sicher ist die einzige Antwort, wenn Sie umfangreiche Anforderungen an Sicherheit und Datenverschlüsselung mit DDS haben. Warum? Ganz einfach, weil es derzeit das einzige Produkt ist, das den DDS Secure-Standard von OMG vollständig implementiert. Nur für den Fall, dass Sie es brauchen: es bietet Ihnen wertvolle Funktionalitäten zum Verschlüsseln Ihrer Daten und zum Steuern der Aktionen wie das Lesen/Schreiben von Themen oder das Verbinden von Domänen, die Anwendungen im globalen Datenraum aufnehmen können.

Auf letzte, was über CoreDX CoreDX ist seit ein paar Jahren schon, während OpenSlice und Connext sind reife und anspruchsvolle Produkte, die ihre Fähigkeiten in vielen Hunderten von Projekten bewährt haben. Ich würde mein Geld eher auf einen bewährten Profi als auf einen (vielleicht) aufstrebenden Neuling setzen.

Sie können auch einen Blick auf andere Open-Source-DDS-Implementierungen wie OpenDDS werfen, aber ich persönlich glaube nicht, dass sie Ihren Bedürfnissen entsprechen.

+0

Die für CoreDX DDS auf der Website twinoakscomputing.com verfügbare Dokumentation besteht aus dem Programmierhandbuch, Referenzhandbüchern und Quick-Start-Handbüchern. [Es ist deutlich mehr als ein paar Seiten]. Mehrere Beispiele werden online zur Verfügung gestellt und weitere sind im frei verfügbaren Evaluierungspaket enthalten. CoreDX DDS ist auch mit kostenloser IR & D-Lizenz verfügbar. CoreDX DDS unterstützt auch den vollständigen DDS-Sicherheitsstandard für vollständige Abdeckung von Identifikation, Authentifizierung, Integrität und Vertraulichkeit. CoreDX DDS ist seit 2008 im Handel erhältlich. –

+0

Ich habe die Dokumentation durchgelesen, bevor ich meinen Beitrag schrieb. Was ich sagen wollte, ist, dass die Dokumentationen von OpenSlice und Connext einfach viel detaillierter sind als die von CoreDX. Sie sagten, es gibt mehrere Beispiele, es tut mir leid, aber ich kann dem einfach nicht zustimmen. Es gibt 3 [online] (http://www.twinoakscomputing.com/coredx/examples) und sehr wenige, die mit dem Evaluierungspaket kommen. Diese [Liste] (https://community.rti.com/examples) ist etwas, das man mehrere Beispiele nennen kann. Vielleicht habe ich es verpasst, aber ich habe den Anspruch, DDS Secure nirgendwo in CoreDX-Fakten oder auf seiner Website zu unterstützen, nicht gesehen. – Pete

+1

Danke für die ausführliche Antwort. – Shir

1

CoreDX DDS von Twin Oaks bietet sowohl für C# und Android-Unterstützung. Die Android-Unterstützung umfasst die Java- und C# -Sprachen-APIs. Einige Kunden haben auch CoreDX DDS-basierte Android-Apps entwickelt, die eine C- oder C++ - API verwenden, aber das ist etwas komplizierter. In jedem Fall läuft CoreDX DDS nativ auf der Android-Plattform.

[Vollständige Offenlegung, ich bin mit Twin Oaks Computing verbunden; und deshalb werde ich es unterlassen, die subjektiveren Elemente Ihrer Frage zu kommentieren. Ich will nur sagen, dass ich glaube, CoreDX DDS ist eine ausgezeichnete Wahl für alle vier Dimensionen, die Sie erwähnen.]

+0

Danke. Erstens - ich sah nicht viel Forum und Diskussion darüber im Internet. Es scheint, dass sich weniger Leute damit entwickeln als mit OpenSplice. Kennen Sie Foren von CoreDX? Zweitens - Was ist mit OpenSplice - Nachteile und Profis? – Shir

2

ich RTI Connext DDS oder OpenDDS aussehen würde empfehlen, wir und unsere Kunden nutzen sowohl für verschiedene Projekte einschließlich unserer AXCIOMA Komponenten-Framework .

+2

Ich bevorzuge nicht RTI zu verwenden, weil es sehr teuer ist. Ich suche nach einem billigeren Produkt. – Shir

+1

Die Preisgestaltung von RTI hängt davon ab, was Sie benötigen und welche Garantien Sie für Ihr Projekt benötigen. Es gibt verschiedene Optionen, darunter Open Community Source, Academic und IR & D-Vereinbarungen. Ich kann Ihnen wirklich empfehlen, RTI zu kontaktieren und mit Ihnen Ihre genauen Bedürfnisse zu besprechen. –

Verwandte Themen