الرئيسية > Visual Basic .Net, تقنية net. > التطبيقات متعددة الطبقات N-Tier Applications من منظور تقنيات .Net framework :

التطبيقات متعددة الطبقات N-Tier Applications من منظور تقنيات .Net framework :

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

تحتوي التطبيقات متعددة الطبقات على ثلاث طبقات رئيسية : طبقة العرض  Presentation Layer ، الطبقة الوسطى Middle Layer ، طبقة البيانات DataLayer . ان فصل هذه الطبقات عن بعضها بالطريقة الصحيحة والسلمية يضمن لك الاستفادة من ميزات أسلوب بناء التطبيقات على شكل طبقات ، وافضل طريقة تفصل فيها بين هذه الطبقات بشكل كامل هو ان تكون كل طبقة موجودة في مشروع Project منفصل تجتمع كلها في حل واحد Solution ، وبهذا تصبح كل طبقة منفصلة تماما عن الأخريات ، فقد تكون طبقة العرض Presentation Layer من نوع Windows Forms ، والطبقة الوسطى على هيئة Class Library ، بينما طبقة البيانات قد تكون حتى WCF Service او XML Web service ، وكما ذكرنا أعلاه ، فإن تعديل أي طبقة لن يؤثر على الاخريات بأي حال من الأحوال ، وصدور تقنية جديدة تحتاج الى تطبيقها في احد الطبقات لن يدفعك الى اعادة بناء التطبيق ككل بل الطبقة المعنية بذلك فقط!.

 

يساعدك Visual Studio على تطوير التطبيقات على شكل طبقات بعدة ادوات تتوفر فيه واكاد اجزم بان اغلبكم يعرفها :

  • DataSet Designer : والذي نستغله في عمل مشروعين او طبقتين منفصلتين : طبقة كائنات البيانات Data Entities وطبقة الإتصال والتعامل المباشر مع مصادر البيانات Data Access Layers المتمثل في Data Adapters .
  • Object Relational Designer : (O/R) Designer : والذي يقوم بتوليد الـ DataContexts وفئات البيانات Data Classes على شكل فضاءات اسماء Namespaces منفصلة تماما ، هذا الفصل يعني انك تفصل طبقة الـ Data Entity عن طبقة Data Accessing .
  • LINQ to SQL : والذي يمكنك من جمع DataContexts من عدة طبقات معا .
  • مربع حوار Configure Data Syndication : والذي يمكنك من ضبط إعدادات التزامن بين البيانات الموجودة على الخادم server وتلك الموجودة في Local Database Cache ، هذا يساعدك كثيرا على فصل طبقة الـخادم Server عن طبقة الـعميل Client .

 

وفيما يلي موجز عن كل طبقة وما يمكن ان تستخدمه فيها من تقنيات متاحة لك :

طبقة العرض Presentation Layer:

وهي تلك الطبقة التي يتعامل بها المستخدم مع البرنامج UserInterface ، وتحتوي ايضا في العادة على المنطق الخاص بالبرنامج  logic ، وفي العادة قد تحتوي طبقة العرض لديك على المكونات التالية :

  • ربط البيانات بالأدوات : DataBinding : والتي تستخدم فيها الـ BindingSource والـ BindingNavigator .
  • ممثلات كائنات البيانات : كـ Linq to SQL لتستخدمها في طبقة العرض .
  • قاعدة البيانات المحلية : Local Databases : كـ Local Database Cache والتي تمكنك من مزامنة البيانات مع تلك الموجودة في السيرفر من خلال Microsoft Synchronization Services for ADO.NET .

المخطط التالي يوضح طبقة العرض والتقنيات المتوفرة لاستخدامها فيها :

بقي ان اوضح ان طبقة العرض لا تصل الى طبقة البيانات مباشرة وانما تتصل بالطبقة الوسطى التي بدورها تتصل بطبقة البيانات ، وهنا قد تكون الطبقة الوسطى مشروع WCF او غيره .

 

الطبقة الوسطى MiddleTier :

وظيفة هذه الطبقة انها تلعب دور الوسيط بين طبقة البيانات DataLayer وطبقة العرض PresentationLayer .

تتكون الطبقة الوسطى في العادة من المكونات التالية :

  • الـ BusinessLogic : والذي يكون في العادة DataValidation او التحقق من المدخلات والبيانات .
  • TableAdapters و Datasets .
  • كائنات تمثيل البيانات : كـ LINQ to SQL entity .
  • الخدمات العامة Common Services : كالصلاحيات والمأذونيات والتخصيص للمستخدم .

 

الشكل التالي يقدم مخططا للتقنيات المتوافرة لاستخدامها في الطبقة الوسطى :

 

 

وتتصل الطبقة الوسطى بطبقة البيانات عن طريق اتصال Data Connection والذي يكون متوفرا في العادة في مكون الاتصال بالبيانات Data Access Component .

طبقة البيانات : Data Tier :

وتكون هذه الطبقة موجودة عند مصدر بيانات البرنامج او مكان توافر قاعدة البيانات ، احيانا يكون ذلك خادم Server يحتوي على SQL Server عند الاتصال بقاعدة بيانات من النوع SQL Server ، واستخدام طبقة البيانات بهذه الطريقة يسهل عملية تصميم تطبيقات من نوع Server/Client حيث تكون هذه الطبقة هي المسؤولة عن الاتصال بالـ Server وارسال واستقبال البيانات منه واليه .

الشكل التالي يوضح التقنيات المستخدمة في طبقة البيانات :

 

 

 

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

  1. أغسطس 13, 2008 الساعة 12:26 ص

    اضافة : الرابط التالي يحتوي على عدة روابط لمواضيع وتدوينات حول كيفية تطبيق هذا الاسلوب مع استخدام تقنية LINQ في عدد منها :
    http://services.community.microsoft.com/feeds/feed/query/tag/n-tier/eq/tag/visual%20basic/eq/and/locale/en-us/eq/and

  2. محمد عبد الجواد
    أكتوبر 27, 2009 الساعة 7:13 م

    جزاك الله خيرا على هذا المقال … أقل شئ ممكن أقوله أنه أكثر من رائع

  3. sacad
    سبتمبر 23, 2010 الساعة 3:00 م

    وددت ان اوحيك على المجهود الذي تبذله وان كنت اميل لأن استعمل طريقة “كيف نصنع كذا “الا انه وجود توصيف تدفقي بالشكل الذي تقدمه مفيد جدا في فهم هيكلية العمل ..
    شكرا🙂

  4. فبراير 15, 2011 الساعة 11:06 ص

    انا عارف ان كلمة شكرا مش كفاية
    بس حقيقى بجد عايز اقولك انا متشكر جدا

  5. ماجدة
    مارس 13, 2011 الساعة 4:37 م

    قليل جدا في الانترنت نجد موضوع عربي تقني مشروح ومترجم بطريقة ممتازة وصحيحة
    شاكرة جدا لك

  6. يونيو 16, 2015 الساعة 7:31 ص

    الله يفتح عليك ياشيخ ربنا يكرمك ويوفقك

  1. يونيو 12, 2013 الساعة 11:58 م

أضف تعليقاً

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

WordPress.com Logo

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   / تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   / تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   / تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   / تغيير )

Connecting to %s

%d مدونون معجبون بهذه: