هندسة تطبيقات الويب: الوظيفة والمكونات والأنواع وأمثلة من الحياة الواقعية

نشرت: 2021-06-16

جدول المحتويات

ما هي هندسة تطبيقات الويب؟

يشير تطبيق الويب إلى تلك الأنواع من التطبيقات التي تعمل على المستعرض. يتطلب استخدام تقنية الويب لأداء مهامها عبر الإنترنت. بعض خصائص تطبيق الويب هي:

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

تركز المقالة بإيجاز على بنية تطبيق الويب وعمله الممتد إلى المكونات.

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

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

تتحد كل من البرامج النصية من جانب الخادم والبرامج النصية من جانب العميل معًا لتشكيل تطبيقات الويب. تتضمن البرامج النصية من جانب الخادم PHP و ASP وتستخدم لاسترجاع المعلومات وتخزينها. يتم استخدام جافا سكريبت و HTML لخدمة العملاء بالمعلومات.

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

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

خصائص تطبيقات الويب

  • يتم تطبيق تطبيقات الويب لحل مشاكل العمل.
  • تضمن تطبيقات الويب تجربة مستخدم سريعة.
  • يوفر الأمن.
  • تطبيقات الويب ذاتية التنظيم ومستدامة.
  • يتم دعم الجمالية المرئية بواسطة تطبيقات الويب.
  • يتم دعم اختبارات A / B والتحليلات.

وظائف تطبيقات الويب

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

  • رمز من جانب العميل: تمت ترجمة هذا الرمز في المتصفح الذي يستجيب لإدخال العميل.
  • رمز من جانب الخادم: يستجيب هذا الرمز للطلبات المقدمة من HTTP ويتم ترجمته في الخادم.

من واجب الفريق المطوِر أن يقرر واجب الكود من جانب الخادم فيما يتعلق بالتعليمات البرمجية من جانب العميل. تستخدم البرامج النصية مثل Java و JavaScript و C # و Python و Ruby و PHP وما إلى ذلك لكتابة أكواد جانب الخادم.

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

تتم كتابة التعليمات البرمجية من جانب العميل بنصوص JavaScript و CSS و HTML التي يتم تحليلها بواسطة مستعرض الويب. المستخدم قادر على رؤية وتعديل الكود من جانب العميل.

لذلك ، يحتاج تطبيق الويب إلى خادم الويب وخادم التطبيق لتلقي طلب العميل وإدارته وأداء المهام المطلوبة.

يتبع عمل تطبيق الويب التسلسل التالي:

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

تعلم دورات البرمجيات عبر الإنترنت من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.

مكونات هندسة تطبيقات الويب

تتكون بنية تطبيق الويب النموذجي من مكونات التطبيق وقواعد البيانات وأنظمة البرامج الوسيطة. تتكون مكونات بنية تطبيقات الويب من

  1. مكونات تطبيق الويب UI / UX: تتضمن هذه المكونات سجلات النشاط والإخطارات والبيانات الإحصائية ولوحات المعلومات والإعدادات وما إلى ذلك ، وهي تستخدم في الغالب لوضع أساس تطبيق الويب وإنشاء العناصر المرئية. لا يتم تضمين المكونات في أي عملية للتطبيقات المستندة إلى الويب.
  2. المكونات الهيكلية: تشمل المكونات الهيكلية لتطبيق الويب جانب العميل وجانب الخادم. يتضمن خادم قاعدة البيانات وخادم تطبيق الويب.
  3. مكون العميل: يتطلب إنشاء مكونات العميل معرفة JavaScript و HTML و CSS. نظام التشغيل غير مطلوب لأن المكونات موجودة في متصفح الويب الخاص بالمستخدم. يمثل بشكل أساسي وظيفة تطبيق الويب الذي يتفاعل معه المستخدم النهائي.
  4. مكون الخادم: يتطلب إنشاء مكونات العميل معرفة Java و .NET و Python و Ruby و PHP و Node.js. جزءان من مكونات الخادم هما منطق التطبيق وقاعدة البيانات. يتحكم منطق التطبيق في تطبيق الويب بينما تخزن قاعدة البيانات جميع المعلومات.

يمكن اختيار مكونات بناء تطبيق ويب من النماذج التالية:

1. خادم ويب واحد وقاعدة بيانات واحدة: النموذج الأكثر بساطة والأقل موثوقية لتطبيق الويب هما خادم الويب وقاعدة البيانات . موثوقية هذه النماذج منخفضة حيث ينخفض ​​تطبيق الويب المبني على مثل هذه النماذج بمجرد تعطل الخادم.

لا تسمح مشاكل الخادم بتشغيل مثل هذه التطبيقات ، وبالتالي فإن استقرار الخادم هو العامل الرئيسي الذي يعتمد عليه التشغيل الناجح للتطبيق.

لا يتم استخدام النموذج لبناء تطبيقات ويب حقيقية ، ولكن يمكن استخدامه لاختبار وتعلم أساسيات تطبيق الويب.

2. خادمان ويب وقاعدة بيانات واحدة: تطبيقات الويب المبنية على مثل هذه النماذج موثوقة تمامًا مقارنة بالخادم المذكور أعلاه نظرًا لوجود خادم نسخ احتياطي. لا يوجد تخزين للبيانات في خادم الويب. تتم معالجة المعلومات التي يتلقاها خادم الويب من العميل بواسطة خادم الويب ويتم كتابتها في قاعدة البيانات. تدار قاعدة البيانات هذه خارج الخادم. يشار إلى النموذج أيضًا باسم العمارة عديمة الحالة.

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

3. أكثر من خادمين وقواعد بيانات على شبكة الإنترنت : من أكثر الخيارات كفاءة ويمكن الاعتماد عليها لبناء تطبيق هو النموذج الذي يتكون من أكثر من خادمين وقواعد بيانات. يؤدي وجود أكثر من مكون إلى تجنب المشكلات المرتبطة بفشل تطبيق الويب.

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

أنواع هندسة تطبيقات الويب

يعتمد نوع بنية تطبيقات الويب على توزيع منطق التطبيق بين العميل وجانب الخادم. يتضمن كلاً من بنية تطبيقات الويب وبنية خادم الويب.

تتكون بنية تطبيقات الويب بشكل أساسي من ثلاثة أنواع.

  1. تطبيقات الصفحة الواحدة (SPAs) : في هذا النوع من الهندسة ، يطلب المستخدم الصفحة. يتم توفير التفاعل الديناميكي عن طريق تحديث المحتويات إلى الصفحة الحالية. يتم تحقيق هذا النوع من بنية تطبيقات الويب من خلال AJAX وهو شكل موجز من JavaScript و XML غير المتزامن. يشبه SPA تطبيقات سطح المكتب حيث لا يواجه المستخدم أي انقطاعات. يوفر تجربة تفاعلية للمستخدم حيث يمكنه طلب المحتوى الأكثر أهمية.
  2. الخدمات المصغرة: توفر هذه الأنواع من البنية مزايا من حيث تحسين الإنتاجية وتسريع عملية النشر. يتم تنفيذ وظيفة واحدة من خلال نوع الخدمات المصغرة للهندسة المعمارية ، وبالتالي فهي صغيرة وخفيفة الوزن. يعد تطوير التطبيق استنادًا إلى الخدمات المصغرة أمرًا بسيطًا وسريعًا لأن الكود المطلوب لإنشاء مكونات التطبيق لا يحتاج إلى أن يكون من نفس لغة البرمجة.
  3. بنيات بدون خادم: هذا نوع من بنية خادم الويب. في البنية التي لا تحتوي على خادم ، يلزم وجود طرف ثالث للاستعانة بمصادر خارجية للخادم وإدارة البنية التحتية. ينفذ التطبيق الكود في السحابة دون إزعاج المهام الأخرى المتعلقة بالبنية التحتية.

تشمل الأنواع الأخرى من بنية خادم الويب Java و Node.Js و .NET و PHP و Azure و AngularJS و Laravel وبنية تطبيقات الويب المستندة إلى Python.

أمثلة على تطبيقات الويب

تتضمن أمثلة تطبيقات الويب النماذج عبر الإنترنت ومعالجات النصوص وعربات التسوق وجداول البيانات وتحرير الصور والفيديو وتحويل الملفات ومسحها ضوئيًا وبرامج البريد الإلكتروني مثل Gmail و Yahoo و AOL.

بعض الأمثلة على بعض تطبيقات الويب الشائعة هي:

1. مُحرر مستندات Google: تسمح مستندات Google للمستخدمين بإنشاء وحفظ المستندات على الكمبيوتر أو في حساب Google Drive. يمكن حفظ الملفات بتنسيق PDF والتي يمكن طباعتها ومشاركتها مع مستخدمين آخرين. يتيح العمل على نفس المستند من قبل مستخدمين مختلفين. حتى بدون اتصال بالإنترنت ، يمكن استخدام التطبيق وسيتم حفظ التعديل الذي تم إجراؤه في المستند تلقائيًا عند الاتصال بالإنترنت مرة أخرى.

2. Netflix: التطبيق هو أحد منصات بث الفيديو المهمة. يسمح للمستخدمين بتصفح ومشاهدة أفلامهم المفضلة في أي وقت معين حسب تفضيل المستخدم.

3. Codepen.io: هذا تطبيق قائم على الويب لتطوير كود HTML. تساعد الأداة المستخدم على اختبار أي رموز CSS و HTML و JavaScript في الوقت الفعلي.

تشمل الأمثلة الأخرى لتطبيقات الويب Facebook و Gmail و Twitter وما إلى ذلك.

خاتمة

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

إذا كنت على استعداد للتدريب في هذا المجال ذي الصلة والحصول على أي خبرة في تطوير الويب ، فإننا نوصيك بالتحقق من دورة شهادة " ماجستير العلوم في علوم الكمبيوتر " المقدمة من upGrad و IIIT-Bangalore. تم تصميم الدورة بشكل فعال للمبتدئين إلى المهنيين من المستوى المتوسط ​​(ذكور وإناث) من الفئة العمرية من 21 إلى 45 عامًا.

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

اصقل مهاراتك واستعد للمستقبل

تقدم بطلب للحصول على برنامج الشهادة المتقدمة في DevOps