SlideShare a Scribd company logo
1 of 37
eProsima RPC over DDS
OMG Technical Meeting, Berlin
18/06/2013
Jaime Martin Losa
CEO eProsima
JaimeMartin@eProsima.com
+34 607 91 37 45 www.eProsima.com
Agenda
 eProsima RPC over DDS
– RPC over DDS
 Introduction
 Performance
 Standarization
 Hands on Example
 Interoperability Demo!
 About eProsima
 eProsima Success Cases
eProsima RPC
over DDS
DDS
DDS uses the concept of Global Data Space. In this Space we define
topics of data, and the publishers publish samples of these topics. DDS
distributes these samples to all the subscribers of those topics. Any node
can be a publisher or a subscriber.
No Remote Procedure Calls
RPC over DDS
 DDS implements a pub/sub model, but no a
direct way to do Remote Procedure Calls (RPC)
 DDS Can be used though for RPC with some
effort:
– We could create a couple of topics, one for the in
parameters of the function we want to call, and the
other one for the out parameters, and then
implement the client-server interaction through a
couple of pub-sub.
Client-Server comms over DDS
 myService.idl:
interface myService{
funReturnValueDataType Fun(DataType1 parameter1,
DataType2 parameter2…);
}
Client-Server comms over DDS:
Manual Steps
 Common:
– Client main, Server main.
– Client and Server code for data flow management, initialization
and setup of DDS entities, server threading…
 For each operation:
– Request and Reply topics
– Client and Server code to manage function calls/return-values,
parameters...
Client-Server comms over DDS:
Automatic (using eProsima RPC over DDS)
 A parser creates all the stuff you need.
 For each operation, just implement the behavior.
eProsima RPC: Advantages
 Allows to the developer focus in the development of his
application.
 Approach similar to Apache Thrift, but easier to use and
with configurable QoS
 Transparent.
 Multithreaded Server.
 Automatic Generation of:
– Client and Server Code.
– Request and Reply Topic
– Development enviroment files: Visual Studio
projects or makefiles
eProsima RPC: Features
 Open Source: LGPL
– Support available
 Main Features:
– Windows and Linux support (32 and 64 bits)
 Project and makefile generation for VS2010 & gcc 4.x
– Synchronous, asynchronous and one way operations
– Different Server threading models
 Single threaded, thread by request and thread pool
– Internet enabled:
 udp (unicast/multicast) and TCP support
– 100% Standard: ISO C++ and OMG DDS
 RTI DDS and OpenDDS supported
Performance vs Web Services
(Throughput)
0
100
200
300
400
500
600
700
10 100 200 300 400 500
Requests/sec
Request Payload (bytes)
eProsima RPC vs Web Services (25 Clients)
eProsima RPC
Web Services
Performance vs Apache Thrift
(One to One Latency)
0
100
200
300
400
500
600
700
100 250 500
Latency(MicroSeconds)
Request/Reply Size (bytes)
One to One Latency
eProsima RPC over DDS
Apache Thrift
Performance vs Apache Thrift
(Many to One Latency)
0
200
400
600
800
1000
1200
1400
100 250 500
Latency(MicroSeconds)
Request/Reply Size (bytes)
Four to One Latency
eProsima RPC over DDS
Apache Thrift
Standarization
 OMG Standard ongoing
– RPC for DDS RFP (public)
– eProsima, RTI, PrismTech
– Revised Submission : May, 20, 2013
– To discuss in this OMG meeting
 June 17,18 – Berlin
 See www.eprosima.com for more info.
Hands on: A First Example
 Install the software:
– DDS
 http://www.rti.com/downloads/connext.html
– eProsima RPC over DDS
 http://www.eprosima.com/index.php/en/downloads-all
 Windows and Linux (32 & 64) supported
Hands On: Calculator
 Create Calculator.idl
 Generate Interface Support :
///////////////////////////
// KIARA Webinar Example //
///////////////////////////
interface Calculator {
float sum (in float x,in float y); // x+y
float substract (in float x,in float y); // x-y
float multiply (in float x,in float y); // x*y
};
rpcddsgen -ppDisable -example x64Win64VS2010 Calculator.idl
Hands On: Calculator
 Edit the Example:
– Client.cxx
– CalculatorServerImpl.cxx
// Call to remote procedure "sum".
try
{
sum_ret = proxy->sum(2, 2);
std::cout << “Server Says 2+2=" << sum_ret << std::endl;
}
DDS_Float CalculatorServerImpl::sum(/*in*/ DDS_Float x, /*in*/ DDS_Float y)
{
DDS_Float sum_ret = 0;
sum_ret = x+y;
return sum_ret;
}
Hands On: Calculator
 Run the Client and the Server
– Same or different connected machines
– Remember to disable/setup firewall
D:KIARA_Webinar_Examplesmathobjsx64Win64VS2010>CalculatorClient
Server says 2+2=4
D:KIARA_Webinar_Examplesmathobjsx64Win64VS2010>
Interoperability Demo
CalculatorServer
(Linux, OpenDDS)
CalculatorServer
(Linux, RTI Connext DDS)
CalculatorClient
(Windows, OpenDD
S)
CalculatorClient
(Windows,
RTI Connext DDS)
RPC over DDS
 Features Summary:
– Easy RPC framework
– High Perfomance
– Windows/Linux Support
– 100% Standards Based
– Open Source: LGPL
 Support Available
– Interoperable!
About eProsima
About eProsima
 Experts on middleware, focused on DDS.
 OMG Members.
 RTI Services Partner and Distributor.
About eProsima: Products And Services
 eProsima Products:
– DDS based: Plugins, add-ons, adaptors, etc
 Services:
– Communication modules, App development, DDS
training, Support.
 R&D:
– R&D Projects with enterprises and universities.
 Quality: ISO 9001
– Design, Development, Marketing and Support of
Software.
Customers (I)
 Amper Programas:
