SlideShare a Scribd company logo
REACTIVE
SYSTEMS
with
OMG’s Data Distribution Service (DDS)
Abdullah Ozturkbased on The Reactive Manifesto
INTRODUCTION
• Traditional software solutions;
• Use managed servers and containers,
• Scale via larger servers and multi-threading.
Today’s Requirements
• However, today’s requirements demand new
technologies;
• Deployed on everything (mobile, cloud clusters etc.),
• Thousands of multicore processors,
• Low response time (milli-, or even micro-second),
• 100% uptime (highly available),
• Big data (petabytes).
GOING REACTIVE
• Coherent approach to systems architecture is needed.
• Reactive Systems meet these requirements;
• Responsive,
• Resilient,
• Elastic
• and Message Driven.
Reactive Systems
• Reactive Systems are more flexible, loosely-coupled
and scalable.
• They are easier to develop and amenable to change.
• They are significantly more tolerant of failure and
when failure occurs they meet it with elegance.
• Reactive Systems are highly responsive, giving users
effective interactive feedback.
Publish-Subscribe
• Publish-subscribe architecture of DDS promotes a loose
coupling in space and time.
• No shared mutable state, synchronization and blocking
operations.
• Publishers and subscribers can join and leave to a data
domain anytime, express their intent by topics.
• Loosely coupled design of DDS allows better scalability.
Loose-Coupling
• Loose coupling and location independence make it
possible to scale out the system onto multiple nodes.
• By location transparency, topology of the application
becomes a deployment decision.
• It enables distributed systems that are easier to
design, implement, integrate, deploy and maintain.
Data-Centric Architecture
• Components interact through production and consumption of
data.
• DDS middleware employs a data-centric integration model to
decouple applications.
• DDS middleware knows your data, allows filtering, and
provides tailored data management through Quality-of-
Services (QoS).
RESILIENCE
• The system stays responsive in the face of failure.
• Resilience is achieved by replication, containment,
isolation and delegation.
• Failures are contained within each component, isolating
components from each other.
• Parts of the system can fail and recover without
compromising the system as a whole.
• High-availability is ensured by replication where necessary.
Bulkhead Pattern
• In the bulkhead pattern, a system is built up from
safe compartments that prevents the classic problem
of cascading failures.
• DDS provides fully isolated components in which
failures can be captured, encapsulated as messages,
and sent off to other components that can decide how
to respond.
Fault Tolerance
• A failure is an unexpected event within a service that prevents it
from continuing to function normally.
• DDS middleware provides fault tolerance;
• By providing historical data in last value caches to late joiners.
• Makes data survive application, or system failures by
durability quality of service.
• Monitors the presence, health and activity of DDS entities.
• Handles redundant data sources and failover by ownership.
No Single Point of Failure
• Scalability is typically limited by the introduction of
bottlenecks or synchronization points within the
system.
• Loosely coupled DDS applications without central
brokers have no single points of failure.
Replication
• Executing a component
simultaneously in different places.
It offers scalability and resilience.
• Incoming workload can be
distributed across multiple
instances of a component by
using DDS content-filtered topics.
• Incoming workload can be
replicated to multiple subscribers
which process the same requests
in parallel.
Isolation
• Decoupling, both in time and space.
• DDS entities have independent life-cycles—they do
not need to be present at the same time or at the same
process for communication to be possible.
• It is enabled by adding asynchronous boundaries
between the components, communicating through
message-passing.
Reliability
• DDS middleware provides that the right data is
delivered reliably and in real-time to the right
subscriber applications.
• Applications that respond to events need to do so in a
timely manner, even in the presence of failure.
• Deadline QoS of DDS enforces expected time
requirements, and time based filter QoS controls
data delivery rates.
ELASTICITY
• Stays responsive under varying workload.
• Reacts to changes in the input rate by increasing or
decreasing the resources allocated to service.
• No contention points or central bottlenecks in DDS,
resulting in the ability to shard or replicate
components and distribute inputs among them.
• Achieves elasticity in a cost-effective way.
Scalability
• Scalability is achieved by adding more computing
resources (elasticity) without redesigning or
rewriting the application.
• Its performance is measured by the ratio of
throughput gain to resource increase.
• A system based on DDS is capable of being easily
expanded or upgraded on demand by adding more
publishers and subscribers.
Message-Driven
• A message is an item of data that is sent to a specific
destination.
• In a message-driven system using DDS, addressable
recipients (subscribers) await the arrival of messages and
react to them, otherwise lying dormant.
• A message can contain an encoded event as its payload.
• With the message-driven design of DDS, it is easier to
extend, evolve and maintain applications, it gives more
flexibility and reduces maintenance cost.
Asynchronous
• It means that the processing of a request occurs at an
arbitrary point in time.
• DDS middleware ensures loose coupling, isolation,
location transparency, and provides the means to
delegate errors as messages.
• DDS allows the application a choice either get notified
asynchronously by attached listeners, or wait data in
blocking.
Event-Driven
• Events—discrete pieces of information describing facts.
• DDS middleware notifies the user application of relevant
events i.e. arrival of data, QoS violations, entities
matched, liveliness changed, deadline missed, and
sample lost/rejected.
• DDS provides listeners to monitor delivery related events
and to notify applications when these events occur.
Location Transparency
• Decoupling in space, enabled through asynchronous
message-passing.
• If all components support mobility, then we do not
have to define a static system topology upfront.
• Makes it possible for the management of failure to
work with the same constructs and semantics across a
cluster or within a single host.
Non-Blocking
• Allows the caller the option to do other work rather
than be blocked waiting on the resource to become
available.
• Non-blocking communication allows recipients to
only consume resources while active, leading to less
system overhead.
• Non-blocking operations (read/write) of DDS make
the application to be responsive at all times and
efficient use of existing resources.
RESPONSIVENESS
• The system responds in a timely manner if at all
possible.
• Responsiveness is the cornerstone of usability.
• Responsive systems establish reliable upper bounds
so they deliver a consistent quality of service.
High-Concurrency
• High concurrency by design makes use of
multicores without changes.
• DDS middleware allows creating multiple subscribers
or publishers to increase concurrency.
Performance
• DDS enables low latency and high throughput under
heavy load.
• Specifies a compact data encoding on the wire.
• Supports asynchronous notification mechanisms.
• Keeps data copies to a minimum.
• Allows controlling timing, communication channel
priority and resource utilization for real-time systems.
Platform Independence
• DDS provides tools as common building blocks for solving the
complex problems arising in a distributed environment.
• Supports type safety by using a platform independent language.
• Standardized well-defined APIs help ensure maximum
portability.
• Provides programming language independence.
• Provides operating system and hardware independence.
• Enables on the wire interoperability by a standard wire protocol.
Conclusion
• Reactive Systems apply design principles.
• The largest systems in the world rely upon
architectures based on these properties.
• OMG’s DDS middleware makes it possible to design
and develop reactive systems.
Thank You
• Questions?
Abdullah Ozturk
Technical Lead, MilSOFT DDS

