البنية ثلاثية الطبقات

menu icon

البنية ثلاثية الطبقات

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

ما هي البنية ثلاثية الطبقات؟

البنية ثلاثية الطبقات هي بنية تطبيقات برمجية راسخة تقوم بتنظيم التطبيقات في ثلاثة طبقات حوسبة منطقية وفعلية: طبقة العرض أو واجهة تعامل المستخدم؛ طبقة التطبيق، حيث يتم تشغيل البيانات؛ وطبقة البيانات، حيث يتم تخزين البيانات المرتبطة بالتطبيق وإدارتها.

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

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

الطبقات الثلاثة بالتفصيل

طبقة العرض

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

طبقة التطبيق

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

يتم تطوير طبقة التطبيق عادة باستخدام Python أو Java أو Perl أو PHP أو Ruby، وتقوم بالاتصال بطبقة البيانات باستخدام استدعاءات API

طبقة البيانات

طبقة البيانات، تسمى أحيانا طبقة قاعدة البيانات أو طبقة التوصل إلى البيانات أو النهاية الخلفية، وهي المكان الذي يتم فيه تخزين وإدارة المعلومات التي يتم تشغيلها بواسطة التطبيق. يمكن أن يكون هذا نظام إدارة قواعد البيانات العلاقية مثل PostgreSQL أو MySQL أو MariaDB أو Oracle أو DB2 أو Informix أو Microsoft SQL Server، أو في وحدة خدمة قاعدة بيانات NoSQL مثل Cassandra أو CouchDB أو MongoDB

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

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

في مناقشات البنية ثلاثية الطبقات، كثيرا ما يتم استخدام المستوى بشكل تبادلي - وعن طريق الخطأ - بدلا من  الطبقة، كما هو الحال في 'مستوى العرض' أو 'مستوى منطق الأعمال'. 

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

الفرق مهم، لأن المستويات لا يمكن أن تقدم نفس مزايا الطبقات.

مزايا البنية ثلاثية الطبقات

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

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

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

تطبيق ثلاثي الطبقات في تطوير الإنترنت

في تطوير الإنترنت، تحتوي الطبقات على أسماء مختلفة ولكنها تؤدي وظائف مماثلة:

  • وحدة خدمة الإنترنت هي طبقة العرض وتقدم واجهة تعامل المستخدم. عادة ما تكون هذه صفحة إنترنت أو موقع إنترنت، مثل موقع التجارة الإلكترونية حيث يقوم المستخدم بإضافة منتجات إلى عربة التسوق أو إضافة تفاصيل الدفع أو إنشاء حساب. يمكن أن يكون المحتوى ثابتا أو ديناميكيا، وعادة ما يتم تطويره باستخدام HTML وCSS وJavascript.
  • وحدة خدمة التطبيق وهي مناظرة للطبقة الوسطى، التي تضم منطق الأعمال المستخدم لتشغيل مدخلات المستخدم. لمتابعة مثال التجارة الإلكترونية، تعد هذه هي الطبقة التي تستعلم عن قاعدة بيانات المخزون لإرجاع معلومات عن مدى توافر المنتج، أو إضافة تفاصيل إلى ملف بيانات تعريف العميل. غالبا ما يتم تطوير هذه الطبقة باستخدام Python أو Ruby أو PHP وتشغيل إطار عمل مثل e Django أو Rails أو Symphony أو ASP.NET، على سبيل المثال.
  • وحدة خدمة قاعدة البيانات هي طبقة البيانات أو الطبقة الخلفية لتطبيق الإنترنت. يتم تشغيلها على برامج إدارة قواعد البيانات، مثل MySQL أو Oracle أو DB2 أو PostgreSQL، على سبيل المثال.

البنيات الأخرى متعددة الطبقات

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

بنية ثنائية الطبقات 

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

البنية ذات N-طبقات

البنية ذات N-طبقات - تسمى أيضا البنية متعددة الطبقات - تشير إلى أي بنية تطبيق تحتوي على أكثر من طبقة واحدة. لكن التطبيقات التي تحتوي على أكثر من ثلاث طبقات نادرة، لأن الطبقات الإضافية تقدم القليل من المزايا ويمكن أن تجعل التطبيق أبطأ وأصعب في الإدارة وأكثر تكلفة في التشغيل. نتيجة لذلك، عادة ما تكون البنية ذات n-طبقة والبنية متعددة الطبقات مرادفات للبنية ثلاثية الطبقات.

البنية ثلاثية الطبقات وIBM Cloud

تقدم IBM Cloud منتجات وخدمات لمساعدتك على تحديث تطبيقاتك القديمة ثلاثية الطبقات في رحلتك إلى البيئة السحابية.

أخذ الخطوة الأولى:

  • سواء كنت بحاجة إلى مساعدة في الإستراتيجية أو العمليات أو الإمكانات — أو تريد خدمة كاملة — اكتشف كيف يمكن أن تساعد شركة IBM في  تحديث التطبيق.
  • البدء باستخدام البرامج الوسيطة محددة الحاوية التي يمكن تشغيلها في أي بيئة سحابية — وكلها مجمعة في IBM Cloud Paks.
  • يمكنك بسهولة ترحيل أحجام عمل VMWare الحالية إلى البيئة السحابية العامة باستخدام حلول IBM Cloud for VMware.
  • تخطيط وتنفيذ استراتيجيات تحديث التطبيقات الخاصة بك كجزء من التحول الرقمي المستمر الخاص بك بمساعدة خدمات تحديث التطبيقات من IBM.

البدء باستخدام حساب IBM Cloud اليوم.