SlideShare uma empresa Scribd logo
1 de 14
Baixar para ler offline
eProsima RPC over DDS
for RTI Connext DDS
Connext Conference, London 2015
15/10/2015
Jaime Martin Losa
CTO eProsima
JaimeMartin@eProsima.com
+34 607 91 37 45 www.eProsima.com
Old solution: Manual
2
Struct FunRequest {
RequestID;
RequestParameter1;
/* ... */
RequestParameterN;
};
Struct FunReply {
RequestID;
ReplyResult1;
/* ... */
ReplyResultN;
};
RPC over DDS Standard: Automatic
3
interface MyInterface {
funReturnValueType Fun(in MyTypeI1 m1,in MyTypeI2 m2,...,
out MyTypeO1 n1, out MyTypeO2 n2,...,
inout MyType1 l1,inout MyType2 l2 );
/* ... */
};
Architecture
Request Topic
Reply Topic
ClientApp
Publisher Subscriber
STUB
Requester
ServiceApp
Publisher Subscriber
Skeleton
Replier
Resource Aware
Dispatching Agent
Global Data Space
4
Definition of the
Services
Definition of the services
 OMG IDL 3.5 + DDS-XTYPES is used
– “Any” and “valuetype” not part of DDS-XTYPES
 Exceptions supported
 Atributes in the interfaces ignored
 Oneway invocations supported throught the IDL
oneway keyword
6
eProsima RPC over DDS
for RTI Connext DDS
eProsima RPC over DDS Features
 Open Source: LGPL – Published on GitHub
 Windows and Linux support (32 and 64 bits)
 Project and makefile generation for VS2010-3 &
gcc 4.x
 Synchronous, asynchronous and one way
operations
 Different Server threading models
 100% Standard: ISO C++ and OMG DDS
 Comprehensive documentation
eProsima RPC over DDS
 Available on:
– eProsima.com web site:
 http://www.eprosima.com/index.php/products-all/eprosima-
rpc-over-dds-all
– eProsima GitHub:
 https://github.com/eprosima
Example
Hands On: Calculator
 Create Calculator.idl
 Generate Interface Support :
///////////////////////////
// Connext Con Example //
///////////////////////////
exception divideByZeroEx{
long count;
};
interface Calculator {
float multiply(in float a,in float b);
float divide(in float a,in float b) raises(divideByZeroEx);
};
rpcddsgen -ppDisable -example x64Win64VS2013 Calculator.idl
Hands On: Calculator
 Edit the Example: CalculatorClientExample.cxx
// Call to remote procedures
try
{
return_ = proxy->multiply(16, 2); // multiply
std::cout << return_ << std::endl;
return_ = proxy->divide(16, 2); // divide
std::cout << return_ << std::endl;
return_ = proxy->divide(16, 0); // user exception
std::cout << return_ << std::endl;
}
catch (divideByZeroEx &ex)
{
std::cout << "divideByZeroEx" << std::endl;
}
catch (SystemException &ex)
{
std::cout << "System Exception:" << std::endl;
}
Hands On: Calculator
 Edit the CalculatorServerImplExample.cxx
DDS_Float CalculatorServerImplExample::multiply
(/*in*/ DDS_Float a, /*in*/ DDS_Float b)
{
DDS_Float return_ = a*b;
return return_;
}
DDS_Float CalculatorServerImplExample::divide
(/*in*/ DDS_Float a, /*in*/ DDS_Float b)
{
DDS_Float return_ = 0.0;
if (b == 0) {
throw divideByZeroEx();
}
return_ = a / b;
return return_;
}
Thank you!
Jaime Martin Losa
CTO eProsima
JaimeMartin@eProsima.com
+34 607 91 37 45 www.eProsima.com

Mais conteúdo relacionado

Mais procurados

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
 
micro-ROS: Developing ROS 2 professional applications based on MCUs
micro-ROS: Developing ROS 2 professional applications based on MCUsmicro-ROS: Developing ROS 2 professional applications based on MCUs
micro-ROS: Developing ROS 2 professional applications based on MCUseProsima
 
Poll mode driver integration into dpdk
Poll mode driver integration into dpdkPoll mode driver integration into dpdk
Poll mode driver integration into dpdkVipin Varghese
 
LF_DPDK17_OpenNetVM: A high-performance NFV platforms to meet future communic...
LF_DPDK17_OpenNetVM: A high-performance NFV platforms to meet future communic...LF_DPDK17_OpenNetVM: A high-performance NFV platforms to meet future communic...
LF_DPDK17_OpenNetVM: A high-performance NFV platforms to meet future communic...LF_DPDK
 
micro-ROS - New client library and middleware features
micro-ROS - New client library and middleware featuresmicro-ROS - New client library and middleware features
micro-ROS - New client library and middleware featureseProsima
 
micro-ROS goes easy: Developing professional applications using Eclipse based...
micro-ROS goes easy: Developing professional applications using Eclipse based...micro-ROS goes easy: Developing professional applications using Eclipse based...
micro-ROS goes easy: Developing professional applications using Eclipse based...eProsima
 
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_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
 
Data Networking Concepts
Data Networking ConceptsData Networking Concepts
Data Networking ConceptsPeter R. Egli
 
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
 
LF_DPDK17_Accelerating Packet Processing with FPGA NICs
LF_DPDK17_Accelerating Packet Processing with FPGA NICsLF_DPDK17_Accelerating Packet Processing with FPGA NICs
LF_DPDK17_Accelerating Packet Processing with FPGA NICsLF_DPDK
 
Dpdk frame pipeline for ips ids suricata
Dpdk frame pipeline for ips ids suricataDpdk frame pipeline for ips ids suricata
Dpdk frame pipeline for ips ids suricataVipin Varghese
 
LF_DPDK17_Power Aware Packet Processing
LF_DPDK17_Power Aware Packet ProcessingLF_DPDK17_Power Aware Packet Processing
LF_DPDK17_Power Aware Packet ProcessingLF_DPDK
 
Performance challenges in software networking
Performance challenges in software networkingPerformance challenges in software networking
Performance challenges in software networkingStephen Hemminger
 
LF_DPDK17_Lagopus Router
LF_DPDK17_Lagopus RouterLF_DPDK17_Lagopus Router
LF_DPDK17_Lagopus RouterLF_DPDK
 
Rina acc-icc16-stein
Rina acc-icc16-steinRina acc-icc16-stein
Rina acc-icc16-steinICT PRISTINE
 
Rlite software-architecture (1)
Rlite software-architecture (1)Rlite software-architecture (1)
Rlite software-architecture (1)ARCFIRE ICT
 
Fast DDS Features & Tools
Fast DDS Features & ToolsFast DDS Features & Tools
Fast DDS Features & ToolseProsima
 

Mais procurados (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
 
micro-ROS: Developing ROS 2 professional applications based on MCUs
micro-ROS: Developing ROS 2 professional applications based on MCUsmicro-ROS: Developing ROS 2 professional applications based on MCUs
micro-ROS: Developing ROS 2 professional applications based on MCUs
 
Poll mode driver integration into dpdk
Poll mode driver integration into dpdkPoll mode driver integration into dpdk
Poll mode driver integration into dpdk
 
LF_DPDK17_OpenNetVM: A high-performance NFV platforms to meet future communic...
LF_DPDK17_OpenNetVM: A high-performance NFV platforms to meet future communic...LF_DPDK17_OpenNetVM: A high-performance NFV platforms to meet future communic...
LF_DPDK17_OpenNetVM: A high-performance NFV platforms to meet future communic...
 
micro-ROS - New client library and middleware features
micro-ROS - New client library and middleware featuresmicro-ROS - New client library and middleware features
micro-ROS - New client library and middleware features
 
micro-ROS goes easy: Developing professional applications using Eclipse based...
micro-ROS goes easy: Developing professional applications using Eclipse based...micro-ROS goes easy: Developing professional applications using Eclipse based...
micro-ROS goes easy: Developing professional applications using Eclipse based...
 
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_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
 
Data Networking Concepts
Data Networking ConceptsData Networking Concepts
Data Networking Concepts
 
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_DPDK17_Accelerating Packet Processing with FPGA NICs
LF_DPDK17_Accelerating Packet Processing with FPGA NICsLF_DPDK17_Accelerating Packet Processing with FPGA NICs
LF_DPDK17_Accelerating Packet Processing with FPGA NICs
 
Dpdk frame pipeline for ips ids suricata
Dpdk frame pipeline for ips ids suricataDpdk frame pipeline for ips ids suricata
Dpdk frame pipeline for ips ids suricata
 
LF_DPDK17_Power Aware Packet Processing
LF_DPDK17_Power Aware Packet ProcessingLF_DPDK17_Power Aware Packet Processing
LF_DPDK17_Power Aware Packet Processing
 
Performance challenges in software networking
Performance challenges in software networkingPerformance challenges in software networking
Performance challenges in software networking
 
LF_DPDK17_Lagopus Router
LF_DPDK17_Lagopus RouterLF_DPDK17_Lagopus Router
LF_DPDK17_Lagopus Router
 
Rina acc-icc16-stein
Rina acc-icc16-steinRina acc-icc16-stein
Rina acc-icc16-stein
 
Rpl2016
Rpl2016Rpl2016
Rpl2016
 
Rlite software-architecture (1)
Rlite software-architecture (1)Rlite software-architecture (1)
Rlite software-architecture (1)
 
Fast DDS Features & Tools
Fast DDS Features & ToolsFast DDS Features & Tools
Fast DDS Features & Tools
 

Destaque

MiroSurge: Research Platform for Robotic Surgery
MiroSurge: Research Platform for Robotic SurgeryMiroSurge: Research Platform for Robotic Surgery
MiroSurge: Research Platform for Robotic SurgeryReal-Time Innovations (RTI)
 
Generic Vehicle Architecture – DDS at the Core.
Generic Vehicle Architecture – DDS at the Core.Generic Vehicle Architecture – DDS at the Core.
Generic Vehicle Architecture – DDS at the Core.Real-Time Innovations (RTI)
 
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)
 
The Inside Story: GE Healthcare's Industrial Internet of Things (IoT) Archite...
The Inside Story: GE Healthcare's Industrial Internet of Things (IoT) Archite...The Inside Story: GE Healthcare's Industrial Internet of Things (IoT) Archite...
The Inside Story: GE Healthcare's Industrial Internet of Things (IoT) Archite...Real-Time Innovations (RTI)
 
Weather Information System Airport and Decision Support (WISADS)
Weather Information System Airport and Decision Support (WISADS)Weather Information System Airport and Decision Support (WISADS)
Weather Information System Airport and Decision Support (WISADS)Real-Time Innovations (RTI)
 
Distributed Communication and Control for a Network of Melting Probes in Extr...
Distributed Communication and Control for a Network of Melting Probes in Extr...Distributed Communication and Control for a Network of Melting Probes in Extr...
Distributed Communication and Control for a Network of Melting Probes in Extr...Real-Time Innovations (RTI)
 
Maritime digitalization demo
Maritime digitalization demoMaritime digitalization demo
Maritime digitalization demoWisa Knuuttila
 
Integrating DDS into AXCIOMA - The Component Approach
Integrating DDS into AXCIOMA - The Component ApproachIntegrating DDS into AXCIOMA - The Component Approach
Integrating DDS into AXCIOMA - The Component ApproachReal-Time Innovations (RTI)
 
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
 
Stories yet to be told
Stories yet to be toldStories yet to be told
Stories yet to be toldCCIHP
 
Presentacion of futue goals
Presentacion of futue goalsPresentacion of futue goals
Presentacion of futue goalsDaniela Jimenez
 
TOP 10 TIPS FOR THRIVING IN A DOWN ECONOMY
TOP 10 TIPS FOR THRIVING IN A DOWN ECONOMYTOP 10 TIPS FOR THRIVING IN A DOWN ECONOMY
TOP 10 TIPS FOR THRIVING IN A DOWN ECONOMYAlchemedia
 
The Power of the Brand
The Power of the BrandThe Power of the Brand
The Power of the BrandAlchemedia
 
Mi ideal vacation in london england
Mi ideal vacation in london englandMi ideal vacation in london england
Mi ideal vacation in london englandIvan Moreno
 
Start Up Quest: Importance of Management
Start Up Quest: Importance of ManagementStart Up Quest: Importance of Management
Start Up Quest: Importance of ManagementAlchemedia
 

Destaque (19)

MiroSurge: Research Platform for Robotic Surgery
MiroSurge: Research Platform for Robotic SurgeryMiroSurge: Research Platform for Robotic Surgery
MiroSurge: Research Platform for Robotic Surgery
 
Generic Vehicle Architecture – DDS at the Core.
Generic Vehicle Architecture – DDS at the Core.Generic Vehicle Architecture – DDS at the Core.
Generic Vehicle Architecture – DDS at the Core.
 
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...
 
The Inside Story: GE Healthcare's Industrial Internet of Things (IoT) Archite...
The Inside Story: GE Healthcare's Industrial Internet of Things (IoT) Archite...The Inside Story: GE Healthcare's Industrial Internet of Things (IoT) Archite...
The Inside Story: GE Healthcare's Industrial Internet of Things (IoT) Archite...
 
Weather Information System Airport and Decision Support (WISADS)
Weather Information System Airport and Decision Support (WISADS)Weather Information System Airport and Decision Support (WISADS)
Weather Information System Airport and Decision Support (WISADS)
 
Distributed Communication and Control for a Network of Melting Probes in Extr...
Distributed Communication and Control for a Network of Melting Probes in Extr...Distributed Communication and Control for a Network of Melting Probes in Extr...
Distributed Communication and Control for a Network of Melting Probes in Extr...
 
Maritime digitalization demo
Maritime digitalization demoMaritime digitalization demo
Maritime digitalization demo
 
Integrating DDS into AXCIOMA - The Component Approach
Integrating DDS into AXCIOMA - The Component ApproachIntegrating DDS into AXCIOMA - The Component Approach
Integrating DDS into AXCIOMA - The Component Approach
 
Generic vehicle architecture
Generic vehicle architectureGeneric vehicle architecture
Generic vehicle architecture
 
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
 
Stories yet to be told
Stories yet to be toldStories yet to be told
Stories yet to be told
 
Facture
FactureFacture
Facture
 
Presentacion of futue goals
Presentacion of futue goalsPresentacion of futue goals
Presentacion of futue goals
 
Libro Codelpa
Libro CodelpaLibro Codelpa
Libro Codelpa
 
TOP 10 TIPS FOR THRIVING IN A DOWN ECONOMY
TOP 10 TIPS FOR THRIVING IN A DOWN ECONOMYTOP 10 TIPS FOR THRIVING IN A DOWN ECONOMY
TOP 10 TIPS FOR THRIVING IN A DOWN ECONOMY
 
The Power of the Brand
The Power of the BrandThe Power of the Brand
The Power of the Brand
 
futue goals
 futue goals futue goals
futue goals
 
Mi ideal vacation in london england
Mi ideal vacation in london englandMi ideal vacation in london england
Mi ideal vacation in london england
 
Start Up Quest: Importance of Management
Start Up Quest: Importance of ManagementStart Up Quest: Importance of Management
Start Up Quest: Importance of Management
 

Semelhante a eProsima RPC over DDS - Connext Conf London October 2015

Microservices in Go_Dessi_Massimiliano_Codemotion_2017_Rome
Microservices in Go_Dessi_Massimiliano_Codemotion_2017_Rome Microservices in Go_Dessi_Massimiliano_Codemotion_2017_Rome
Microservices in Go_Dessi_Massimiliano_Codemotion_2017_Rome Massimiliano Dessì
 
Oczyszczacz powietrza i stos sieciowy? Czas na test! Semihalf Barcamp 13/06/2018
Oczyszczacz powietrza i stos sieciowy? Czas na test! Semihalf Barcamp 13/06/2018Oczyszczacz powietrza i stos sieciowy? Czas na test! Semihalf Barcamp 13/06/2018
Oczyszczacz powietrza i stos sieciowy? Czas na test! Semihalf Barcamp 13/06/2018Semihalf
 
Using Algorithms to Brute Force Algorithms...A Journey Through Time and Names...
Using Algorithms to Brute Force Algorithms...A Journey Through Time and Names...Using Algorithms to Brute Force Algorithms...A Journey Through Time and Names...
Using Algorithms to Brute Force Algorithms...A Journey Through Time and Names...OpenDNS
 
Reactive Stream Processing Using DDS and Rx
Reactive Stream Processing Using DDS and RxReactive Stream Processing Using DDS and Rx
Reactive Stream Processing Using DDS and RxSumant Tambe
 
Detecting Hacks: Anomaly Detection on Networking Data
Detecting Hacks: Anomaly Detection on Networking DataDetecting Hacks: Anomaly Detection on Networking Data
Detecting Hacks: Anomaly Detection on Networking DataJames Sirota
 
Robert Kubis - gRPC - boilerplate to high-performance scalable APIs - code.t...
 Robert Kubis - gRPC - boilerplate to high-performance scalable APIs - code.t... Robert Kubis - gRPC - boilerplate to high-performance scalable APIs - code.t...
Robert Kubis - gRPC - boilerplate to high-performance scalable APIs - code.t...AboutYouGmbH
 
Detecting Hacks: Anomaly Detection on Networking Data
Detecting Hacks: Anomaly Detection on Networking DataDetecting Hacks: Anomaly Detection on Networking Data
Detecting Hacks: Anomaly Detection on Networking DataDataWorks Summit
 
Stranger in These Parts. A Hired Gun in the JS Corral (JSConf US 2012)
Stranger in These Parts. A Hired Gun in the JS Corral (JSConf US 2012)Stranger in These Parts. A Hired Gun in the JS Corral (JSConf US 2012)
Stranger in These Parts. A Hired Gun in the JS Corral (JSConf US 2012)Igalia
 
Virtual training Intro to Kapacitor
Virtual training  Intro to Kapacitor Virtual training  Intro to Kapacitor
Virtual training Intro to Kapacitor InfluxData
 
Overview Of Parallel Development - Ericnel
Overview Of Parallel Development -  EricnelOverview Of Parallel Development -  Ericnel
Overview Of Parallel Development - Ericnelukdpe
 
Exploring Async PHP (SF Live Berlin 2019)
Exploring Async PHP (SF Live Berlin 2019)Exploring Async PHP (SF Live Berlin 2019)
Exploring Async PHP (SF Live Berlin 2019)dantleech
 
Advanced kapacitor
Advanced kapacitorAdvanced kapacitor
Advanced kapacitorInfluxData
 
Rapid java backend and api development for mobile devices
Rapid java backend and api development for mobile devicesRapid java backend and api development for mobile devices
Rapid java backend and api development for mobile devicesciklum_ods
 
Sun RPC (Remote Procedure Call)
Sun RPC (Remote Procedure Call)Sun RPC (Remote Procedure Call)
Sun RPC (Remote Procedure Call)Peter R. Egli
 
Directive-based approach to Heterogeneous Computing
Directive-based approach to Heterogeneous ComputingDirective-based approach to Heterogeneous Computing
Directive-based approach to Heterogeneous ComputingRuymán Reyes
 
IPv4 Multicast Application Development
IPv4 Multicast Application DevelopmentIPv4 Multicast Application Development
IPv4 Multicast Application DevelopmentBob Quinn
 
