5. Vortex OpenSplice
• 分為免費的 Community 版 與 付費的 Enterprise 版
• 兩種版本都實作了DDS1.2 DCPS 與 DDSI 2.1 RTPS 規範
5
• we offer no SLA-based support for the community edition (however please note
that the commercially supported Vortex OpenSplice version utilizes the same
LGPL codebase, yet of a more recent version)
• tools such as the OpenSplice Tuner, OpenSplice Tester, OpenSplice RnR-
Manager are not available with the community edition
• services such as OpenSplice DBMSConnect, OpenSplice RMI and OpenSplice
RTNetworking are not available with the community edition
• federated-deployment (using shared-memory) is not supported with the
community edition
主要差異
From opensplice forum
6. DDS1.2 DCPS vs DDSI 2.1 RTPS
The RTPS was standardized within the OMG as an interoperability wire protocol
for DDS - specifically to let DDS implementations from different vendors
interwork seamlessy. In a sense, you could drive the following parallel, RTPS is
to DDS as GIOP is to CORBA.
Thus it is not by accident that the RTPS "supports" the key DCPS features, but
it was designed to be as such.
6
Linux Kernel 之於 Linux Distribution
TCP 之於 MQTT
RTPS(DDSI) 之於 DCPS
from Angelo
personal view
14. Limitation
• Vortex Lite does not support durable (persistent) Topics, these
are Topics with a durability kind of TRANSIENT or
PERSISTENT.
• SSL/TLS with TCP only, not DTLS support
• TCP lacks Discovery Service function (via vortex cloud or
static biding)
• RTOS support?
14
personal view
21. Composition
• Vortex Cloud is composed of two services: the discovery
service (WAN) and the routing service
• Vortex Cloud can be deployed on public or private clouds
21
NAT bridge UDP<-> UDP UDP<-> TCP
vortex fog and cloud user guide.pdf
23. Composition
• Vortex Fog can be deployed in any subsystem (typically
a LAN) to allow all DDS applications to share data with
other DDS applications in the cloud or in any other
subsystem.
23
vortex fog and cloud user guide.pdf
24. Vortex Fog & Vortex Cloud
JAVA based Daemons
24
vortex fog and cloud user guide.pdf
36. Data Selection
• Read: 讀完不刪
• Take: 讀並刪
35
OpenSplice_DDSTutorial.pdf DDS-Tutorial-Jun2015.pdf
analogy:SMS on SIM Card
37. Sample Selection
• Content
• Filter: Control what gets into Data Reader Cache
• Query: Control what gets out of a Data Reader Cache
• Status
• Sample State
• READ
• NOT_READ
• View State
• NEW
• NOT_NEW
• Instance State
• ALIVE
• NOT_ALIVE_NO_WRITERS
• NOT_ALIVE_DISPOSED
36
OpenSplice_DDSTutorial.pdf DDS-Tutorial-Jun2015.pdf
38. Keyed vs Keyless Topic
• Keyed:
• Class and instance
• Keyless:
• Singleton
37
struct TempSensorType {
short id;
fl
oat temp;
fl
oat hum;
TemperatureScale scale;
};
#pragma keylist TempSensorType id
struct KeylessTempSensorType {
short id;
fl
oat temp;
fl
oat hum;
TemperatureScale scale;
};
#pragma keylist KeylessTempSensorType
keyless
OpenSplice_DDSTutorial.pdf
39. Programming Model
• Message Centric Pub/Sub (two entities)
• receive commands
• generic command parsing
• command handling
• send response commands
• Data Centric Pub/Sub (many many entities)
• command 1-to-1 mapping to topic
• Retain, History(Cache), Filter, Query
38
personal view