موضوع مقاله: سرویس توزیع داده‌ها | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # سرویس توزیع داده‌ها | مقدمه: DDS به نیازهای برنامه‌هایی مانند هوافضا و دفاع، کنترل ترافیک هوایی، وسایل نقلیه خودران، دستگاه‌های پزشکی، روباتیک، تولید برق، شبیه‌سازی و آزمایش، مدیریت شبکه هوشمند، سیستم‌های حمل‌ونقل و سایر برنامه‌هایی که نیاز به تبادل اطلاعات در زمان واقعی دارند، می‌پردازد. | ## بخش 1: سرویس توزیع داده‌ها | سبک معماری مدل DDS یک میان‌افزار شبکه است که برنامه‌نویسی پیچیده شبکه را ساده می‌کند. این میان افزارالگوی انتشار-اشتراک را برای ارسال و دریافت داده‌ها، رویدادها و دستورها در میان گره‌ها پیاده‌سازی می‌کند. گره‌هایی که اطلاعات تولید می‌کنند (ناشران)، «موضوعاتی» را ایجاد می‌کنند (به عنوان مثال دما، مکان، فشار) و «نمونه‌هایی» را منتشر می‌کنند. DDS کارهای انتقال را انجام می‌دهد: آدرس‌دهی پیام، صف آرایی یا صف زدایی (تا مشترکان بتوانند در پلت‌فرم‌های مختلفی از ناشر باشند)، تحویل، کنترل جریان، تلاش‌های مجدد، و غیره. مدل انتشار-اشتراک DDS عملاً برنامه‌نویسی پیچیده شبکه را برای برنامه‌های توزیع شده حذف می‌کند. مزیت کلیدی این است که برنامه‌هایی که از DDS برای ارتباطات خود استفاده می‌کنند جدا شونده هستند. به ویژه، برنامه‌ها هرگز به اطلاعاتی در مورد سایر برنامه‌های شرکت کننده، همچون وجود یا مکان آنها نیاز ندارند. | ## بخش 2: سرویس توزیع داده‌ها | DDS به‌طور شفاف تحویل پیام را بدون نیاز به مداخله برنامه‌های کاربر انجام می‌دهد، از جمله: تعیین اینکه چه کسی باید پیام‌ها را دریافت کند جایی که گیرندگان در آن قرار دارند اگر پیام‌ها نتوانند تحویل داده شوند چه اتفاقی می‌افتد DDS به یک کاربر اجازه می‌دهد تا پارامترهای کیفیت خدمت (QoS) (به انگلیسی: quality of service) را برای پیکربندی مکانیسم‌های کشف و رفتار از قبل مشخص کند. DDS با مبادله پیام‌ها به صورت ناشناس، برنامه‌های توزیع شده را ساده می‌کند و برنامه‌های پیمانه ای و با ساختار مناسب را تشویق می‌کند. DDS همچنین به‌طور خودکار در صورت شکست اولیه ناشران اضافی را با جایگزین کردن آنها مدیریت می‌کند. مشترکان همیشه نمونه‌هایی با بالاترین اولویت که داده‌های آن هنوز معتبر هستند دریافت می‌کنند (یعنی دوره اعتبار مشخص شده توسط ناشر منقضی نشده باشد). در طی دموها، هر عرضه‌کننده با استفاده از یک مجموعه آزمایشی به نام نمایش اشکال، موضوعات یکدیگر را منتشر می‌کردند و به اشتراک آن درمی‌آمدند. به عنوان مثال، یک عرضه‌کننده اطلاعاتی در مورد یک شکل منتشر می‌کند و سایر عرضه‌کنندگان می‌توانند در موضوع مشترک شوند و نتایج را در صفحه نمایش اشکال خود نمایش دهند. این نمایش شامل کشف ناشران و مشترکان یکدیگر در سیستم عامل‌های مختلف (میکروسافت ویندوز و لینوکس) بود و ارتباطات شبکه چندپخشی و تک پخشی را پشتیبانی می‌کرد. | ## بخش 3: سرویس توزیع داده‌ها | نمایش تعامل پذیری DDS از سناریوهایی مانند: اتصال ساده به شبکه با استفاده از پروتکل اینترنت (IP) کشف ناشران و مشترکان کیفیت خدمات (QoS) سازگاری بین درخواست کننده و ارائه دهنده شبکه تحمل تأخیر چندین موضوع و نمونه از موضوعات مالکیت انحصاری موضوعات فیلتر کردن محتوای داده‌های موضوعی از جمله زمان و جغرافیا استفاده می‌کرد. نسخه ۲٫۰ در آوریل ۲۰۰۸، نسخه ۲٫۱ در نوامبر ۲۰۱۰، ۲٫۲ در سپتامبر ۲۰۱۴ و ۲٫۳ در می ۲۰۱۹ منتشر شد. انواع موضوع‌های توسعه پذیر و پویا برای DDS (DDS-XTypes) از ارتباطات انتشار-اشتراک داده محور پشتیبانی می‌کند که در آن موضوعات با ساختارهای داده خاص تعریف می‌شوند. برای توسعه‌پذیر بودن، موضوعات DDS از انواع داده‌هایی استفاده می‌کنند که قبل از زمان کامپایل تعریف شده و در سرتاسر فضای داده جهانی DDS استفاده می‌شوند. نمایه زبان مدلسازی یکپارچه (UML) دامنه‌ها و موضوعات DDS را به عنوان بخشی از تحلیل و مدل‌سازی طراحی مشخص می‌کند. این خصوصیات همچنین نحوه انتشار و اشتراک اشیاء را بدون توصیف انواع به زبان دیگری مانند XML یا OMG IDL تعریف می‌کند. | ## جمع‌بندی | اینها یک ارتباط درخواست/پاسخ دو طرفه را ارائه می‌دهند و خدمات توزیع شده را تعیین می‌کنند و با استفاده از یک رابط سرویس به تفصیل می‌پردازند.