الطبقة N (متعددة الطبقات)، 3 طبقات، 2 طبقات Archiالتكنولوجيا مع المثال

⚡ ملخص ذكي

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

  • ؟؟؟؟ ️ فريف: يتم توزيع تطبيق N-Tier عبر ثلاثة أجهزة كمبيوتر منفصلة أو أكثر في شبكة موزعة.
  • 🧱 ثلاث طبقات أساسية: تفصل طبقات العرض (واجهة المستخدم) ومنطق الأعمال وقاعدة البيانات الاهتمامات بشكل واضح.
  • 🔢 تنوعات المستويات: النماذج الشائعة هي من المستوى 1، ومن المستوى 2، ومن المستوى 3، مع كون المستوى 3 هو الأكثر استخدامًا على نطاق واسع.
  • 🌐 الاستخدام في العالم الحقيقي: مواقع مثل IRCTC و MakeMyTrip و Amazon الاعتماد على هذه البنية.
  • ✅ الفوائد الرئيسية: قابلية التوسع، وسلامة البيانات، وإمكانية إعادة الاستخدام، وتحسين الأمان، والتوافر.
  • ⚠️ التنازل عن ميزة ممن أجل الحصول على أخرى: زيادة عدد الطبقات يؤدي إلى زيادة جهد التطوير وتعقيد النظام بشكل عام.

الطبقة N Architecture

ما هي الطبقة N؟

An تطبيق N-الطبقة البرنامج هو الذي يتم توزيعه بين ثلاثة أجهزة كمبيوتر منفصلة أو أكثر في شبكة موزعة.

الشكل الأكثر شيوعًا للطبقة n هو التطبيق ثلاثي الطبقات، ويتم تصنيفه إلى ثلاث فئات.

  • برمجة واجهة المستخدم في جهاز الكمبيوتر الخاص بالمستخدم
  • منطق الأعمال في جهاز كمبيوتر أكثر مركزية، و
  • البيانات المطلوبة في جهاز الكمبيوتر الذي يدير قاعدة بيانات.

يوفر نموذج البنية هذا لمطوري البرامج طريقة لإنشاء تطبيقات/أنظمة قابلة لإعادة الاستخدام بأقصى قدر من المرونة.

In الطبقة N، "N" يشير إلى عدد من المستويات أو الطبقات المستخدمة، مثل – 2-الطبقة، 3-الطبقة أو 4-الطبقة، الخ. ويسمى أيضا "متعدد المستويات Architecture".

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

الطبقة N Architecture

يصور هنا تمثيل تخطيطي لنظام n-tier - طبقات العرض التقديمي والتطبيق وقاعدة البيانات.

الطبقة N Architecture
الطبقة ن Archiمخطط فني

يمكن تقسيم هذه الطبقات الثلاث إلى طبقات فرعية مختلفة حسب المتطلبات.

بعض المواقع الشهيرة التي طبقت هذا التصميم المعماري هي:

  • MakeMyTrip.com
  • تطبيق المؤسسة قوة المبيعات
  • السكك الحديدية الهندية – IRCTC
  • Amazonكوم، الخ.

