مواصفات واجهة التطبيق
تُعدّ مواصفات واجهة التطبيق ( AIS ) [ 1 ] مجموعة من المواصفات المفتوحة التي تُعرّف واجهات برمجة التطبيقات (APIs) لبرمجيات الحاسوب عالية التوافر. وقد طُوّرت ونُشرت من قِبل منتدى توافر الخدمة (SA Forum) وهي متاحة مجانًا. وإلى جانب تقليل تعقيد تطبيقات التوافر العالي وتقصير وقت التطوير، تهدف هذه المواصفات إلى تسهيل نقل التطبيقات بين مختلف تطبيقات البرمجيات الوسيطة، وإتاحة الفرصة لمطوري الطرف الثالث للمشاركة في مجال كان حكرًا على جهات خارجية في السابق.
تاريخ
يُعد نظام معلومات التوافر (AIS) جزءًا من واجهات توافر الخدمة (SAI) التابعة لمنتدى توافر الخدمة (SA Forum). وتضمنت المواصفات الأصلية، التي صدرت في 14 أبريل 2003، إطار إدارة التوافر (AMF)، وخدمة عضوية المجموعة (CLM)، وأربع خدمات مساعدة أخرى (نقطة التفتيش، والحدث، والرسالة، والقفل).
تمت إضافة خدمات إضافية في الإصدارات اللاحقة.
- أضاف الإصدار 3 (18 يناير 2006) المجموعة الأولى من خدمات الإدارة: إدارة السجلات والإشعارات ونموذج المعلومات (IMM).
- قام الإصدار 4 (27 فبراير 2007) بتوسيع خدمات المرافق لتشمل المؤقت والتسمية.
- قام الإصدار 5 (16 أكتوبر 2007) بتوسيع خدمات الإدارة لتشمل الأمن وأضاف إطار إدارة البرامج.
- أضاف الإصدار 6 (21 أكتوبر 2008) خدمة إدارة النظام الأساسي لسد الفجوة بين AIS و HPI ( واجهة النظام الأساسي للأجهزة ).
يتكون نظام المعلومات الإدارية من 12 خدمة وإطارين. وتصنف الخدمات إلى ثلاث مجموعات وظيفية - خدمات منصة نظام المعلومات الإدارية، وخدمات إدارة نظام المعلومات الإدارية الأساسية، وخدمات المرافق العامة لنظام المعلومات الإدارية - بالإضافة إلى أطر عمل نظام المعلومات الإدارية.
في البداية، تم تعريف واجهات برمجة التطبيقات بلغة البرمجة C فقط، ولكن اعتبارًا من يوليو 2008، يتم إصدار خريطة Java لواجهات برمجة التطبيقات المختلفة للخدمات بشكل تدريجي.
تبعيات الخدمة
صُممت الخدمات والأطر المختلفة لمواصفات الواجهة لتكون معيارية ، وإلى حد ما، مستقلة عن بعضها البعض. وهذا يسمح بوجود نظام يوفر معلومات الملاحة الجوية فقط دون معلومات الملاحة الجوية، والعكس صحيح.
الاعتماد المعماري الوحيد المطلوب هو الاعتماد على خدمة عضوية المجموعة (CLM). جميع خدمات نظام معلومات الإدارة (AIS)، باستثناء خدمة إدارة المنصة (PLM) وخدمة المؤقت (TMR)، تعتمد على خدمة عضوية المجموعة (CLM).
من المتوقع أن تستخدم جميع خدمات AIS خدمات إدارة AIS لعرض واجهاتها الإدارية وتكوينها ومعلومات إدارة وقت التشغيل (الشكل 2).
خدمات المنصة
توفر خدمة إدارة المنصة (PLM) رؤية منطقية للأجهزة والبرامج الأساسية للنظام. وتشمل البرامج الأساسية في هذا السياق نظام التشغيل وطبقات المحاكاة الافتراضية التي توفر بيئات تنفيذ لجميع أنواع البرامج.
الكيانات المنطقية الرئيسية التي ينفذها نظام إدارة دورة حياة المنتج (PLM) هي :
- عنصر الأجهزة (HE) - عنصر الأجهزة هو كيان منطقي يمثل أي نوع من كيانات الأجهزة، والذي يمكن أن يكون، على سبيل المثال، هيكلًا أو وحدة معالجة مركزية أو جهاز إدخال/إخراج. عادةً، يتم نمذجة جميع الوحدات القابلة للاستبدال في الموقع (FRUs) كعناصر أجهزة.
- بيئة التنفيذ (EE) - بيئة التنفيذ هي كيان منطقي يمثل بيئة قادرة على تشغيل بعض البرامج. على سبيل المثال، تقوم وحدة المعالجة المركزية (CPU blade) أو جهاز SMP بتشغيل نسخة واحدة من نظام التشغيل مصممة كبيئة تنفيذ. يتم دعم بنى افتراضية مختلفة (الشكل 4).
يتولى نظام إدارة دورة حياة المنتج (PLM) الحفاظ على حالة هذه الكيانات في نموذج المعلومات، ويوفر وسائل للتحكم بها وتتبع أي تغييرات في حالتها. ولإنجاز هذه المهام في أنظمة المؤسسات (HEs)، تستخدم خدمة PLM عادةً واجهة برمجة تطبيقات HPI. أما في حالة أنظمة المؤسسات (EEs)، فيتولى نظام PLM مسؤولية استرجاع جميع المعلومات الضرورية حول سلامة نظام التشغيل وأي طبقة افتراضية متاحة.
تُزوّد خدمة إدارة عضوية المجموعة (CLM) التطبيقات بمعلومات العضوية الخاصة بالعُقد التي تمّ تكوينها إداريًا في إعدادات المجموعة (وتُسمى هذه العُقد أيضًا عُقد المجموعة أو العُقد المُكوّنة)، وهي عنصر أساسي في أي نظام مُجمّع. تتكون المجموعة من هذه العُقد المُكوّنة، ولكل منها اسم فريد.
الكيانان المنطقيان اللذان يتم تنفيذهما بواسطة خدمة عضوية المجموعة هما:
- المجموعة - تمثل المجموعة نفسها وهي الكائن الأصل لكائنات عقدة المجموعة.
- عقدة المجموعة - تمثل عقدة مجموعة مُهيأة.
توفر إدارة دورة حياة المجموعة (CLM) واجهات برمجة تطبيقات (APIs) لاسترجاع معلومات عضوية المجموعة الحالية وتتبع تغييرات العضوية (مثل مغادرة العقدة، وانضمامها). يجب على جميع خدمات نظام معلومات المجموعة (AIS) استخدام واجهة برمجة تطبيقات التتبع الخاصة بإدارة دورة حياة المجموعة (CLM) لتحديد العضوية.
خدمات الإدارة
تُمثَّل الكيانات المختلفة التي تُنفِّذها خدمات نظام معلومات التطبيقات (مثل بيئات التنفيذ، ونقاط التحقق، والمكونات، وما إلى ذلك) ككائنات مُدارة في نموذج معلومات منتدى SA ، والذي يُمكن اعتباره قاعدة بيانات لإدارة التكوين . الكائنات المُدارة هي نسخ من فئات الكائنات المُعرَّفة في مواصفات خدمة نظام معلومات التطبيقات ذات الصلة، والتي تُحدِّد سمات الفئة والعمليات الإدارية. تُمثِّل العمليات الإدارية المُحدَّدة لفئات الكائنات العمليات التي يُمكن تنفيذها على الكيانات التي تُمثِّلها هذه الكائنات، مثل قفل وحدة خدمة أو تصدير محتويات نموذج المعلومات بتنسيق XML. تُخزَّن الكائنات في نموذج المعلومات في تسلسل هرمي شجري، حيث يُمكن أن يكون للكائن، على الأكثر، كائن أب واحد وأي عدد من الكائنات الفرعية.
لا تُنفَّذ الكيانات المنطقية المُمثَّلة بالكائنات في نظام إدارة المعلومات (IM) عادةً بواسطة خدمة إدارة نظام إدارة المعلومات (IMM) نفسها؛ بل تُنفَّذ هذه الكيانات بواسطة تطبيقات المستخدم وخدمات نظام معلومات التطبيقات (AIS)، مثل خدمة Checkpoint أو إطار إدارة التوافر. ولذلك، تُسمى هذه الجهات بمُنفِّذي الكائنات (OI). ولأغراض الإدارة، تُعرِّض جميع خدمات نظام معلومات التطبيقات (AIS) كياناتها المُنفَّذة ككائنات مُدارة من خلال خدمة إدارة نظام إدارة المعلومات (IMM).
يوجد نوعان من الكائنات والخصائص في نظام إدارة الهوية: وقت التشغيل والتكوين.
تعكس كائنات وخصائص وقت التشغيل الحالة الحالية للكيانات التي تمثلها - فهي ذات طبيعة وصفية .
وعلى النقيض من ذلك، فإن كائنات وخصائص التكوين هي وصفية بالنسبة لتطبيقات الإدارة - أو مديري الكائنات (OM) - فهي الوسيلة لتوفير مدخلات لمنفذي الكائنات حول الكيانات التي يحتاجون إلى تنفيذها.
قد تتضمن كائنات التكوين سمات التكوين وسمات وقت التشغيل، بينما قد تتضمن كائنات وقت التشغيل سمات وقت التشغيل فقط. ويمكن تعريف العمليات الإدارية على كلا فئتي الكائنات.
وبناءً على ذلك، توفر خدمة إدارة الكائنات المتكاملة (IMM) واجهة " جنوبية " - واجهة برمجة تطبيقات IMM-OI - لمطوري الكائنات، وواجهة " شمالية " - واجهة برمجة تطبيقات IMM-OM - لتطبيقات الإدارة (الشكل 5)، مثل وكلاء SNMP، وتتوسط بين هذين الطرفين. كما أنها مسؤولة عن تخزين الكائنات والخصائص الدائمة.
سجل
تهدف خدمة السجل إلى تسجيل الأحداث ، أي جمع المعلومات على مستوى المجموعة، والقائمة على الوظائف (بدلاً من المعلومات الخاصة بالتنفيذ) حول النظام، وهو ما يناسب مسؤولي النظام أو الأدوات الآلية.
تُمكّن خدمة السجلات التطبيقات من التعبير عن سجلات البيانات وكتابتها عبر تدفقات سجلات تُوجّه إلى وجهات إخراج مُحددة، مثل ملف مُسمى. عند وصول سجل البيانات إلى وجهة الإخراج، يخضع لقواعد تنسيق الإخراج، وهي قابلة للتكوين ومتاحة للعامة. لا يحتاج تطبيق التسجيل إلى معرفة أي من هذه الجوانب (مثل موقع ملف الوجهة، أو تدوير الملف، أو تنسيقه، إلخ) لأن خدمة السجلات تتولى هذه الأمور بناءً على الإعدادات الحالية لتدفق السجلات المُستهدف. وبما أن تنسيق الإخراج متاح للعامة، يُمكن لأدوات الطرف الثالث قراءة ملفات السجلات هذه.
تم تحديد أربعة أنواع من تدفقات السجلات: الإنذارات (سجلات تستند إلى معياري ITU X.733 وITU X.736)، والإشعارات (سجلات تستند إلى معياري ITU X.730 وITU X.731)، والنظام ، والتطبيقات . يُستخدم نوع التطبيق من قِبل التطبيقات لتعريف تدفقات سجلات خاصة بها. يوجد تدفق سجلات واحد مُعرَّف مسبقًا لكل نوع من أنواع تدفقات سجلات الإنذارات والإشعارات والنظام في مجموعة SA Forum. يُسمح لتطبيقات المستخدم باستخدام أي من التدفقات المُعرَّفة مسبقًا أو إنشاء تدفقات سجلات جديدة خاصة بها.
إشعار
تعتمد خدمة الإخطار - إلى حد كبير - على نموذج إدارة الأعطال الخاص بـ ITU-T (كما هو موجود في سلسلة وثائق X.700) بالإضافة إلى العديد من التوصيات الداعمة الأخرى.
تتمحور خدمة الإشعارات حول مفهوم الإشعار ، الذي يشرح حادثة أو تغييراً في الحالة. ويُستخدم مصطلح "إشعار" بدلاً من "حدث" لتمييزه بوضوح عن "الحدث" كما هو مُعرّف في خدمة أحداث نظام معلومات الطيران.
تعتمد خدمة NTF على نموذج النشر والاشتراك . وتُعرّف ستة أنواع من الإشعارات: الإنذار، وإنذار الأمان، وإنشاء/حذف الكائنات، وتغيير الحالة، وتغيير قيمة السمة، وإشعارات متنوعة. يتم إنشاء/نشر الإشعارات بواسطة المنتجين باستخدام واجهة برمجة تطبيقات منتج الإشعارات. يمكن أن يكون مستهلكو الإشعارات إما مشتركين ، يشتركون في الإشعارات ويتلقونها فور حدوثها؛ أو قراء ، يسترجعون الإشعارات من السجلات المحفوظة باستخدام واجهة برمجة تطبيقات مستهلك الإشعارات. يمكن لكلا النوعين من مستهلكي الإشعارات تحديد عوامل تصفية تُحدد خصائص الإشعارات التي يرغبون في تلقيها أو قراءتها.
قد تُصدر خدمات نظام المعلومات الآلي (AIS) إشعارات، وكذلك التطبيقات. وتحتوي مواصفات خدمات نظام المعلومات الآلي التي تُصدر إشعارات على قسم يصف هذه الإشعارات.
حماية
توفر خدمة الأمان آليات يمكن لخدمات AIS استخدامها للتحقق من صحة عمليات عملاء خدمة AIS (وربما غيرها) داخل المجموعة، ومنحها صلاحية تنفيذ أنشطة محددة. تُستخدم هذه الآليات للحفاظ على سلامة البنية التحتية عالية التوافر وتطبيقات منتدى SA، بما في ذلك بياناتها، من خلال الحماية من الوصول غير المصرح به.
يُعهد بتطبيق إجراءات الأمان إلى تطبيقات خدمة AIS نفسها: حيث تطلب خدمات AIS المُفعّلة أمنيًا تفويضًا من تطبيق SEC نيابةً عن عمليات عملائها عند بدء أنشطة مختلفة. يستجيب SEC لطلبات التفويض هذه بإشارة موافقة أو رفض، ويعود الأمر إلى خدمة AIS للسماح بالعملية أو منعها وفقًا لذلك. يُقدّم SEC هذه الإشارات بناءً على مجموعة سياسات الأمان المُكوّنة عبر IMM. كما يُبلغ المشتركين بتغييرات السياسات باستخدام ردود الاتصال المناسبة.
الأطر
إطار إدارة التوافر
يُعد إطار إدارة التوافر (AMF) العاملَ الأساسي لضمان توافر الخدمات في الأنظمة المتوافقة مع معايير منتدى SA. فهو يُنسق عبء العمل بين مختلف الكيانات الخاضعة لسيطرته، وذلك بناءً على جاهزيتها لتقديم الخدمات. ولتحقيق هذا الغرض، يجب وصف التطبيق وفقًا لنموذج المعلومات المُحدد لإطار إدارة التوافر. يُحدد هذا النموذج الموارد التابعة للتطبيق داخل المجموعة، والخدمات التي يُقدمها.
الكيان المنطقي الأساسي في نموذج المعلومات هذا هو المكون ، الذي يمثل مجموعة من الموارد لإطار إدارة التوافر، والتي تغلف وظائف تطبيقية محددة. يتم تمثيل عبء العمل الناتج عن توفير خدمة ما، والتي يمكن لإطار إدارة التوافر إسنادها إلى مكون، على شكل مثيل خدمة مكون (CSI) . عندما يكون المكون نشطًا في تقديم الخدمة، يتم إسناد حالة النشاط إليه نيابةً عن مثيل خدمة المكون الذي يمثل الخدمة.
يتمثل المبدأ الأساسي للتصميم المقاوم للأعطال في توفير الخدمات من خلال مجموعة من الكيانات الاحتياطية ، ولذلك يجب أن تكون المكونات قادرة على العمل كبديل احتياطي نيابةً عن نظام معلومات الخدمة (CSI). تحافظ المكونات الاحتياطية على حالتها بحيث تكون قادرة على تولي مهمة توفير الخدمة في حال تعطل المكون المُخصص له الخدمة النشطة. يتمثل دور إدارة أحمال العمل النشطة (AMF) في تخصيص أحمال العمل النشطة أو الاحتياطية لمكونات التطبيق بناءً على حالة المكون وتكوين النظام.
وبناءً على ذلك، تُمكّن واجهات برمجة التطبيقات (APIs) التي يوفرها إطار إدارة التوافر من تسجيل المكونات، وإدارة دورة حياتها، وتخصيص أحمال العمل. وتشمل هذه الواجهات وظائف للإبلاغ عن الأخطاء ومراقبة حالة النظام. كما تسمح بتتبع تخصيص مثيلات خدمة المكونات ضمن مجموعة المكونات التي تحمي بنية خدمة المكونات (CSI).
يتضمن تكوين إطار إدارة التوافر سياسات الاسترداد والإصلاح. ويتيح تحديد أولويات الموارد ويوفر مجموعة متنوعة من نماذج التكرار. تتراوح هذه النماذج من نموذج 2N البسيط (المعروف أيضًا باسم 1+1، أو التكرار النشط-الاحتياطي) إلى نماذج أكثر تطورًا مثل نموذج التكرار متعدد الاتجاهات، الذي يسمح بتعيين أكثر من نسخة احتياطية لنفس مثيل خدمة المكون، أو نموذج التكرار النشط متعدد الاتجاهات الذي يسمح بتعيينات نشطة متعددة.
لتبسيط الإدارة، يقوم نظام إدارة التطبيقات (AMF) بتصنيف المكونات إلى وحدات خدمة ومجموعات خدمة، وتصنيف مثيلات خدمة المكونات إلى مثيلات خدمة. تشكل هذه العناصر مجتمعةً تطبيقًا. ومن خلال نظام إدارة الأجهزة المتكاملة (IMM)، تتوفر مجموعة من العمليات الإدارية على هذه الكيانات المنطقية.
لأغراض إدارة البرامج، يتم تجميع الكيانات التي تشغل نفس البرنامج في أنواع، مما يسمح بإدخال نقطة واحدة لتكوين هذه الكيانات.
إطار إدارة البرمجيات
يمكن تمييز النظام المتوافق مع معايير منتدى SA من خلال إعدادات النشر الخاصة به، والتي تتضمن البرامج المنشورة في النظام بالإضافة إلى جميع كيانات البرامج المُهيأة. تُشكل إعدادات النشر جزءًا أساسيًا من نموذج المعلومات الذي تديره خدمة إدارة المعلومات (IMM).
يتولى إطار إدارة البرمجيات (SMF) مسؤولية الحفاظ على جزء من نموذج المعلومات الذي يصف البرمجيات المتاحة والمُثبّتة في المجموعة. لكن الهدف الرئيسي من SMF هو تمكين تطوير النظام أثناء التشغيل من خلال تنسيق عملية الانتقال من تكوين نشر إلى آخر. في مصطلحات SMF، تُسمى عملية الانتقال هذه حملة ترقية .
يُعرّف إطار إدارة البرمجيات مخطط XML يُستخدم لتحديد حملة ترقية. يقوم تطبيق إطار إدارة البرمجيات بنقل النظام من تكوين نشر حالي إلى تكوين جديد مرغوب فيه استنادًا إلى ملف XML هذا، وهو عبارة عن نص برمجي يتضمن إجراءات مُرتبة وتغييرات في التكوين تؤدي إلى التكوين الجديد.
خلال هذه الهجرة، SMF
- يحافظ على نموذج حالة الحملة،
- يراقب النظام حالات الخطأ المحتملة الناتجة عن عملية النقل، و
- يطبق إجراءات استعادة الأخطاء حسب الحاجة.
لإنجاز كل هذه المهام، يتفاعل تطبيق SMF على الأقل (1) مع AMF من أجل الحفاظ على التوافر، (2) مع IMM لإجراء تغييرات على نموذج المعلومات، و(3) مع NTF لتلقي الإشعارات التي قد تشير إلى حالات الخطأ الناجمة عن الحملة الجارية.
يوفر إطار إدارة البرمجيات أيضًا واجهة برمجة تطبيقات (API) لعمليات العميل لتسجيل رغبتها في تلقي إشعارات عند بدء حملة ترقية ذات صلة في المجموعة، وأثناء تقدمها عبر مراحل مهمة. يتيح ذلك تنسيق الإجراءات الخاصة بالتطبيق مع عملية الترقية. قد يتراوح هذا بين مجرد منع بدء حملة الترقية عندما يؤدي التطبيق مهمة بالغة الأهمية، إلى تنسيق إجراءات الترقية على مستوى التطبيق، مثل ترقية مخطط قاعدة البيانات أو نشر بروتوكولات جديدة.
بالنسبة لموردي البرامج الذين يقدمون تطبيقات ليتم نشرها في مجموعة SA Forum، يحدد إطار إدارة البرامج أيضًا مخطط XML لملف أنواع الكيانات ، والذي يصف أنواع كيانات البرامج التي ينفذها التطبيق. تُستخدم هذه المعلومات للتوصل إلى تكوينات النشر المناسبة.
خدمات المرافق العامة
نقطة تفتيش
توفر خدمة نقاط التحقق آليةً لتسجيل بيانات نقاط التحقق بشكل تراكمي، مما يُسهم في حماية التطبيق من الأعطال. فعندما يتعافى التطبيق من عطل ما (عن طريق إعادة التشغيل أو إجراء تجاوز الفشل )، يمكن استخدام خدمة نقاط التحقق لاسترداد البيانات التي تم حفظها مسبقًا واستئناف التنفيذ من الحالة المسجلة، وبالتالي تقليل تأثير العطل.
نقاط التحقق هي كيانات على مستوى المجموعة. تُسمى نسخة البيانات المخزنة في نقطة التحقق بنسخة متماثلة من نقطة التحقق، والتي تُخزن عادةً في الذاكرة الرئيسية بدلاً من القرص لأسباب تتعلق بالأداء. قد تحتوي نقطة التحقق على عدة نسخ متماثلة مخزنة على عُقد مختلفة في المجموعة لحمايتها من أعطال العُقد. يمكن للعملية التي تُنشئ نقطة التحقق الاختيار بين سياسات تحديث النسخ المتماثلة المتزامنة وغير المتزامنة. في حالة النسخ المتماثل غير المتزامن، يمكن أيضًا اختيار التواجد المشترك لتحسين أداء التحديث.
الفعاليات
خدمة الأحداث هي آلية اتصال متعددة النقاط تعتمد على مفهوم قنوات الأحداث، حيث يتواصل ناشر واحد أو أكثر بشكل غير متزامن مع مشترك واحد أو أكثر مجهول الهوية باستخدام الأحداث عبر قناة أحداث. قنوات الأحداث هي كيانات مُسماة على مستوى المجموعة، توفر أفضل جهد ممكن لتوصيل الأحداث. ويمكن للناشرين أن يكونوا مشتركين في قناة الأحداث نفسها.
تتألف الأحداث من رأسية قياسية وبيانات منشورة بحجم صفر أو أكثر من البايتات. ولا تفرض واجهة برمجة تطبيقات خدمة الأحداث تنسيقًا محددًا لبيانات الأحداث المنشورة.
عندما تشترك عملية ما في قناة أحداث لتلقي الأحداث المنشورة، فإنها تحدد عوامل التصفية التي سيتم تطبيقها على هذه الأحداث. ولا يتم تسليم الأحداث إلى العملية إلا إذا استوفت عوامل التصفية المحددة.
الأقفال
خدمة القفل هي خدمة قفل موزعة ، مصممة للاستخدام في بيئة عنقودية حيث تتنافس العمليات في عقد مختلفة للوصول إلى مورد مشترك. توفر خدمة القفل لهذه العمليات كيانات تُسمى موارد القفل، والتي تستخدمها بدورها عمليات التطبيق لتنسيق الوصول إلى تلك الموارد المشتركة.
توفر خدمة القفل نموذج قفل بسيطًا يدعم نمط قفل واحد للوصول الحصري وآخر للوصول المشترك. الأقفال التي توفرها خدمة القفل غير متكررة، وبالتالي، فإن طلب قفل واحد لا يعني ضمنيًا طلب قفل آخر، بل يجب طلب كل قفل على حدة.
رسائل
تُحدد خدمة الرسائل واجهات برمجة التطبيقات لنظام اتصال بين العمليات على مستوى المجموعة . يعتمد الاتصال على قوائم انتظار الرسائل المُعرّفة باسم منطقي. يمكن لأي عدد من العمليات إرسال رسائل إلى قائمة انتظار الرسائل ، ولكن لا يمكن لأكثر من عملية واحدة في الوقت نفسه فتحها للاستقبال. وبالتالي، تدعم قائمة انتظار الرسائل الواحدة أنماط الاتصال من نقطة إلى نقطة أو من نقاط متعددة إلى نقاط.
إن العمليات التي ترسل رسائل إلى قائمة انتظار الرسائل لا تدرك هوية العملية المتلقية؛ لذلك، قد تكون العملية التي كانت تتلقى هذه الرسائل في الأصل قد تم استبدالها بعملية أخرى أثناء عملية تجاوز الفشل أو التبديل.
يمكن تجميع قوائم انتظار الرسائل لتشكيل مجموعات قوائم انتظار الرسائل. تتيح مجموعات قوائم انتظار الرسائل الاتصال متعدد النقاط. يتم تعريفها بأسماء منطقية بحيث لا يكون برنامج الإرسال على دراية بعدد قوائم انتظار الرسائل أو مواقعها داخل المجموعة التي يتواصل معها. يمكن استخدام مجموعات قوائم انتظار الرسائل لتوزيع الرسائل بين قوائم انتظار الرسائل التابعة لها. يحدد بروتوكول MSG ثلاث سياسات توزيع أحادية البث - توزيع متساوي الحمل، وتوزيع متساوي الحمل محليًا، وأفضل قائمة انتظار محلية - بالإضافة إلى سياسة البث (البث المتعدد ).
بناءً على الطلب، توفر خدمة الرسائل ضمانات تسليم مختلفة (مثل الإقرار، واستمرارية الرسائل، وما إلى ذلك) على قوائم انتظار الرسائل وعلى مجموعات قوائم انتظار الرسائل أحادية البث.
تسمية
توفر خدمة التسمية آليةً لربط أسماء سهلة الفهم بالكائنات، بحيث يمكن البحث عن هذه الكائنات باستخدام أسمائها. وتمثل هذه الكائنات عادةً نقاط الوصول إلى الخدمات، ونقاط نهاية الاتصال، وموارد أخرى تقدم نوعًا من الخدمات.
لا تفرض خدمة التسمية أي تخطيط أو اصطلاح محدد على الأسماء ( بافتراض ترميز UTF-8 ) أو الكائنات المرتبطة بها. فهي تتيح لمستخدمي الخدمة اختيار واستخدام مخطط التسمية الخاص بهم دون افتراض أي تكوين محدد للأجهزة أو البرامج المنطقية. ومن المتوقع أن يفهم عملاء خدمة التسمية بنية وتخطيط ودلالات روابط الكائنات التي ينوون تخزينها داخل الخدمة واسترجاعها منها.
المؤقتات
توفر خدمة المؤقت آليةً تمكّن عمليات العميل من ضبط المؤقتات وتلقي إشعارات عند انتهاء صلاحيتها. المؤقت هو كائن منطقي يُنشأ ديناميكيًا، ويمثل وقت انتهاء صلاحيته إما بوقت مطلق أو بمدة زمنية تبدأ من الوقت الحالي.
توفر خدمة المؤقتات نوعين من المؤقتات: مؤقتات الأحداث الفردية ومؤقتات دورية. تنتهي صلاحية مؤقتات الأحداث الفردية مرة واحدة وتُحذف بعد إشعار المستخدم. أما المؤقتات الدورية، فتنتهي صلاحيتها عند بلوغ مدة زمنية محددة، ويتم إشعار العملية بانتهاء صلاحيتها. يجب حذف المؤقتات الدورية صراحةً باستخدام دالة حذف المؤقتات.
نموذج البرمجة
تشترك جميع خدمات نظام المعلومات الآلية في نفس نموذج البرمجة. وتُستخدم نفس اصطلاحات التسمية، والأنواع والثوابت القياسية المُعرّفة مسبقًا، ودلالات واجهة برمجة التطبيقات، والتحكم في دورة حياة المكتبة، وما إلى ذلك، في جميع أنحاء المواصفات.
تُعرَّف واجهة تطبيق منتدى SA بأنها العلاقة بين عملية ومكتبة تُنفِّذ هذه الواجهة. صُمِّمت هذه الواجهة للاستخدام من قِبَل عمليات التطبيقات متعددة الخيوط وأحادية الخيوط. يُمكن اعتبار مصطلح "العملية" مُرادفًا للعملية المُعرَّفة في معيار POSIX؛ ومع ذلك، لا يُلزم معيار AIS باستخدام عملية POSIX ، بل يُلزم باستخدام أي كيان مُكافئ يُوفِّره النظام لإدارة تنفيذ البرامج.
يُعد خادم المنطقة نموذجًا تجريديًا يُمثل الخادم الذي يُقدم الخدمات لمنطقة مُحددة ( مثل إطار إدارة التوافر، وخدمة عضوية المجموعة، وخدمة نقاط التفتيش، وما إلى ذلك). لكل منطقة خادم منطقة منطقي مُستقل، مع العلم أن للمُنفذ حرية إنشاء وحدة مادية مُنفصلة لكل خادم منطقة، أو دمج خادم منطقة واحد أو أكثر في وحدة مادية واحدة.
يمكن تنفيذ مكتبات تنفيذ المناطق في مكتبة واحدة أو عدة مكتبات فعلية؛ ومع ذلك، يلزم إجراء عملية منفصلة لتهيئة كل مكتبة تنفيذ منطقة وتسجيلها والحصول على كائن اختيار نظام التشغيل الخاص بها. لذا، من وجهة نظر البرمجة، من المفيد اعتبارها مكتبات منفصلة.
يُعد نموذج الاستخدام نموذجيًا لبنية تعتمد على الأحداث، حيث يقوم التطبيق بإعداد ثم يتلقى ردود الاتصال عند حدوث الأحداث (الشكل 6).
يبدأ استخدام مكتبة توفر الخدمة باستدعاء لتهيئة المكتبة، والتي قد تقوم بتحميل أي كود ديناميكي وربط الاستدعاءات غير المتزامنة التي ينفذها المعالج. عندما لا يعود المعالج بحاجة إلى استخدام وظائف المنطقة، فإنه يستدعي دالة إنهاء المنطقة، والتي تفصل المعالج عن مثيل تنفيذ منطقة الواجهة وتستعيد أي موارد مرتبطة بها.
تستخدم AIS نموذجي البرمجة المتزامنة وغير المتزامنة. تُستخدم واجهات برمجة التطبيقات المتزامنة عادةً لإدارة المكتبات والروابط. توفر العديد من خدمات AIS إمكانية تتبع التغييرات في الكيانات التي تُنفذها. يتكون مسار واجهة برمجة التطبيقات عادةً من ثلاث وظائف: بدء وإيقاف تتبع الكيان بواسطة العميل؛ واستدعاء الخدمة لإعلام العميل بالتغييرات (المعلقة) في الكيان المُتتبع.
التوافق مع الإصدارات السابقة
لتحقيق التوافق مع الإصدارات السابقة عند تطوير مواصفات نظام التعرف الآلي (AIS)، يتم اتباع عدد من القواعد:
- لا يتغير تعريف الدالة أو النوع أبدًا لإصدار محدد من منتدى SA.
- تُجبر التغييرات في تعريف دالة أو نوع (إضافة وسيط جديد إلى دالة، أو إضافة حقل جديد إلى بنية بيانات) على تعريف اسم جديد للدالة أو النوع. يُبنى اسم الدالة أو النوع الجديد من الاسم الأصلي في الإصدار السابق مع إضافة لاحقة تُشير إلى الإصدار الذي طرأ فيه التغيير على الدالة/النوع (على سبيل المثال، saAmfComponentRegister_3()).
- واستثناءً من القاعدة السابقة، يمكن إضافة قيم تعداد جديدة أو قيم علامات أو حقول اتحاد إلى نوع تعداد أو علامة أو اتحاد موجود دون تغيير اسم النوع، طالما أن حجم نوع التعداد أو العلامة أو الاتحاد لا يتغير.
- يجب على منفذي AIS التأكد من احترامهم لأرقام الإصدارات التي يوفرها التطبيق عند تهيئة المكتبة وعدم كشف قيم التعداد الجديدة للتطبيقات التي تستخدم إصدارات أقدم.
- يجب على منفذي AIS أيضًا التأكد من احترامهم لأرقام الإصدارات التي يوفرها التطبيق عند تهيئة المكتبة، فيما يتعلق برموز الخطأ الجديدة أو المعدلة، وعدم كشف رموز الخطأ التي تنطبق فقط على الوظائف الموجودة في أحدث إصدار من المواصفات للتطبيقات المكتوبة بإصدار أقدم من المواصفات.
على سبيل المثال، ضع في اعتبارك الإصدار الرئيسي Vx لخدمة معينة تتضمن وظيفة f()، وافترض أنه كان لا بد من تعديل f() في إصدار رئيسي أحدث Vy (Vy > Vx)، مما أدى إلى إدخال متغير f_y() الذي يحل الآن محل f() في Vy.
بالنظر إلى تطبيق AIS الذي يدعم كلا الإصدارين Vx و Vy، يمكن لعملية ما تهيئة المكتبة بتحديد إما Vx أو Vy:
- إذا قام البرنامج بتهيئة مُعرِّف مكتبة باستخدام الإصدار Vx، فلن يُتيح هذا المُعرِّف الوصول إلى الدوال التي تم تقديمها في إصدارات أحدث من Vx. وعلى وجه الخصوص، لن يُمكِّن هذا المُعرِّف البرنامج من استدعاء الدالة f_y() بنجاح.
- إذا قام البرنامج بتهيئة مُعرِّف مكتبة باستخدام Vy، فلن يُتيح هذا المُعرِّف الوصول إلى دالة أُضيفت في إصدارات أقدم من Vy ثم استُبدلت بنسخة أحدث من نفس الدالة. وبالتحديد، لن يُمكّن هذا المُعرِّف البرنامج من استدعاء الدالة f() بنجاح.
لاحظ مع ذلك أن العملية قد تقوم بتهيئة المكتبة عدة مرات، وفي كل مرة يتم استخدام الإصدار المناسب للوظائف التي تنوي الحصول عليها.
لا تتضمن وثيقة مواصفات خدمة AIS لـ Vy سوى أحدث إصدار من تعريف الوظيفة أو النوع الذي يدعمه Vy.
يتم ترقيم إصدارات المواصفات على النحو التالي: <رمز الإصدار>.<الإصدار الرئيسي>.<الإصدار الفرعي>
يُكتب رمز الإصدار بحرف كبير. ويُحافظ على التوافق مع الإصدارات السابقة فقط بين إصدارات نفس رمز الإصدار. ويُشار إلى الإصدار الرئيسي والإصدار الفرعي بأرقام متزايدة. قد تُضيف الإصدارات التي يتغير فيها الرقم الرئيسي ميزات جديدة وتُغير واجهة برمجة التطبيقات (API) بطريقة متوافقة مع الإصدارات السابقة كما هو موضح أعلاه. أما الإصدارات التي يتغير فيها الرقم الفرعي فلا تُغير واجهة برمجة التطبيقات، بل تُقدم إصلاحات للأخطاء وتعديلات تحريرية وتوضيحات للإصدار السابق.
سجل التنفيذ
سجل تطبيقات منتدى توافر الخدمة هو عملية تُمكّن من تسجيل تطبيقات مواصفات منتدى توافر الخدمة وإتاحتها للجمهور. ولا يُشترط الحصول على عضوية لتسجيل التطبيقات. ويُشار إلى التطبيقات التي تم تسجيلها بنجاح باسم "مسجل في منتدى توافر الخدمة".
انظر أيضاً
مراجع
- ↑ "معيار IEEE لمواصفات واجهة التطبيق لأنظمة سلسلة الكتل" . standards.ieee.org . تم الاطلاع عليه بتاريخ 16 أكتوبر 2025 .
روابط خارجية
- دروس تعليمية حول المواصفات
- موقع منتدى جنوب أفريقيا
- OpenAIS
- أوبن ساف
- واجهات برمجة التطبيقات
