SlideShare ist ein Scribd-Unternehmen logo
1 von 46
Downloaden Sie, um offline zu lesen
OpenSplice DDS
                                 Delivering Performance, Openness, and Freedom



Angelo Corsaro, Ph.D.
      Chief Technology Officer


                                    DDS vs. AMQP
        OMG DDS SIG Co-Chair
angelo.corsaro@prismtech.com
Agenda


‣Genesis
‣Technology Comparison
‣Code Examples
‣Concluding Remarks
OpenSplice DDS
Delivering Performance, Openness, and Freedom




                                  Historical
                                Perspectives
Genesis
                DDS                                         AMQP

‣ Emerged from Aerospace and Defense        ‣ Emerged from the Financial Market
 to address the data distribution            from the desire of freeing users from
 requirement of a large class of mission-    proprietary and non-interoperable
 critical systems                            messaging systems
‣ Evolved to address on-the-wire            ‣ Evolved into an effort to define a
 interoperability and provide the            generic enterprise messaging standard
 ubiquitous data-bus for mission-critical
 System-of-Systems
Standardization Organization
                DDS                                      AMQP

‣ DDS is an Object Management Group        ‣ AMQP is standardized by the AMQP
 (OMG) Standard                             Working Group
‣ The OMG is a an international, open      ‣ The AMQP Working Group is a non-
  membership, not-for-profit computer        profit organization with a free
  industry consortium since 1989            membership based on interest and
‣ OMG is an ISO PAS submitter, able to      merit
  submit our specifications directly into
  ISO’s fast-track adoption process.
Standard Evolution

DDS v1.0     DDS v1.1                 DDS v1.2     DDSI v2.0          DDSI v2.1     DDS-XTopics
Dec          Dec                      Jan          Apr                Jan           March

      2004      2005           2006         2007         2008               2009        2010


                         Jun                       Nov                       Dec

                         AMQP v0-8                 AMQP v0-9-1              AMQP v1-0 draft
                                                                ???
                   Dec
                                                                AMQP v0-10
                   AMQP v0-9
Scope of Standardization
                                                                  Application
         Application
                                                                       Object/Relational Mapping

                                                                Data Local Reconstruction Layer (DLRL)




                                                                                                         DDS v1.2
                                                                                          Content
                                                  Ownership          Durability
                                                                                        Subscription
            API (?)                                               Minimum Profile

                                                       Data Centric Publish/Subscribe (DCPS)




                                                                                                         DDSI v2.1
                                      AMQP v1-0
  Advanced Message Queuing Protocol                     Real-Time Publish/Subscribe Protocol


     Interoperability Wire Protocol                      DDS Interoperability Wire Protocol


                TCP/IP                                                UDP/IP
OpenSplice DDS
Delivering Performance, Openness, and Freedom




                                 Technology
                                Comparison
Which Versions?



In the reminder of this presentation I’ll compare DDS v1.2 / DDSI v2.1 with AMQP v1-0
OpenSplice DDS
Delivering Performance, Openness, and Freedom




                         Messages vs. Topics
AMQP v1-0 Messages


‣ AMQP is a standard protocol for messaging
‣ As such AMQP the unit of information that
  can be sent or received is a message.
‣ An AMQP message encapsulate the “Bare
  Message”, provided by the application, within
  an annotated message

                                                  [Source AMQP specification v1-0]
DDS Topics
                                                                                   {Circle, Square, Triangle}
Topic
‣ Unit of information exchanged between
  Publisher and Subscribers.
‣ An association between a unique name, a
  type and a QoS setting                                                     {ShapeType}                        {...}


Topic Type.
                                                                             struct ShapeType {
‣ Type describing the data associated with one                                  long   x;
  or more Topics                                                                long   y;
‣ A Topic type can have a key represented by an                                 long   shapesize;
                                                                                string color;
  arbitrary number of attributes                                             };
‣ Expressed in IDL                                                           #pragma keylist ShapeType color

                                    © 2009, PrismTech. All Rights Reserved
Topic/Instances/Samples Recap.
   Topics                                                         Instances




                 Samples



            ti     tj                                      tnow       time
                  © 2009, PrismTech. All Rights Reserved
OpenSplice DDS
Delivering Performance, Openness, and Freedom




              Node/Links vs. Reader/Writers
AMQP v1-0 Conceptual Model
‣ An AMQP Network consists of Nodes and Links
‣ A Node is a named source and/or sink of Messages. A Message is created at a
  (Producer) Node, and may travel along links, via other nodes until it reaches a
  terminating (Consumer) Node.
‣ A Link is a unidirectional route between nodes along which messages may travel. Links
  may have entry criteria (Filters) which restrict which messages may travel along them.
  The link lifetime is tied to the lifetime of the source and destination nodes.


                     m       m
                                    Link
                         m


                    Node                            Node
Destructive Links

  Destructive Links consume the message from the originating source.



     Destructive Link              Destructive Link                    Destructive Link
 m                             m          m                                               m


Node 1              Node 2 Node 1                 Node 2       Node 1                 Node 2


                                           Time
Non-Destructive Links

  Non-Destructive Links don’t consume messages from the source node.




     Non-Destructive               Non-Destructive
          Link                          Link
 m                             m          m                   m          m


Node 1            Node 2     Node 1              Node 2     Node 1     Node 2

                                          Time
Filtered Links
Links can have associated filters that allow to predicate on the messages that might
traverse. Filter can be based on the non opaque portion of the message.

                    Link                                   Link           m

                {color = red}                          {color = red}    m


  m       m                     Node                                   Node
                                                 m
  m       m
      m

 Node             Link                       Node        Link             m
              {color = green}                        {color = green}
                                                                        m

                                Node                                   Node
                                          Time
Anatomy of a DDS Application


                                                               Topic
                                                                Topic
                                                                 Topic
                                                                        Samples
                                                                         Samples
                 Instances                                                Samples
                  Instances
                   Instances
                                           1
                                               1
                                                   21 62
                                                    21 62
                                                               1
                                                                   1
                                                                       22 62
                                                                        22 62
                                                                                   1
                                                                                       1
                                                                                            23 63
                                                                                             23 63
    DataReader
    DataReader                            2        20 61      2        19 60
     DataReader
      DataReader                               2    20 61         2     19 60                                         DataWriter
                                                                                                                      DataWriter
       DataReader
        DataReader                        3        25 70      3 25 71
                                                                25                  3       25 74    3
                                                                                                         3
                                                                                                             26 77
                                                                                                              26 77
                                                                                                                       DataWriter
                                                                                                                        DataWriter
                     struct ShapeType {      3 25      70      3 25 71
                                                                  25                    3    25 74
                        long   x;
                        long   y;
                        long   shapesize;
                        string color;
                     };
                     #pragma keylist ShapeType color




Destructive/Non-Destructive Links can be paralleled with the DDS read/take semantics
                                                            © 2009, PrismTech. All Rights Reserved
Content Filtering
                                                                               X0                   X1
                                                                                    X0 <= X <= X1
‣ DDS allows to specify content-
 filtered Topics for which a subset
 of SQL92 is used to express the
 filter condition
                                                                      Y0
‣ Content filters can be applied on
 the entire content of the Topic Type                 Y0 <= Y <= Y1

‣ Content filters are applied by DDS
                                                                      Y1
 each time a new sample is
 produced/delivered

                                      © 2009, PrismTech. All Rights Reserved
Local Queries
‣ A subset of SQL92 can be used for performing queries                           X0

‣ Queries are
 performed under         Circle Topic
 user control and                                                                                 Y0
                          color     x            y             shapesize                 Y0
 provide a result that     red     57           62                50
 depends on the           blue     90           85                50
                                                                                  Y0 <= Y <= Y1
 current snapshot of     yellow    30           25                50
 the system, e.g.,
 samples currently                x > 25 AND y < 55                                      Y1
 available
                          color     x            y             shapesize
                         yellow    30           25                50


                                        © 2009, PrismTech. All Rights Reserved
