سرویس توزیع داده‌ها
تاریخچه

توسعه خصوصیات DDS در سال ۲۰۰۱ آغاز شد. این خصوصیات توسط Real-Time Innovations (RTI)، یک شرکت چارچوب نرم‌افزاری، و Thales Group، یک شرکت صنایع جنگ‌افزاری و هوافضایی فرانسوی توسعه داده شده است. در سال ۲۰۰۴، گروه مدیریت شی (OMG) نسخه 1.0 DDS را منتشر کرد. نسخه ۱٫۱ در دسامبر ۲۰۰۵، ۱٫۲ در ژانویه ۲۰۰۷ و ۱٫۴ در آوریل ۲۰۱۵ منتشر شد. DDS توسط چندین حق ثبت اختراع ایالات متحده پوشش داده شده است.
خصوصیات DDS دو سطح از رابط‌ها را توصیف می‌کند:
انتشار-اشتراک با محوریت داده (DCPS) (به انگلیسی: data-centric publish-subscribe) سطح پایین‌تر که در جهت ارائه کارآمد اطلاعات مناسب به گیرندگان مناسب است.
یک لایه اختیاری بازسازی محلی داده (DLRL) (به انگلیسی: data local reconstruction layer) بالاتر، که امکان ادغام ساده DDS را در لایه کاربرد فراهم می‌کند.
سایر استانداردهای مرتبط از سند اصلی اولیه پیروی کردند. پروتکل بیدرنگ انتشار-اشتراک سیم پروتکل DDS تعامل پذیری پروتکل سیمی (به انگلیسی: The Real-time Publish-Subscribe Wire Protocol DDS Interoperability Wire Protocol Specification) تضمین کرد که اطلاعات منتشر شده در مورد موضوعی با استفاده از اجرای DDS یک عرضه‌کننده، توسط یک یا چند مشترک با استفاده از پیاده‌سازی‌های DDS عرضه‌کننده یکسان یا متفاوت قابل مصرف است. اگرچه این خصوصیات جامعه DDS را هدف قرار داده است، اما استفاده از آن محدود نیست. نسخه ۲٫۰ در آوریل ۲۰۰۸، نسخه ۲٫۱ در نوامبر ۲۰۱۰، ۲٫۲ در سپتامبر ۲۰۱۴ و ۲٫۳ در می ۲۰۱۹ منتشر شد.
DDS برای CCM سبک (dds4ccm) (به انگلیسی: DDS for Lightweight CCM) یک الگوی معماری ارائه می‌دهد که منطق تجاری را از ویژگی‌های غیر کاربردی جدا می‌کند. یک برنامه افزودنی در سال ۲۰۱۲ پشتیبانی از جریان‌ها را اضافه کرد. یک PSM زبان جاوا ۵ برای DDS یک اتصال جاوا ۵ را تعریف کرد که به عنوان یک مدل خاص بستر (PSM) (به انگلیسی: Platform Specific Model) برای DDS نامیده می‌شود. این فقط بخش انتشار-اشتراک داده محور (DCPS) (به انگلیسی: Data-Centric Publish-Subscribe) را از خصوصیات DDS را مشخص کرد. علاوه بر این، APIهای DDS معرفی شده توسط DDS-XTypes و DDS-CCM را نیز در بر می‌گیرد. DDS-PSM-Cxx اتصال زبان ISO/IEC C++ PSM را تعریف می‌کند که به عنوان یک مدل خاص پلتفرم (PSM) برای DDS شناخته می‌شود. این یک API جدید C++ برای برنامه‌نویسی DDS ارائه می‌دهد که برای یک برنامه‌نویس C++ طبیعی تر است. این خصوصیات نگاشت‌هایی را برای رابط‌های برنامه‌نویسی (API) مشخص شده در DDS-XTypes و دسترسی به پروفایل‌های کیفیت خدمت (QoS) مشخص شده در DDS-CCM ارائه می‌دهد.
انواع موضوع‌های توسعه پذیر و پویا برای DDS (DDS-XTypes) از ارتباطات انتشار-اشتراک داده محور پشتیبانی می‌کند که در آن موضوعات با ساختارهای داده خاص تعریف می‌شوند. برای توسعه‌پذیر بودن، موضوعات DDS از انواع داده‌هایی استفاده می‌کنند که قبل از زمان کامپایل تعریف شده و در سرتاسر فضای داده جهانی DDS استفاده می‌شوند. این مدل زمانی مطلوب است که بررسی نوع استاتیک مفید باشد. نمایه زبان مدلسازی یکپارچه (UML) دامنه‌ها و موضوعات DDS را به عنوان بخشی از تحلیل و مدل‌سازی طراحی مشخص می‌کند. این خصوصیات همچنین نحوه انتشار و اشتراک اشیاء را بدون توصیف انواع به زبان دیگری مانند XML یا OMG IDL تعریف می‌کند. یک زبان توصیف واسط (IDL) در سال ۲۰۱۴ به‌طور مستقل از بخش ۳ خصوصیات معماری کارگزار درخواست مشترک شیء (CORBA) (به انگلیسی: Common Object Request Broker Architecture) مشخص شد. این IDL 3.5 با خصوصیات CORBA 3 سازگار بود، اما به عنوان خصوصیات خود استخراج شد و به آن اجازه می‌داد مستقل از CORBA تکامل یابد.
پروتکل‌های دیگری که باید ذکر شوند عبارتند از: DDS-XRCE (DDS برای محیط‌هایی با محدودیت منابع شدید)، این پروتکل مشخصات امکان ارتباط بین دستگاه‌های دارای منابع محدود، مانند میکروکنترلر و یک شبکه DDS را فراهم می‌کند. انتشار و اشتراک موضوعات را از طریق یک سرویس میانی در دامنه DDS و DDS-RPC (RPC Over DDS) که فراخوانی رویه‌ای دوردست را تعریف می‌کند را ممکن می‌سازد. اینها یک ارتباط درخواست/پاسخ دو طرفه را ارائه می‌دهند و خدمات توزیع شده را تعیین می‌کنند و با استفاده از یک رابط سرویس به تفصیل می‌پردازند. همچنین از فراخوانی روش همزمان و ناهمزمان پشتیبانی می‌کند.
با شروع DDS نسخه ۱٫۴ در سال ۲۰۱۵، لایه اختیاری DLRL به یک آیین‌نامه جداگانه منتقل شد.