العمارة المنطقية

توفّر خدمة AAOS SDV بنية موجّهة نحو الخدمات ومركّزة على البيانات. يتفاعل المستخدمون مع النظام من خلال مكتبة برامج وسيطة للعميل، بمساعدة لغة تعريف واجهة خدمات المركبات (VSIDL). يؤدي ذلك إلى إخفاء تفاصيل البنية الأساسية المنخفضة المستوى، ما يسمح للمطوّرين بالتركيز على كيانات النشر والاتصال رفيعة المستوى.

نماذج الاتصال

يتم تحديد الاتصال المنطقي في خدمة SDV من خلال المواضيع والقنوات.

المواضيع

تُستخدَم المواضيع للاتصال الذي يركّز على البيانات (النشر/الاشتراك). بدلاً من اكتشاف ناشرين محدّدين، يتفاعل المستخدمون مع الرسائل المنشورة في مواضيع محدّدة.

  • المعرّف: يتم تحديد الموضوع من خلال سلسلة فريدة.
  • نوع البيانات: يتم تحديد الرسائل المنشورة في موضوع باستخدام بروتوكول المخزن المؤقت للبروتوكولات.
  • الفصل: يهتم المشتركون بنوع الرسالة واسم الموضوع، وليس بهوية الناشر أو موقعه. يمكن أن ينشر عدة ناشرين في الموضوع نفسه، ما يتيح الاتصال بين عدة أطراف.

القنوات

تُستخدَم القنوات للاتصال المستند إلى استدعاءات الإجراءات عن بُعد (RPC). يستدعي المستخدمون طرق الخدمة على قناة معيّنة بدون الحاجة إلى معرفة الخادم الذي يعالج الطلب.

  • المعرّف: يتم تحديد القناة من خلال اسم فريد (على سبيل المثال، main-control).
  • نوع الخدمة: يتم تحديد خدمات RPC من خلال اسم خدمة بروتوكول المخزن المؤقت للبروتوكولات المؤهّل بالكامل.
  • التجريد: تتعامل البرامج الوسيطة مع العثور على مثال الخادم المناسب لخدمة وقناة معيّنتَين.

النشر ودورة الحياة

تحدّد الكيانات في هذا القسم كيفية تجميع البرامج وترخيصها وإنشاؤها في بيئة SDV.

حزمة الخدمة

حزمة الخدمة هي مجموعة من منطق الأعمال ذي الصلة الذي يؤدي دورَين أساسيَين:

  1. وحدة النشر: يتم نشر حِزم الخدمات كجزء من حزمة SDV، وهي ملف APEX وأصغر وحدة من وحدات البرامج القابلة للتحديث.
    • ترتبط كل حزمة خدمة بشكلٍ فريد بعملية Linux واحدة على جهاز افتراضي لخدمة SDV في وقت التشغيل، ويُشار إليها باسم مثال حزمة الخدمة.
    • تتم الإشارة إلى حِزم الخدمات في بيان حزمة SDV، الذي يحتوي على بيانات تعريف، بما في ذلك الاسم وسياسات الترخيص.
  2. وحدة الترخيص: يتم منح الأذونات لحزمة الخدمة بأكملها. يتم ترخيص حزمة الخدمة لإجراء ما يلي:
    • نشر مواضيع معيّنة أو الاشتراك فيها (لنوع رسالة معيّن)
    • عرض قنوات معيّنة أو استدعاؤها (لنوع خدمة معيّن)

مثال حزمة الخدمة

مثال حزمة الخدمة هو مثال يتم تحميله في وقت التشغيل لحزمة خدمة.

  • يتتبّع مدير دورة حياة SDV (LCM) كل مثال من أمثلة حِزم الخدمات ويحدّده بشكلٍ فردي.
  • يتم تشغيل عمليات بدء أمثلة حِزم الخدمات من خلال أداة التنسيق في SDV، ويتتبّعها مدير دورة حياة SDV (LCM).

حزمة SDV

حزمة SDV هي أصغر وحدة من وحدات البرامج القابلة للتحديث، وتتضمّن ما يلي:

  • ملف Android Pony EXpress (APEX)
  • حزمة خدمة واحدة أو أكثر
  • يتم تحديثها بالكامل في الوقت نفسه، ما يعني أنّه يتم تحديث جميع حِزم الخدمات في حزمة SDV بالكامل في الوقت نفسه.

يأتي كل الرمز البرمجي في حزمة SDV من مصدر الثقة نفسه (ناشر البرامج نفسه).

يمكن أن تتوفّر إصدارات مختلفة من حزمة SDV نفسها في أجهزة افتراضية مختلفة لخدمة SDV.

تفاصيل التنفيذ

توضّح الأقسام التالية تفاصيل تنفيذ طبقة النقل في خدمة SDV.

معلومات عن القناة: وحدات الخدمة

على الرغم من أنّ المطوّرين يتفاعلون في المقام الأول مع المواضيع والقنوات، تظل وحدات الخدمة هي الآلية الأساسية للتسجيل والاكتشاف ضمن مجموعة الاتصالات في خدمة SDV.

تمثّل وحدة الخدمة نقطة نهاية واحدة، مثل خادم RPC أو ناشر. تتعامل مكتبة برامج وسيطة للعميل (mw::clientlib) مع تسجيل وحدات الخدمة هذه واكتشافها في الخلفية.