– BMS
– Simacet (Main Spanish C2 System)
 Cassidian:
– UAVs - Neuron, Atlante
 Ground Station Comm Server
– Comfut
 INDRA:
– Defense (BMS, UAV PASI)
– Air Traffic Control,
– SESAR, ATC Interoperability
– Energy (InSpeed)
 Spanish Army:,
– IDT :Tactical Data Interface
Customers (II)
 Isdefe
 Spanish Army: JCISAT, DGAM
 CATEC-FADA: R&D Aerospatial
 Santa Barbara: Armoured Vehicles
 RTI
 GMV
Customers (III)
 Tecnobit: COSMOS, Reserved Projects.
 IKERLAN: R&D.
 Navantia: F105 (Aegis)
 Boeing: Atlantida, Swim suit
eProsima Products.- Index
 eProsima RPC over DDS:
– Remote procedure calls framework over DDS.
 eProsima Fast Buffers.
– Serialization engine. Now in beta.
 eProsima DDS Non-Intrusive Recorder.
– Stores DDS communication history in a data base.
Ongoing Project
 FP7: KIARA, Future Internet Middleware
– FI-WARE 1st open call
– Based on eProsima RPC over DDS & OMG DDS
– Lots of new features:
 Improved IDL
 Direct Use of Application native types
 New formats of marshalling (SOAP, RestFul)
 Web Services compatibility
 Protocol negotiation
 Extended transport support
 High performance dispatching agent (RPC)
eProsima
Success Cases
RTI DDS DIL Plugins:
Disconnected and Intermitent Links
 eProsima developed the
plugins for the Spanish
Army Tactical Radios, and
later were adquired by
RTI.
 Allow the use of DDS in
very low bandwidth
links, such as Tactical
Radios and Satellite.
– Tested from 2400 bps
Tactical Data Interface: Spanish Army
 C2 Interoperability Comm
layer:
– Tactical Radios
 From 2400bps
– Satellite
 Mandated for all the
Spanish Army C2
systems.
– Already implemented in the
their main C2 systems
eProsima developed the army C2 comm layer using RTI Connext DDS
optimized for low bandwidth enviroments. The project included the design of
the Data Model and QoS requisites for the Army.
C2 Systems: INDRA & Amper
 eProsima Provides a
DDS based comm
layer for INDRA and
Amper C2 Systems.
eProsima implemented the mandated Spanish Army Tactical Data Interface for
Simacet (Main Spanish Army C2 System, Amper) and BMS (Tanks C2
System, INDRA & Amper)
SESAR - INDRA ATC
 eProsima provides
middleware research and
prototyping for ATC
Interoperability
 Among the different
middleware technologies
studied, DDS and WS are
the SESAR proposed
technologies for ATC
interoperability.
Cassidian: nEURon and Atlante GS
 eProsima provides
the comm layer for
the ground station
comm server.
eProsima Non-Intrusive Recorder is used to record the
communications for later analisys.
FI-WARE Middleware
 eProsima has been
selected to develop
Future Internet
Middleware in the FI-
WARE programme.
 DDS will be the core
technology
Fi-WARE is a consortium of over more than 30 companies and universities
including Telefonica, Siemens, SAP, Atos…
eProsima will partner in this project with the German Universities DKFI and CISPA
and the Swiss ZHAW.
Remote
Application
Client /
Server,
Publisher /
Subscriber
Application
API / Data Access
Marshalling
Transport
Mechanis
ms
Wire- Protocols
Transport Protocols UDPTCP
TLS, DT
LS
Shared
Memory
Backplane/
Fabric
XML JSON CDR
SDN
Plugin
Data Transfer
Compile time or
Embedded Runtime
Compiler/Interpreter
Data / Function
Mapping
Declarative
Data/Function
descritption
Security /
QoS Policy
Security / QoS
Parameter
Function
Stub
Function
Skleleton
QoS
Data
Writer
Data
Reader
-
DDS /
RTPS
REST /
HTTP
RPC Pub/Sub
Negotiation
Publisher Subscriber
RPC
Server
RPC
Client
Prepare Initialize
IDL
Parser
• IDL
based
on OMG
IDL
• WADL
Security
Dispatching
I2ND GE
FI-WARE Middleware: DDS Based
Thank you!
Jaime Martin Losa
CTO eProsima
JaimeMartin@eProsima.com
+34 607 91 37 45 www.eProsima.com

More Related Content

What's hot

Data Networking Concepts
Data Networking ConceptsData Networking Concepts
Data Networking ConceptsPeter R. Egli
 
Advanced network experiments in FED4FIRE
Advanced network experiments in FED4FIREAdvanced network experiments in FED4FIRE
Advanced network experiments in FED4FIREARCFIRE ICT
 
FIWARE Robotics: ROS2 & micro-ROS
FIWARE Robotics: ROS2 & micro-ROSFIWARE Robotics: ROS2 & micro-ROS
FIWARE Robotics: ROS2 & micro-ROSJaime Martin Losa
 
Congestion Control in Recursive Network Architectures
Congestion Control in Recursive Network ArchitecturesCongestion Control in Recursive Network Architectures
Congestion Control in Recursive Network ArchitecturesICT PRISTINE
 
Haystack Integration of NFC and DASH7
Haystack Integration of NFC and DASH7Haystack Integration of NFC and DASH7
Haystack Integration of NFC and DASH7Haystack Technologies
 
LF_DPDK17_Integrating and using DPDK with Open vSwitch
LF_DPDK17_Integrating and using DPDK with Open vSwitchLF_DPDK17_Integrating and using DPDK with Open vSwitch
LF_DPDK17_Integrating and using DPDK with Open vSwitchLF_DPDK
 
LF_DPDK_Mellanox bifurcated driver model
LF_DPDK_Mellanox bifurcated driver modelLF_DPDK_Mellanox bifurcated driver model
LF_DPDK_Mellanox bifurcated driver modelLF_DPDK
 