Crushing Latency with Vert.x
Crushing Latency with Vert.xCrushing Latency with Vert.x
Crushing Latency with Vert.xPaulo Lopes
 

Semelhante a eProsima RPC over DDS - Connext Conf London October 2015 (20)

Microservices in Go_Dessi_Massimiliano_Codemotion_2017_Rome
Microservices in Go_Dessi_Massimiliano_Codemotion_2017_Rome Microservices in Go_Dessi_Massimiliano_Codemotion_2017_Rome
Microservices in Go_Dessi_Massimiliano_Codemotion_2017_Rome
 
Oczyszczacz powietrza i stos sieciowy? Czas na test! Semihalf Barcamp 13/06/2018
Oczyszczacz powietrza i stos sieciowy? Czas na test! Semihalf Barcamp 13/06/2018Oczyszczacz powietrza i stos sieciowy? Czas na test! Semihalf Barcamp 13/06/2018
Oczyszczacz powietrza i stos sieciowy? Czas na test! Semihalf Barcamp 13/06/2018
 
Using Algorithms to Brute Force Algorithms...A Journey Through Time and Names...
Using Algorithms to Brute Force Algorithms...A Journey Through Time and Names...Using Algorithms to Brute Force Algorithms...A Journey Through Time and Names...
Using Algorithms to Brute Force Algorithms...A Journey Through Time and Names...
 
Reactive Stream Processing Using DDS and Rx
Reactive Stream Processing Using DDS and RxReactive Stream Processing Using DDS and Rx
Reactive Stream Processing Using DDS and Rx
 
CGI.ppt
CGI.pptCGI.ppt
CGI.ppt
 
Detecting Hacks: Anomaly Detection on Networking Data
Detecting Hacks: Anomaly Detection on Networking DataDetecting Hacks: Anomaly Detection on Networking Data
Detecting Hacks: Anomaly Detection on Networking Data
 
From logs to metrics
From logs to metricsFrom logs to metrics
From logs to metrics
 
Robert Kubis - gRPC - boilerplate to high-performance scalable APIs - code.t...
 Robert Kubis - gRPC - boilerplate to high-performance scalable APIs - code.t... Robert Kubis - gRPC - boilerplate to high-performance scalable APIs - code.t...
Robert Kubis - gRPC - boilerplate to high-performance scalable APIs - code.t...
 
Detecting Hacks: Anomaly Detection on Networking Data
Detecting Hacks: Anomaly Detection on Networking DataDetecting Hacks: Anomaly Detection on Networking Data
Detecting Hacks: Anomaly Detection on Networking Data
 
Stranger in These Parts. A Hired Gun in the JS Corral (JSConf US 2012)
Stranger in These Parts. A Hired Gun in the JS Corral (JSConf US 2012)Stranger in These Parts. A Hired Gun in the JS Corral (JSConf US 2012)
Stranger in These Parts. A Hired Gun in the JS Corral (JSConf US 2012)
 
Virtual training Intro to Kapacitor
Virtual training  Intro to Kapacitor Virtual training  Intro to Kapacitor
Virtual training Intro to Kapacitor
 
Overview Of Parallel Development - Ericnel
Overview Of Parallel Development -  EricnelOverview Of Parallel Development -  Ericnel
Overview Of Parallel Development - Ericnel
 
A22 Introduction to DTrace by Kyle Hailey
A22 Introduction to DTrace by Kyle HaileyA22 Introduction to DTrace by Kyle Hailey
A22 Introduction to DTrace by Kyle Hailey
 
Exploring Async PHP (SF Live Berlin 2019)
Exploring Async PHP (SF Live Berlin 2019)Exploring Async PHP (SF Live Berlin 2019)
Exploring Async PHP (SF Live Berlin 2019)
 
Advanced kapacitor
Advanced kapacitorAdvanced kapacitor
Advanced kapacitor
 
Rapid java backend and api development for mobile devices
Rapid java backend and api development for mobile devicesRapid java backend and api development for mobile devices
Rapid java backend and api development for mobile devices
 
