DDS in a Nutshell
                                     Data-Centric Architecture and the
                                     Data Distribution Service


    The Global Leader                Rick Warren                       rick.warren@rti.com
    in DDS                           Director of Technical Solutions
© 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?


© 2011 Real-Time Innovations, Inc.            2
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…)




© 2011 Real-Time Innovations, Inc.                    3
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)




© 2011 Real-Time Innovations, Inc.                  4
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.




© 2011 Real-Time Innovations, Inc.                       5
What’s the Difference? State.

       Things have attributes and
              characteristics                         “State” (“data”) is a
                –  The meeting will run 1:00–2:00     snapshot of those
                   in the conference room.
                –  My friend’s phone number is        attributes and
                   555-1234 and he’s currently        characteristics.
                   grooming his cat.
                –  The car is blue and is traveling
                   north from Sunnyvale at 65
                   mph.
       …whether they exist in the                    Best Practice:
              real world, in the computer,
              or both                                 operate on state
       …whether or not we observe                    directly, not dialogs
              or acknowledge them                     about state.


© 2011 Real-Time Innovations, Inc.                                            6
Data-Centric =



                                           the part of            you care about

                         Describing the world
                                                as it is
                                     at a certain point in time

      Implication: State of the world can be maintained by
      infrastructure, not each app


© 2011 Real-Time Innovations, Inc.                                                 7
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)


© 2011 Real-Time Innovations, Inc.                         8
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




© 2011 Real-Time Innovations, Inc.                                        9
Why is it better (over time)
      to just describe the world?



                           Consider integrating based on

                                      Function
                                          vs.
                                     Stateful Data
                                         …

© 2011 Real-Time Innovations, Inc.                         10
Why is it better (over time)
      to just describe the world?


       Computers are                          Integration effort
              stupid.                          doesn’t scale.
                –  Integrate based on what      –  Integrate at level of
                   to do                           function
                   => must know                    => everything integrates
                   everything you might do         with everything else
                   => future extension             => effort scales with
                   hard                            square of number of
                –  Integrate based on what         apps
                   exists                       –  Integrate at level of
                   => do whatever you              stateful data
                   like; no one else cares         => everything integrates
                   => future extension             with common model
                   easy                            => effort scales with
                                                   number of apps



© 2011 Real-Time Innovations, Inc.                                            11
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


© 2011 Real-Time Innovations, Inc.          12
Before We Forget: the Definition
                                                                For example, data
                                                                structures in XSD
      A data-centric architecture:                              or IDL file.

      1.  …is based on a data model that is:                    Calendar Event =
                                                                •  Start Time
                 –  Appropriately documented—                   •  Duration
                    i.e. understandable by humans               •  Location
                 –  Formally defined—                           •  Organizer
                    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.
© 2011 Real-Time Innovations, Inc.                                                  13
DDS: Observe & Respond to a Changing World

   Other technologies that support data-centricity:
         –  Databases: SQL
         –  Web: HTTP (mostly)
     …assume the world changes slowly
                                                         Not scalable
     …use network resources inefficiently       100 apps => 100x load
     …are highly centralized                  Slow
                                          A few updates/sec

   App                                                        App
                                 Server
   App                                                        App
                                 State
   App                                                        App
               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

          Fast                             Scalable             Managed                Reliable
          100,000’s updates/sec            Load indep. # apps    with QoS     No single pt. failure

               App                   App        App             App         App          App



                                            State: Data Bus

© 2011 Real-Time Innovations, Inc.                                                                    15
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

          Fast                             Scalable             Managed                Reliable
          100,000’s updates/sec            Load indep. # apps    with QoS     No single pt. failure

               App                   App        App             App         App          App



                                            State: Data Bus

© 2011 Real-Time Innovations, Inc.                                                                    16
How DDS Works


      DDS is data-centric messaging.
      That is,
        Messaging as a technique
        for distributing, accessing, and modifying stateful data

            App                      App   App                 App    App      App


                                                                      Data
                     Data in Motion                                  at Rest

                             e.g. DDS            complements     e.g. database

© 2011 Real-Time Innovations, Inc.                                                   17
How DDS Works: Concepts & Terminology

       Domain: world you’re talking about
       Topic: group of similar things
                                                       Domain
         –  Similar structure (“type”) what
                                                (e.g. medical devices)
         –  Similar way they change    how
            over time (“QoS”)          when
       Instance: individual (changing) thing          Topic
                                                (e.g. EKG readings)
       Sample: snapshot of an instance at
              a point in time
                                                     Instance
                                                       (e.g.
       DataWriter: source of information          readings from
              about part of the world (topic)        EKG #42)

       DataReader: observer of part of the
              world (topic)
© 2011 Real-Time Innovations, Inc.                                       18
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

© 2011 Real-Time Innovations, Inc.                                                          19
Download a free evaluation of
                                     RTI Data Distribution Service,
       Thank You                     Professional Edition
                                     from www.rti.com/downloads




© 2011 Real-Time Innovations, Inc.                                20

DDS in a Nutshell

  • 1.
    DDS in aNutshell Data-Centric Architecture and the Data Distribution Service The Global Leader Rick Warren rick.warren@rti.com in DDS Director of Technical Solutions © 2011 Real-Time Innovations, Inc.
  • 2.
    Stuff You WillLearn 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? © 2011 Real-Time Innovations, Inc. 2
  • 3.
    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…) © 2011 Real-Time Innovations, Inc. 3
  • 4.
    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) © 2011 Real-Time Innovations, Inc. 4
  • 5.
    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. © 2011 Real-Time Innovations, Inc. 5
  • 6.
    What’s the Difference?State.   Things have attributes and characteristics “State” (“data”) is a –  The meeting will run 1:00–2:00 snapshot of those in the conference room. –  My friend’s phone number is attributes and 555-1234 and he’s currently characteristics. grooming his cat. –  The car is blue and is traveling north from Sunnyvale at 65 mph.   …whether they exist in the Best Practice: real world, in the computer, or both operate on state   …whether or not we observe directly, not dialogs or acknowledge them about state. © 2011 Real-Time Innovations, Inc. 6
  • 7.
    Data-Centric = the part of you care about Describing the world as it is at a certain point in time Implication: State of the world can be maintained by infrastructure, not each app © 2011 Real-Time Innovations, Inc. 7
  • 8.
    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) © 2011 Real-Time Innovations, Inc. 8
  • 9.
    Why is itbetter 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 © 2011 Real-Time Innovations, Inc. 9
  • 10.
    Why is itbetter (over time) to just describe the world? Consider integrating based on Function vs. Stateful Data … © 2011 Real-Time Innovations, Inc. 10
  • 11.
    Why is itbetter (over time) to just describe the world?   Computers are   Integration effort stupid. doesn’t scale. –  Integrate based on what –  Integrate at level of to do function => must know => everything integrates everything you might do with everything else => future extension => effort scales with hard square of number of –  Integrate based on what apps exists –  Integrate at level of => do whatever you stateful data like; no one else cares => everything integrates => future extension with common model easy => effort scales with number of apps © 2011 Real-Time Innovations, Inc. 11
  • 12.
    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 © 2011 Real-Time Innovations, Inc. 12
  • 13.
    Before We Forget:the Definition For example, data structures in XSD A data-centric architecture: or IDL file. 1.  …is based on a data model that is: Calendar Event = •  Start Time –  Appropriately documented— •  Duration i.e. understandable by humans •  Location –  Formally defined— •  Organizer 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. © 2011 Real-Time Innovations, Inc. 13
  • 14.
    DDS: Observe &Respond to a Changing World Other technologies that support data-centricity: –  Databases: SQL –  Web: HTTP (mostly)   …assume the world changes slowly Not scalable   …use network resources inefficiently 100 apps => 100x load   …are highly centralized Slow A few updates/sec App App Server App App State App App Unreliable Failure here kills many apps 14
  • 15.
    DDS: Observe &Respond to a Changing World DDS:   …allows you to observe frequent changes   …uses network resources efficiently   …is decentralized Fast Scalable Managed Reliable 100,000’s updates/sec Load indep. # apps with QoS No single pt. failure App App App App App App State: Data Bus © 2011 Real-Time Innovations, Inc. 15
  • 16.
    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 Fast Scalable Managed Reliable 100,000’s updates/sec Load indep. # apps with QoS No single pt. failure App App App App App App State: Data Bus © 2011 Real-Time Innovations, Inc. 16
  • 17.
    How DDS Works DDS is data-centric messaging. That is,   Messaging as a technique   for distributing, accessing, and modifying stateful data App App App App App App Data Data in Motion at Rest e.g. DDS complements e.g. database © 2011 Real-Time Innovations, Inc. 17
  • 18.
    How DDS Works:Concepts & Terminology   Domain: world you’re talking about   Topic: group of similar things Domain –  Similar structure (“type”) what (e.g. medical devices) –  Similar way they change how over time (“QoS”) when   Instance: individual (changing) thing Topic (e.g. EKG readings)   Sample: snapshot of an instance at a point in time Instance (e.g.   DataWriter: source of information readings from about part of the world (topic) EKG #42)   DataReader: observer of part of the world (topic) © 2011 Real-Time Innovations, Inc. 18
  • 19.
    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 © 2011 Real-Time Innovations, Inc. 19
  • 20.
    Download a freeevaluation of RTI Data Distribution Service, Thank You Professional Edition from www.rti.com/downloads © 2011 Real-Time Innovations, Inc. 20