OpenSplice DDS
Delivering Performance, Openness, and Freedom




                         Deployment Model
AMQP v1-0 Deployment Model


‣ Nodes within the AMQP network
 exist within Containers
‣ A container is a physical or logical
 process to which network
 connections can be established


                                         [Source AMQP specification v1-0]
DDS Deployment Model
‣ DDS is based around the concept
  of a fully distributed Global Data
                                          Publisher                                                 Subscriber
  Space (GDS)
                                                                                Global Data Space
‣ Publishers and Subscribers can
  join and leave the GDS at any time
                                                                                                     Subscriber
‣ Publishers and Subscribers            Publisher                                   Brokers
  express their intent to produce/
  consume specific type of data,
  e.g., Topics
                                                                                                    Subscriber
‣ Data flows from Publisher to             Publisher

  Subscribers                                                                         DDS



                                       © 2009, PrismTech. All Rights Reserved
Domains and Partitions
                                              Domain


Domain
‣ A Domain is one instance of the DDS
  Global Data Space
‣ DDS entities always belong to a specific
  domain
Partition
‣ A partition is a scoping mechanism
  provided by DDS organize a domain                                                DDS
                                                                              Global Data Space
                                             Partition



                                              © 2009, PrismTech. All Rights Reserved
OpenSplice DDS
Delivering Performance, Openness, and Freedom




                     Communication Model
Sessions

‣ A Session is a named interaction
                                      [Source AMQP specification v1-0]



  between two containers providing
  for a pair of reliable ordered
  command streams (one in each
  direction)
‣ Links between nodes in different
  containers are created on a
  session
‣ Containers and Sessions form an
  underlay network, nodes and links
  an overlay network atop them
Sessions & Commands
‣ Sessions are a transport for commands
‣ Commands are the atomic units of work of the AMQP transport protocol
  Commands are used to create links between nodes in the source and destination
  containers, to transfer message data, and to issue and revoke credit
‣ In general an AMQP session will be carried over some form of network layer, thus
  commands sent on a session are asynchronous.




                                  [Source AMQP specification v1-0]
Transport Model
                   m       m
                                         Link
                       m


                   Node                                        Node



 Links                                                                          Links
         Session                                                      Session
 Links                                                                          Links
         Session               Transport Connection (TCP/IP)          Session
 Links                                                                          Links
         Session                                                      Session
Anatomy of a DDS Application


                                                           Topic
                                                            Topic
                                                             Topic
                                                                   Samples
                                                                    Samples
              Instances                                              Samples
               Instances
                Instances
                                        1
                                            1
                                                21 62
                                                 21 62
                                                          1
                                                              1
                                                                  22 62
                                                                   22 62
                                                                               1
                                                                                   1
                                                                                        23 63
                                                                                         23 63
 DataReader
 DataReader                            2        20 61     2       19 60
  DataReader
   DataReader                               2    20 61        2    19 60                                          DataWriter
                                                                                                                  DataWriter
    DataReader
     DataReader                        3        25 70    3 25 71
                                                           25                   3       25 74    3
                                                                                                     3
                                                                                                         26 77
                                                                                                          26 77
                                                                                                                   DataWriter
                                                                                                                    DataWriter
                  struct ShapeType {      3 25      70    3 25 71
                                                             25                     3    25 74
                     long   x;
                     long   y;
                     long   shapesize;
                     string color;
                  };
                  #pragma keylist ShapeType color




                                                     © 2009, PrismTech. All Rights Reserved
Anatomy of a DDS Application

                                                                                 Topic
                                                                                  Topic
                                                                                   Topic
                                                                                          Samples
                                                                                           Samples
                                 Instances                                                  Samples
                                  Instances
                                   Instances
                                                          1
                                                              1
                                                                  21 62
                                                                   21 62
                                                                                 1
                                                                                     1
                                                                                         22 62
                                                                                          22 62
                                                                                                     1
                                                                                                         1
                                                                                                              23 63
                                                                                                               23 63
               DataReader
               DataReader                                2        20 61         2        19 60
                DataReader
                 DataReader                                   2    20 61            2     19 60                                           DataWriter
                                                                                                                                          DataWriter
                  DataReader
                   DataReader                            3        25 70        3 25 71
                                                                                 25                   3       25 74    3
                                                                                                                           3
                                                                                                                               26 77
                                                                                                                                26 77
                                                                                                                                           DataWriter
                                                                                                                                            DataWriter
                                    struct ShapeType {      3 25      70        3 25 71
                                                                                   25                     3    25 74
                                       long   x;
                                       long   y;
Arrows                                 long   shapesize;
                                       string color;
show                                };
                                    #pragma keylist ShapeType color
structural
relationship
s, not data-        Subscriber                                                                                                          Publisher
flows                                                                       Partition




                                                                   © 2009, PrismTech. All Rights Reserved
Anatomy of a DDS Application

                                                                              Topic
                                                                               Topic
                                                                                Topic
                                                                                      Samples
                                                                                       Samples
                              Instances                                                 Samples
                               Instances
                                Instances
                                                        1
                                                            1
                                                                21 62
                                                                 21 62
                                                                             1
                                                                                 1
                                                                                     22 62
                                                                                      22 62
                                                                                                  1
                                                                                                      1
                                                                                                           23 63
                                                                                                            23 63
               DataReader
               DataReader                              2        20 61        2       19 60
                DataReader
                 DataReader                                 2    20 61           2    19 60                                           DataWriter
                                                                                                                                      DataWriter
                  DataReader
                   DataReader                          3        25 70       3 25 71
                                                                              25                   3       25 74    3
                                                                                                                        3
                                                                                                                            26 77
                                                                                                                             26 77
                                                                                                                                       DataWriter
                                                                                                                                        DataWriter
                                  struct ShapeType {      3 25      70       3 25 71
                                                                                25                     3    25 74
                                     long   x;
                                     long   y;
                                     long   shapesize;
Arrows                               string color;
                                  };
show                              #pragma keylist ShapeType color
structural
relationship
s, not data-         Subscriber                                                                                                      Publisher
flows                                                                      Partition

                                                                  Domain Participant

                                                                           Domain
                                                                  © 2009, PrismTech. All Rights Reserved
Transport Model
                                                                                                            Readers
                                                                                      Writers                                           Writers




                                                                                                              Subscriber
                                                                                                Publisher



                                                                                                                            Publisher
                                Readers                                                                                                                                                         Readers
          Writers                                                Writers                                                                                         Writers                                                   Writers

                                                                                                      Domain




                                  Subscriber
                    Publisher



                                               Publisher




                                                                                                                                                                                                  Subscriber
                                                                                                                                                                                    Publisher



                                                                                                                                                                                                               Publisher
                                                                                                     Participant




                          Domain
                                                                                                                                                                                          Domain
                         Participant                                                         UDP (Unicast/MCast)
                                                                                                                                                                                         Participant




                                                            Domain                                                                                Domain
                                                           Participant                                                                           Participant




                                                    Subscriber




                                                                                                                                            Subscriber
                                                                               Subscriber




                                                                                                                                                                       Subscriber
                                                                   Publisher




                                                                                                                                                           Publisher
                        Readers                                                             Readers                        Readers                                                  Readers
                © 2009, PrismTech. All Rights Reserved
                                                                 Writers                                                                                 Writers
OpenSplice DDS
Delivering Performance, Openness, and Freedom




                                Type System
AMQP Type System


‣ AMQP defines a type-system
  that is used to encode messages
  and controls sent as part of the
  protocol
‣ This type system can be also
  used to encode application data




                                     [Source AMQP specification v1-0]
Primitive Types



      DDS Type System
                                                                                           boolean                   long
                                                                                            octet            unsigned long
                                                                                            char               long long
                                                                                            wchar            unsigned long
                                                                                                                 long

