.. include:: vars.rst .. _section-introduction: ************ Introduction ************ |RTI_RS_TM|, is an out-of-the-box solution that allows developers to rapidly scale and integrate real-time systems that are disparate or geographically dispersed. It scales |RTI_CONNEXT_TM| applications across domains, LANs and WANs, including firewall and NAT traversal. It also supports DDS-to-DDS bridging by allowing you to make transformations in the data along the way. This allows unmodified DDS applications to communicate even if they were developed using incompatible interface definitions. This is often the case when integrating new and legacy applications or independently developed systems. Using |RTI_RS| *Adapter SDK*, you can extend |RS| to interface with non-DDS systems using off-the-shelf or custom-developed adapters. Traditionally, |CONNEXT| applications can only communicate with applications in the same domain. With |RS|, you can send and receive data across domains. You can even transform and filter the data along the way! Not only can you change the actual data values, you can change the data’s type. So the sending and receiving applications don’t even need to use the same data structure. You can also control which data is sent by using allow and deny lists. .. figure:: static/RouterIntro.svg :figwidth: 90 % :alt: Routing Service Overview :name: FigureRouterIntro :align: center Routing Service Overview Simply set up |RS| to pass data from one domain to another and specify any desired data filtering and transformations. No changes are required in the |CONNEXT| applications. Key benefits of |RS|: * It can significantly reduce the time and effort spent integrating and scaling |CONNEXT| applications across Wide Area Networks and Systems-of-Systems. * With |RS|, you can build modular systems out of existing systems. Data can be contained in private domains within subsystems and you can designate that only certain "global topics" can be seen across domains. The same mechanism controls the scope of discovery. Both application-level and discovery traffic can be scoped, facilitating scalable designs. * |RS| provides secure deployment across multiple sites. You can partition networks and protect them with firewalls and NATS and precisely control the flow of data between the network segments. * It allows you to manage the evolution of your data model at the subsystem level. You can use |RS| to transform data on the fly, changing topic names, type definitions, QoS, etc., seamlessly bridging different generations of topic definitions. * |RS| provides features for development, integration and testing. Multiple sites can each locally test and integrate their core application, expose selected topics of data, and accept data from remote sites to test integration connectivity, topic compatibility and specific use-cases. * It connects remotely to live, deployed systems so you can perform live data analytics, fault condition analysis, and data verification. * |RTI_RS| *Adapter SDK* allows you to quickly build and deploy bridges to integrate DDS and non-DDS systems. This can be done in a fraction of the time required to develop completely custom solutions. Bridges automatically inherit advanced DDS capabilities, including automatic discovery of applications; data transformation and filtering; data lifecycle management and support across operating systems; programming languages and network transports. .. figure:: static/RouterIntroAdapter.svg :figwidth: 60 % :alt: Routing Service Adapter Overview :name: FigureRouterIntroAdapter :align: center Quickly build and deploy bridges between natively incompatible protocols and technologies using |CONNEXT| .. _section-Introduction-HowToRead: How To Read This Manual ======================= The content of this manual assumes you are familiar with |CONNEXT| concepts. While you can read any section independently, if you are new to |RS| we recommend starting with the :ref:`section-Tutorials` to get an overview of what this application can do. Then read the :ref:`section-CoreConcepts` for deeper knowledge of |RS| specific concepts. You can then refer to the :ref:`section-Configuration` to start defining and customizing your |RS|. You can read any of the other sections as you see fit based on what your application or system needs are. .. _section-Introduction-Paths: Paths Mentioned in Documentation ================================ This documentation refers to: - ```` This refers to the installation directory for |CONNEXT|. The default installation paths are: - macOS® systems: ``/Applications/rti_connext_dds-version`` - Linux® systems, non-root user: ``/home/your user name/rti_connext_dds-version`` - Linux systems, root user: ``/opt/rti_connext_dds-version`` - Windows® systems, user without Administrator privileges: ``\rti_connext_dds-version`` - Windows systems, user with Administrator privileges: ``C:\Program Files\rti_connext_dds-version`` You may also see ``$NDDSHOME`` or ``%NDDSHOME%``, which refers to an environment variable set to the installation path. Whenever you see ```` used in a path, replace it with your installation path. **Note for Windows Users:** When using a command prompt to enter a command that includes the path ``C:\Program Files`` (or any directory name that has a space), enclose the path in quotation marks. For example: ``“C:\Program Files\rti_connext_dds-version\bin\rticlouddiscoveryservice.bat”`` Or if you have defined the ``NDDSHOME`` environment variable: ``"%NDDSHOME%\bin\rticlouddiscoveryservice.bat"`` - ```` By default, examples are copied into your home directory the first time you run *RTI Launcher* or any script in ``/bin``. This document refers to the location of the copied examples as ````. Wherever you see ````, replace it with the appropriate path. Default path to the examples: - macOS systems: ``/Users/your user name/rti_workspace/version/examples`` - Linux systems: ``/home/your user name/rti_workspace/version/examples`` - Windows systems: ``your Windows documents folder\rti_workspace\version\examples``. Where ``'your Windows documents folder'`` depends on your version of Windows. For example, on Windows 10 systems, the folder is ``C:\Users\your user name\Documents``. Files Mentioned in Documentation ================================ .. only:: html .. list-table:: Files mentioned in the documentation :name: TableFileList :widths: 35 65 :header-rows: 1 * - File - Description * - :download:`ServiceCommon.idl <../resource/idl/ServiceCommon.idl>` - Definitions of infrastructure types. * - :download:`ServiceAdmin.idl <../resource/idl/ServiceAdmin.idl>` - Definition of remote administration types. * - :download:`RoutingServiceMonitoring.idl <../resource/idl/RoutingServiceMonitoring.idl>` - Definition of monitoring types specific to |RS|. .. only:: pdf .. list-table:: Files mentioned in the documentation :name: TableFileListPdf :widths: 35 65 :header-rows: 1 * - File - Description * - ServiceCommon.idl in /resource/idl/ServiceCommon.idl - Definitions of infrastructure types. * - ServiceAdmin.idl in /resource/idl/ServiceAdmin.idl - Definition of remote administration types. * - RoutingServiceMonitoring.idl in /resource/idl/RoutingServiceMonitoring.idl - Definition of monitoring types specific to |RS|.