OpenSplice DDS
                                       Delivering Performance, Openness, and Freedom


   Angelo Corsaro, Ph.D.

                                         Roadmap and
      Chief Technology Officer
        OMG DDS SIG Co-Chair
angelo.corsaro@prismtech.com


                                 Technology Incubators
                                                                                       1
OpenSplice DDS
Delivering Performance, Openness, and Freedom




                         Key Coordinates...

                                                2
OpenSplice DDS
‣ Product reorganized into Editions
 ‣ Community Edition
 ‣ Compact Edition                                                               Enterprise Ed.
 ‣ Professional Edition
 ‣ Enterprise Edition                                                           Professional Ed.




                                                                                                   Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
‣ Product Editions provide a a growing set of
  functionality to address the needs of
           Enterprise Ed.                                                        Compact Ed.
  increasingly more sophisticated users
                                                                                Community Ed.
‣ The Community Edition is Open Source
‣ Compact, Enterprise and Professional Edition
  are available only through Commercial
  Subscriptions

                                       © 2009, PrismTech. All Rights Reserved


                                                                                                                   3
Community Edition
Features                                       Licensing
‣ OMG DDS v1.2 DCPS                            ‣ LGPLv3
 ‣ Minimum Profile
                                                                                       Application
 ‣ Content Subscription Profile
 ‣ Durability Profile




                                                                                                                                         Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
                                                                                                               Content




                                                                                                                             DDS v1.2
                                                          Ownership                     Durability
                                                                                                             Subscription
 ‣ Ownership Profile
                                                                                     Minimum Profile
‣ Networking                                                                      Real-Time Pub/Sub (DCPS)

 ‣ DDSI v2.1 Implementation




                                                                                                                             DDSI v2.1
                                                                                               Interoperable Wire Protocol
 ‣ Real-Time Networking Implementation
                                                          Real-Time Networking
                                                                                                         (DDSI)

                                                                                  Networking Technology


                                                                                         UDP/IP




              Open Source LGPL Licensed Edition -- The Best Way to Get Started with DDS
                                         © 2009, PrismTech. All Rights Reserved


                                                                                                                                                         4
http://www.opensplice.org/

                             5
OpenSplice DDS
Delivering Performance, Openness, and Freedom




                        Innovation Process

                                                6
Innovation Process


Three Well Balanced Dimensions
‣ PrismTech and the Developers
  Community inject innovations into
  OpenSplice DDS
‣ Lead Users pose new requirements
  and validate innovations
‣ Innovations and lead-users
  requirements are used to thrive
  standardization at the OMG




                                      © 2009, PrismTech. All Rights Reserved


                                                                               7
OpenSplice DDS
Delivering Performance, Openness, and Freedom




                         From Cool Ideas...
                        ...to Cool Products
                                                8
Innovation Process


From Cool Ideas to Cool Products
‣ Create a captive environment for
  new ideas
‣ Prototype and validate new ideas
  with lead users
‣ Standardize and Productize
  Innovation




                                     © 2009, PrismTech. All Rights Reserved


                                                                              9
Innovation Process


From Cool Ideas to Cool Products
‣ Create a captive environment for
  new ideas
‣ Prototype and validate new ideas
  with lead users
‣ Standardize and Productize
  Innovation




                                     © 2009, PrismTech. All Rights Reserved


                                                                              10
Innovation Process


From Cool Ideas to Cool Products
‣ Create a captive environment for
  new ideas
‣ Prototype and validate new ideas
  with lead users
‣ Standardize and Productize
  Innovation




                                     © 2009, PrismTech. All Rights Reserved


                                                                              11
Innovation Process


From Cool Ideas to Cool Products
‣ Create a captive environment for
  new ideas
‣ Prototype and validate new ideas
  with lead users
‣ Standardize and Productize
  Innovation




                                     © 2009, PrismTech. All Rights Reserved


                                                                              12
Innovation Process


From Cool Ideas to Cool Products
‣ Create a captive environment for
  new ideas
‣ Prototype and validate new ideas
  with lead users
‣ Standardize and Productize
  Innovation




                                     © 2009, PrismTech. All Rights Reserved


                                                                              13
OpenSplice DDS
Delivering Performance, Openness, and Freedom




                              What’s Next?

                                                14
Standardization Activities
                                                               Sparse
                                                                                                            API
                                                               Topics
                                                                                                         xtension

                                                                          REST
                                  Dynamic       Extensible
                                    API
                                                 Topics                                                   DDS
‣ 2009 was a very intense                                                 Web                            Cache
                                                                         Enabled
    year from a DDS                                             New
                                                              Encoding    DDS
    standardization                                                                                        DDSI
                                                                                                         xtension

    perspective                                                            WS-*


‣   2010 won’t be less                                     ISO C++0x
                                                                                                   Compression          Queues
    intensive than 2009                             New
                                                                                                                ULS
    considering the upcoming                        DDS                   Java 5
                                                                                                                DDSI/
    areas of standardization                        APIs
                                                                                                                RTPS
                                                                                                      WAN
                                                                                                                        TCP/IP
                                                                                                    Discovery
                                                                                          C# 3.0



                                     2009                                          2010                                      2011

                               © 2009, PrismTech. All Rights Reserved


                                                                                                                                    15
Coming Next with OpenSplice DDS
                                                                                                                      Esper
                                                                                      Integration                     CEP




                                                                                          Apache
                                                                                          Camel
                                                                                                                     Logging/
                                                                                                                      Replay
                                                                                                      Batching




Aside from standard extensions, the                                          Latency        Perfs
                                                                                                                     Tools

OpenSplice DDS Team is working toward
delivering a set of very interesting new                                                             Perstencce
                                                                                                                     TouchSt
                                                                                                                       one

features
                                                                                          Quorum
                                                                                          Writers
                                                                                                           DDSI

                                                                              Topic
                                                                             Access
                                                                                            New
                                                                             Rights       Features
                                                                                                           Reader
                                                                                                          Register
                                                                                                          Instance
                                                                                        Extended
                                                                                       Consistency
                                                                      2009
                                    © 2009, PrismTech. All Rights Reserved
                                                                                                      2010

                                                                                                                                16
OpenSplice DDS
Delivering Performance, Openness, and Freedom




                           Joining the Club

                                                17
How To Contribute
There are two ways in which you can contribute

‣ Join Forces with PrismTech to accelerate the development of Roadmap Items
 ‣ Fund developments of new items
 ‣ Join our developer team
‣ Join or Take leadership for a Technology Incubator
 ‣ Join and contribute an existing Incubator
 ‣ Take leadership over one of the Incubators (or propose another)


                                 © 2009, PrismTech. All Rights Reserved


                                                                              18
Roadmap Items
                             Esper
                             CEP




                      Integration
    Logging/                                                                       Batching
     Replay
                                                                                                                New
                                                                                                 ISO C++0x      DDS
                             Apache                                                                             APIs
                             Camel              Latency               Perfs
    Tools

                                Topic
                                                                               Perstencce
                               Access
    TouchSt                    Rights
                                                  Quorum
      one                                                                                             Sparse
                                                  Writers
                                                                                                      Topics

                                 New
                Extended       Semantics                                           Dynamic    Extensible
               Consistency
                                                                                     API
                                                    DDSI                                       Topics
                                Reader
                               Register
                               Instance                                                                New
                                                                                                     Encoding
                                          © 2009, PrismTech. All Rights Reserved


                                                                                                                       19
Technology Incubators


                                                                                                API
                          REST
            ISO C++0x                                                                        xtension
                                                  Compression                       Queues


         New              Web                                               ULS
                                                                                              DDS
C# 3.0   DDS             Enabled                                            DDSI/
                                                                                             Cache
         APIs             DDS                                               RTPS
                                                        WAN
                                                                                    TCP/IP
                Java 5                                Discovery
                                                                                               DDSI
                           WS-*
                                                                                             xtension




                                   © 2009, PrismTech. All Rights Reserved


                                                                                                        20
OpenSplice DDS
Delivering Performance, Openness, and Freedom




                              An Example...

                                                21
SIMD Project




                                                                          http://code.google.com/p/simd-cxx/




     © 2009, PrismTech. All Rights Reserved


22




                                              Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
Hello-pub.cpp (Default QoS)

int main(int argc, char* argv[]) {                                              swatch::hello sample;
  if (!parse_args(argc, argv))                                                  std::stringstream ss;
    return 1;
                                                                                for (int i = 0; i < N; ++i) {
  // -- init the SIMD runtime                                                     ss << i;




                                                                                                                                     Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
  simd::Runtime::init();                                                          std::string tmp = ss.str() + "." + message;
                                                                                  ss.str("");
  // -- create the DDS Topic                                                      sample.name = DDS::string_dup(tmp.c_str());
  simd::Topic<swatch::hello> helloTopic("helloTopic");                            std::cout << "<<= " << sample.name << std::endl;
                                                                                  writer.write(sample);
  // -- create the DDS DataWriter                                                 usleep(period*1000);
  simd::DataWriter<swatch::hello> writer(helloTopic);                           }
                                                                                std::cout << "[done]" << std::endl;
                                                                                return 0; }

          Only 3-lines of DDS-Specific Code                                                       Business Logic



                                                © 2009, PrismTech. All Rights Reserved


                                                                                                                                     23
Hello-sub.cpp (Default QoS)

int main(int argc, char* argv[]) {                                          swatch::helloSeq samples;
  if (!parse_args(argc, argv))                                                DDS::SampleInfoSeq infos;
    return 1;
                                                                                 while (true) {
  // -- init the SIMD runtime                                                      reader.read(samples, infos);




                                                                                                                                  Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
  dds::Runtime::init();                                                            for (int i = 0; i < samples.length(); ++i) {
                                                                                     std::cout << "=>> " << samples[i].name
  // -- create the DDS Topic                                                                    << std::endl;
  dds::Topic<swatch::hello> helloTopic("helloTopic");                              }
                                                                                   if (samples.length() > 0)
  // -- create the DDS DataReader                                                    std::cout << "--" << std::endl;
  dds::DataReader<swatch::hello> reader(helloTopic);                               reader.return_loan(samples, infos);
                                                                                   usleep(period*1000);
                                                                                 }
                                                                                 return 0;}
         Only 3-lines of DDS-Specific Code
                                                                                                 Business Logic


                                               © 2009, PrismTech. All Rights Reserved


                                                                                                                                  24
OpenSplice DDS
Delivering Performance, Openness, and Freedom




                               Summing Up

                                                25
Why Joining?
For Individuals
‣ Get exposure to one of the most sophisticated Data
    Distribution Technology available
‣   Improve and extend your DDS skill-set and leverage this on
    your next career move




                                                                                   Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
‣   Have fun hacking the core of a high performance
    communication middleware
For Companies
‣ Work on extensions that are relevant to you business domain
‣ Leverage the community effect to get shorter time-to-market
    and more innovation
‣   Build an OpenSplice DDS center of excellence within your
    organization
                                          © 2009, PrismTech. All Rights Reserved


                                                                                   26
Concluding Remarks
‣ OpenSplice DDS is now available as Open Source
  Software under LGPL Licensing
                                                                                 OpenSplice DDS
                                                                                 Delivering Performance, Openness, and Freedom

‣ This release provide users with access to the most                                           Enterprise Ed.
  powerful extreme performance data distribution




                                                                                                                                 Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
  technology available on the market
                                                                                              Professional Ed.
‣ A set of added value Editions along with a very rich
  set of Services is available through PrismTech                                                Compact Ed.

‣ There is already an agenda full of cool items to
  work-on for the swiftly growing OpenSplice DDS                                              Community Ed.
  community
 Pick your incubator project and contribute
 to the OpenSplice DDS World domination!
                                        © 2009, PrismTech. All Rights Reserved


                                                                                                                                 27
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


                                                                                                                             28