‣ DDS supports the definition of types based on a subset of                                  short
                                                                                       unsigned short
                                                                                                                 float
                                                                                                                 double
  the IDL specification language.                                                                              long double


‣ This type system is used internally by DDS and is also  Constructed Types                    Example

  available to user for defining topic types                     enum          enum Dimension { 1D, 2D, 3D, 4D };

        Template Type                      Example
 string<length = UNBOUNDED>    string     s1;
                               string<32> s2;                                 struct Coord1D { long x;};
                                                                              struct Coord2D { long x; long y; };
 wstring<length = UNBOUNDED>   wstring     ws1;
                                                                  struct      struct Coord3D { long x; long y; long
                               wstring<64> ws2;
                                                                              z; };
                                                                              struct Coord4D { long x; long y; long z,
                                                                                               unsigned long long t;};
sequence<T,length = UNBOUNDED> sequence<octet>       oseq;
                               sequence<octet, 1024> oseq1k;

                               sequence<MyType>     mtseq;                    union Coord switch (Dimension) {
                               sequence<MyType, 10> mtseq10;                     case 1D:
                                                                                    Coord1D c1d;
                                                                                 case 2D:
                                                                                    Coord2D c2d;
                                                                  union
                                                                                 case 3D:
                                                                                    Coord3D c3d;
     fixed<digits,scale>       fixed<5,2> fp; //d1d2d3.d4d5                      case 4D:
                                                                                    Coord4D c4d;
                                                                              };
OpenSplice DDS
Delivering Performance, Openness, and Freedom




                        Putting it all Together
DDS                                               AMQP

‣ A generic DDS application is a self-formed       ‣ A generic AMQP application is a graph of
    federation reads and writes topics over the        nodes connected by links over which travel
    Global Data Space                                  application provided messages
‣ Communication is hidden to the applications      ‣   The link-related traffic is managed by
    which is provided with a read/write sematics       sessions which in turns communicate via a
                                                       transport connection.
‣   UDP Unicast and Multicast are available for
    DDS v1.2, DDSI v2.1                            ‣   The only transport currently available for
                                                       AMQP v1-0 is TCP
AMQP v1-0 StatusDDS                                                         AMQP

                                                        ‣ Addressing Scheme. Does not define a standard
‣ Data Centricity. DDS is about data and it is fair         global addressing scheme, this will be part of v1-1
    to say that data takes life in DDS, thanks to the   ‣   Transport Protocol. Currently only supports
    support for keys, lifecycle management, etc.            TCP, but UDP and SCTP will be added in future
‣   Transport Protocol. Currently supports UDP              revisions of the spec
    (Unicast and Multicast). TCP will be supported in   ‣   Broker Management. A SIG is working on
    upcoming revisions of the standard. However,            defining an API for Broker Management, today,
    there is nothing that prevents DDS today to use         each implementation has its own way
    TCP as a transport                                  ‣   Topology Configuration. The Broker topology
‣   Topology Configuration. Topology is dynamically          can be configured via management tools, yet the
    discovered by DDS via its standard discovery            spec does not explicitly supports automatic
    protocol                                                propagation of queue subscriptions (some
                                                            product do)
OpenSplice DDS
Delivering Performance, Openness, and Freedom




                             Code Examples
Setting-up Subscriptions
                     DDS                                                        AMQP
                                                             std::string exchange = "amq.topic";

 dds::Topic<Track> track("TrackTopic");                      // Connect to the broker
 dds::Topic<TrackClass> track_class("TrackClassTopic");      Connection connection;
                                                             connection.open(host, port);
 dds::DataReader<Track> tDR(track);
 dds::DataReader<TrackClass> tcDR(track_class);              // Create a session
                                                             Session session = connection.newSession();

                                                             // Decrlare a queue
                                                             session.queueDeclare(arg::queue=queue,
                                                                                  arg::exclusive=true,
                                                                                  arg::autoDelete=true);

struct Track {               struct TrackClass {             // Set-up routes
   short id;                    short id;                    session.exchangeBind(arg::exchange=exchange,
   long x;                      Classification cls;                               arg::queue="Track",
   long y;                      string descr;                                     arg::bindingKey="Track.#");
};                           };                              session.exchangeBind(arg::exchange=exchange,
#pragma keylist Track id     #pragma keylist TrackClass id                        arg::queue="TrackClass",
                                                                                  arg::bindingKey="TrackClass.#");
Writing Data
                    DDS                                                      AMQP
dds::DataWriter<Track> tDW(track);                 Track t = { 101, 140, 200 };
dds::DataWriter<TrackClass> tcDW(track_class);     Message message;

Track t = { 101, 140, 200 };                       message.getDeliveryProperties().setRoutingKey("Track.Radar101");
tDW(t);
                                                   std::stringstream message_data;
TrackClass tc = { 101, FRIENDLY, “Some descr.”};   data << t.id << “ “ << t.x << “ “ << t.y;
tcDW.write(tc);
                                                   message.setData(message_data.str());
                                                   async(session).messageTransfer(arg::content=message,
                                                                                  arg::destination="amq.topic");
Reading Data
                    DDS                                   AMQP

std::vector<Track> data;        void Listener::received(Message& message) {
std::vector<SampleInfo> info;      std::string data = message.getData();
                                   Track t;
tDR.read(data, info);              // Parse the string to extract the data
                                   string_to_track(data, t);
                                }
OpenSplice DDS
Delivering Performance, Openness, and Freedom




                               Summing Up
Concluding Remarks
                  DDS                                               AMQP


‣ DDS provides the abstraction of a Global        ‣ AMQP is provides as basic abstraction that
  Data Space, a ubiquitous, universal and fully     of messages and message routing.
  distributed data cache.                         ‣ AMQP standardized the wire-protocol and
‣ DDS makes user data a first class citizen          uses this standard to achieve API
‣ DDS provides a standard API as well as an         independence
  interoperable Wire-Protocol

DDS and AMQP are very interesting technologies, which at some point might work in synergy.
OpenSplice DDS could be using AMQP as one of its wire-protocols. The DDS API over AMQP could be
standardize...
Online Resources

 http://www.opensplice.com/
                                                                                  http://www.slideshare.net/angelo.corsaro
 emailto:opensplicedds@prismtech.com




 http://bit.ly/1Sreg                                                              http://twitter.com/acorsaro/




                                                                                  http://opensplice.blogspot.com
 http://www.youtube.com/OpenSpliceTube


                                         © 2009, PrismTech. All Rights Reserved

Weitere ähnliche Inhalte

Was ist angesagt?

SPI introduction(Serial Peripheral Interface)
SPI introduction(Serial Peripheral Interface)SPI introduction(Serial Peripheral Interface)
SPI introduction(Serial Peripheral Interface)SUNODH GARLAPATI
 
DB2 for z/OS and DASD-based Disaster Recovery - Blowing away the myths
DB2 for z/OS and DASD-based Disaster Recovery - Blowing away the mythsDB2 for z/OS and DASD-based Disaster Recovery - Blowing away the myths
DB2 for z/OS and DASD-based Disaster Recovery - Blowing away the mythsFlorence Dubois
 
Pin Description Of Intel 80386 DX Microprocessor
Pin Description Of Intel 80386 DX MicroprocessorPin Description Of Intel 80386 DX Microprocessor
Pin Description Of Intel 80386 DX MicroprocessorRaunaq Sahni
 
AMBA3.0 james_20110801
AMBA3.0 james_20110801AMBA3.0 james_20110801
AMBA3.0 james_20110801James Chang
 
System Verilog Functional Coverage
System Verilog Functional CoverageSystem Verilog Functional Coverage
System Verilog Functional Coveragerraimi
 
Basic information about Computer memory
Basic information about Computer memoryBasic information about Computer memory
Basic information about Computer memoryRamesh Pant
 
