.. include:: vars.rst .. _section-sdk: ************************ Software Development Kit ************************ You can extend the out-of-the-box behavior of |RS| through its *Software Development Kit* (SDK). The SDK provides a set of public interfaces that allow you to control |RS| execution as well as extend its capabilities. The SDK is divided in the following modules: - |RTI_RS| Service API: |br| This module offers a set of APIs that allow you to instantiate |RS| instances in your application. This allows you to run |RS| as a library, as described in :ref:`section-routing-service-library`. - |RTI_RS| Adapter API: |br| |ADAPTER|\s are pluggable components that allow |RS| to consume and produce data for different data domains (e.g. |CONNEXT|, MQTT, raw Socket, etc.). This module offers a set of pluggable APIs to develop custom |ADAPTER|\s, which you can use through shared libraries or through the *Service API*. By default, |RS| is distributed with a builtin DDS adapter that is part of the service library. - |RTI_RS| Processor API: |br| |PROCESSOR|\s are event-oriented pluggable components that allow you to control the forwarding process that occurs within a |ROUTE|. This module offers a set of pluggable APIs to develop custom |PROCESSOR|\s, which you can use through shared libraries or through the *Service API*. - |RTI_RS| Transformation API: |br| |TRANSF|\s are data-oriented pluggable components that allow you to perform conversions of the representation and content of the data that goes through |RS|. This module offers a set of pluggable APIs to develop custom |TRANSF|\s, which you can use through shared libraries or through the Service API. :numref:`TableSdkDocumentation` shows which modules are available for each API, along with links to the API documentation. .. list-table:: API Documentation for the SDK :name: TableSdkDocumentation :header-rows: 1 * - Language API - Available Modules * - :link_router_sdk_api_c:`RTI Routing Service C API <>` - - Service - Adapter - Processor - Transformation * - :link_router_sdk_api_cpp:`RTI Routing Service C++ API <>` - - Service - Adapter - Processor - Transformation * - :link_router_sdk_api_java:`RTI Routing Service Java API <>` - - Service - Adapter