Sun RPC (Remote Procedure Call)
Sun RPC (Remote Procedure Call)Sun RPC (Remote Procedure Call)
Sun RPC (Remote Procedure Call)
 
Directive-based approach to Heterogeneous Computing
Directive-based approach to Heterogeneous ComputingDirective-based approach to Heterogeneous Computing
Directive-based approach to Heterogeneous Computing
 
IPv4 Multicast Application Development
IPv4 Multicast Application DevelopmentIPv4 Multicast Application Development
IPv4 Multicast Application Development
 
Crushing Latency with Vert.x
Crushing Latency with Vert.xCrushing Latency with Vert.x
Crushing Latency with Vert.x
 

Último

20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.Sharon Liu
 
eAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionseAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionsNirav Modi
 
Watermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security ChallengesWatermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security ChallengesShyamsundar Das
 
Introduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptxIntroduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptxIntelliSource Technologies
 
JS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AIJS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AIIvo Andreev
 
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfTobias Schneck
 
online pdf editor software solutions.pdf
online pdf editor software solutions.pdfonline pdf editor software solutions.pdf
online pdf editor software solutions.pdfMeon Technology
 
Why Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdfWhy Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdfBrain Inventory
 
Kawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies
 
Fields in Java and Kotlin and what to expect.pptx
Fields in Java and Kotlin and what to expect.pptxFields in Java and Kotlin and what to expect.pptx
Fields in Java and Kotlin and what to expect.pptxJoão Esperancinha
 
Cybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadCybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadIvo Andreev
 
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software TeamsYour Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software TeamsJaydeep Chhasatia
 
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine HarmonyLeveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmonyelliciumsolutionspun
 
Growing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesGrowing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesSoftwareMill
 
How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?AmeliaSmith90
 
Sales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales CoverageSales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales CoverageDista
 
Streamlining Your Application Builds with Cloud Native Buildpacks
Streamlining Your Application Builds  with Cloud Native BuildpacksStreamlining Your Application Builds  with Cloud Native Buildpacks
Streamlining Your Application Builds with Cloud Native BuildpacksVish Abrams
 
Webinar_050417_LeClair12345666777889.ppt
Webinar_050417_LeClair12345666777889.pptWebinar_050417_LeClair12345666777889.ppt
Webinar_050417_LeClair12345666777889.pptkinjal48
 
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Jaydeep Chhasatia
 

Último (20)

20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
 
eAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionseAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspections
 
Watermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security ChallengesWatermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security Challenges
 
Introduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptxIntroduction-to-Software-Development-Outsourcing.pptx
Introduction-to-Software-Development-Outsourcing.pptx
 
JS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AIJS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AI
 
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
 
online pdf editor software solutions.pdf
online pdf editor software solutions.pdfonline pdf editor software solutions.pdf
online pdf editor software solutions.pdf
 
Why Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdfWhy Choose Brain Inventory For Ecommerce Development.pdf
Why Choose Brain Inventory For Ecommerce Development.pdf
 
Kawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in Trivandrum
 
Fields in Java and Kotlin and what to expect.pptx
Fields in Java and Kotlin and what to expect.pptxFields in Java and Kotlin and what to expect.pptx
Fields in Java and Kotlin and what to expect.pptx
 
Cybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadCybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and Bad
 
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software TeamsYour Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
 
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine HarmonyLeveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
Leveraging DxSherpa's Generative AI Services to Unlock Human-Machine Harmony
 
Growing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesGrowing Oxen: channel operators and retries
Growing Oxen: channel operators and retries
 
How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?
 
Sales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales CoverageSales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales Coverage
 
Streamlining Your Application Builds with Cloud Native Buildpacks
Streamlining Your Application Builds  with Cloud Native BuildpacksStreamlining Your Application Builds  with Cloud Native Buildpacks
Streamlining Your Application Builds with Cloud Native Buildpacks
 
Salesforce AI Associate Certification.pptx
Salesforce AI Associate Certification.pptxSalesforce AI Associate Certification.pptx
Salesforce AI Associate Certification.pptx
 
Webinar_050417_LeClair12345666777889.ppt
Webinar_050417_LeClair12345666777889.pptWebinar_050417_LeClair12345666777889.ppt
Webinar_050417_LeClair12345666777889.ppt
 
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
 

eProsima RPC over DDS - Connext Conf London October 2015

  • 1. eProsima RPC over DDS for RTI Connext DDS Connext Conference, London 2015 15/10/2015 Jaime Martin Losa CTO eProsima JaimeMartin@eProsima.com +34 607 91 37 45 www.eProsima.com
  • 2. Old solution: Manual 2 Struct FunRequest { RequestID; RequestParameter1; /* ... */ RequestParameterN; }; Struct FunReply { RequestID; ReplyResult1; /* ... */ ReplyResultN; };
  • 3. RPC over DDS Standard: Automatic 3 interface MyInterface { funReturnValueType Fun(in MyTypeI1 m1,in MyTypeI2 m2,..., out MyTypeO1 n1, out MyTypeO2 n2,..., inout MyType1 l1,inout MyType2 l2 ); /* ... */ };
  • 4. Architecture Request Topic Reply Topic ClientApp Publisher Subscriber STUB Requester ServiceApp Publisher Subscriber Skeleton Replier Resource Aware Dispatching Agent Global Data Space 4
  • 6. Definition of the services  OMG IDL 3.5 + DDS-XTYPES is used – “Any” and “valuetype” not part of DDS-XTYPES  Exceptions supported  Atributes in the interfaces ignored  Oneway invocations supported throught the IDL oneway keyword 6
  • 7. eProsima RPC over DDS for RTI Connext DDS
  • 8. eProsima RPC over DDS Features  Open Source: LGPL – Published on GitHub  Windows and Linux support (32 and 64 bits)  Project and makefile generation for VS2010-3 & gcc 4.x  Synchronous, asynchronous and one way operations  Different Server threading models  100% Standard: ISO C++ and OMG DDS  Comprehensive documentation
  • 9. eProsima RPC over DDS  Available on: – eProsima.com web site:  http://www.eprosima.com/index.php/products-all/eprosima- rpc-over-dds-all – eProsima GitHub:  https://github.com/eprosima
  • 11. Hands On: Calculator  Create Calculator.idl  Generate Interface Support : /////////////////////////// // Connext Con Example // /////////////////////////// exception divideByZeroEx{ long count; }; interface Calculator { float multiply(in float a,in float b); float divide(in float a,in float b) raises(divideByZeroEx); }; rpcddsgen -ppDisable -example x64Win64VS2013 Calculator.idl
  • 12. Hands On: Calculator  Edit the Example: CalculatorClientExample.cxx // Call to remote procedures try { return_ = proxy->multiply(16, 2); // multiply std::cout << return_ << std::endl; return_ = proxy->divide(16, 2); // divide std::cout << return_ << std::endl; return_ = proxy->divide(16, 0); // user exception std::cout << return_ << std::endl; } catch (divideByZeroEx &ex) { std::cout << "divideByZeroEx" << std::endl; } catch (SystemException &ex) { std::cout << "System Exception:" << std::endl; }
  • 13. Hands On: Calculator  Edit the CalculatorServerImplExample.cxx DDS_Float CalculatorServerImplExample::multiply (/*in*/ DDS_Float a, /*in*/ DDS_Float b) { DDS_Float return_ = a*b; return return_; } DDS_Float CalculatorServerImplExample::divide (/*in*/ DDS_Float a, /*in*/ DDS_Float b) { DDS_Float return_ = 0.0; if (b == 0) { throw divideByZeroEx(); } return_ = a / b; return return_; }
  • 14. Thank you! Jaime Martin Losa CTO eProsima JaimeMartin@eProsima.com +34 607 91 37 45 www.eProsima.com