DDS in a Nutshell
-
Upload
rick-warren -
Category
Technology
-
view
781 -
download
2
description
Transcript of DDS in a Nutshell
The Global Leader in DDS
Rick Warren [email protected] Director of Technical Solutions
DDS in a Nutshell Data-Centric Architecture and the Data Distribution Service
© 2011 Real-Time Innovations, Inc.
Stuff You Will Learn
DDS is data-centric messaging.
1. What is “data-centricity” anyway?
2. Why is it a good way to build and integrate systems?
3. What’s special about DDS?
2 © 2011 Real-Time Innovations, Inc.
Data-Centricity by Example: Calendaring
Alternative Process #1: 1. Email: “Meeting Monday at 10:00.”
2. Email: “Meeting moved to Tuesday.”
3. Email: “Here’s dial-in info for meeting…”
4. You: “Where do I have to be? When?”
5. You: (sifting through email…)
3 © 2011 Real-Time Innovations, Inc.
Data-Centricity by Example: Calendaring
Alternative Process #2: 1. Calendar: (add meeting Monday at 10:00)
2. Calendar: (move meeting to Tuesday)
3. Calendar: (add dial-in info)
4. You: “Where do I have to be? When?”
5. You: (check calendar)
4 © 2011 Real-Time Innovations, Inc.
Data-Centricity by Example: FaceBook
Alternative Process #1: Use the FaceBook web site.
Alternative Process #2:
The web site doesn’t exist.
Deduce your friends’ information based on the notifications FaceBook sends you.
5 © 2011 Real-Time Innovations, Inc.
What’s the Difference? State.
Things have attributes and characteristics – The meeting will run 1:00–2:00
in the conference room. – My friend’s phone number is
555-1234 and he’s currently grooming his cat.
– The car is blue and is traveling north from Sunnyvale at 65 mph.
…whether they exist in the real world, in the computer, or both
…whether or not we observe or acknowledge them
“State” (“data”) is a snapshot of those attributes and characteristics.
Best Practice: operate on state directly, not dialogs about state.
6 © 2011 Real-Time Innovations, Inc.
Data-Centric =
Describing the world as it is
Implication: State of the world can be maintained by infrastructure, not each app
7
the part of you care about
at a certain point in time
© 2011 Real-Time Innovations, Inc.
Not Data-Centric =
Saying anything else “Hey you: go do this.” “The thing changed in this way.”
Implication: State must be inferred, reconstructed, managed by each app
(Sometimes called “message-centricity”: focus on what’s said vs. what is)
8 © 2011 Real-Time Innovations, Inc.
Why is it better to just describe the world?
Reconstructing the state of the world is hard. – Must infer based on all previous messages – Maintaining all these messages is expensive – Each app makes these inferences => duplicate effort
People make mistakes. – Many copies of state => may be different => bugs
vs. – Uniform operations on state => fewer bugs
9 © 2011 Real-Time Innovations, Inc.
Why is it better (over time) to just describe the world?
Consider integrating based on
Function vs.
Stateful Data …
10 © 2011 Real-Time Innovations, Inc.
Why is it better (over time) to just describe the world?
Computers are stupid. – Integrate based on what
to do => must know everything you might do => future extension hard
– Integrate based on what exists => do whatever you like; no one else cares => future extension easy
Integration effort doesn’t scale. – Integrate at level of
function => everything integrates with everything else => effort scales with square of number of apps
– Integrate at level of stateful data => everything integrates with common model => effort scales with number of apps
11 © 2011 Real-Time Innovations, Inc.
So it’s “better.” Who cares?
Faster to implement => Save time and money
Easier to integrate and update => Protect your investment
More reliable systems => Protect your business
12 © 2011 Real-Time Innovations, Inc.
Before We Forget: the Definition
A data-centric architecture: 1. …is based on a data model that is:
– Appropriately documented— i.e. understandable by humans
– Formally defined— i.e. understandable by machines
– Discoverable—i.e. can be found during execution
2. The data model is independent of any domain-specific functionality / application. – i.e. made of nouns, not verbs
3. The (instantiated) data model is the only authoritative source of state in the system.
13
For example, data structures in XSD or IDL file.
Calendar Event = • Start Time • Duration • Location • Organizer
© 2011 Real-Time Innovations, Inc.
DDS: Observe & Respond to a Changing World
Other technologies that support data-centricity: – Databases: SQL – Web: HTTP (mostly)
…assume the world changes slowly …use network resources inefficiently …are highly centralized
State
Server App
App
App App
App
App
Slow A few updates/sec
Not scalable 100 apps => 100x load
Unreliable Failure here kills many apps
14
DDS: Observe & Respond to a Changing World
DDS: …allows you to observe frequent changes
…uses network resources efficiently
…is decentralized
15
App App App App App App
Fast 100,000’s updates/sec
Scalable Load indep. # apps
Reliable No single pt. failure
Managed with QoS
State: Data Bus
© 2011 Real-Time Innovations, Inc.
DDS: Observe & Respond to a Changing World
Army JBC-P replaced home-grown messaging w/ DDS: Tracks 20x more objects with fewer failures
…with 90+% less code
…with 90+% lower CPU resources
16
App App App App App App
Fast 100,000’s updates/sec
Scalable Load indep. # apps
Reliable No single pt. failure
Managed with QoS
State: Data Bus
© 2011 Real-Time Innovations, Inc.
How DDS Works
DDS is data-centric messaging. That is,
Messaging as a technique
for distributing, accessing, and modifying stateful data
e.g. DDS complements e.g. database
17
Data at Rest
App App App App App App
Data in Motion
© 2011 Real-Time Innovations, Inc.
How DDS Works: Concepts & Terminology
Domain: world you’re talking about
Topic: group of similar things – Similar structure (“type”) what – Similar way they change how
over time (“QoS”) when
Instance: individual (changing) thing
Sample: snapshot of an instance at a point in time
DataWriter: source of information about part of the world (topic)
DataReader: observer of part of the world (topic)
18
Domain (e.g. medical devices)
Topic (e.g. EKG readings)
Instance (e.g.
readings from EKG #42)
© 2011 Real-Time Innovations, Inc.
Conclusion
Data-centric architecture brings significant business benefits – Save time and money during initial development – Leverage existing investments as solutions evolve – Protect mission-critical functions with resilient, highly
available implementations
DDS supports data-centricity for dynamic systems – Develop event-driven systems based on open standards – Communicate more efficiently:
• Deliver existing capability with fewer hardware resources • Deliver greater capability with the same hardware resources
– Avoid single points of failure with distributed P2P topology – Monitor and govern data delivery quality of service
19 © 2011 Real-Time Innovations, Inc.
Thank You
© 2011 Real-Time Innovations, Inc. 20
Download a free evaluation of RTI Data Distribution Service, Professional Edition from www.rti.com/downloads