DB2 for z/O S Data Sharing
DB2 for z/O S  Data  SharingDB2 for z/O S  Data  Sharing
DB2 for z/O S Data SharingSurekha Parekh
 
Double data rate (ddr)
Double data rate (ddr)Double data rate (ddr)
Double data rate (ddr)Anderson Huang
 
Stack Operations
Stack Operations Stack Operations
Stack Operations RidaZaman1
 
Mq presentation
Mq presentationMq presentation
Mq presentationxddu
 
3.1,2,3 pushdown automata definition, moves &amp; id
3.1,2,3 pushdown automata   definition, moves &amp; id3.1,2,3 pushdown automata   definition, moves &amp; id
3.1,2,3 pushdown automata definition, moves &amp; idSampath Kumar S
 
Introduction to arm architecture
Introduction to arm architectureIntroduction to arm architecture
Introduction to arm architectureZakaria Gomaa
 

Was ist angesagt? (20)

Amba bus
Amba busAmba bus
Amba bus
 
SPI introduction(Serial Peripheral Interface)
SPI introduction(Serial Peripheral Interface)SPI introduction(Serial Peripheral Interface)
SPI introduction(Serial Peripheral Interface)
 
I2C Protocol
I2C ProtocolI2C Protocol
I2C Protocol
 
I2C BUS PROTOCOL
I2C BUS PROTOCOLI2C BUS PROTOCOL
I2C BUS PROTOCOL
 
DB2 for z/OS and DASD-based Disaster Recovery - Blowing away the myths
DB2 for z/OS and DASD-based Disaster Recovery - Blowing away the mythsDB2 for z/OS and DASD-based Disaster Recovery - Blowing away the myths
DB2 for z/OS and DASD-based Disaster Recovery - Blowing away the myths
 
Pin Description Of Intel 80386 DX Microprocessor
Pin Description Of Intel 80386 DX MicroprocessorPin Description Of Intel 80386 DX Microprocessor
Pin Description Of Intel 80386 DX Microprocessor
 
SPI Bus Protocol
SPI Bus ProtocolSPI Bus Protocol
SPI Bus Protocol
 
AMBA3.0 james_20110801
AMBA3.0 james_20110801AMBA3.0 james_20110801
AMBA3.0 james_20110801
 
System Verilog Functional Coverage
System Verilog Functional CoverageSystem Verilog Functional Coverage
System Verilog Functional Coverage
 
Cache coherence
Cache coherenceCache coherence
Cache coherence
 
Lpc2148 i2c
Lpc2148 i2cLpc2148 i2c
Lpc2148 i2c
 
Basic information about Computer memory
Basic information about Computer memoryBasic information about Computer memory
Basic information about Computer memory
 
DB2 for z/O S Data Sharing
DB2 for z/O S  Data  SharingDB2 for z/O S  Data  Sharing
DB2 for z/O S Data Sharing
 
Double data rate (ddr)
Double data rate (ddr)Double data rate (ddr)
Double data rate (ddr)
 
Stack Operations
Stack Operations Stack Operations
Stack Operations
 
I2C
I2CI2C
I2C
 
Microcontroller part 4
Microcontroller part 4Microcontroller part 4
Microcontroller part 4
 
Mq presentation
Mq presentationMq presentation
Mq presentation
 
3.1,2,3 pushdown automata definition, moves &amp; id
3.1,2,3 pushdown automata   definition, moves &amp; id3.1,2,3 pushdown automata   definition, moves &amp; id
3.1,2,3 pushdown automata definition, moves &amp; id
 
Introduction to arm architecture
Introduction to arm architectureIntroduction to arm architecture
Introduction to arm architecture
 

Andere mochten auch

DDS and OPC UA Explained
DDS and OPC UA ExplainedDDS and OPC UA Explained
DDS and OPC UA ExplainedAngelo Corsaro
 
The DDS Tutorial - Part I
The DDS Tutorial - Part IThe DDS Tutorial - Part I
The DDS Tutorial - Part IAngelo Corsaro
 
DDS in Action -- Part I
DDS in Action -- Part IDDS in Action -- Part I
DDS in Action -- Part IAngelo Corsaro
 
Building the Internet of Things
Building the Internet of ThingsBuilding the Internet of Things
Building the Internet of ThingsAngelo Corsaro
 
Comparison of MQTT and DDS as M2M Protocols for the Internet of Things
Comparison of MQTT and DDS as M2M Protocols for the Internet of ThingsComparison of MQTT and DDS as M2M Protocols for the Internet of Things
Comparison of MQTT and DDS as M2M Protocols for the Internet of ThingsReal-Time Innovations (RTI)
 
Visita granada 3er ciclo 2016
Visita granada 3er ciclo 2016Visita granada 3er ciclo 2016
Visita granada 3er ciclo 2016XXX XXX
 
2009 Eclipse Con
2009 Eclipse Con2009 Eclipse Con
2009 Eclipse Conguest29922
 
CBI Presentation March 2011
CBI Presentation March 2011CBI Presentation March 2011
CBI Presentation March 2011thess1121
 
Errenazimenduko pintura. Leonardo.ppt
Errenazimenduko pintura. Leonardo.pptErrenazimenduko pintura. Leonardo.ppt
Errenazimenduko pintura. Leonardo.pptasunasenjo
 
Kamloops.#2.nov.2012
Kamloops.#2.nov.2012Kamloops.#2.nov.2012
Kamloops.#2.nov.2012Faye Brownlie
 
Don’t let Your Website Spread Malware – a New Approach to Web App Security
Don’t let Your Website Spread Malware – a New Approach to Web App SecurityDon’t let Your Website Spread Malware – a New Approach to Web App Security
Don’t let Your Website Spread Malware – a New Approach to Web App SecuritySasha Nunke
 
Baile alumnado 2º ciclo 2013
Baile alumnado 2º ciclo 2013Baile alumnado 2º ciclo 2013
Baile alumnado 2º ciclo 2013XXX XXX
 
Building Distributed Systems in Scala with OpenSplice DDS
Building Distributed Systems in Scala with OpenSplice DDSBuilding Distributed Systems in Scala with OpenSplice DDS
Building Distributed Systems in Scala with OpenSplice DDSAngelo Corsaro
 
Reviving keynes animal spirits for your business
Reviving keynes animal spirits for your businessReviving keynes animal spirits for your business
Reviving keynes animal spirits for your businessJAYARAMAN IYER
 
Iasb Expert Advisory Panel October 2008
Iasb Expert Advisory Panel October 2008Iasb Expert Advisory Panel October 2008
Iasb Expert Advisory Panel October 2008guest31db2
 
Inside a Computer
Inside a ComputerInside a Computer
Inside a ComputerSMumford
 
Plan estratgicoparalaspersonasconte aysusfamilias (1)
Plan estratgicoparalaspersonasconte aysusfamilias (1)Plan estratgicoparalaspersonasconte aysusfamilias (1)
Plan estratgicoparalaspersonasconte aysusfamilias (1)Pepe Jara Cueva
 

Andere mochten auch (20)

DDS and OPC UA Explained
DDS and OPC UA ExplainedDDS and OPC UA Explained
DDS and OPC UA Explained
 
The DDS Tutorial - Part I
The DDS Tutorial - Part IThe DDS Tutorial - Part I
The DDS Tutorial - Part I
 
DDS In Action Part II
DDS In Action Part IIDDS In Action Part II
DDS In Action Part II
 
DDS in Action -- Part I
DDS in Action -- Part IDDS in Action -- Part I
DDS in Action -- Part I
 
Building the Internet of Things
Building the Internet of ThingsBuilding the Internet of Things
Building the Internet of Things
 
Comparison of MQTT and DDS as M2M Protocols for the Internet of Things
Comparison of MQTT and DDS as M2M Protocols for the Internet of ThingsComparison of MQTT and DDS as M2M Protocols for the Internet of Things
Comparison of MQTT and DDS as M2M Protocols for the Internet of Things
 