RINA Tutorial at ETSI ISG NGP#3
RINA Tutorial at ETSI ISG NGP#3RINA Tutorial at ETSI ISG NGP#3
RINA Tutorial at ETSI ISG NGP#3ARCFIRE ICT
 
Rina acc-icc16-stein
Rina acc-icc16-steinRina acc-icc16-stein
Rina acc-icc16-steinICT PRISTINE
 
LF_DPDK17_Accelerating P4-based Dataplane with DPDK
LF_DPDK17_Accelerating P4-based Dataplane with DPDKLF_DPDK17_Accelerating P4-based Dataplane with DPDK
LF_DPDK17_Accelerating P4-based Dataplane with DPDKLF_DPDK
 
IRATI: an open source RINA implementation for Linux/OS
IRATI: an open source RINA implementation for Linux/OSIRATI: an open source RINA implementation for Linux/OS
IRATI: an open source RINA implementation for Linux/OSICT PRISTINE
 
Eucnc rina-tutorial
Eucnc rina-tutorialEucnc rina-tutorial
Eucnc rina-tutorialICT PRISTINE
 
3. RINA use cases, results, benefits
3. RINA use cases, results, benefits3. RINA use cases, results, benefits
3. RINA use cases, results, benefitsARCFIRE ICT
 
TRUST BASED ROUTING METRIC FOR RPL ROUTING PROTOCOL IN THE INTERNET OF THINGS
TRUST BASED ROUTING METRIC FOR RPL ROUTING PROTOCOL IN THE INTERNET OF THINGSTRUST BASED ROUTING METRIC FOR RPL ROUTING PROTOCOL IN THE INTERNET OF THINGS
TRUST BASED ROUTING METRIC FOR RPL ROUTING PROTOCOL IN THE INTERNET OF THINGSpijans
 
Pristine rina-tnc-2016
Pristine rina-tnc-2016Pristine rina-tnc-2016
Pristine rina-tnc-2016ICT PRISTINE
 
LF_DPDK17_Power Aware Packet Processing
LF_DPDK17_Power Aware Packet ProcessingLF_DPDK17_Power Aware Packet Processing
LF_DPDK17_Power Aware Packet ProcessingLF_DPDK
 
LF_DPDK17_GRO/GSO Libraries: Bring Significant Performance Gains to DPDK-base...
LF_DPDK17_GRO/GSO Libraries: Bring Significant Performance Gains to DPDK-base...LF_DPDK17_GRO/GSO Libraries: Bring Significant Performance Gains to DPDK-base...
LF_DPDK17_GRO/GSO Libraries: Bring Significant Performance Gains to DPDK-base...LF_DPDK
 

What's hot (20)

Data Networking Concepts
Data Networking ConceptsData Networking Concepts
Data Networking Concepts
 
Rpl2016
Rpl2016Rpl2016
Rpl2016
 
Advanced network experiments in FED4FIRE
Advanced network experiments in FED4FIREAdvanced network experiments in FED4FIRE
Advanced network experiments in FED4FIRE
 
FIWARE Robotics: ROS2 & micro-ROS
FIWARE Robotics: ROS2 & micro-ROSFIWARE Robotics: ROS2 & micro-ROS
FIWARE Robotics: ROS2 & micro-ROS
 
Congestion Control in Recursive Network Architectures
Congestion Control in Recursive Network ArchitecturesCongestion Control in Recursive Network Architectures
Congestion Control in Recursive Network Architectures
 
Haystack Integration of NFC and DASH7
Haystack Integration of NFC and DASH7Haystack Integration of NFC and DASH7
Haystack Integration of NFC and DASH7
 
LF_DPDK17_Integrating and using DPDK with Open vSwitch
LF_DPDK17_Integrating and using DPDK with Open vSwitchLF_DPDK17_Integrating and using DPDK with Open vSwitch
LF_DPDK17_Integrating and using DPDK with Open vSwitch
 
LF_DPDK_Mellanox bifurcated driver model
LF_DPDK_Mellanox bifurcated driver modelLF_DPDK_Mellanox bifurcated driver model
LF_DPDK_Mellanox bifurcated driver model
 
RINA Tutorial at ETSI ISG NGP#3
RINA Tutorial at ETSI ISG NGP#3RINA Tutorial at ETSI ISG NGP#3
RINA Tutorial at ETSI ISG NGP#3
 
Rina acc-icc16-stein
Rina acc-icc16-steinRina acc-icc16-stein
Rina acc-icc16-stein
 
LF_DPDK17_Accelerating P4-based Dataplane with DPDK
LF_DPDK17_Accelerating P4-based Dataplane with DPDKLF_DPDK17_Accelerating P4-based Dataplane with DPDK
LF_DPDK17_Accelerating P4-based Dataplane with DPDK
 
IRATI: an open source RINA implementation for Linux/OS
IRATI: an open source RINA implementation for Linux/OSIRATI: an open source RINA implementation for Linux/OS
IRATI: an open source RINA implementation for Linux/OS
 
Eucnc rina-tutorial
Eucnc rina-tutorialEucnc rina-tutorial
Eucnc rina-tutorial
 
3. RINA use cases, results, benefits
3. RINA use cases, results, benefits3. RINA use cases, results, benefits
3. RINA use cases, results, benefits
 
L2 tp
L2 tpL2 tp
L2 tp
 
TRUST BASED ROUTING METRIC FOR RPL ROUTING PROTOCOL IN THE INTERNET OF THINGS
TRUST BASED ROUTING METRIC FOR RPL ROUTING PROTOCOL IN THE INTERNET OF THINGSTRUST BASED ROUTING METRIC FOR RPL ROUTING PROTOCOL IN THE INTERNET OF THINGS
TRUST BASED ROUTING METRIC FOR RPL ROUTING PROTOCOL IN THE INTERNET OF THINGS
 