More Related Content

PDF
DDS-to-JSON and DDS Real-time Data Storage with MongoDB
PDF
DDS for Internet of Things (IoT)
PDF
DDS: The IoT Data Sharing Standard
PDF
Cloud-forensics
PDF
DDS on the Web: Quick Recipes for Real-Time Web Applications
PDF
Cloud Computing Forensic Science
PDF
Cloud Computing Using Encryption and Intrusion Detection
PPTX
Android and DDS
DDS-to-JSON and DDS Real-time Data Storage with MongoDB
DDS for Internet of Things (IoT)
DDS: The IoT Data Sharing Standard
Cloud-forensics
DDS on the Web: Quick Recipes for Real-Time Web Applications
Cloud Computing Forensic Science
Cloud Computing Using Encryption and Intrusion Detection
Android and DDS

What's hot (18)

PDF
Crypto multi tenant an environment of secure computing using cloud sql
PDF
Excellent Manner of Using Secure way of data storage in cloud computing
PPT
Unit 3 -Data storage and cloud computing
PDF
zenoh: The Edge Data Fabric
PPTX
Analysis-of-Security-Algorithms-in-Cloud-Computing [Autosaved]
PDF
Kp3419221926
PDF
zenoh -- the ZEro Network OverHead protocol
PDF
A Study of Data Storage Security Issues in Cloud Computing
PPTX
Cloud security
PPTX
Security issues associated with big data in cloud
PDF
zenoh -- the ZEro Network OverHead protocol
PDF
Getting Started with DDS in C++, Java and Scala
PPTX
Cloudcomputing basics
PDF
ENHANCING SECURITY IN CLOUD COMPUTING BY COMBINING DYNAMIC BROADCAST ENCRYPTI...
PDF
Analysis of classical encryption techniques in cloud computing
PDF
Encryption Technique for a Trusted Cloud Computing Environment
PDF
Identity-Based Distributed Provable Data Possession in Multicloud Storage
PDF
Smart, Secure and Efficient Data Sharing in IoT
Crypto multi tenant an environment of secure computing using cloud sql
Excellent Manner of Using Secure way of data storage in cloud computing
Unit 3 -Data storage and cloud computing
zenoh: The Edge Data Fabric
Analysis-of-Security-Algorithms-in-Cloud-Computing [Autosaved]
Kp3419221926
zenoh -- the ZEro Network OverHead protocol
A Study of Data Storage Security Issues in Cloud Computing
Cloud security
Security issues associated with big data in cloud
zenoh -- the ZEro Network OverHead protocol
Getting Started with DDS in C++, Java and Scala
Cloudcomputing basics
ENHANCING SECURITY IN CLOUD COMPUTING BY COMBINING DYNAMIC BROADCAST ENCRYPTI...
Analysis of classical encryption techniques in cloud computing
Encryption Technique for a Trusted Cloud Computing Environment
Identity-Based Distributed Provable Data Possession in Multicloud Storage
Smart, Secure and Efficient Data Sharing in IoT
Ad