Visita granada 3er ciclo 2016
Visita granada 3er ciclo 2016Visita granada 3er ciclo 2016
Visita granada 3er ciclo 2016
 
ikd312-03-design
ikd312-03-designikd312-03-design
ikd312-03-design
 
2009 Eclipse Con
2009 Eclipse Con2009 Eclipse Con
2009 Eclipse Con
 
Simplethings
SimplethingsSimplethings
Simplethings
 
CBI Presentation March 2011
CBI Presentation March 2011CBI Presentation March 2011
CBI Presentation March 2011
 
Errenazimenduko pintura. Leonardo.ppt
Errenazimenduko pintura. Leonardo.pptErrenazimenduko pintura. Leonardo.ppt
Errenazimenduko pintura. Leonardo.ppt
 
Kamloops.#2.nov.2012
Kamloops.#2.nov.2012Kamloops.#2.nov.2012
Kamloops.#2.nov.2012
 
Don’t let Your Website Spread Malware – a New Approach to Web App Security
Don’t let Your Website Spread Malware – a New Approach to Web App SecurityDon’t let Your Website Spread Malware – a New Approach to Web App Security
Don’t let Your Website Spread Malware – a New Approach to Web App Security
 
Baile alumnado 2º ciclo 2013
Baile alumnado 2º ciclo 2013Baile alumnado 2º ciclo 2013
Baile alumnado 2º ciclo 2013
 
Building Distributed Systems in Scala with OpenSplice DDS
Building Distributed Systems in Scala with OpenSplice DDSBuilding Distributed Systems in Scala with OpenSplice DDS
Building Distributed Systems in Scala with OpenSplice DDS
 
Reviving keynes animal spirits for your business
Reviving keynes animal spirits for your businessReviving keynes animal spirits for your business
Reviving keynes animal spirits for your business
 
Iasb Expert Advisory Panel October 2008
Iasb Expert Advisory Panel October 2008Iasb Expert Advisory Panel October 2008
Iasb Expert Advisory Panel October 2008
 
Inside a Computer
Inside a ComputerInside a Computer
Inside a Computer
 
Plan estratgicoparalaspersonasconte aysusfamilias (1)
Plan estratgicoparalaspersonasconte aysusfamilias (1)Plan estratgicoparalaspersonasconte aysusfamilias (1)
Plan estratgicoparalaspersonasconte aysusfamilias (1)
 

Ähnlich wie DDS vs AMQP

Getting Started with OpenSplice DDS Community Ed.
Getting Started with OpenSplice DDS Community Ed.Getting Started with OpenSplice DDS Community Ed.
Getting Started with OpenSplice DDS Community Ed.Angelo Corsaro
 
OMG Data-Distribution Service (DDS) Tutorial - 2009
OMG Data-Distribution Service (DDS) Tutorial - 2009OMG Data-Distribution Service (DDS) Tutorial - 2009
OMG Data-Distribution Service (DDS) Tutorial - 2009Gerardo Pardo-Castellote
 
Integration Platform For JMPS Using DDS
Integration Platform For JMPS Using DDSIntegration Platform For JMPS Using DDS
Integration Platform For JMPS Using DDSSupreet Oberoi
 
Standardizing the Data Distribution Service (DDS) API for Modern C++
Standardizing the Data Distribution Service (DDS) API for Modern C++Standardizing the Data Distribution Service (DDS) API for Modern C++
Standardizing the Data Distribution Service (DDS) API for Modern C++Sumant Tambe
 
OpenStack and OpenFlow Demos
OpenStack and OpenFlow DemosOpenStack and OpenFlow Demos
OpenStack and OpenFlow DemosBrent Salisbury
 
DDS Advanced Tutorial - OMG June 2013 Berlin Meeting
DDS Advanced Tutorial - OMG June 2013 Berlin MeetingDDS Advanced Tutorial - OMG June 2013 Berlin Meeting
DDS Advanced Tutorial - OMG June 2013 Berlin MeetingJaime Martin Losa
 
Distributed Algorithms with DDS
Distributed Algorithms with DDSDistributed Algorithms with DDS
Distributed Algorithms with DDSAngelo Corsaro
 
Fiware - communicating with ROS robots using Fast RTPS
Fiware - communicating with ROS robots using Fast RTPSFiware - communicating with ROS robots using Fast RTPS
Fiware - communicating with ROS robots using Fast RTPSJaime Martin Losa
 
Distributed Systems: How to connect your real-time applications
Distributed Systems: How to connect your real-time applicationsDistributed Systems: How to connect your real-time applications
Distributed Systems: How to connect your real-time applicationsJaime Martin Losa
 
WSO2 Product Release Webinar Introducing the WSO2 Message Broker
WSO2 Product Release Webinar   Introducing the WSO2 Message BrokerWSO2 Product Release Webinar   Introducing the WSO2 Message Broker
WSO2 Product Release Webinar Introducing the WSO2 Message BrokerWSO2
 
eProsima RPC over DDS - OMG June 2013 Berlin Meeting
eProsima RPC over DDS - OMG June 2013 Berlin MeetingeProsima RPC over DDS - OMG June 2013 Berlin Meeting
eProsima RPC over DDS - OMG June 2013 Berlin MeetingJaime Martin Losa
 
Stream Processing with DDS and CEP
Stream Processing with  DDS and CEPStream Processing with  DDS and CEP
Stream Processing with DDS and CEPAngelo Corsaro
 
What's the Right Messaging Standard for the IoT?
What's the Right Messaging  Standard for the IoT?What's the Right Messaging  Standard for the IoT?
What's the Right Messaging Standard for the IoT?Angelo Corsaro
 
Timothy Spann: Apache Pulsar for ML
Timothy Spann: Apache Pulsar for MLTimothy Spann: Apache Pulsar for ML
Timothy Spann: Apache Pulsar for MLEdunomica
 
JConf.dev 2022 - Apache Pulsar Development 101 with Java
JConf.dev 2022 - Apache Pulsar Development 101 with JavaJConf.dev 2022 - Apache Pulsar Development 101 with Java
JConf.dev 2022 - Apache Pulsar Development 101 with JavaTimothy Spann
 
Communication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/SubscribeCommunication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/SubscribeSumant Tambe
 

Ähnlich wie DDS vs AMQP (20)

UML Profile for DDS
UML Profile for DDSUML Profile for DDS
UML Profile for DDS
 
DDS QoS Unleashed
DDS QoS UnleashedDDS QoS Unleashed
DDS QoS Unleashed
 
Getting Started with OpenSplice DDS Community Ed.
Getting Started with OpenSplice DDS Community Ed.Getting Started with OpenSplice DDS Community Ed.
Getting Started with OpenSplice DDS Community Ed.
 
OMG Data-Distribution Service (DDS) Tutorial - 2009
OMG Data-Distribution Service (DDS) Tutorial - 2009OMG Data-Distribution Service (DDS) Tutorial - 2009
OMG Data-Distribution Service (DDS) Tutorial - 2009
 
Integration Platform For JMPS Using DDS
Integration Platform For JMPS Using DDSIntegration Platform For JMPS Using DDS
Integration Platform For JMPS Using DDS
 
Standardizing the Data Distribution Service (DDS) API for Modern C++
Standardizing the Data Distribution Service (DDS) API for Modern C++Standardizing the Data Distribution Service (DDS) API for Modern C++
Standardizing the Data Distribution Service (DDS) API for Modern C++
 
OpenStack and OpenFlow Demos
OpenStack and OpenFlow DemosOpenStack and OpenFlow Demos
OpenStack and OpenFlow Demos
 