بعض المصطلحات الشائعة التي يجب تذكرها، وذلك لفهم المفهوم بشكل أوضح:

  • الشبكة الموزعة: هي بنية شبكية تنسق فيها المكونات الموجودة على أجهزة الكمبيوتر المتصلة بالشبكة وتتواصل فيما بينها عبر تبادل الرسائل فقط. وهي عبارة عن مجموعة من أنظمة متعددة موجودة في عقد مختلفة، ولكنها تظهر للمستخدم كنظام واحد.
    • يوفر شبكة اتصالات بيانات واحدة يمكن إدارتها بشكل منفصل بواسطة شبكات مختلفة.
    • مثال على الشبكة الموزعة - حيث يتم توصيل عملاء مختلفين داخل بنية الشبكة المحلية من جانب واحد، ومن الجانب الآخر يتم توصيلهم بمفاتيح عالية السرعة بالإضافة إلى رف من الخوادم يحتوي على عقد الخدمة.
  • خادم العميل Archiالبنية: هو نموذج معماري حيث يطلب العميل (برنامج واحد) خدمة من الخادم (برنامج آخر). أي هي خدمة طلب واستجابة تُقدم عبر الإنترنت أو من خلال شبكة داخلية. في هذا النموذج، العميل سيكون بمثابة مجموعة واحدة من البرامج/ التعليمات البرمجية التي تنفذ مجموعة من الإجراءات عبر الشبكة. بينما المخدمومن ناحية أخرى، فهي عبارة عن مجموعة من برنامج آخر، والتي ترسل مجموعات النتائج إلى نظام العميل حسب الطلب.
    • في هذا السياق، يوفر جهاز الكمبيوتر الخاص بالعميل واجهة للمستخدم النهائي لطلب خدمة أو مورد من الخادم، ومن ناحية أخرى يقوم الخادم بمعالجة الطلب وعرض النتيجة للمستخدم النهائي.
    • مثال على نموذج العميل والخادم – جهاز الصراف الآلي. البنك هو الخادم لمعالجة الطلبات ضمن قواعد بيانات العملاء الكبيرة، وجهاز الصراف الآلي هو العميل الذي يمتلك واجهة مستخدم مع بعض عمليات معالجة التطبيقات البسيطة.
  • منصة: في علوم الحاسوب أو صناعة البرمجيات، تُعرَّف المنصة بأنها نظام يمكن تشغيل برنامج تطبيقي عليه. وهي تتكون من مزيج من الأجهزة والبرامج التي تحتوي على تعليمات مدمجة للمعالج/المعالج الدقيق لتنفيذ عمليات محددة.
    • بعبارة أبسط، المنصة هي نظام أو قاعدة يمكن لأي تطبيق أن يعمل عليها وينفذها للحصول على مهمة محددة.
    • مثال على النظام الأساسي - جهاز شخصي محمل بـ Windows 2000 أو Mac OS X كأمثلة لمنصتين مختلفتين.
  • قاعدة البيانات: وهي عبارة عن مجموعة من المعلومات بطريقة منظمة بحيث يمكن الوصول إليها وإدارتها وتحديثها بسهولة.
    • أمثلة على قاعدة البيانات – MySQL, SQL الخادم، و Oracle Database هذه بعض قواعد البيانات الشائعة.

أنواع الطبقة N Architectures

هناك أنواع مختلفة من N-Tier Archiتكتيكات، مثل 3 الطبقة Architecture، 2-الطبقة Archiهندسة معمارية وطبقة واحدة Architecture.

أولا، سوف نرى 3 طبقات Architecture، وهو أمر مهم جدا.

3-المستوى Architecture

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

  • طبقة العرض
  • طبقة منطق الأعمال
  • طبقة قاعدة البيانات
3 المستوى Archiمخطط فني
3 المستوى Archiمخطط فني

لقد استخدمنا هنا مثالاً بسيطاً لاستمارة طالب لفهم هذه الطبقات الثلاث. تحتوي الاستمارة على معلومات عن الطالب مثل: الاسم، العنوان، البريد الإلكتروني، والصورة.

طبقة واجهة المستخدم أو طبقة العرض

3-المستوى Architecture

طبقة العرض

