ما المقصود بالبنية ثلاثية الطبقات؟

منظر جوي لمدينة طوكيو عند الغسق

ما المقصود بالبنية ثلاثية الطبقات؟

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

وتتمثّل الفائدة الرئيسية للبنية ثلاثية المستويات في أن كل مستوى يعمل على بنية تحتية خاصة به، مما يتيح لفريق تطوير مستقل العمل على كل مستوى في الوقت نفسه. كما يمكن تحديث كل مستوى أو توسيع نطاقه عند الحاجة من دون التأثير في المستويات الأخرى.

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

لا تفوت أبدًا أي إنجاز تقني

اكتشف الأبحاث الناشئة في مجالات الذكاء الاصطناعي، والحوسبة الكمية، والسحابة الهجينة، وغيرها من خبراء IBM من خلال الرسالة الإخبارية الشهرية Future Forward. راجع بيان الخصوصية لشركة IBM.

شكرًا لك! أنت مشترك.

سيتم تسليم اشتراكك باللغة الإنجليزية. ستجد رابط إلغاء الاشتراك في كل رسالة إخبارية. يمكنك إدارة اشتراكاتك أو إلغاء اشتراكك هنا. راجع بيان خصوصية IBM لمزيد من المعلومات.

المستويات الثلاثة بمزيد من التفصيل

مستوى العرض

مستوى العرض هو واجهة المستخدم وطبقة الاتصال في التطبيق، حيث يتفاعل المستخدم النهائي مع التطبيق. والغرض الرئيسي منه هو عرض المعلومات على المستخدم وجمع المعلومات منه. يمكن تشغيل هذا المستوى الأعلى على متصفح الويب أو كتطبيق سطح مكتب أو واجهة مستخدم رسومية (GUI)، على سبيل المثال. تُطوَّر مستويات العرض على الويب باستخدام HTML وCSS وJavaScript. ويمكن كتابة تطبيقات سطح المكتب بلغات برمجية مختلفة تبعًا لنظام التشغيل والمنصة المستخدمة.

مستوى التطبيق

مستوى التطبيق، المعروفة أيضًا بالمستوى المنطقي أو مستوى الأوسط، هو قلب التطبيق. في هذا المستوى تُعالَج المعلومات التي جُمِعت في مستوى العرض - وأحيانًا بمقارنته بمعلومات أخرى في مستوى البيانات - باستخدام منطق الأعمال، أي مجموعة محددة من قواعد العمل. ويمكن لمستوى التطبيق أيضًا إضافة البيانات في مستوى البيانات أو حذفها أو تعديلها.

وعادةً ما يُطوَّر مستوى التطبيق باستخدام لغات مثل Python وJava وPerl وPHP وRuby، ويتواصل مع مستوى البيانات عبر استدعاءات واجهة برمجة التطبيقات (API).

مستوى البيانات

مستوى البيانات، الذي يُسمّى أحيانًا مستوى قاعدة البيانات أو مستوى الوصول إلى البيانات أو مستوى الواجهة الخلفية (back-end)، هو المكان الذي يُخزَّن فيه المعلومات التي يعالجها التطبيق وتُدار. ويمكن أن يكون هذا المستوى نظام إدارة قواعد بيانات علائقية مثل PostgreSQL أو MySQL أو MariaDB أو Oracle أو Db2 أو Informix أو Microsoft SQL Server، أو خادم قاعدة بيانات NoSQL مثل Cassandra أو CouchDB أو MongoDB.

في التطبيق ثلاثي المستويات، تمر كل الاتصالات عبر مستوى التطبيق. ولا يستطيع مستوى العرض ومستوى البيانات التواصل مباشرةً مع بعضهما البعض.

تطوير التطبيقات

ابدأ الآن بتطوير التطبيقات المؤسسية في السحابة

في هذا الفيديو، يناقش الدكتور Peter Haumer كيفية تطوير التطبيقات المؤسسية الحديثة في السحابة الهجينة اليوم من خلال عرض مكونات وممارسات مختلفة، بما في ذلك IBM Z Open Editor وIBM Wazi وZowe. 

مزايا البنية ثلاثية المستويات

تتمثّل الفائدة الرئيسية للبنية ثلاثية المستويات في أنها تفصل الوظائف على المستويين المنطقي والفيزيائي. ويمكن تشغيل كل مستوى على نظام تشغيل ومنصة خادم منفصلين - مثل خادم ويب أو خادم تطبيقات أو خادم قاعدة بيانات - بما يتناسب على النحو الأفضل مع متطلباتها الوظيفية. وكذلك يعمل كل مستوى على خادم مخصَّص واحد على الأقل أو خادم افتراضي، بحيث يمكن تخصيص خدمات كل مستوى وتحسينها من دون التأثير في المستويات الأخرى.