Pristine rina-tnc-2016
Pristine rina-tnc-2016Pristine rina-tnc-2016
Pristine rina-tnc-2016
 
How To Triple The Range of LoRa
How To Triple The Range of LoRaHow To Triple The Range of LoRa
How To Triple The Range of LoRa
 
LF_DPDK17_Power Aware Packet Processing
LF_DPDK17_Power Aware Packet ProcessingLF_DPDK17_Power Aware Packet Processing
LF_DPDK17_Power Aware Packet Processing
 
LF_DPDK17_GRO/GSO Libraries: Bring Significant Performance Gains to DPDK-base...
LF_DPDK17_GRO/GSO Libraries: Bring Significant Performance Gains to DPDK-base...LF_DPDK17_GRO/GSO Libraries: Bring Significant Performance Gains to DPDK-base...
LF_DPDK17_GRO/GSO Libraries: Bring Significant Performance Gains to DPDK-base...
 

Viewers also liked

Những câu chuyện chưa kể
Những câu chuyện chưa kểNhững câu chuyện chưa kể
Những câu chuyện chưa kểCCIHP
 
Mi ideal vacation in london england
Mi ideal vacation in london englandMi ideal vacation in london england
Mi ideal vacation in london englandIvan Moreno
 
Effective Service Delivery - Streamlining Your Workflows
Effective Service Delivery - Streamlining Your WorkflowsEffective Service Delivery - Streamlining Your Workflows
Effective Service Delivery - Streamlining Your WorkflowsRonnie Parisella
 
Autotask how to stop being a whiner 2013
Autotask how to stop being a whiner 2013Autotask how to stop being a whiner 2013
Autotask how to stop being a whiner 2013Ronnie Parisella
 
Presentacion of futue goals
Presentacion of futue goalsPresentacion of futue goals
Presentacion of futue goalsDaniela Jimenez
 
COMMUNICATING VALUE
COMMUNICATING VALUECOMMUNICATING VALUE
COMMUNICATING VALUEAlchemedia
 

Viewers also liked (17)

Music in English
Music in EnglishMusic in English
Music in English
 
Presentation
PresentationPresentation
Presentation
 
futue goals
 futue goals futue goals
futue goals
 
Những câu chuyện chưa kể
Những câu chuyện chưa kểNhững câu chuyện chưa kể
Những câu chuyện chưa kể
 
Mi ideal vacation in london england
Mi ideal vacation in london englandMi ideal vacation in london england
Mi ideal vacation in london england
 
Startup Scene in Romania
Startup Scene in RomaniaStartup Scene in Romania
Startup Scene in Romania
 
Effective Service Delivery - Streamlining Your Workflows
Effective Service Delivery - Streamlining Your WorkflowsEffective Service Delivery - Streamlining Your Workflows
Effective Service Delivery - Streamlining Your Workflows
 
Galapresentationtranslocal
GalapresentationtranslocalGalapresentationtranslocal
Galapresentationtranslocal
 
Cape Farewell - Floating Lab
Cape Farewell - Floating LabCape Farewell - Floating Lab
Cape Farewell - Floating Lab
 
Glosario BD
Glosario BDGlosario BD
Glosario BD
 
Gala presentation 29.05.13
Gala presentation 29.05.13Gala presentation 29.05.13
Gala presentation 29.05.13
 
Autotask how to stop being a whiner 2013
Autotask how to stop being a whiner 2013Autotask how to stop being a whiner 2013
Autotask how to stop being a whiner 2013
 
Monsterhunter
MonsterhunterMonsterhunter
Monsterhunter
 
Presentacion of futue goals
Presentacion of futue goalsPresentacion of futue goals
Presentacion of futue goals
 
COMMUNICATING VALUE
COMMUNICATING VALUECOMMUNICATING VALUE
COMMUNICATING VALUE
 
Eliava Group/GeoAIR for GALA
Eliava Group/GeoAIR for GALAEliava Group/GeoAIR for GALA
Eliava Group/GeoAIR for GALA
 
Loctite Instant-Adhesives
Loctite Instant-AdhesivesLoctite Instant-Adhesives
Loctite Instant-Adhesives
 

Similar to eProsima RPC over DDS - OMG June 2013 Berlin Meeting

Fast RTPS Workshop at FIWARE Summit 2018
Fast RTPS Workshop at FIWARE Summit 2018Fast RTPS Workshop at FIWARE Summit 2018
Fast RTPS Workshop at FIWARE Summit 2018Jaime Martin Losa
 
Fast RTPS: Programming with the Default Middleware for Robotics Adopted in ROS2
Fast RTPS: Programming with the Default Middleware for Robotics Adopted in ROS2Fast RTPS: Programming with the Default Middleware for Robotics Adopted in ROS2
Fast RTPS: Programming with the Default Middleware for Robotics Adopted in ROS2Jaime Martin Losa
 
FIWARE Global Summit - Fast RTPS: Programming with the Default middleware for...
FIWARE Global Summit - Fast RTPS: Programming with the Default middleware for...FIWARE Global Summit - Fast RTPS: Programming with the Default middleware for...
FIWARE Global Summit - Fast RTPS: Programming with the Default middleware for...FIWARE
 
Micro XRCE-DDS: Bringing DDS into microcontrollers
Micro XRCE-DDS: Bringing DDS into microcontrollersMicro XRCE-DDS: Bringing DDS into microcontrollers
Micro XRCE-DDS: Bringing DDS into microcontrollerseProsima
 
V.S.VamsiKrishna
V.S.VamsiKrishnaV.S.VamsiKrishna
V.S.VamsiKrishnavamsisvk
 
FIWARE Wednesday Webinars - The Use of DDS Middleware in Robotics (Part 1)
FIWARE Wednesday Webinars - The Use of DDS Middleware in Robotics (Part 1)FIWARE Wednesday Webinars - The Use of DDS Middleware in Robotics (Part 1)
FIWARE Wednesday Webinars - The Use of DDS Middleware in Robotics (Part 1)FIWARE
 
