Wie durch einen früheren Beitrag in diesem Thread hingewiesen-out, eine der Optionen ist OpenSplice DDS, welche Implementierung des OMG DDS Standard (der gleiche Standard implementiert durch NDDS) ein Open Source .
- Leistung
- Rich-Unterstützung für QoS (Persistenz, Fehlertoleranz, Rechtzeitigkeit, etc.)
:
Die wichtigsten Vorteile der OpenSplice DDS über die andere Middleware können Sie erwägen, wie zusammengefasst werden
- Daten Centricity (zB Möglichkeit der Abfrage und Filterung von Datenströmen)
Etwas, das ich verstehen möchte, was mit IDL Ihre Probleme sind. DDS verwendet IDL als sprachunabhängige Methode zum Festlegen von Benutzerdatentypen. DDS ist jedoch nicht auf IDL beschränkt, sondern Sie können XML verwenden. Der Vorteil Ihrer Datentypen spezifizieren, und Entkoppeln ihre Darstellung von einer bestimmten Programmiersprache ist, dass die Middleware kann:
(1) nimmt von Ihnen weg, die Last der Serialisierung Daten,
(2) erzeugen sehr Zeit/Raum effizient Serialisierung
(3) sicherzustellen, End-to-End-Typsicherheit,
(4) ermöglichen, die Inhaltsfilterung auf dem gesamten Datentyp (nicht nur die Header wie in JMS) und
(5) enabl Interoperabilität zwischen den Programmiersprachen (z.B. Java, C/C++, C# usw.)
Abhängig von dem System oder der Anwendung, die Sie entwickeln, sind einige der oben genannten Eigenschaften möglicherweise nicht relevant/relevant. In diesem Fall können Sie einfach einen, ein paar "DDS Type" generieren, der der Inhaber Ihrer serialisierten Daten ist.
Wenn Sie an JMS denken, bietet es Ihnen 5 verschiedene Thementypen, die Sie zum Senden Ihrer Daten verwenden können. Mit DDS können Sie das gleiche tun, aber Sie haben die Flexibilität, genau die Thematypen zu definieren.
Schließlich können Sie überprüfen, this blog entry auf Scala und DDS für eine längere Diskussion darüber, warum Typen und statische Typisierung sind gut, vor allem in verteilten Systemen.
-AC
Ich habe immer gedacht, dass die Daten XML sein sollten, so ist es teilweise vordefiniert (über ein Schema), aber nicht an eine Sprache gebunden. – David