DDS in a Nutshell

20
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.

description

This presentation gives a brief, semi-technical introduction to Data Distribution Service (DDS) technology from the Object Management Group. The focus is on the business benefits of the technology generally, not on RTI's implementation in particular.

Transcript of DDS in a Nutshell

Page 1: 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.

Page 2: DDS in a Nutshell

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.

Page 3: DDS in a Nutshell

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.

Page 4: DDS in a Nutshell

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.

Page 5: DDS in a Nutshell

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.

Page 6: DDS in a Nutshell

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.

Page 7: DDS in a Nutshell

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.

Page 8: DDS in a Nutshell

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.

Page 9: DDS in a Nutshell

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.

Page 10: DDS in a Nutshell

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.

Page 11: DDS in a Nutshell

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.

Page 12: DDS in a Nutshell

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.

Page 13: DDS in a Nutshell

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.

Page 14: DDS in a Nutshell

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

Page 15: DDS in a Nutshell

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.

Page 16: DDS in a Nutshell

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.

Page 17: DDS in a Nutshell

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.

Page 18: DDS in a Nutshell

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.

Page 19: DDS in a Nutshell

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.

Page 20: DDS in a Nutshell

Thank You

© 2011 Real-Time Innovations, Inc. 20

Download a free evaluation of RTI Data Distribution Service, Professional Edition from www.rti.com/downloads