OpenDDS هو تطبيق مفتوح المصدر لـ C++ لمواصفات مجموعة إدارة الكائنات "خدمة توزيع البيانات لأنظمة الوقت الفعلي" (DDS)، بالإضافة إلى بعض المواصفات الأخرى ذات الصلة. تحدد هذه المعايير مجموعة من الواجهات والبروتوكولات لتطوير التطبيقات الموزعة بناءً على نماذج النشر والاشتراك وذاكرة التخزين المؤقت الموزعة. على الرغم من أن OpenDDS نفسه تم تطويره بلغة C++، إلا أنه يتم توفير روابط Java حتى تتمكن تطبيقات Java من استخدام OpenDDS. يتضمن OpenDDS أيضًا دعمًا لمواصفات DDS Security وXTypes.
تم بناء OpenDDS على طبقة تجريد ACE لتوفير إمكانية نقل النظام الأساسي. يعمل OpenDDS أيضًا على تعزيز قدرات TAO لتجميع IDL ومستودع معلومات OpenDDS DCPS.
تم التطوير الأساسي لـ OpenDDS بواسطة شركة Object Computing، التي تأسست في سانت لويس وفينيكس. يتم إصداره بموجب شروط ترخيص سخية مشابهة لـ ACE وTAO وMPC. راجع ملف LICENSE
للحصول على التفاصيل.
جدول المحتويات:
دليل مطور OpenDDS متاح على https://opendds.readthedocs.io/en/latest-release.
للمطورين الراغبين في المساهمة في OpenDDS، يرجى قراءة إرشادات التطوير.
يمكن العثور على وثائق أخرى في دليل docs
.
للحصول على الدعم التجاري، يرجى الاطلاع على https://opendds.org/support.html.
ينبغي توجيه الأسئلة المتعلقة بـ OpenDDS إلى مناقشات GitHub.
إذا كنت ترغب في تقديم تقرير بالأخطاء:
tests/DCPS/MyExample
( MyExample
هو عنصر نائب.)run_test.pl
. تأكد من توثيق الخيارات. راجع tests/DCPS/HelloWorld/run_test.pl
للحصول على الإلهام.README.rst
الذي يوفر نظرة عامة عالية المستوى للمثال والمشكلة التي يوضحها. يجب أن يكون من الممكن إنشاء المثال وتشغيله باستخدام run_test.pl
كما هو الحال في التشغيل السريع لنظامي التشغيل Windows وLinux. إذا كانت المشكلة تكمن في المثال، فستسمح واجهة طلب السحب في GitHub للأشخاص بمناقشة التغييرات والتعليق عليها واقتراحها لتشغيل المثال. إذا كانت المشكلة تكمن في OpenDDS، فالمثال هو حالة اختبار جديدة.
يعتمد هذا الإصدار من OpenDDS على مواصفات DDS الرسمية/2015-04-10 (الإصدار 1.4). ويتميز ببروتوكولات النقل التالية:
تعتمد ميزات RTPS (قابلية التشغيل البيني) على مواصفات DDS-RTPS الرسمية/2019-04-03 (الإصدار 2.3). راجع دليل مطور OpenDDS والملف docs/design/RTPS لمزيد من التفاصيل حول RTPS.
راجع دليل المطور للحصول على معلومات حول توافق OpenDDS مع مواصفات DDS. إذا كنت ترغب في المساهمة بميزة أو رعاية المطورين لإضافة ميزة، فيرجى مراجعة قسم الدعم أعلاه للحصول على معلومات الاتصال.
هذه مجرد التبعيات المطلوبة. للحصول على قائمة مفصلة كاملة بالتبعيات، بما في ذلك التبعيات الاختيارية، راجع https://opendds.readthedocs.io/en/latest-release/devguide/building/dependeency.html.
يتطلب OpenDDS TAO لتجميع IDL بالإضافة إلى التفاعل مع DCPSInfoRepo. ACE مطلوب أيضًا، ولكن يتم تضمينه دائمًا مع TAO. إذا كنت ستستخدم البرنامج configure
لـ OpenDDS، فلن تحتاج إلى تنزيل TAO أولاً - سيقوم البرنامج configure
بتنزيله لك.
يتم استخدام لغة Perl في البرنامج النصي للتكوين، وتشغيل الاختبارات الآلية والأمثلة المضمنة في شجرة المصدر هذه، وإنشاء ملفات مشروع Makefiles أو Visual Studio.
على نظام التشغيل Windows، نوصي باستخدام Strawberry Perl.
تم اختبار هذا الإصدار من OpenDDS ضمن الأنظمة الأساسية التالية:
عائلة لينكس:
عائلة ويندوز:
مضمن/محمول/إنترنت الأشياء:
لقد قمنا ببناء OpenDDS لـ VxWorks 6.9 و7 و21.03 وقمنا بتشغيل اختبارات النظام والأداء الأساسية (ولكن ليس مجموعة اختبار الانحدار بأكملها). برجاء مراجعة صفحة دعم OpenDDS لمزيد من المعلومات حول دعم ACE وTAO وOpenDDS على VxWorks. قم بتنزيل حزم VxWorks RPM لـ ACE وTAO وOpenDDS هنا.
تم اختبار هذا الإصدار من OpenDDS باستخدام المترجمين التاليين:
للحصول على تعليمات البناء والتثبيت، راجع https://opendds.readthedocs.io/en/latest-release/devguide/building/index.html
راجع Docker Quick Start للتعرف على كيفية استخدام صورة عامل الإرساء المضمنة مسبقًا.