Introduction to OpenDDS Programming with C++


Get started with OpenDDS, Object Computing's open source implementation of the Object Management Group's (OMG's) data distribution service (DDS), with this introductory course for C++ developers.


December 3 & 4, 2019


9:00 a.m. to 12:00 p.m. CDT
(2:00 p.m. to 5:00 p.m. UTC)



Registration Fee

$199.00 USD

Group discounts available. Call Nicki at (314) 579-0066 ext. 251 for details.


The OMG Data Distribution Service (DDS) for real-time systems is a publish-and-subscribe middleware service designed to meet the performance, scalability, and quality-of-service needs of real-time and embedded systems.

OpenDDS is an open source C++ implementation of the DDS specification.

This course provides students with an overview of the DDS specification, an introduction to the OpenDDS implementation, and hands-on experience building C++ applications using OpenDDS.


This course prepares students to:

  • Understand the DDS’s role in developing distributed applications
  • Define custom DDS data types using OMG's interface definition language (IDL)
  • Develop and run DDS publishing and DDS subscribing applications
  • Become familiar with additional DDS features, including quality-of-service (QoS) policies, data instances, transports, discovery, listeners, conditions, wait sets, built-in topics, content-subscription, and security


The following topics are covered in this course:

  • Introduction to DDS
  • Defining DDS types with interface definition language (IDL)
  • Writing a DDS publishing application
  • Writing a DDS subscribing application
  • Additional DDS features


To get the most out of this course, we recommend students have a working knowledge of C++ and familiarity with object-oriented programming concepts.

Intended Audience

Although everyone is welcome, this course is most valuable to distributed application developers and architects looking for a standards-based, open source, publish-subscribe middleware solution that is suitable for both real-time and non-real-time systems.

Meet the Instructor

Adam Mitz, OCI OpenDDS Product Lead and Principal Software Engineer

Adam Mitz is a Principal Software Engineer at Object Computing. With over 10 years of experience on DDS, Adam leads the OpenDDS development team and consults with OCI's clients building distributed applications that use OpenDDS. He also delivers OpenDDS training classes and participates in the maintenance of DDS specifications at the Object Management Group.

Professional Training for Modern Technology Teams

Keep your team on the cutting edge with our flexible technology training offerings.

  • Courses are developed and led by practicing software engineers and subject matter experts.
  • All courses can be customized to meet your organization's unique needs.
  • Courses can be conducted at your location, online, or in our state-of-the-art training lab in St. Louis, Missouri.

Many courses are offered to the public both online and at our Midwest training lab for your convenience.

Visit our training schedule to sign up for upcoming webinars, workshops, and classes, or conduct your next training program in our brand-new, state-of-the-art training lab.

Sign up today for open enrollment technology training.

Open Enrollment Courses

Open enrollment courses are a great, cost-effective option for organizations that have an immediate need to train a small number of employees.

View Course Schedule

Customized technology training designed to meet your team's specific needs

Customized Training Programs

Customized training programs can be delivered online, in our training lab, or on-site to help organizations enhance the skills of their internal development teams.

Request More Information