In this presentation you will discover eProsima Integration Service, the open-source tool that enables intercommunication of an arbitrary number of protocols that speak different languages.
2. Introduction
Seamlessly integrates incompatible protocols by speaking common representation language
(xTypes) to which types and topics of involved middlewares are translated
Link to repository
3. Dedicated bridge vs IS
IS vs dedicated bridge
● A dedicated bridge puts into communication only
two middlewares.
● IS centralizes the communication so it’s easy to
integrate an arbitrary number of additional protocols,
by simply communicating them with the core.
(for connecting N systems, one needs N bridges
instead of N²)
● Several middlewares are already integrated into
Integration Service: Fast DDS, ROS 2, ROS 1, Fiware,
Websocket, SOME/IP … → each new protocol can be
intercommunicated with any of these once its is bridged
with the core.
4. What is a System Handle?
A System Handle is a plugin that allows a certain middleware or communication protocol to speak the same
language used by the eProsima Integration Service, that is, Extensible and Dynamic Topic Types for DDS (xTypes).
5. Available System Handles
● Fast DDS System Handle
● ROS 2 System Handle
● ROS 1 System Handle
● WebSocket System Handle
● FIWARE System Handle
7. xTypes as a common language for IS
● xTypes is the library to which System Handles convert their own specific data types to interact with
other endpoints using different middlewares which we want to communicate with.
● System Handles must implement conversion libraries to/from xTypes. Example: SOSS-FIWARE.
8. Type definition: user perspective
Two approaches:
● Using C++11 comprehensive API.
● Defining type using IDL
specification and parsing it using
the built-in parser.
14. Documentation and links
● eProsima xtypes open-source implementation of the DDS-XTypes standard.
● Integration Service Documentation, with a detailed description on how to configure and launch
your first Integration Service example, as well as how to create your own SystemHandle.
● IS GitHub repository