private void DataGrid1_SelectedIndexChanged(object sender, System.EventArgs e)
{
// Object of the Property layer
clsStudent objproperty=new clsStudent();
// Object of the business layer
clsStudentInfo objbs=new clsStudentInfo();
// Object of the dataset in which we receive the data sent by the business layer
DataSet ds=new DataSet();
// here we are placing the value in the property using the object of the
//property layer
objproperty.id=int.Parse(DataGridl.SelectedItem.Cells[1].Text.ToString());

// In this following code we are calling a function from the business layer and
// passing the object of the property layer which will carry the ID till the database.
ds=objbs.GetAllStudentBsIDWise(objproperty);

// What ever the data has been returned by the above function into the dataset
//is being populate through the presentation laye.
txtId.Text=ds.Tables[0].Rows[0][0].ToString();
txtFname.Text=ds.Tables[0].Rows[0][1].ToString();
txtAddress.Text=ds.Tables[0].Rows[0][2].ToString();
txtemail.Text=ds.Tables[0].Rows[0][3].ToString();

Code تفسير

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

طبقة الوصول للأعمال –

هذه هي وظيفة طبقة الأعمال التي تقبل البيانات من طبقة التطبيق وتمررها إلى طبقة البيانات.

  • تعمل منطق الأعمال كواجهة بين طبقة العميل وطبقة الوصول إلى البيانات.
  • تتم كتابة جميع منطق الأعمال - مثل التحقق من صحة البيانات، والحسابات، وإدخال/تعديل البيانات - تحت طبقة منطق الأعمال.
  • فهو يجعل التواصل أسرع وأسهل بين طبقة العميل وطبقة البيانات.
  • يحدد نشاط سير العمل المناسب والضروري لإكمال المهمة.
// this is the function of the business layer which accepts the data from the
//application layer and passes it to the data layer.
public class clsStudentInfo
{
	public DataSet GetAllStudentBsIDWise(clsStudent obj)
	{
	 DataSet ds=new DataSet();
	 ds=objdt.getdata_dtIDWise(obj);// Calling of Data layer function
	 return ds;
	}
}

شرح الكود

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

طبقة الوصول إلى البيانات

هذه هي وظيفة طبقة البيانات، التي تتلقى البيانات من طبقة الأعمال وتنفذ العملية اللازمة في قاعدة البيانات.

// this is the datalayer function which is receiving the data from the business
//layer and performing the required operation into the database

public class clsStudentData // Data layer class
{
	// object of property layer class
	public DataSet getdata_dtIDUise(clsStudent obj)
	{
	 DataSet ds;
	 string sql;
	 sql="select * from student where Studentld=" +obj.id+ "order by Studentld;
	 ds=new DataSet();
	//this is the datalayer function which accepts the sql query and performs the
	//corresponding operation
		ds=objdt.ExecuteSql(sql);
		return ds;
	}
}

شرح الكود

يقبل الكود المحدد في طبقة مجموعة البيانات أعلاه الطلب الكامل الذي يطلبه النظام، وينفذ العمليات المطلوبة في قاعدة البيانات.

2-المستوى Architecture

إنها مثل بنية العميل والخادم، حيث يتم الاتصال بين العميل والخادم.

في هذا النوع من بنية البرمجيات، تعمل طبقة العرض أو طبقة واجهة المستخدم على جانب العميل بينما يتم تنفيذ طبقة مجموعة البيانات وتخزينها على جانب الخادم.

لا توجد طبقة منطق أعمال أو طبقة وسيطة بين العميل والخادم.

طبقة واحدة أو طبقة واحدة Architecture

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

توجد طبقة العرض التقديمي وطبقة منطق الأعمال وطبقة البيانات على جهاز واحد.

مزايا وعيوب متعدد المستويات Architectures

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

المزايا عيوب
التوسعة زيادة في الجهد
البيانات Integrity زيادة في التعقيد
إعادة استخدام
انخفاض التوزيع
تحسين الأمن
توافر محسن

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

الطبقة N Archiنصائح وتطوير

نظراً لأن متخصصي البرمجيات يجب أن يتمتعوا بالسيطرة الكاملة على جميع طبقات البنية، فيما يلي بعض النصائح حول بنية الطبقات المتعددة:

  1. حاول فصل الطبقات عن بعضها البعض قدر الإمكان باستخدام تقنية مثل SOAP XML.
  2. استخدم بعض الأدوات الآلية لإنشاء خريطةping بين طبقة منطق الأعمال وطبقة قاعدة البيانات العلائقية (طبقة البيانات). الأدوات التي يمكن أن تساعد في نمذجة هذه الخريطةping تشمل التقنيات Entity Framework و Hibernate لـ .Net، إلخ.
  3. في طبقة عرض العميل، ضع الكود المشترك لجميع العملاء في مكتبة منفصلة قدر الإمكان. سيؤدي ذلك إلى زيادة إمكانية إعادة استخدام الكود لجميع أنواع العملاء.
  4. يمكن إضافة طبقة ذاكرة تخزين مؤقت إلى طبقة موجودة لتسريع الأداء.

الأسئلة الشائعة

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

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

تشمل الخيارات الشائعة .NET، Java (Spring)، وNode.js لمنطق الأعمال، وHTML/Javaأطر عمل النصوص البرمجية للعرض، وقواعد البيانات مثل MySQLأو خادم SQL، أو Oracle بالنسبة لطبقة البيانات. تربط أدوات ربط الكائنات العلائقية مثل Entity Framework وHibernate بين الطبقات.

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

نعم. يمكن للمراقبة المدعومة بالذكاء الاصطناعي التنبؤ بذروات حركة البيانات وتوسيع نطاق كل طبقة تلقائيًا بشكل مستقل. كما يمكنها موازنة الأحمال، واكتشاف الاختناقات، وتحسين استعلامات قواعد البيانات، والمساعدة فيping تظل تطبيقات العميل والخادم الكبيرة متجاوبة في ظل الطلب المتغير.

تلخيص هذه التدوينة بـ: