باختصار
«تطبيقات الويب» (الفصل 3) من منهج البرمجة والذكاء الاصطناعي للصف الثاني الثانوي، الترم الأول. الملخص مقسّم لـ: أهداف التعلم، المصطلحات والتعريفات، بنية تطبيق الويب ثلاثية الطبقات، تدفق التعاون بين الطبقات (مقارنة المسؤوليات)، تطبيقات وأمثلة محلولة.
أهداف التعلم
- تمييز أدوار الواجهة الأمامية والواجهة الخلفية وطبقة البيانات في نموذج تطبيق ويب مبسط.
- تتبع تدفق طلب المستخدم عبر الطبقات الثلاث حتى ظهور النتيجة على شاشة المتصفح.
- تصميم توزيع مناسب للمسؤوليات بين الطبقات الثلاث وتبرير الاختيارات المتخذة.
- شرح مفهوم تطبيق الويب واستخدامه الشائع عبر المتصفح أو كبرنامج قابل للتثبيت.
- مقارنة تطبيقات الويب المختلفة (الفيديو، التسوق، البريد، الخرائط) من حيث توزيع الطبقات.
- حل مسائل تطبيقية تتطلب تحديد الطبقة المسؤولة عن كل وظيفة في سيناريوهات واقعية.
المصطلحات والتعريفات
| المصطلح | التعريف الكامل |
|---|---|
| تطبيق الويب | برنامج يُستَخدم عادةً عبر متصفح الويب، وقد يُسمح بتثبيته على الجهاز. أمثلته خدمات الفيديو، التسوق، البريد الإلكتروني، والخرائط. |
| الواجهة الأمامية (Frontend) | الجزء الذي يراه المستخدم ويتفاعل معه مباشرةً على شاشة المتصفح؛ يعرض المحتوى ويستقبل مدخلات المستخدم (نصوص بحث، نماذج إدخال، أزرار). |
| الواجهة الخلفية (Backend) | الجزء الذي يعمل على الخادم (السيرفر) ولا يراه المستخدم؛ يعالج الطلبات، يطبق قواعد العمل، ويتواصل مع طبقة البيانات. |
| قاعدة البيانات (Database) | نظام يُنظِّم، يخزن، ويدير البيانات؛ تُستَخدم لتوفير السجلات المطلوبة عند طلبها من الطبقة الخلفية. |
| طبقة البيانات | تشمل قاعدة البيانات وأي تخزين ملفات أو كائنات أو ذاكرة مخبأة (Cache) أو خدمات بيانات خارجية تُستَخدم لتوفير المعلومات. |
| نموذج ثلاث طبقات | بنية تعليمية مبسطة لتطبيق الويب تتألف من: الواجهة الأمامية (العرض والتفاعل)، الواجهة الخلفية (المعالجة والتحكم)، وطبقة البيانات (التخزين والإدارة). |
| تدفق الطلب | سلسلة من الخطوات ينتقل فيها طلب المستخدم من الواجهة الأمامية إلى الخلفية ثم إلى قاعدة البيانات، وتعود النتيجة إلى الواجهة الأمامية لتُعرض للمستخدم. |
| خدمة الفيديو | مثال لتطبيق ويب يُظهر مقاطع فيديو، يتيح اختيار الفيديوهات الموصى بها، ويخزن بيانات الفيديو وسجل المشاهدة. |
| خدمة التواصل الاجتماعي | مثال لتطبيق ويب يتيح النشر، المتابعة، وإرسال الرسائل الفورية؛ تعتمد على نفس الطبقات الثلاث. |
| خدمة التجارة الإلكترونية | مثال لتطبيق ويب يتيح عرض المنتجات، التحقق من المخزون، تخزين معلومات الطلبات، ومعالجة المدفوعات. |
بنية تطبيق الويب ثلاثية الطبقات
تُعَدُّ البنية العامة لتطبيقات الويب من أهم المفاهيم التي تُسهل فهم كيفية عمل أي خدمة على الإنترنت. يُقسم النموذج التعليمي إلى ثلاث طبقات رئيسية، كل طبقة لها دور واضح ومحدد:
-
الواجهة الأمامية
- تُظهر المحتوى (نصوص، صور، فيديو) وتستقبل مدخلات المستخدم مثل كلمات البحث أو بيانات النموذج.
- تُنفّذ عمليات بسيطة على المتصفح (مثلاً التحقق من صحة الإدخال قبل الإرسال).
- لا تتعامل مباشرةً مع البيانات المخزنة؛ بل تُرسل الطلبات إلى الواجهة الخلفية.
-
الواجهة الخلفية
- تستقبل الطلبات من الواجهة الأمامية عبر بروتوكولات الويب (HTTP/HTTPS).
- تُطبق منطق العمل (قواعد التطبيق) مثل التحقق من صلاحية الدخول، حساب الأسعار، أو اختيار النتائج المتطابقة.
- تتواصل مع طبقة البيانات لاسترجاع أو تعديل السجلات المطلوبة.
-
طبقة البيانات
- تخزن السجلات في قواعد بيانات علائقية أو غير علائقية، أو في ملفات، أو في خدمات تخزين سحابية.
- تُعيد البيانات المطلوبة إلى الواجهة الخلفية عند الطلب.
- قد تشمل ذاكرة مخبأة (Cache) لتسريع الاستجابة في الحالات المتكررة.
مثال توضيحي لتدفق الطلب
عند كتابة كلمة بحث في مربع البحث على موقع تجارة إلكترونية:
- الواجهة الأمامية تستقبل كلمة البحث وتُرسلها إلى الواجهة الخلفية.
- الواجهة الخلفية تُحوِّل الطلب إلى استعلام قاعدة البيانات وتستقبل النتائج.
- طبقة البيانات تُعيد السجلات المطابقة (منتجات) إلى الواجهة الخلفية.
- الواجهة الخلفية تُجهِّز البيانات (مثلاً ترتيبها حسب الصلة) وتُعيدها إلى الواجهة الأمامية.
- الواجهة الأمامية تعرض النتائج على شاشة المستخدم.
هذا التعاون المتسلسل يضمن أن كل طبقة تركز على مسؤوليتها دون تداخل غير ضروري، ما يُسهِّل صيانة النظام وتوسيع وظائفه.
تدفق التعاون بين الطبقات (مقارنة المسؤوليات)
خطوات تدفق الطلب في مثال البحث
| الخطوة | الطبقة المسؤولة | ما يحدث بالضبط |
|---|---|---|
| 1 | الواجهة الأمامية | يكتب المستخدم كلمة البحث → تُرسل إلى الخادم. |
| 2 | الواجهة الخلفية | تستقبل كلمة البحث → تُنشئ استعلام قاعدة البيانات. |
| 3 | طبقة البيانات | تُنفّذ الاستعلام → تُعيد السجلات المطابقة. |
| 4 | الواجهة الخلفية | تستقبل النتائج → تُضيف منطق الترتيب أو الفلترة. |
| 5 | الواجهة الأمامية | تستقبل النتائج المُعالجة → تعرضها للمستخدم. |
مقارنة بين الطبقات في خدمات مختلفة
| الخدمة | الواجهة الأمامية | الواجهة الخلفية | طبقة البيانات |
|---|---|---|---|
| الفيديو | عرض قوائم الفيديو، تشغيل الفيديو، جمع تقييمات المشاهدين. | اختيار الفيديو المناسب، حساب الإحصاءات، إدارة حقوق النشر. | تخزين ملفات الفيديو، سجلات المشاهدة، بيانات القنوات. |
| التواصل الاجتماعي | عرض المنشورات، نماذج التعليق، إشعارات فورية. | معالجة نشر المحتوى، إدارة العلاقات (متابعة/إلغاء متابعة). | تخزين المنشورات، ملفات الوسائط، علاقات المتابعين. |
| التجارة الإلكترونية | عرض المنتجات، سلة التسوق، نماذج الدفع. | التحقق من المخزون، حساب الأسعار، معالجة المدفوعات. | تخزين معلومات المنتجات، سجلات الطلبات، بيانات العملاء. |
| تطبيق الطقس | إدخال اسم المدينة، عرض توقعات الطقس. | طلب بيانات الطقس من خدمة خارجية، تحويل الصيغة. | تخزين توقعات سابقة للمدينة، سجل الاستعلامات. |
تطبيقات وأمثلة محلولة
مثال 1: البحث عن منتج في متجر إلكتروني
- المستخدم يكتب "هاتف ذكي" في مربع البحث.
- الواجهة الأمامية تُرسل النص إلى الخادم عبر طلب HTTP GET.
- الواجهة الخلفية تستقبل النص، تُنشئ استعلام SQL مثل:
SELECT * FROM المنتجات WHERE الاسم LIKE '%هاتف ذكي%'; - طبقة البيانات تُنفّذ الاستعلام وتُعيد قائمة بالمنتجات المطابقة.
- الواجهة الخلفية تُضيف ترتيبًا حسب السعر أو التقييم، ثم تُعيد النتيجة إلى الواجهة الأمامية.
- الواجهة الأمامية تعرض بطاقات المنتج (صورة، اسم، سعر) للمستخدم.
نقطة هامة: لا يمكن للواجهة الأمامية أن تُجري الاستعلام مباشرةً على قاعدة البيانات؛ فهي تحتاج إلى الواجهة الخلفية لتطبيق منطق العمل وحماية البيانات.
مثال 2: تطبيق طقس يطلب اسم المدينة
- الواجهة الأمامية تُظهر حقلًا لإدخال اسم المدينة وتُرسل الاسم إلى الخادم عند الضغط على زر "احصل على الطقس".
- الواجهة الخلفية تستقبل الاسم، تُستدعي خدمة طقس خارجية (API) للحصول على بيانات الطقس الحالية.
- الواجهة الخلفية تُخزن النتيجة في قاعدة البيانات لتاريخ الاستعلام (لتحليل الاستخدام لاحقًا).
- طبقة البيانات تُضيف سجلًا يحتوي على اسم المدينة، التاريخ، وبيانات الطقس.
- الواجهة الخلفية تُعيد البيانات إلى الواجهة الأمامية.
- الواجهة الأمامية تُظهر درجة الحرارة، حالة السماء، وتُظهر أيقونة مناسبة.
ملاحظة: المهمة التي لا يمكن للواجهة الأمامية القيام بها وحدها هي استدعاء خدمة الطقس الخارجية؛ لأنها تتطلب اتصالًا بخادم خارجي ومعالجة البيانات قبل الإرسال إلى المستخدم.
تنبيهات الامتحان (أخطاء شائعة)
- خلط الواجهة الأمامية مع الخلفية – يظن البعض أن معالجة البيانات يمكن أن تُجرى في المتصفح، بينما في الواقع تُجرى على الخادم لحماية البيانات وتطبيق القواعد.
- اعتقاد أن قاعدة البيانات تُظهر الواجهة – قاعدة البيانات لا تتعامل مع العرض؛ وظيفتها فقط التخزين والاسترجاع.
- إهمال خطوة تدفق الطلب – عند الإجابة على أسئلة التدفق، يجب ذكر كل طبقة بالترتيب (أمامية → خلفية → بيانات → خلفية → أمامية).
- دمج مسؤوليات الطبقات في سيناريو واحد – مثال: وضع منطق التحقق من المخزون في الواجهة الأمامية يؤدي إلى أخطاء أمان وإمكانية تعديل البيانات من قبل المستخدم.
قائمة المراجعة
- [ ] تعريف تطبيق الويب واختلافه عن تطبيق سطح المكتب.
- [ ] تمييز الواجهة الأمامية عن الواجهة الخلفية من حيث الموقع (المتصفح vs الخادم).
- [ ] شرح دور قاعدة البيانات في تخزين السجلات وإدارتها.
- [ ] رسم mental model لنموذج ثلاث طبقات وتحديد مسؤوليات كل طبقة.
- [ ] تتبع تدفق طلب من إدخال المستخدم إلى عرض النتيجة (خطوات 1‑5).
- [ ] معرفة أمثلة التطبيقات (فيديو، تواصل اجتماعي، تجارة إلكترونية، طقس) وتحديد الطبقة المسؤولة عن كل وظيفة.
- [ ] كتابة استعلام بسيط (SQL) يُظهر كيف تتواصل الطبقة الخلفية مع قاعدة البيانات.
- [ ] توضيح الفرق بين الذاكرة المخبأة (Cache) وقاعدة البيانات.
- [ ] معرفة متى يُستَخدم API خارجي (مثل خدمة الطقس) ودور الواجهة الخلفية في استدعائه.
- [ ] القدرة على تصميم توزيع المسؤوليات لتطبيق جديد (مثال: نظام حجز مواعيد لعيادة).
- [ ] التعرف على الأخطاء الشائعة في توزيع الطبقات وتجنبها في التصميم.
- [ ] مراجعة أسئلة الاختيار المتعدد والملء في النص لتأكيد الفهم الصحيح للمصطلحات.
- [ ] التدريب على كتابة إجابات توضح الطبقة المسؤولة عن كل خطوة في سيناريو عملي.
بالتوفيق في امتحاناتك!
الملخص ده مكتوب بالذكاء الاصطناعي من نص الفصل في الكتاب المدرسي، وآخر تحديث ليه كان 7 أكتوبر 2026. لقيت فيه غلطة؟ ابعتهالنا على واتساب ونصلّحها. إزاي بنكتب الملخصات.