تُعد البنية ثلاثية المستويات نموذجًا راسخًا لهندسة تطبيقات البرمجيات، حيث تنظّم التطبيقات في ثلاثة المستويات منطقية وحوسبية: مستوى العرض أو واجهة المستخدم، ومستوى التطبيق حيث تُعالَج البيانات، ومستوى البيانات حيث تُخزَّن بيانات التطبيق وتُدار.
وتتمثّل الفائدة الرئيسية للبنية ثلاثية المستويات في أن كل مستوى يعمل على بنية تحتية خاصة به، مما يتيح لفريق تطوير مستقل العمل على كل مستوى في الوقت نفسه. كما يمكن تحديث كل مستوى أو توسيع نطاقه عند الحاجة من دون التأثير في المستويات الأخرى.
ولعقود من الزمن كانت البنية ثلاثية المستويات هي البنية المعمارية السائدة لتطبيقات العميل/الخادم. واليوم تُعتبَر أغلب التطبيقات ثلاثية المستويات أهدافًا لجهود التحديث التي تستفيد من التقنيات السحابية الأصلية مثل الحاويات والخدمات المُصغَّرة، تمهيدًا لترحيل هذه التطبيقات إلى السحابة.
الرسالة الإخبارية البحثية
اكتشف الأبحاث الناشئة في مجالات الذكاء الاصطناعي، والحوسبة الكمية، والسحابة الهجينة، وغيرها من خبراء 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.
في التطبيق ثلاثي المستويات، تمر كل الاتصالات عبر مستوى التطبيق. ولا يستطيع مستوى العرض ومستوى البيانات التواصل مباشرةً مع بعضهما البعض.
تتمثّل الفائدة الرئيسية للبنية ثلاثية المستويات في أنها تفصل الوظائف على المستويين المنطقي والفيزيائي. ويمكن تشغيل كل مستوى على نظام تشغيل ومنصة خادم منفصلين - مثل خادم ويب أو خادم تطبيقات أو خادم قاعدة بيانات - بما يتناسب على النحو الأفضل مع متطلباتها الوظيفية. وكذلك يعمل كل مستوى على خادم مخصَّص واحد على الأقل أو خادم افتراضي، بحيث يمكن تخصيص خدمات كل مستوى وتحسينها من دون التأثير في المستويات الأخرى.
تشمل المزايا الأخرى (مقارنةً بالبنية أحادية المستوى أو ثنائية المستوى) ما يلي:
في مناقشات البنية ثلاثية المستويات، غالبًا ما يُستخدَم مصطلح طبقة (layer) بالتبادل – وبشكل غير دقيق – بدلًا من مستوى (tier)، كما في "presentation layer" أو "business logic layer".
وهما ليسا الشيء نفسه. فمصطلح "طبقة (layer)" يشير إلى تقسيم وظيفي داخل البرنامج نفسه، في حين يشير مصطلح "مستوى (tier)" إلى تقسيم وظيفي يعمل على بنية تحتية منفصلة عن التقسيمات الأخرى. فعلى سبيل المثال، يُعد تطبيق جهات الاتصال على هاتفك تطبيقًا من ثلاث طبقات (layer)، لكنه تطبيق أحادي المستوى (single-tier)، لأن الطبقات الثلاث كلّها تعمل على هاتفك نفسه.
وهذا الفرق مهم، لأن الطبقات (layers) وحدها لا توفّر المزايا نفسها التي توفّرها المستويات (tiers).
في تطوير الويب، تحمل هذه المستويات أسماء مختلفة ولكنها تؤدي وظائف متشابهة:
وعلى الرغم من أن البنية ثلاثية المستويات هي الأكثر انتشارًا بين بُنى التطبيقات متعدّدة المستويات، توجد بُنى أخرى قد تصادفها في عملك أو في أبحاثك.
البنية ثنائية المستويات هي البنية الأصلية لتطبيقات العميل/الخادم، وتتكوّن من مستوى عرض ومستوى بيانات؛ ويمكن أن يوجد منطق الأعمال في مستوى العرض أو مستوى البيانات أو في كلتيهما. وفي البنية ثنائية المستويات يتمتّع مستوى العرض - وبالتالي المستخدم النهائي - بإمكانية وصول مباشر إلى مستوى البيانات، ويكون منطق الأعمال محدودًا في الغالب. يُعد تطبيق بسيط لإدارة جهات الاتصال، يمكن للمستخدمين من خلاله إدخال بيانات جهات الاتصال واسترجاعها، مثالًا على تطبيق ثنائي المستويات.
تشير بنية N-tier - وتُسمّى أيضًا البنية متعدّدة المستويات - إلى أي بنية لتطبيق تحتوي على أكثر من مستوى واحد. غير أن التطبيقات التي تحتوي على أكثر من ثلاث طبقات نادرة، لأن الطبقات الإضافية لا تقدّم فائدة تُذكَر، وقد تجعل التطبيق أبطأ، وأصعب في الإدارة، وأكثر تكلفةً في التشغيل. نتيجةً لذلك، تُستخدَم عادةً مصطلحات البنية N-tier والبنية متعدّدة المستويات بوصفها مترادفة مع البنية ثلاثية المستويات.
خدمة مُدارة بالكامل ومستأجر واحد لتطوير تطبيقات Java وتسليمها.
استخدم أدوات وبرمجيات عمليات التطوير لإنشاء تطبيقات السحابة الأصلية ونشرها وإدارتها عبر أجهزة وبيئات متعددة.
إن تطوير تطبيقات السحابة يعني البناء مرة واحدة، والتكرار بسرعة، والنشر في أي مكان.