Similar to Reactive Systems with Data Distribution Service (DDS) (20)

PDF
DDS, the US Navy, and the Need for Distributed Software
PPT
RTI Data-Distribution Service (DDS) Master Class 2011
PDF
Communication Patterns Using Data-Centric Publish/Subscribe
PDF
Communication Patterns Using Data-Centric Publish/Subscribe
PDF
Reactive Stream Processing for Data-centric Publish/Subscribe
PDF
Patterns of Distributed Application Design
PPTX
RTI Technical Road Show SPAWAR SD
PDF
Management High-level overview of the OMG Data Distribution Service (DDS)
PPTX
DDS: The data-centric future beyond message-based integration
PDF
OMG DDS: The Data Distribution Service for Real-Time Systems
PPTX
What Can DDS Do For You?
PDF
An eventful tour from enterprise integration to serverless and functions
PPTX
Patterns of Distributed Application Design
PDF
Untangling cluster management with Helix
PDF
Addressing the Challenges of Tactical Information Management in Net-Centric S...
PPTX
Easing Integration of Large-Scale Real-Time Systems with DDS
PDF
OMG DDS Tutorial - Part I
PDF
Microservices, containers and event driven architecture - key factors in agil...
PDF
Event Driven-Architecture from a Scalability perspective
PDF
ServiceDDS
DDS, the US Navy, and the Need for Distributed Software
RTI Data-Distribution Service (DDS) Master Class 2011
Communication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/Subscribe
Reactive Stream Processing for Data-centric Publish/Subscribe
Patterns of Distributed Application Design
RTI Technical Road Show SPAWAR SD
Management High-level overview of the OMG Data Distribution Service (DDS)
DDS: The data-centric future beyond message-based integration
OMG DDS: The Data Distribution Service for Real-Time Systems
What Can DDS Do For You?
An eventful tour from enterprise integration to serverless and functions
Patterns of Distributed Application Design
Untangling cluster management with Helix
Addressing the Challenges of Tactical Information Management in Net-Centric S...
Easing Integration of Large-Scale Real-Time Systems with DDS
OMG DDS Tutorial - Part I
Microservices, containers and event driven architecture - key factors in agil...
Event Driven-Architecture from a Scalability perspective
ServiceDDS
Ad