DDS Advanced Tutorial - OMG June 2013 Berlin Meeting
DDS Advanced Tutorial - OMG June 2013 Berlin MeetingDDS Advanced Tutorial - OMG June 2013 Berlin Meeting
DDS Advanced Tutorial - OMG June 2013 Berlin Meeting
 
Distributed Algorithms with DDS
Distributed Algorithms with DDSDistributed Algorithms with DDS
Distributed Algorithms with DDS
 
Fiware - communicating with ROS robots using Fast RTPS
Fiware - communicating with ROS robots using Fast RTPSFiware - communicating with ROS robots using Fast RTPS
Fiware - communicating with ROS robots using Fast RTPS
 
Distributed Systems: How to connect your real-time applications
Distributed Systems: How to connect your real-time applicationsDistributed Systems: How to connect your real-time applications
Distributed Systems: How to connect your real-time applications
 
WSO2 Product Release Webinar Introducing the WSO2 Message Broker
WSO2 Product Release Webinar   Introducing the WSO2 Message BrokerWSO2 Product Release Webinar   Introducing the WSO2 Message Broker
WSO2 Product Release Webinar Introducing the WSO2 Message Broker
 
eProsima RPC over DDS - OMG June 2013 Berlin Meeting
eProsima RPC over DDS - OMG June 2013 Berlin MeetingeProsima RPC over DDS - OMG June 2013 Berlin Meeting
eProsima RPC over DDS - OMG June 2013 Berlin Meeting
 
Stream Processing with DDS and CEP
Stream Processing with  DDS and CEPStream Processing with  DDS and CEP
Stream Processing with DDS and CEP
 
ppt
pptppt
ppt
 
ppt
pptppt
ppt
 
What's the Right Messaging Standard for the IoT?
What's the Right Messaging  Standard for the IoT?What's the Right Messaging  Standard for the IoT?
What's the Right Messaging Standard for the IoT?
 
Timothy Spann: Apache Pulsar for ML
Timothy Spann: Apache Pulsar for MLTimothy Spann: Apache Pulsar for ML
Timothy Spann: Apache Pulsar for ML
 
JConf.dev 2022 - Apache Pulsar Development 101 with Java
JConf.dev 2022 - Apache Pulsar Development 101 with JavaJConf.dev 2022 - Apache Pulsar Development 101 with Java
JConf.dev 2022 - Apache Pulsar Development 101 with Java
 
Communication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/SubscribeCommunication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/Subscribe
 

Mehr von Angelo Corsaro

zenoh: The Edge Data Fabric
zenoh: The Edge Data Fabriczenoh: The Edge Data Fabric
zenoh: The Edge Data FabricAngelo Corsaro
 
Data Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair MonetisationData Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair MonetisationAngelo Corsaro
 
zenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query computezenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query computeAngelo Corsaro
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolAngelo Corsaro
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolAngelo Corsaro
 
Breaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog ComputingBreaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog ComputingAngelo Corsaro
 
fog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructurefog05: The Fog Computing Infrastructure
fog05: The Fog Computing InfrastructureAngelo Corsaro
 
Cyclone DDS: Sharing Data in the IoT Age
Cyclone DDS: Sharing Data in the IoT AgeCyclone DDS: Sharing Data in the IoT Age
Cyclone DDS: Sharing Data in the IoT AgeAngelo Corsaro
 
fog05: The Fog Computing Platform
fog05: The Fog Computing Platformfog05: The Fog Computing Platform
fog05: The Fog Computing PlatformAngelo Corsaro
 
Programming in Scala - Lecture Four
Programming in Scala - Lecture FourProgramming in Scala - Lecture Four
Programming in Scala - Lecture FourAngelo Corsaro
 
Programming in Scala - Lecture Three
Programming in Scala - Lecture ThreeProgramming in Scala - Lecture Three
Programming in Scala - Lecture ThreeAngelo Corsaro
 
Programming in Scala - Lecture Two
Programming in Scala - Lecture TwoProgramming in Scala - Lecture Two
Programming in Scala - Lecture TwoAngelo Corsaro
 
Programming in Scala - Lecture One
Programming in Scala - Lecture OneProgramming in Scala - Lecture One
Programming in Scala - Lecture OneAngelo Corsaro
 
Data Sharing in Extremely Resource Constrained Envionrments
Data Sharing in Extremely Resource Constrained EnvionrmentsData Sharing in Extremely Resource Constrained Envionrments
Data Sharing in Extremely Resource Constrained EnvionrmentsAngelo Corsaro
 
The DDS Security Standard
The DDS Security StandardThe DDS Security Standard
The DDS Security StandardAngelo Corsaro
 
The Data Distribution Service
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution ServiceAngelo Corsaro
 
RUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsRUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsAngelo Corsaro
 

Mehr von Angelo Corsaro (20)

Zenoh: The Genesis
Zenoh: The GenesisZenoh: The Genesis
Zenoh: The Genesis
 
zenoh: The Edge Data Fabric
zenoh: The Edge Data Fabriczenoh: The Edge Data Fabric
zenoh: The Edge Data Fabric
 
Zenoh Tutorial
Zenoh TutorialZenoh Tutorial
Zenoh Tutorial
 
Data Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair MonetisationData Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair Monetisation
 
zenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query computezenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query compute
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocol
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocol
 
Breaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog ComputingBreaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
 
Eastern Sicily
Eastern SicilyEastern Sicily
Eastern Sicily
 
fog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructurefog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructure
 
Cyclone DDS: Sharing Data in the IoT Age
Cyclone DDS: Sharing Data in the IoT AgeCyclone DDS: Sharing Data in the IoT Age
Cyclone DDS: Sharing Data in the IoT Age
 
fog05: The Fog Computing Platform
fog05: The Fog Computing Platformfog05: The Fog Computing Platform
fog05: The Fog Computing Platform
 
Programming in Scala - Lecture Four
Programming in Scala - Lecture FourProgramming in Scala - Lecture Four
Programming in Scala - Lecture Four
 
Programming in Scala - Lecture Three
Programming in Scala - Lecture ThreeProgramming in Scala - Lecture Three
Programming in Scala - Lecture Three
 
Programming in Scala - Lecture Two
Programming in Scala - Lecture TwoProgramming in Scala - Lecture Two
Programming in Scala - Lecture Two
 
Programming in Scala - Lecture One
Programming in Scala - Lecture OneProgramming in Scala - Lecture One
Programming in Scala - Lecture One
 
Data Sharing in Extremely Resource Constrained Envionrments
Data Sharing in Extremely Resource Constrained EnvionrmentsData Sharing in Extremely Resource Constrained Envionrments
Data Sharing in Extremely Resource Constrained Envionrments
 
The DDS Security Standard
The DDS Security StandardThe DDS Security Standard
The DDS Security Standard
 
The Data Distribution Service
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution Service
 
RUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsRUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming Ruminations
 

Kürzlich hochgeladen

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 

Kürzlich hochgeladen (20)

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

