************
Why Connext?
************
ROS 2 uses the `Data Distribution Service (DDS) `__
as its underlying communication middleware. ROS 2 shares many concepts with
DDS, such as the following:
* Both use a publish-subscribe communication model.
* Nodes in ROS 2 are equivalent to |DPs| in DDS.
* Messages in ROS 2 are equivalent to samples in DDS.
This means a |CONNEXT| DDS application can interoperate with ROS 2
systems, bringing high performance and full access to DDS Quality of Service
(QoS) settings and capabilities that are used in countless critical systems
around the world.
For an in-depth review of ROS 2, visit
https://docs.ros.org/en/kilted/Concepts.html.
Using |CONNEXT| as your ROS 2 middleware (RMW) layer allows you to use features
unique to *Connext*, including the
`RTI Security Plugins
`_,
`Real-Time WAN Transport
`_,
`Simple Participant Discovery 2.0
`_,
`Admin Console
`_,
`Routing Service
`_,
and more.
This document explains how ROS 2 and |CONNEXT| work together, the relationship
between different ROS 2 distributions and |CONNEXT| versions, and the factors
that influence compatibility:
* :numref:`ros-connextrmw-install` and :numref:`ros-connextrmw-use` describe
how to use ROS 2 with the |CONNEXT| RMW.
* :numref:`getting-started-connext` and
:numref:`enable-connext750-index` describe how to use |CONNEXT| standalone
with ROS 2, regardless of the RMW that your ROS 2 application uses.