What is expected from Chief Cloud Officers?
What is expected from Chief Cloud Officers?What is expected from Chief Cloud Officers?
What is expected from Chief Cloud Officers?Bernard Paques
 
FIWARE Wednesday Webinars - The Use of DDS Middleware in Robotics (Part 2)
FIWARE Wednesday Webinars - The Use of DDS Middleware in Robotics (Part 2)FIWARE Wednesday Webinars - The Use of DDS Middleware in Robotics (Part 2)
FIWARE Wednesday Webinars - The Use of DDS Middleware in Robotics (Part 2)FIWARE
 
WebRTC Webinar & Q&A - Sumilcast Standards & Implementation
WebRTC Webinar & Q&A - Sumilcast Standards & ImplementationWebRTC Webinar & Q&A - Sumilcast Standards & Implementation
WebRTC Webinar & Q&A - Sumilcast Standards & ImplementationAmir Zmora
 
Fast DDS Features & Tools
Fast DDS Features & ToolsFast DDS Features & Tools
Fast DDS Features & ToolseProsima
 
System integration in offshore supply vessels – how we applied DDS and redefi...
System integration in offshore supply vessels – how we applied DDS and redefi...System integration in offshore supply vessels – how we applied DDS and redefi...
System integration in offshore supply vessels – how we applied DDS and redefi...Real-Time Innovations (RTI)
 
PLNOG 17 - Andrzej Jeruzal - Dell Networking OS10: sieciowy system operacyjny...
PLNOG 17 - Andrzej Jeruzal - Dell Networking OS10: sieciowy system operacyjny...PLNOG 17 - Andrzej Jeruzal - Dell Networking OS10: sieciowy system operacyjny...
PLNOG 17 - Andrzej Jeruzal - Dell Networking OS10: sieciowy system operacyjny...PROIDEA
 
Advance Java Programming( CM5I) 4. Networking Basics
Advance Java Programming( CM5I) 4. Networking BasicsAdvance Java Programming( CM5I) 4. Networking Basics
Advance Java Programming( CM5I) 4. Networking BasicsPayal Dungarwal
 