DDS vs AMQP

  • 1. OpenSplice DDS Delivering Performance, Openness, and Freedom Angelo Corsaro, Ph.D. Chief Technology Officer DDS vs. AMQP OMG DDS SIG Co-Chair angelo.corsaro@prismtech.com
  • 3. OpenSplice DDS Delivering Performance, Openness, and Freedom Historical Perspectives
  • 4. Genesis DDS AMQP ‣ Emerged from Aerospace and Defense ‣ Emerged from the Financial Market to address the data distribution from the desire of freeing users from requirement of a large class of mission- proprietary and non-interoperable critical systems messaging systems ‣ Evolved to address on-the-wire ‣ Evolved into an effort to define a interoperability and provide the generic enterprise messaging standard ubiquitous data-bus for mission-critical System-of-Systems
  • 5. Standardization Organization DDS AMQP ‣ DDS is an Object Management Group ‣ AMQP is standardized by the AMQP (OMG) Standard Working Group ‣ The OMG is a an international, open ‣ The AMQP Working Group is a non- membership, not-for-profit computer profit organization with a free industry consortium since 1989 membership based on interest and ‣ OMG is an ISO PAS submitter, able to merit submit our specifications directly into ISO’s fast-track adoption process.
  • 6. Standard Evolution DDS v1.0 DDS v1.1 DDS v1.2 DDSI v2.0 DDSI v2.1 DDS-XTopics Dec Dec Jan Apr Jan March 2004 2005 2006 2007 2008 2009 2010 Jun Nov Dec AMQP v0-8 AMQP v0-9-1 AMQP v1-0 draft ??? Dec AMQP v0-10 AMQP v0-9
  • 7. Scope of Standardization Application Application Object/Relational Mapping Data Local Reconstruction Layer (DLRL) DDS v1.2 Content Ownership Durability Subscription API (?) Minimum Profile Data Centric Publish/Subscribe (DCPS) DDSI v2.1 AMQP v1-0 Advanced Message Queuing Protocol Real-Time Publish/Subscribe Protocol Interoperability Wire Protocol DDS Interoperability Wire Protocol TCP/IP UDP/IP
  • 8. OpenSplice DDS Delivering Performance, Openness, and Freedom Technology Comparison
  • 9. Which Versions? In the reminder of this presentation I’ll compare DDS v1.2 / DDSI v2.1 with AMQP v1-0
  • 10. OpenSplice DDS Delivering Performance, Openness, and Freedom Messages vs. Topics
  • 11. AMQP v1-0 Messages ‣ AMQP is a standard protocol for messaging ‣ As such AMQP the unit of information that can be sent or received is a message. ‣ An AMQP message encapsulate the “Bare Message”, provided by the application, within an annotated message [Source AMQP specification v1-0]
  • 12. DDS Topics {Circle, Square, Triangle} Topic ‣ Unit of information exchanged between Publisher and Subscribers. ‣ An association between a unique name, a type and a QoS setting {ShapeType} {...} Topic Type. struct ShapeType { ‣ Type describing the data associated with one long x; or more Topics long y; ‣ A Topic type can have a key represented by an long shapesize; string color; arbitrary number of attributes }; ‣ Expressed in IDL #pragma keylist ShapeType color © 2009, PrismTech. All Rights Reserved
  • 13. Topic/Instances/Samples Recap. Topics Instances Samples ti tj tnow time © 2009, PrismTech. All Rights Reserved
  • 14. OpenSplice DDS Delivering Performance, Openness, and Freedom Node/Links vs. Reader/Writers
  • 15. AMQP v1-0 Conceptual Model ‣ An AMQP Network consists of Nodes and Links ‣ A Node is a named source and/or sink of Messages. A Message is created at a (Producer) Node, and may travel along links, via other nodes until it reaches a terminating (Consumer) Node. ‣ A Link is a unidirectional route between nodes along which messages may travel. Links may have entry criteria (Filters) which restrict which messages may travel along them. The link lifetime is tied to the lifetime of the source and destination nodes. m m Link m Node Node
  • 16. Destructive Links Destructive Links consume the message from the originating source. Destructive Link Destructive Link Destructive Link m m m m Node 1 Node 2 Node 1 Node 2 Node 1 Node 2 Time
  • 17. Non-Destructive Links Non-Destructive Links don’t consume messages from the source node. Non-Destructive Non-Destructive Link Link m m m m m Node 1 Node 2 Node 1 Node 2 Node 1 Node 2 Time
  • 18. Filtered Links Links can have associated filters that allow to predicate on the messages that might traverse. Filter can be based on the non opaque portion of the message. Link Link m {color = red} {color = red} m m m Node Node m m m m Node Link Node Link m {color = green} {color = green} m Node Node Time
  • 19. Anatomy of a DDS Application Topic Topic Topic Samples Samples Instances Samples Instances Instances 1 1 21 62 21 62 1 1 22 62 22 62 1 1 23 63 23 63 DataReader DataReader 2 20 61 2 19 60 DataReader DataReader 2 20 61 2 19 60 DataWriter DataWriter DataReader DataReader 3 25 70 3 25 71 25 3 25 74 3 3 26 77 26 77 DataWriter DataWriter struct ShapeType { 3 25 70 3 25 71 25 3 25 74 long x; long y; long shapesize; string color; }; #pragma keylist ShapeType color Destructive/Non-Destructive Links can be paralleled with the DDS read/take semantics © 2009, PrismTech. All Rights Reserved
  • 20. Content Filtering X0 X1 X0 <= X <= X1 ‣ DDS allows to specify content- filtered Topics for which a subset of SQL92 is used to express the filter condition Y0 ‣ Content filters can be applied on the entire content of the Topic Type Y0 <= Y <= Y1 ‣ Content filters are applied by DDS Y1 each time a new sample is produced/delivered © 2009, PrismTech. All Rights Reserved
  • 21. Local Queries ‣ A subset of SQL92 can be used for performing queries X0 ‣ Queries are performed under Circle Topic user control and Y0 color x y shapesize Y0 provide a result that red 57 62 50 depends on the blue 90 85 50 Y0 <= Y <= Y1 current snapshot of yellow 30 25 50 the system, e.g., samples currently x > 25 AND y < 55 Y1 available color x y shapesize yellow 30 25 50 © 2009, PrismTech. All Rights Reserved
  • 22. OpenSplice DDS Delivering Performance, Openness, and Freedom Deployment Model
  • 23. AMQP v1-0 Deployment Model ‣ Nodes within the AMQP network exist within Containers ‣ A container is a physical or logical process to which network connections can be established [Source AMQP specification v1-0]
  • 24. DDS Deployment Model ‣ DDS is based around the concept of a fully distributed Global Data Publisher Subscriber Space (GDS) Global Data Space ‣ Publishers and Subscribers can join and leave the GDS at any time Subscriber ‣ Publishers and Subscribers Publisher Brokers express their intent to produce/ consume specific type of data, e.g., Topics Subscriber ‣ Data flows from Publisher to Publisher Subscribers DDS © 2009, PrismTech. All Rights Reserved
  • 25. Domains and Partitions Domain Domain ‣ A Domain is one instance of the DDS Global Data Space ‣ DDS entities always belong to a specific domain Partition ‣ A partition is a scoping mechanism provided by DDS organize a domain DDS Global Data Space Partition © 2009, PrismTech. All Rights Reserved
  • 26. OpenSplice DDS Delivering Performance, Openness, and Freedom Communication Model
  • 27. Sessions ‣ A Session is a named interaction [Source AMQP specification v1-0] between two containers providing for a pair of reliable ordered command streams (one in each direction) ‣ Links between nodes in different containers are created on a session ‣ Containers and Sessions form an underlay network, nodes and links an overlay network atop them
  • 28. Sessions & Commands ‣ Sessions are a transport for commands ‣ Commands are the atomic units of work of the AMQP transport protocol Commands are used to create links between nodes in the source and destination containers, to transfer message data, and to issue and revoke credit ‣ In general an AMQP session will be carried over some form of network layer, thus commands sent on a session are asynchronous. [Source AMQP specification v1-0]
  • 29. Transport Model m m Link m Node Node Links Links Session Session Links Links Session Transport Connection (TCP/IP) Session Links Links Session Session
  • 30. Anatomy of a DDS Application Topic Topic Topic Samples Samples Instances Samples Instances Instances 1 1 21 62 21 62 1 1 22 62 22 62 1 1 23 63 23 63 DataReader DataReader 2 20 61 2 19 60 DataReader DataReader 2 20 61 2 19 60 DataWriter DataWriter DataReader DataReader 3 25 70 3 25 71 25 3 25 74 3 3 26 77 26 77 DataWriter DataWriter struct ShapeType { 3 25 70 3 25 71 25 3 25 74 long x; long y; long shapesize; string color; }; #pragma keylist ShapeType color © 2009, PrismTech. All Rights Reserved
  • 31. Anatomy of a DDS Application Topic Topic Topic Samples Samples Instances Samples Instances Instances 1 1 21 62 21 62 1 1 22 62 22 62 1 1 23 63 23 63 DataReader DataReader 2 20 61 2 19 60 DataReader DataReader 2 20 61 2 19 60 DataWriter DataWriter DataReader DataReader 3 25 70 3 25 71 25 3 25 74 3 3 26 77 26 77 DataWriter DataWriter struct ShapeType { 3 25 70 3 25 71 25 3 25 74 long x; long y; Arrows long shapesize; string color; show }; #pragma keylist ShapeType color structural relationship s, not data- Subscriber Publisher flows Partition © 2009, PrismTech. All Rights Reserved
  • 32. Anatomy of a DDS Application Topic Topic Topic Samples Samples Instances Samples Instances Instances 1 1 21 62 21 62 1 1 22 62 22 62 1 1 23 63 23 63 DataReader DataReader 2 20 61 2 19 60 DataReader DataReader 2 20 61 2 19 60 DataWriter DataWriter DataReader DataReader 3 25 70 3 25 71 25 3 25 74 3 3 26 77 26 77 DataWriter DataWriter struct ShapeType { 3 25 70 3 25 71 25 3 25 74 long x; long y; long shapesize; Arrows string color; }; show #pragma keylist ShapeType color structural relationship s, not data- Subscriber Publisher flows Partition Domain Participant Domain © 2009, PrismTech. All Rights Reserved
  • 33. Transport Model Readers Writers Writers Subscriber Publisher Publisher Readers Readers Writers Writers Writers Writers Domain Subscriber Publisher Publisher Subscriber Publisher Publisher Participant Domain Domain Participant UDP (Unicast/MCast) Participant Domain Domain Participant Participant Subscriber Subscriber Subscriber Subscriber Publisher Publisher Readers Readers Readers Readers © 2009, PrismTech. All Rights Reserved Writers Writers
  • 34. OpenSplice DDS Delivering Performance, Openness, and Freedom Type System
  • 35. AMQP Type System ‣ AMQP defines a type-system that is used to encode messages and controls sent as part of the protocol ‣ This type system can be also used to encode application data [Source AMQP specification v1-0]
  • 36. Primitive Types DDS Type System boolean long octet unsigned long char long long wchar unsigned long long ‣ DDS supports the definition of types based on a subset of short unsigned short float double the IDL specification language. long double ‣ This type system is used internally by DDS and is also Constructed Types Example available to user for defining topic types enum enum Dimension { 1D, 2D, 3D, 4D }; Template Type Example string<length = UNBOUNDED> string s1; string<32> s2; struct Coord1D { long x;}; struct Coord2D { long x; long y; }; wstring<length = UNBOUNDED> wstring ws1; struct struct Coord3D { long x; long y; long wstring<64> ws2; z; }; struct Coord4D { long x; long y; long z, unsigned long long t;}; sequence<T,length = UNBOUNDED> sequence<octet> oseq; sequence<octet, 1024> oseq1k; sequence<MyType> mtseq; union Coord switch (Dimension) { sequence<MyType, 10> mtseq10; case 1D: Coord1D c1d; case 2D: Coord2D c2d; union case 3D: Coord3D c3d; fixed<digits,scale> fixed<5,2> fp; //d1d2d3.d4d5 case 4D: Coord4D c4d; };
  • 37. OpenSplice DDS Delivering Performance, Openness, and Freedom Putting it all Together
  • 38. DDS AMQP ‣ A generic DDS application is a self-formed ‣ A generic AMQP application is a graph of federation reads and writes topics over the nodes connected by links over which travel Global Data Space application provided messages ‣ Communication is hidden to the applications ‣ The link-related traffic is managed by which is provided with a read/write sematics sessions which in turns communicate via a transport connection. ‣ UDP Unicast and Multicast are available for DDS v1.2, DDSI v2.1 ‣ The only transport currently available for AMQP v1-0 is TCP
  • 39. AMQP v1-0 StatusDDS AMQP ‣ Addressing Scheme. Does not define a standard ‣ Data Centricity. DDS is about data and it is fair global addressing scheme, this will be part of v1-1 to say that data takes life in DDS, thanks to the ‣ Transport Protocol. Currently only supports support for keys, lifecycle management, etc. TCP, but UDP and SCTP will be added in future ‣ Transport Protocol. Currently supports UDP revisions of the spec (Unicast and Multicast). TCP will be supported in ‣ Broker Management. A SIG is working on upcoming revisions of the standard. However, defining an API for Broker Management, today, there is nothing that prevents DDS today to use each implementation has its own way TCP as a transport ‣ Topology Configuration. The Broker topology ‣ Topology Configuration. Topology is dynamically can be configured via management tools, yet the discovered by DDS via its standard discovery spec does not explicitly supports automatic protocol propagation of queue subscriptions (some product do)
  • 40. OpenSplice DDS Delivering Performance, Openness, and Freedom Code Examples
  • 41. Setting-up Subscriptions DDS AMQP std::string exchange = "amq.topic"; dds::Topic<Track> track("TrackTopic"); // Connect to the broker dds::Topic<TrackClass> track_class("TrackClassTopic"); Connection connection; connection.open(host, port); dds::DataReader<Track> tDR(track); dds::DataReader<TrackClass> tcDR(track_class); // Create a session Session session = connection.newSession(); // Decrlare a queue session.queueDeclare(arg::queue=queue, arg::exclusive=true, arg::autoDelete=true); struct Track { struct TrackClass { // Set-up routes short id; short id; session.exchangeBind(arg::exchange=exchange, long x; Classification cls; arg::queue="Track", long y; string descr; arg::bindingKey="Track.#"); }; }; session.exchangeBind(arg::exchange=exchange, #pragma keylist Track id #pragma keylist TrackClass id arg::queue="TrackClass", arg::bindingKey="TrackClass.#");
  • 42. Writing Data DDS AMQP dds::DataWriter<Track> tDW(track); Track t = { 101, 140, 200 }; dds::DataWriter<TrackClass> tcDW(track_class); Message message; Track t = { 101, 140, 200 }; message.getDeliveryProperties().setRoutingKey("Track.Radar101"); tDW(t); std::stringstream message_data; TrackClass tc = { 101, FRIENDLY, “Some descr.”}; data << t.id << “ “ << t.x << “ “ << t.y; tcDW.write(tc); message.setData(message_data.str()); async(session).messageTransfer(arg::content=message, arg::destination="amq.topic");
  • 43. Reading Data DDS AMQP std::vector<Track> data; void Listener::received(Message& message) { std::vector<SampleInfo> info; std::string data = message.getData(); Track t; tDR.read(data, info); // Parse the string to extract the data string_to_track(data, t); }
  • 44. OpenSplice DDS Delivering Performance, Openness, and Freedom Summing Up
  • 45. Concluding Remarks DDS AMQP ‣ DDS provides the abstraction of a Global ‣ AMQP is provides as basic abstraction that Data Space, a ubiquitous, universal and fully of messages and message routing. distributed data cache. ‣ AMQP standardized the wire-protocol and ‣ DDS makes user data a first class citizen uses this standard to achieve API ‣ DDS provides a standard API as well as an independence interoperable Wire-Protocol DDS and AMQP are very interesting technologies, which at some point might work in synergy. OpenSplice DDS could be using AMQP as one of its wire-protocols. The DDS API over AMQP could be standardize...
  • 46. Online Resources http://www.opensplice.com/ http://www.slideshare.net/angelo.corsaro emailto:opensplicedds@prismtech.com http://bit.ly/1Sreg http://twitter.com/acorsaro/ http://opensplice.blogspot.com http://www.youtube.com/OpenSpliceTube © 2009, PrismTech. All Rights Reserved