English  

كتب بنية وآلية عمل النموذج

اذا لم تجد ما تبحث عنه يمكنك استخدام كلمات أكثر دقة.

عرض المزيد

بُنية وآليّة عمل النموذج (معلومة)


يتألّف نموذج طلب الخدمة من مجموعة من العُملاء والمُخدّمات بالإضافة إلى الشبكة التي تصلّ فيما بينهم، ويُمكن تصنيف البُنى السابقة بحسب عدد المراحل اللازمة ليحصل العميل على الخدمة، والتي تُسمى مُستويات (بالإنجليزية: Tier)‏، بالشكل التالي:

  • بُنيّة ثُنائيّة المُستويات (بالإنجليزية: Two-Tiers Architecture)‏: وهو أبسط بُنية لنموذج طلب الخدمة، وفيه يتوزّع العمل بين مُخدّم وعدد من العُملاء، يضمّ خادم المُخدّم قاعدة بيانات خاصّة بالخدمة التي يُقدمّها. بشكلٍ عام، يجب على كل عميل ينفذ إلى قاعدة البيانات. عبر طلب يُقدّم إلى المُخدّم الذي يُعالج الطلبات، من سلبيات هذه البُنية محدوديّة عدد العُملاء الذين يُمكن للمُخدم دعمُهم، بالإضافة لوجود إشكالات أمنيّة بسبب حاجة كل عميل للنفاذ بشكلٍ مُستقل إلى قاعدة البيانات.
  • بُنيّة ثُلاثيّة المُستويات (بالإنجليزية: Three-Tiers Architecture)‏: تم تطوير هذا النموذج لتجاوز محدوديّة البُنيّة ثنائيّة المستويات، في هذه البُنية يُضاف مُستوى ثالث، في الوسط بين المستويين السابقين بهدف فصل التعامل مع العميل عن إدارة قاعدة بيانات، يضمّ هذا المُستوى بالإضافة للعميل ومُخدّم قاعدة البيانات، مُخدّماّ خاصّاً بالتطبيقات. يُمكن أن يعمل مُخدّم التطبيقات على منصّة مُستقلة، أو أن يتواجد على نفس المنصة التي يعمل عليها مُخدّم قاعدة البيانات. في البنية ثُلاثية المُستويات، فقط مُخدّم التطبيقات هو من يملك صلاحيّات النفاذ إلى قاعدة البيانات الخاصّة بالخدمة عبر مُخدّم قاعدة البيانات، وذلك عوضاً عن منح هذه الصلاحيّات لكل عميل يتقدم بطلب الحصول على الخدمة كما هو الحال في البنيّة ثُنائية المستويات. إنّ البنية السابقة هي البُنية ثُلاثيّة المُستويات الأساسيّة، وتتنوع البُنى المُشتقة عنها باختلاف التطبيقات، ومن أهمها البُنى التي تحتوي على وسيط (بالإنجليزية: Broker)‏، والبنى التي تحتوي على أكثر من قاعدة بيانات مُتزامنة.
  • بُنيّة مُتعددة المُستويات (بالإنجليزية: N-Tiers Architecture)‏: إنّ تطوير هذا النموذج هو نتيجة للاعتماد المتزايد على شبكة الإنترنت، وهو يسمح للعميل بالنفاذ إلى الخدمة عبر مُتصفّخ ويب، أيّاً كانت الخدمة وأيّاً كان التطبيقات. في هذه البُنيّة، ونظراً إلى اعتماد العميل على مُتصفّخ ويب فإنّ طبقة جديدة تحتوي مُخدّم ويب سوف تضاف بين العُملاء ومُخدّم التطبيقات، ليصبح عدد الطبقات في هذه البنيّة أربعة، الأولى تضمّ العميل والمُتصفّح، والثانية تضم مُخدّم ويب، والثالثة تضمّ مُخدّم التطبيقات، أمّا الرابعة فتحتوي مُخدّم قاعدة البيانات وقاعدة البيانات الخاصّة خدمة بالخدمة. يُمكن تعميم هذا النموذج ليضم (N) مستوى.

دور العميل ودور المُخدّم

