DDS (ראשי תיבות באנגלית של: Data Distribution Service, תרגום: שירות הפצת הנתונים) הוא תקן מכונה-למכונה של קבוצת ניהול אובייקטים (OMG) (המכונה תווכה או "תשתית קישוריות") שמטרתו לאפשר העברת נתונים עם יכולות אמינות, ביצועים גבוהים, תפעוליות בינית, זמן אמת, סילומיות באמצעות דפוס פאב-סאב (publish-subscribe) .
DDS נותן מענה לצורכי החלפת נתונים בזמן אמת של יישומים בתחום התעופה והחלל, ההגנה, בקרת התנועה האווירית, כלי רכב אוטונומיים, מכשירים רפואיים, רובוטיקה, ייצור חשמל, סימולציה ובדיקות, ניהול רשת חכמה, מערכות תחבורה ועוד.
DDS היא תוכנת רשת המפשטת תכנות רשת מורכבות. היא מיישמת את מודל "פאב-סאב" (פרסם-הירשם) לשליחה וקבלה של נתונים, אירועים ופקודות בין הצמתים. צמתים המייצרים מידע יוצרים "נושאים" (למשל, טמפרטורה, מיקום, לחץ) ומפרסמים (פאב) "דגימות". DDS מספקת את דגימות למנויים שמצהירים על עניין בנושא זה (סאב).
DDS מטפל במטלות העברה: כתובת הודעות, סראליזציה (כך שמנויים יכולים להיות בפלטפורמות שונות מהמפרסם), מסירה, בקרת זרימה, ניסיונות חוזרים וכו'. כל צומת יכול להיות מפרסם, מנוי או שניהם בו-זמנית.
מודל הפרסום-הרשמה של DDS ממזער למעשה תכנות רשת מורכבות עבור יישומים מבוזרים.
DDS תומך במנגנונים שחורגים מהמודל הבסיסי של פרסום-הרשמה. היתרון העיקרי הוא שיישומים המשתמשים ב-DDS לתקשורת שלהם מנותקים. צריך להשקיע זמן עיצוב מועט יחסית בטיפול באינטראקציות ההדדיות שלהם. בפרט, האפליקציות לעולם אינן זקוקות למידע על האפליקציות האחרות המשתתפות, כולל קיומן או מיקומן. DDS מטפל בשקיפות בהעברת הודעות ללא צורך בהתערבות מיישומי המשתמש, כולל:
הן יישומי תוכנה קנייניים והן בקוד פתוח של DDS זמינים. אלה כוללים ממשקי תכנות יישומים (API) וספריות של יישומים ב־Ada, C, C++, C#, Java, Python, Scala, Lua, Pharo, Ruby ו־Rust .
ספקי DDS השתתפו בהדגמות של יכולת פעולה הדדית בפגישות הטכניות של OMG Spring מ-2009 עד 2013.[1][2][3][4][5][6]
{{cite web}}
: (עזרה)
{{cite web}}
: (עזרה)
{{cite web}}
: (עזרה)