تشمل المزايا الأخرى (مقارنةً بالبنية أحادية المستوى أو ثنائية المستوى) ما يلي:

  • تطوير أسرع: نظرًا إلى أن كل مستوى يمكن تطويره في الوقت نفسه بواسطة فرق مختلفة، تستطيع المؤسسة طرح التطبيق في السوق بوتيرة أسرع. ويمكن للمبرمجين استخدام أحدث وأفضل اللغات والأدوات في كل مستوى.

  • تحسين قابلية التوسع: يمكن توسيع أي طبقة بشكل مستقل عن الطبقات الأخرى عند الحاجة.

  • تحسين الموثوقية: يقل احتمال أن يؤثّر انقطاع في إحدى المستويات في توافر المستويات الأخرى أو أدائها.

  • تحسين الأمان: نظرًا إلى أن مستوى العرض ومستوى البيانات لا يمكنهما التواصل مباشرةً، يمكن لمستوى التطبيق المصمَّم جيدًا أن يعمل كجدار حماية داخلي يمنع هجمات حقن أوامر SQL وغيرها من محاولات الاستغلال الخبيثة.

مقارنة بين المستويات (tiers) والطبقات (layers)

في مناقشات البنية ثلاثية المستويات، غالبًا ما يُستخدَم مصطلح طبقة (layer) بالتبادل – وبشكل غير دقيق – بدلًا من مستوى (tier)، كما في "presentation layer" أو "business logic layer".

وهما ليسا الشيء نفسه. فمصطلح "طبقة (layer)" يشير إلى تقسيم وظيفي داخل البرنامج نفسه، في حين يشير مصطلح "مستوى (tier)" إلى تقسيم وظيفي يعمل على بنية تحتية منفصلة عن التقسيمات الأخرى. فعلى سبيل المثال، يُعد تطبيق جهات الاتصال على هاتفك تطبيقًا من ثلاث طبقات (layer)، لكنه تطبيق أحادي المستوى (single-tier)، لأن الطبقات الثلاث كلّها تعمل على هاتفك نفسه.

وهذا الفرق مهم، لأن الطبقات (layers) وحدها لا توفّر المزايا نفسها التي توفّرها المستويات (tiers).

تطبيق ثلاثي المستويات في تطوير الويب

في تطوير الويب، تحمل هذه المستويات أسماء مختلفة ولكنها تؤدي وظائف متشابهة:

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

  • يتوافق خادم التطبيقات مع المستوى الأوسط، ويحتوي على منطق الأعمال المستخدم في معالجة إدخالات المستخدم. ولمواصلة مثال التجارة الإلكترونية، فهذا هو المستوى الذي يستعلم من قاعدة بيانات المخزون لإرجاع حالة توفر المنتج، أو لإضافة تفاصيل إلى ملف العميل. وغالبًا ما يُطوَّر هذا المستوى باستخدام Python أو Ruby أو PHP، ويشغِّل إطار عمل مثل Django أو Rails أو Symphony أو ASP.NET.


  • يُعد خادم قاعدة البيانات مستوى البيانات أو مستوى الواجهة الخلفية (Back-end) في تطبيق الويب. ويعمل بالاستناد إلى برمجيات إدارة قواعد البيانات مثل MySQL أو Oracle أو DB2 أو PostgreSQL.

بُنى أخرى متعدّدة المستويات

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

بنية ثنائية المستويات

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

بنية N-tier

تشير بنية N-tier - وتُسمّى أيضًا البنية متعدّدة المستويات - إلى أي بنية لتطبيق تحتوي على أكثر من مستوى واحد. غير أن التطبيقات التي تحتوي على أكثر من ثلاث طبقات نادرة، لأن الطبقات الإضافية لا تقدّم فائدة تُذكَر، وقد تجعل التطبيق أبطأ، وأصعب في الإدارة، وأكثر تكلفةً في التشغيل. نتيجةً لذلك، تُستخدَم عادةً مصطلحات البنية N-tier والبنية متعدّدة المستويات بوصفها مترادفة مع البنية ثلاثية المستويات.

حلول ذات صلة
خدمة تطبيقات IBM Enterprise لـ Java

خدمة مُدارة بالكامل ومستأجر واحد لتطوير تطبيقات Java وتسليمها.

استكشف تطبيقات Java
حلول عمليات التطوير

استخدم أدوات وبرمجيات عمليات التطوير لإنشاء تطبيقات السحابة الأصلية ونشرها وإدارتها عبر أجهزة وبيئات متعددة.

استكشف حلول عمليات التطوير
خدمات تطوير تطبيقات المؤسسات

إن تطوير تطبيقات السحابة يعني البناء مرة واحدة، والتكرار بسرعة، والنشر في أي مكان.

خدمات تطوير التطبيقات
اتخِذ الخطوة التالية

تقدِّم خدمات استشارات تطوير التطبيقات من IBM Cloud توجيهات الخبراء وحلولًا مبتكرة لتبسيط استراتيجيتك السحابية. تعاون مع خبراء IBM في مجال السحابة والتطوير لتحديث تطبيقاتك وتوسيع نطاقها وتسريعها، ما يحقق النتائج التحويلية لأعمالك.

استكشف خدمات تطوير التطبيقات ابدأ البناء باستخدام IBM Cloud مجانًا