إنّ العلاقة بين العميل والمخدّم هي علاقة تعاون بين برنامجين ضمن نفس التطبيق، في هذه العلاقة يقوم المُخدّم بالوظيفة أو يُقدّم خدمة لعميل واحد أو أكثر ممن يطلبون ذلك. يجري تصنيف المُخدّمات بحسب الخدمات التي يقدمونها، فمثلاً مُخدّم الويب يُخدّم صفحات الويب، ومُخدّم الملفّات يقدم خدمته للملفّات. إنّ مشاركة الموارد تعتبر أيضاً شكلاً من أشكال الخدمة التي يُمكن أن تُقدّم، ويشمل ذلك البرامج والمُعطيات ومساحة التحزين وقدرات المعالجة.

يُمكن للحاسب أن يكون عميلاً لخدمة ما ومُخدّماً لخدمة أخرى أو كلاهما معّاً في نفس الوقت، كما يُمكن أن يكون عميلاً ومُخدّماً لنفس لخدمة بنفس الوقت، ويتعلق الأمر بالبرامج التي يتمّ تشغيلها فيه.

لا يتواصل العُملاء فيما بينهم من أجل الحصول على الخدمة، بل يقُومُون بإرسال طلباتهم إلى المُخدّمات. ينتظر المُخدّم استقبال طلبات العملاء، وهو قادر على تقديم الخدمة لأكثر من عميل بنفس الوقت، يمكن أن تتواصل المُخدّمات التي تقدّم نفس الخدمة مع بعضها البعض من أجل مُزامنة قواعد بياناتها وصُولاً إلى قاعدة بيانات مُشتركة، تسمّى هذه العملية الاتصال بين المُخدّمات (بالإنجليزية: Inter-Server Communication)‏.

الاتصال بين العميل والمُخدّم

بشكلٍ عام، الخدمة هي شكل تجريديّ يُعبّر عن الموارد التي يمكن للمُخدم أن يقدّمها للعُملاء. إنّ نظام طلب الخدمة مُصمم بحيّث يكون العُملاء غير معنيين بالآليّة التي يقوم فيها المُخدّم بالاستجابة للطلبات، ويتوجب عليهم فقط أن يكونوا قادرين على فهم الردّ الوارد من المُخدّم، ويحصل ذلك عن طريق تشغيل العميل لأحد البروتوكولات الخاصّة بالخدمة المطلوبة.

يتبادل العميل والمُخدّم الرسائل ضمن نمط الطلب/الرد (Request/Response)، حيث يرسل العميل طلباً فيقوم المُخدّم بالردّ عليه، إنّ هذا النمط هو مثال عن عمليّة اتصال بين العمليات. لنجاح الاتصال يجب أن يدعم المُخدّم والعميل نفس بروتوكولات الاتصالات، حيث تحدد هذه البروتوكولات مجموعة القواعد الخاصّة بتنسيق وإعداد ونقل البيانات فيما بينهما بحيث تحصل العمليات السابقة بطريقة مفهومة لطرفي الاتصال.

تعمل كل بروتوكولات طلب الخدمة في أقرب طبقة للتطبيقات بحسب نموذج الاتصال المستعمل، على أيّ حال تسمى هذه الطبقة بطبقة التطبيق في نموذج الإنترنت وفي نموذج الاتصال المعياريّ أيضاً، ويُعرّف كل من هذه البروتوكولات أنماطاً مُميزة خاصّة به من رسائل الطلب/الرد، كنا يُمكن أن يدعم المُخدّم واجهة برمجة تطبيقات خاصّة به، وذلك بهدف تخصيص أنماط مُتبادلة، ويسهّل ذلك من عملية مُزامنة قواعد البيانات.

قد يستقبل |المُخدّم طلبات من العديد من العُملاء في فترة قصيرة، ويمكن أن يُشكل هذا ضغطاً على موارده، لذلك تعمد المُخدمات إلى الاعتماد على نظام جدولة لطلبات العُملاء، بحيث يتمّ تصنيف هذه الطلبات بحسب أهميتها. قد تُشكّل محدوديّة موارد المُخدّم ثغرة أمنيّة لهجوم إيقاف الخدمة، حيث يعمد المهاجمون إلى استغلال التزام المُخدّم بالرد على طلبات العُملاء فيقومون بإرسال الطلبات بمعدّلٍ مُفرط.

المصدر: wikipedia.org