Recently uploaded (20)

PPT
Teaching material agriculture food technology
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
Machine Learning_overview_presentation.pptx
PDF
Machine learning based COVID-19 study performance prediction
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Cloud computing and distributed systems.
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Approach and Philosophy of On baking technology
PPTX
A Presentation on Artificial Intelligence
PDF
Chapter 3 Spatial Domain Image Processing.pdf
Teaching material agriculture food technology
sap open course for s4hana steps from ECC to s4
Machine Learning_overview_presentation.pptx
Machine learning based COVID-19 study performance prediction
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Cloud computing and distributed systems.
Per capita expenditure prediction using model stacking based on satellite ima...
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
NewMind AI Weekly Chronicles - August'25-Week II
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
The AUB Centre for AI in Media Proposal.docx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
“AI and Expert System Decision Support & Business Intelligence Systems”
Building Integrated photovoltaic BIPV_UPV.pdf
Assigned Numbers - 2025 - Bluetooth® Document
Diabetes mellitus diagnosis method based random forest with bat algorithm
Approach and Philosophy of On baking technology
A Presentation on Artificial Intelligence
Chapter 3 Spatial Domain Image Processing.pdf

Reactive Systems with Data Distribution Service (DDS)

  • 1. REACTIVE SYSTEMS with OMG’s Data Distribution Service (DDS) Abdullah Ozturkbased on The Reactive Manifesto
  • 2. INTRODUCTION • Traditional software solutions; • Use managed servers and containers, • Scale via larger servers and multi-threading.
  • 3. Today’s Requirements • However, today’s requirements demand new technologies; • Deployed on everything (mobile, cloud clusters etc.), • Thousands of multicore processors, • Low response time (milli-, or even micro-second), • 100% uptime (highly available), • Big data (petabytes).
  • 4. GOING REACTIVE • Coherent approach to systems architecture is needed. • Reactive Systems meet these requirements; • Responsive, • Resilient, • Elastic • and Message Driven.
  • 5. Reactive Systems • Reactive Systems are more flexible, loosely-coupled and scalable. • They are easier to develop and amenable to change. • They are significantly more tolerant of failure and when failure occurs they meet it with elegance. • Reactive Systems are highly responsive, giving users effective interactive feedback.
  • 6. Publish-Subscribe • Publish-subscribe architecture of DDS promotes a loose coupling in space and time. • No shared mutable state, synchronization and blocking operations. • Publishers and subscribers can join and leave to a data domain anytime, express their intent by topics. • Loosely coupled design of DDS allows better scalability.
  • 7. Loose-Coupling • Loose coupling and location independence make it possible to scale out the system onto multiple nodes. • By location transparency, topology of the application becomes a deployment decision. • It enables distributed systems that are easier to design, implement, integrate, deploy and maintain.
  • 8. Data-Centric Architecture • Components interact through production and consumption of data. • DDS middleware employs a data-centric integration model to decouple applications. • DDS middleware knows your data, allows filtering, and provides tailored data management through Quality-of- Services (QoS).
  • 9. RESILIENCE • The system stays responsive in the face of failure. • Resilience is achieved by replication, containment, isolation and delegation. • Failures are contained within each component, isolating components from each other. • Parts of the system can fail and recover without compromising the system as a whole. • High-availability is ensured by replication where necessary.
  • 10. Bulkhead Pattern • In the bulkhead pattern, a system is built up from safe compartments that prevents the classic problem of cascading failures. • DDS provides fully isolated components in which failures can be captured, encapsulated as messages, and sent off to other components that can decide how to respond.
  • 11. Fault Tolerance • A failure is an unexpected event within a service that prevents it from continuing to function normally. • DDS middleware provides fault tolerance; • By providing historical data in last value caches to late joiners. • Makes data survive application, or system failures by durability quality of service. • Monitors the presence, health and activity of DDS entities. • Handles redundant data sources and failover by ownership.
  • 12. No Single Point of Failure • Scalability is typically limited by the introduction of bottlenecks or synchronization points within the system. • Loosely coupled DDS applications without central brokers have no single points of failure.
  • 13. Replication • Executing a component simultaneously in different places. It offers scalability and resilience. • Incoming workload can be distributed across multiple instances of a component by using DDS content-filtered topics. • Incoming workload can be replicated to multiple subscribers which process the same requests in parallel.
  • 14. Isolation • Decoupling, both in time and space. • DDS entities have independent life-cycles—they do not need to be present at the same time or at the same process for communication to be possible. • It is enabled by adding asynchronous boundaries between the components, communicating through message-passing.
  • 15. Reliability • DDS middleware provides that the right data is delivered reliably and in real-time to the right subscriber applications. • Applications that respond to events need to do so in a timely manner, even in the presence of failure. • Deadline QoS of DDS enforces expected time requirements, and time based filter QoS controls data delivery rates.
  • 16. ELASTICITY • Stays responsive under varying workload. • Reacts to changes in the input rate by increasing or decreasing the resources allocated to service. • No contention points or central bottlenecks in DDS, resulting in the ability to shard or replicate components and distribute inputs among them. • Achieves elasticity in a cost-effective way.
  • 17. Scalability • Scalability is achieved by adding more computing resources (elasticity) without redesigning or rewriting the application. • Its performance is measured by the ratio of throughput gain to resource increase. • A system based on DDS is capable of being easily expanded or upgraded on demand by adding more publishers and subscribers.
  • 18. Message-Driven • A message is an item of data that is sent to a specific destination. • In a message-driven system using DDS, addressable recipients (subscribers) await the arrival of messages and react to them, otherwise lying dormant. • A message can contain an encoded event as its payload. • With the message-driven design of DDS, it is easier to extend, evolve and maintain applications, it gives more flexibility and reduces maintenance cost.
  • 19. Asynchronous • It means that the processing of a request occurs at an arbitrary point in time. • DDS middleware ensures loose coupling, isolation, location transparency, and provides the means to delegate errors as messages. • DDS allows the application a choice either get notified asynchronously by attached listeners, or wait data in blocking.
  • 20. Event-Driven • Events—discrete pieces of information describing facts. • DDS middleware notifies the user application of relevant events i.e. arrival of data, QoS violations, entities matched, liveliness changed, deadline missed, and sample lost/rejected. • DDS provides listeners to monitor delivery related events and to notify applications when these events occur.
  • 21. Location Transparency • Decoupling in space, enabled through asynchronous message-passing. • If all components support mobility, then we do not have to define a static system topology upfront. • Makes it possible for the management of failure to work with the same constructs and semantics across a cluster or within a single host.
  • 22. Non-Blocking • Allows the caller the option to do other work rather than be blocked waiting on the resource to become available. • Non-blocking communication allows recipients to only consume resources while active, leading to less system overhead. • Non-blocking operations (read/write) of DDS make the application to be responsive at all times and efficient use of existing resources.
  • 23. RESPONSIVENESS • The system responds in a timely manner if at all possible. • Responsiveness is the cornerstone of usability. • Responsive systems establish reliable upper bounds so they deliver a consistent quality of service.
  • 24. High-Concurrency • High concurrency by design makes use of multicores without changes. • DDS middleware allows creating multiple subscribers or publishers to increase concurrency.
  • 25. Performance • DDS enables low latency and high throughput under heavy load. • Specifies a compact data encoding on the wire. • Supports asynchronous notification mechanisms. • Keeps data copies to a minimum. • Allows controlling timing, communication channel priority and resource utilization for real-time systems.
  • 26. Platform Independence • DDS provides tools as common building blocks for solving the complex problems arising in a distributed environment. • Supports type safety by using a platform independent language. • Standardized well-defined APIs help ensure maximum portability. • Provides programming language independence. • Provides operating system and hardware independence. • Enables on the wire interoperability by a standard wire protocol.
  • 27. Conclusion • Reactive Systems apply design principles. • The largest systems in the world rely upon architectures based on these properties. • OMG’s DDS middleware makes it possible to design and develop reactive systems.
  • 28. Thank You • Questions? Abdullah Ozturk Technical Lead, MilSOFT DDS