How To Use Kafka and Druid to Tame Your Router Data (Rachel Pedreschi and Eri...
How To Use Kafka and Druid to Tame Your Router Data (Rachel Pedreschi and Eri...How To Use Kafka and Druid to Tame Your Router Data (Rachel Pedreschi and Eri...
How To Use Kafka and Druid to Tame Your Router Data (Rachel Pedreschi and Eri...confluent
 
How To Use Kafka and Druid to Tame Your Router Data (Rachel Pedreschi, Imply ...
How To Use Kafka and Druid to Tame Your Router Data (Rachel Pedreschi, Imply ...How To Use Kafka and Druid to Tame Your Router Data (Rachel Pedreschi, Imply ...
How To Use Kafka and Druid to Tame Your Router Data (Rachel Pedreschi, Imply ...confluent
 
illustro Overview - z/IPMon Introduction
illustro Overview - z/IPMon Introductionillustro Overview - z/IPMon Introduction
illustro Overview - z/IPMon Introductionillustro
 
Introduction to DDS
Introduction to DDSIntroduction to DDS
Introduction to DDSRick Warren
 
Web Services and Devices Profile for Web Services (DPWS)
Web Services and Devices Profile for Web Services (DPWS)Web Services and Devices Profile for Web Services (DPWS)
Web Services and Devices Profile for Web Services (DPWS)Jorgen Thelin
 

Similar to eProsima RPC over DDS - OMG June 2013 Berlin Meeting (20)

Fast RTPS Workshop at FIWARE Summit 2018
Fast RTPS Workshop at FIWARE Summit 2018Fast RTPS Workshop at FIWARE Summit 2018
Fast RTPS Workshop at FIWARE Summit 2018
 
Fast RTPS: Programming with the Default Middleware for Robotics Adopted in ROS2
Fast RTPS: Programming with the Default Middleware for Robotics Adopted in ROS2Fast RTPS: Programming with the Default Middleware for Robotics Adopted in ROS2
Fast RTPS: Programming with the Default Middleware for Robotics Adopted in ROS2
 
FIWARE Global Summit - Fast RTPS: Programming with the Default middleware for...
FIWARE Global Summit - Fast RTPS: Programming with the Default middleware for...FIWARE Global Summit - Fast RTPS: Programming with the Default middleware for...
FIWARE Global Summit - Fast RTPS: Programming with the Default middleware for...
 
Fast RTPS
Fast RTPSFast RTPS
Fast RTPS
 
Micro XRCE-DDS: Bringing DDS into microcontrollers
Micro XRCE-DDS: Bringing DDS into microcontrollersMicro XRCE-DDS: Bringing DDS into microcontrollers
Micro XRCE-DDS: Bringing DDS into microcontrollers
 
V.S.VamsiKrishna
V.S.VamsiKrishnaV.S.VamsiKrishna
V.S.VamsiKrishna
 
FIWARE Wednesday Webinars - The Use of DDS Middleware in Robotics (Part 1)
FIWARE Wednesday Webinars - The Use of DDS Middleware in Robotics (Part 1)FIWARE Wednesday Webinars - The Use of DDS Middleware in Robotics (Part 1)
FIWARE Wednesday Webinars - The Use of DDS Middleware in Robotics (Part 1)
 
Javantura v3 - Real-time BigData ingestion and querying of aggregated data – ...
Javantura v3 - Real-time BigData ingestion and querying of aggregated data – ...Javantura v3 - Real-time BigData ingestion and querying of aggregated data – ...
Javantura v3 - Real-time BigData ingestion and querying of aggregated data – ...
 
What is expected from Chief Cloud Officers?
What is expected from Chief Cloud Officers?What is expected from Chief Cloud Officers?
What is expected from Chief Cloud Officers?
 
FIWARE Wednesday Webinars - The Use of DDS Middleware in Robotics (Part 2)
FIWARE Wednesday Webinars - The Use of DDS Middleware in Robotics (Part 2)FIWARE Wednesday Webinars - The Use of DDS Middleware in Robotics (Part 2)
FIWARE Wednesday Webinars - The Use of DDS Middleware in Robotics (Part 2)
 
WebRTC Webinar & Q&A - Sumilcast Standards & Implementation
WebRTC Webinar & Q&A - Sumilcast Standards & ImplementationWebRTC Webinar & Q&A - Sumilcast Standards & Implementation
WebRTC Webinar & Q&A - Sumilcast Standards & Implementation
 
Fast DDS Features & Tools
Fast DDS Features & ToolsFast DDS Features & Tools
Fast DDS Features & Tools
 
System integration in offshore supply vessels – how we applied DDS and redefi...
System integration in offshore supply vessels – how we applied DDS and redefi...System integration in offshore supply vessels – how we applied DDS and redefi...
System integration in offshore supply vessels – how we applied DDS and redefi...
 
PLNOG 17 - Andrzej Jeruzal - Dell Networking OS10: sieciowy system operacyjny...
PLNOG 17 - Andrzej Jeruzal - Dell Networking OS10: sieciowy system operacyjny...PLNOG 17 - Andrzej Jeruzal - Dell Networking OS10: sieciowy system operacyjny...
PLNOG 17 - Andrzej Jeruzal - Dell Networking OS10: sieciowy system operacyjny...
 
Advance Java Programming( CM5I) 4. Networking Basics
Advance Java Programming( CM5I) 4. Networking BasicsAdvance Java Programming( CM5I) 4. Networking Basics
Advance Java Programming( CM5I) 4. Networking Basics
 
How To Use Kafka and Druid to Tame Your Router Data (Rachel Pedreschi and Eri...
How To Use Kafka and Druid to Tame Your Router Data (Rachel Pedreschi and Eri...How To Use Kafka and Druid to Tame Your Router Data (Rachel Pedreschi and Eri...
How To Use Kafka and Druid to Tame Your Router Data (Rachel Pedreschi and Eri...
 
How To Use Kafka and Druid to Tame Your Router Data (Rachel Pedreschi, Imply ...
How To Use Kafka and Druid to Tame Your Router Data (Rachel Pedreschi, Imply ...How To Use Kafka and Druid to Tame Your Router Data (Rachel Pedreschi, Imply ...
How To Use Kafka and Druid to Tame Your Router Data (Rachel Pedreschi, Imply ...
 
illustro Overview - z/IPMon Introduction
illustro Overview - z/IPMon Introductionillustro Overview - z/IPMon Introduction
illustro Overview - z/IPMon Introduction
 
Introduction to DDS
Introduction to DDSIntroduction to DDS
Introduction to DDS
 
Web Services and Devices Profile for Web Services (DPWS)
Web Services and Devices Profile for Web Services (DPWS)Web Services and Devices Profile for Web Services (DPWS)
Web Services and Devices Profile for Web Services (DPWS)
 

Recently uploaded

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 

Recently uploaded (20)

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 

eProsima RPC over DDS - OMG June 2013 Berlin Meeting

  • 1. eProsima RPC over DDS OMG Technical Meeting, Berlin 18/06/2013 Jaime Martin Losa CEO eProsima JaimeMartin@eProsima.com +34 607 91 37 45 www.eProsima.com
  • 2. Agenda  eProsima RPC over DDS – RPC over DDS  Introduction  Performance  Standarization  Hands on Example  Interoperability Demo!  About eProsima  eProsima Success Cases
  • 4. DDS DDS uses the concept of Global Data Space. In this Space we define topics of data, and the publishers publish samples of these topics. DDS distributes these samples to all the subscribers of those topics. Any node can be a publisher or a subscriber. No Remote Procedure Calls
  • 5. RPC over DDS  DDS implements a pub/sub model, but no a direct way to do Remote Procedure Calls (RPC)  DDS Can be used though for RPC with some effort: – We could create a couple of topics, one for the in parameters of the function we want to call, and the other one for the out parameters, and then implement the client-server interaction through a couple of pub-sub.
  • 6. Client-Server comms over DDS  myService.idl: interface myService{ funReturnValueDataType Fun(DataType1 parameter1, DataType2 parameter2…); }
  • 7. Client-Server comms over DDS: Manual Steps  Common: – Client main, Server main. – Client and Server code for data flow management, initialization and setup of DDS entities, server threading…  For each operation: – Request and Reply topics – Client and Server code to manage function calls/return-values, parameters...
  • 8. Client-Server comms over DDS: Automatic (using eProsima RPC over DDS)  A parser creates all the stuff you need.  For each operation, just implement the behavior.
  • 9. eProsima RPC: Advantages  Allows to the developer focus in the development of his application.  Approach similar to Apache Thrift, but easier to use and with configurable QoS  Transparent.  Multithreaded Server.  Automatic Generation of: – Client and Server Code. – Request and Reply Topic – Development enviroment files: Visual Studio projects or makefiles
  • 10. eProsima RPC: Features  Open Source: LGPL – Support available  Main Features: – Windows and Linux support (32 and 64 bits)  Project and makefile generation for VS2010 & gcc 4.x – Synchronous, asynchronous and one way operations – Different Server threading models  Single threaded, thread by request and thread pool – Internet enabled:  udp (unicast/multicast) and TCP support – 100% Standard: ISO C++ and OMG DDS  RTI DDS and OpenDDS supported
  • 11. Performance vs Web Services (Throughput) 0 100 200 300 400 500 600 700 10 100 200 300 400 500 Requests/sec Request Payload (bytes) eProsima RPC vs Web Services (25 Clients) eProsima RPC Web Services
  • 12. Performance vs Apache Thrift (One to One Latency) 0 100 200 300 400 500 600 700 100 250 500 Latency(MicroSeconds) Request/Reply Size (bytes) One to One Latency eProsima RPC over DDS Apache Thrift
  • 13. Performance vs Apache Thrift (Many to One Latency) 0 200 400 600 800 1000 1200 1400 100 250 500 Latency(MicroSeconds) Request/Reply Size (bytes) Four to One Latency eProsima RPC over DDS Apache Thrift
  • 14. Standarization  OMG Standard ongoing – RPC for DDS RFP (public) – eProsima, RTI, PrismTech – Revised Submission : May, 20, 2013 – To discuss in this OMG meeting  June 17,18 – Berlin  See www.eprosima.com for more info.
  • 15. Hands on: A First Example  Install the software: – DDS  http://www.rti.com/downloads/connext.html – eProsima RPC over DDS  http://www.eprosima.com/index.php/en/downloads-all  Windows and Linux (32 & 64) supported
  • 16. Hands On: Calculator  Create Calculator.idl  Generate Interface Support : /////////////////////////// // KIARA Webinar Example // /////////////////////////// interface Calculator { float sum (in float x,in float y); // x+y float substract (in float x,in float y); // x-y float multiply (in float x,in float y); // x*y }; rpcddsgen -ppDisable -example x64Win64VS2010 Calculator.idl
  • 17. Hands On: Calculator  Edit the Example: – Client.cxx – CalculatorServerImpl.cxx // Call to remote procedure "sum". try { sum_ret = proxy->sum(2, 2); std::cout << “Server Says 2+2=" << sum_ret << std::endl; } DDS_Float CalculatorServerImpl::sum(/*in*/ DDS_Float x, /*in*/ DDS_Float y) { DDS_Float sum_ret = 0; sum_ret = x+y; return sum_ret; }
  • 18. Hands On: Calculator  Run the Client and the Server – Same or different connected machines – Remember to disable/setup firewall D:KIARA_Webinar_Examplesmathobjsx64Win64VS2010>CalculatorClient Server says 2+2=4 D:KIARA_Webinar_Examplesmathobjsx64Win64VS2010>
  • 19. Interoperability Demo CalculatorServer (Linux, OpenDDS) CalculatorServer (Linux, RTI Connext DDS) CalculatorClient (Windows, OpenDD S) CalculatorClient (Windows, RTI Connext DDS)
  • 20. RPC over DDS  Features Summary: – Easy RPC framework – High Perfomance – Windows/Linux Support – 100% Standards Based – Open Source: LGPL  Support Available – Interoperable!
  • 22. About eProsima  Experts on middleware, focused on DDS.  OMG Members.  RTI Services Partner and Distributor.
  • 23. About eProsima: Products And Services  eProsima Products: – DDS based: Plugins, add-ons, adaptors, etc  Services: – Communication modules, App development, DDS training, Support.  R&D: – R&D Projects with enterprises and universities.  Quality: ISO 9001 – Design, Development, Marketing and Support of Software.
  • 24. Customers (I)  Amper Programas: – BMS – Simacet (Main Spanish C2 System)  Cassidian: – UAVs - Neuron, Atlante  Ground Station Comm Server – Comfut  INDRA: – Defense (BMS, UAV PASI) – Air Traffic Control, – SESAR, ATC Interoperability – Energy (InSpeed)  Spanish Army:, – IDT :Tactical Data Interface
  • 25. Customers (II)  Isdefe  Spanish Army: JCISAT, DGAM  CATEC-FADA: R&D Aerospatial  Santa Barbara: Armoured Vehicles  RTI  GMV
  • 26. Customers (III)  Tecnobit: COSMOS, Reserved Projects.  IKERLAN: R&D.  Navantia: F105 (Aegis)  Boeing: Atlantida, Swim suit
  • 27. eProsima Products.- Index  eProsima RPC over DDS: – Remote procedure calls framework over DDS.  eProsima Fast Buffers. – Serialization engine. Now in beta.  eProsima DDS Non-Intrusive Recorder. – Stores DDS communication history in a data base.
  • 28. Ongoing Project  FP7: KIARA, Future Internet Middleware – FI-WARE 1st open call – Based on eProsima RPC over DDS & OMG DDS – Lots of new features:  Improved IDL  Direct Use of Application native types  New formats of marshalling (SOAP, RestFul)  Web Services compatibility  Protocol negotiation  Extended transport support  High performance dispatching agent (RPC)
  • 30. RTI DDS DIL Plugins: Disconnected and Intermitent Links  eProsima developed the plugins for the Spanish Army Tactical Radios, and later were adquired by RTI.  Allow the use of DDS in very low bandwidth links, such as Tactical Radios and Satellite. – Tested from 2400 bps
  • 31. Tactical Data Interface: Spanish Army  C2 Interoperability Comm layer: – Tactical Radios  From 2400bps – Satellite  Mandated for all the Spanish Army C2 systems. – Already implemented in the their main C2 systems eProsima developed the army C2 comm layer using RTI Connext DDS optimized for low bandwidth enviroments. The project included the design of the Data Model and QoS requisites for the Army.
  • 32. C2 Systems: INDRA & Amper  eProsima Provides a DDS based comm layer for INDRA and Amper C2 Systems. eProsima implemented the mandated Spanish Army Tactical Data Interface for Simacet (Main Spanish Army C2 System, Amper) and BMS (Tanks C2 System, INDRA & Amper)
  • 33. SESAR - INDRA ATC  eProsima provides middleware research and prototyping for ATC Interoperability  Among the different middleware technologies studied, DDS and WS are the SESAR proposed technologies for ATC interoperability.
  • 34. Cassidian: nEURon and Atlante GS  eProsima provides the comm layer for the ground station comm server. eProsima Non-Intrusive Recorder is used to record the communications for later analisys.
  • 35. FI-WARE Middleware  eProsima has been selected to develop Future Internet Middleware in the FI- WARE programme.  DDS will be the core technology Fi-WARE is a consortium of over more than 30 companies and universities including Telefonica, Siemens, SAP, Atos… eProsima will partner in this project with the German Universities DKFI and CISPA and the Swiss ZHAW.
  • 36. Remote Application Client / Server, Publisher / Subscriber Application API / Data Access Marshalling Transport Mechanis ms Wire- Protocols Transport Protocols UDPTCP TLS, DT LS Shared Memory Backplane/ Fabric XML JSON CDR SDN Plugin Data Transfer Compile time or Embedded Runtime Compiler/Interpreter Data / Function Mapping Declarative Data/Function descritption Security / QoS Policy Security / QoS Parameter Function Stub Function Skleleton QoS Data Writer Data Reader - DDS / RTPS REST / HTTP RPC Pub/Sub Negotiation Publisher Subscriber RPC Server RPC Client Prepare Initialize IDL Parser • IDL based on OMG IDL • WADL Security Dispatching I2ND GE FI-WARE Middleware: DDS Based
  • 37. Thank you! Jaime Martin Losa CTO eProsima JaimeMartin@eProsima.com +34 607 91 37 45 www.eProsima.com

Editor's Notes

  1. Key phrases:1.- We are goingtopresent a short introductionabouteProsima, and godirecltyto RPC over DDS2.- Wewillseeanintroduction,some performance graphs, showinghowstrikingfastis, comparingitto Web Servicesor Apache Thrift,theongoingstandarizationeffort, a quickexample, to show youhoweasyis use thisproduct, and a coolinteroperability demo, showingtheRequest/ReplyinteractionusingClients and Servers basedondifferentimplementations.
  2. Web Services: GsoapServer: Regular Dual Core1.- In thisGraphwe are measuringthenumber of request per second per client in anscenarioconsisting in 25 clients and a server2.- In the case of WS we are usingGsoap, a veryfastimplementation of WS. The machines are just dual-core machines.3.- We can seeeProsima RPC for DDS isprocessingaround ten times more requeststhan WS.
  3. 1.- Herewe are measuringthelatency, and comparingto Apache Thrift, a substitute of WS and CORBA, usedinternallybyfacebook and gaininglots of fans in thelastyear2.- We are in thesameorder of magnitude, and betterfromparametersizes of 200 bytes. Thisisbecause Apache Thrift uses TCP and no protocolheaders, so a littleadvantagewhentheparametes are small, butfor regular operationssettingconfigurations, orgettingdatabase data, orsendingparameterstructswewould be faster
  4. 1.- Sameexample, with 4clients and 1 server
  5. 1.- RPCover DDS is in theprocess of standarizationnow2.- eProsima, RTI and Prismtechpresentedsubmissions3.- And wewilldiscussthesubmissionstomorrow.
  6. 1.- To do a quickexample, justdownload and installthe software. RTI Connext DDS and OpenDDSsupported at thispoint, and I wastalkingto Nina thismorningtoalsosupportCoreDx, itshould be ready in a weekor so.2.- Let’screatetheexample (nextslide)
  7. 1.- First, WeCreate Calculator.idlcontainingan interface withthreebasicoperations.2.- SecondwegenerateRemoteProcedureCallsupportthroughthe IDL compiler(show thecmd)
  8. 1.- The IDLcompilergeneratesallweneed: A proxy, anskeleton, and thecorresponding visual studioprojects2.- Weneedtomodifyjust a couple of lines of thegeneratedcodetoimplementthebehaviour: Ourremoteprocedurecall in theclient, and thebehaviour of theoperations in the server skeleton.(show the VS)
  9. 1.- Nowwe compile and executethe server and theclient2.- Show thecmds and execute3.- And now, let’sseeaninteroperability demo for RPC over DDS
  10. 1.- eProsima RPC over DDS uses just standard DDS, so itis interoperable out of the box.2.- We are goingto show theCalculatorExamplewehave done interoperatingthisway:A calculator Server usingOpenDDS in a Linux MachineA calculator Server using RTI Connext DDS in a Linux MachineA CalculatorClientusingOpenDDSA CalculatorClientusing RTI Connext DDS 3.- Show, let’srunthe demo (Jaime, usa esta secuencia)-- WeStarttheCalculatorServerusingOpenDDS-- WeStarttheCalculatorClientusingOpenDDS and wewait a little bit fordiscovery-- -- Wehave a service selector toswitchbetweentheCalculatorOpenDDS Server and theCalculator RTI Connext DDS Server-- -- Wewill be usedtheopendds server first, -- -- We sum 1+1-- WeStarttheCalculatorServerbasedon RTI Connext DDS and wewait a little bit fordiscovery-- -- This time we are using DDS interoperability, theclientisusingopenDDS and the Server RTI-- -- Weswitchto RTI Connext Server-- -- We sum 2+2-- WeStarttheCalculatorClientbasedon RTI Connext DDS-- -- Wewait a little bit-- -- We open theservice selector-- -- We sum 3+3 using RTI Connext DDS based server-- -- And finallywe sum 4+4 usingtheopenDDSbased ServerSo, missionaccomplished.
  11. 1.-Wehaveseen in thispresentation, thefolowingfeatures:eProsima RPCisveryeasyto useHigh Perfomance, asfast as thelatest RPC frameworksfrom Facebook and othersWindows &amp; Linux are SupportedItis 100% StandardsBased and Open Source: LGPL Butwith Support ContractsAvailableAnd it comes withInteroperabilityout of the boxQuestions?
  12. 1.-Also, we are developingrightnowanimportantprojectbasedon RPC over DDS and DDS2.- An FP7 programtodevelopwhattheycalltheFuture Internet Middleware3.- Wewilldevelop a lot of new featureson top of DDS.