Roadmap and Technology Incubators

  • 1.
    OpenSplice DDS Delivering Performance, Openness, and Freedom Angelo Corsaro, Ph.D. Roadmap and Chief Technology Officer OMG DDS SIG Co-Chair angelo.corsaro@prismtech.com Technology Incubators 1
  • 2.
    OpenSplice DDS Delivering Performance,Openness, and Freedom Key Coordinates... 2
  • 3.
    OpenSplice DDS ‣ Productreorganized into Editions ‣ Community Edition ‣ Compact Edition Enterprise Ed. ‣ Professional Edition ‣ Enterprise Edition Professional Ed. Proprietary Information - Distribution without Expressed Written Permission is Prohibited. ‣ Product Editions provide a a growing set of functionality to address the needs of Enterprise Ed. Compact Ed. increasingly more sophisticated users Community Ed. ‣ The Community Edition is Open Source ‣ Compact, Enterprise and Professional Edition are available only through Commercial Subscriptions © 2009, PrismTech. All Rights Reserved 3
  • 4.
    Community Edition Features Licensing ‣ OMG DDS v1.2 DCPS ‣ LGPLv3 ‣ Minimum Profile Application ‣ Content Subscription Profile ‣ Durability Profile Proprietary Information - Distribution without Expressed Written Permission is Prohibited. Content DDS v1.2 Ownership Durability Subscription ‣ Ownership Profile Minimum Profile ‣ Networking Real-Time Pub/Sub (DCPS) ‣ DDSI v2.1 Implementation DDSI v2.1 Interoperable Wire Protocol ‣ Real-Time Networking Implementation Real-Time Networking (DDSI) Networking Technology UDP/IP Open Source LGPL Licensed Edition -- The Best Way to Get Started with DDS © 2009, PrismTech. All Rights Reserved 4
  • 5.
  • 6.
    OpenSplice DDS Delivering Performance,Openness, and Freedom Innovation Process 6
  • 7.
    Innovation Process Three WellBalanced Dimensions ‣ PrismTech and the Developers Community inject innovations into OpenSplice DDS ‣ Lead Users pose new requirements and validate innovations ‣ Innovations and lead-users requirements are used to thrive standardization at the OMG © 2009, PrismTech. All Rights Reserved 7
  • 8.
    OpenSplice DDS Delivering Performance,Openness, and Freedom From Cool Ideas... ...to Cool Products 8
  • 9.
    Innovation Process From CoolIdeas to Cool Products ‣ Create a captive environment for new ideas ‣ Prototype and validate new ideas with lead users ‣ Standardize and Productize Innovation © 2009, PrismTech. All Rights Reserved 9
  • 10.
    Innovation Process From CoolIdeas to Cool Products ‣ Create a captive environment for new ideas ‣ Prototype and validate new ideas with lead users ‣ Standardize and Productize Innovation © 2009, PrismTech. All Rights Reserved 10
  • 11.
    Innovation Process From CoolIdeas to Cool Products ‣ Create a captive environment for new ideas ‣ Prototype and validate new ideas with lead users ‣ Standardize and Productize Innovation © 2009, PrismTech. All Rights Reserved 11
  • 12.
    Innovation Process From CoolIdeas to Cool Products ‣ Create a captive environment for new ideas ‣ Prototype and validate new ideas with lead users ‣ Standardize and Productize Innovation © 2009, PrismTech. All Rights Reserved 12
  • 13.
    Innovation Process From CoolIdeas to Cool Products ‣ Create a captive environment for new ideas ‣ Prototype and validate new ideas with lead users ‣ Standardize and Productize Innovation © 2009, PrismTech. All Rights Reserved 13
  • 14.
    OpenSplice DDS Delivering Performance,Openness, and Freedom What’s Next? 14
  • 15.
    Standardization Activities Sparse API Topics xtension REST Dynamic Extensible API Topics DDS ‣ 2009 was a very intense Web Cache Enabled year from a DDS New Encoding DDS standardization DDSI xtension perspective WS-* ‣ 2010 won’t be less ISO C++0x Compression Queues intensive than 2009 New ULS considering the upcoming DDS Java 5 DDSI/ areas of standardization APIs RTPS WAN TCP/IP Discovery C# 3.0 2009 2010 2011 © 2009, PrismTech. All Rights Reserved 15
  • 16.
    Coming Next withOpenSplice DDS Esper Integration CEP Apache Camel Logging/ Replay Batching Aside from standard extensions, the Latency Perfs Tools OpenSplice DDS Team is working toward delivering a set of very interesting new Perstencce TouchSt one features Quorum Writers DDSI Topic Access New Rights Features Reader Register Instance Extended Consistency 2009 © 2009, PrismTech. All Rights Reserved 2010 16
  • 17.
    OpenSplice DDS Delivering Performance,Openness, and Freedom Joining the Club 17
  • 18.
    How To Contribute Thereare two ways in which you can contribute ‣ Join Forces with PrismTech to accelerate the development of Roadmap Items ‣ Fund developments of new items ‣ Join our developer team ‣ Join or Take leadership for a Technology Incubator ‣ Join and contribute an existing Incubator ‣ Take leadership over one of the Incubators (or propose another) © 2009, PrismTech. All Rights Reserved 18
  • 19.
    Roadmap Items Esper CEP Integration Logging/ Batching Replay New ISO C++0x DDS Apache APIs Camel Latency Perfs Tools Topic Perstencce Access TouchSt Rights Quorum one Sparse Writers Topics New Extended Semantics Dynamic Extensible Consistency API DDSI Topics Reader Register Instance New Encoding © 2009, PrismTech. All Rights Reserved 19
  • 20.
    Technology Incubators API REST ISO C++0x xtension Compression Queues New Web ULS DDS C# 3.0 DDS Enabled DDSI/ Cache APIs DDS RTPS WAN TCP/IP Java 5 Discovery DDSI WS-* xtension © 2009, PrismTech. All Rights Reserved 20
  • 21.
    OpenSplice DDS Delivering Performance,Openness, and Freedom An Example... 21
  • 22.
    SIMD Project http://code.google.com/p/simd-cxx/ © 2009, PrismTech. All Rights Reserved 22 Proprietary Information - Distribution without Expressed Written Permission is Prohibited.
  • 23.
    Hello-pub.cpp (Default QoS) intmain(int argc, char* argv[]) { swatch::hello sample; if (!parse_args(argc, argv)) std::stringstream ss; return 1; for (int i = 0; i < N; ++i) { // -- init the SIMD runtime ss << i; Proprietary Information - Distribution without Expressed Written Permission is Prohibited. simd::Runtime::init(); std::string tmp = ss.str() + "." + message; ss.str(""); // -- create the DDS Topic sample.name = DDS::string_dup(tmp.c_str()); simd::Topic<swatch::hello> helloTopic("helloTopic"); std::cout << "<<= " << sample.name << std::endl; writer.write(sample); // -- create the DDS DataWriter usleep(period*1000); simd::DataWriter<swatch::hello> writer(helloTopic); } std::cout << "[done]" << std::endl; return 0; } Only 3-lines of DDS-Specific Code Business Logic © 2009, PrismTech. All Rights Reserved 23
  • 24.
    Hello-sub.cpp (Default QoS) intmain(int argc, char* argv[]) { swatch::helloSeq samples; if (!parse_args(argc, argv)) DDS::SampleInfoSeq infos; return 1; while (true) { // -- init the SIMD runtime reader.read(samples, infos); Proprietary Information - Distribution without Expressed Written Permission is Prohibited. dds::Runtime::init(); for (int i = 0; i < samples.length(); ++i) { std::cout << "=>> " << samples[i].name // -- create the DDS Topic << std::endl; dds::Topic<swatch::hello> helloTopic("helloTopic"); } if (samples.length() > 0) // -- create the DDS DataReader std::cout << "--" << std::endl; dds::DataReader<swatch::hello> reader(helloTopic); reader.return_loan(samples, infos); usleep(period*1000); } return 0;} Only 3-lines of DDS-Specific Code Business Logic © 2009, PrismTech. All Rights Reserved 24
  • 25.
    OpenSplice DDS Delivering Performance,Openness, and Freedom Summing Up 25
  • 26.
    Why Joining? For Individuals ‣Get exposure to one of the most sophisticated Data Distribution Technology available ‣ Improve and extend your DDS skill-set and leverage this on your next career move Proprietary Information - Distribution without Expressed Written Permission is Prohibited. ‣ Have fun hacking the core of a high performance communication middleware For Companies ‣ Work on extensions that are relevant to you business domain ‣ Leverage the community effect to get shorter time-to-market and more innovation ‣ Build an OpenSplice DDS center of excellence within your organization © 2009, PrismTech. All Rights Reserved 26
  • 27.
    Concluding Remarks ‣ OpenSpliceDDS is now available as Open Source Software under LGPL Licensing OpenSplice DDS Delivering Performance, Openness, and Freedom ‣ This release provide users with access to the most Enterprise Ed. powerful extreme performance data distribution Proprietary Information - Distribution without Expressed Written Permission is Prohibited. technology available on the market Professional Ed. ‣ A set of added value Editions along with a very rich set of Services is available through PrismTech Compact Ed. ‣ There is already an agenda full of cool items to work-on for the swiftly growing OpenSplice DDS Community Ed. community Pick your incubator project and contribute to the OpenSplice DDS World domination! © 2009, PrismTech. All Rights Reserved 27
  • 28.
    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 28