logo

logo

logo

logo

logo

التطبيقات الشابكية (على الخط)

تطبيقات شابكيه (علي خط)

Online applications -

التطبيقات الشابكية

محمد الشايطة

تعريف التطبيقات الشابكية

مبادئ تصميم تطبيقات الوِب

طريقة عمل تطبيقات الوِب

كتابة تطبيق الوِب

 

الشابكة أو شبكة الإنترنت internet قناة اتصال عالمية لتبادل المعلومات تعتمدها دول العالم وملايين الشركات للتواصل فيما بينها وتبادل المعلومات مع العملاء والزبائن. توفر شبكة الإنترنت للمسوّقين وسيلة تعرّف رغبات الأشخاص الذين يزورون مواقعهم على الشبكة العنكبوتية العالمية (الوِب). ومن طرائق تعرف زوار شبكة الإنترنت والتواصل معهم تسجيل الاشتراك أو تقديم تفاصيل معيّنة لمواءمة متصفح الوِب الخاص بهم عند زيارة الموقع في مرات مقبلة، ومتابعة النشرات الإخبارية، وكذلك ملء استمارة application form عند طلب معلومات عن منتجات معيّنة.

يلزم التقاط كل هذه البيانات بطريقة أو بأخرى، وتخزينها، ومعالجتها، ونقلها؛ من أجل استخدامها من فور تلقيها أو في وقت لاحق. تأخذ تطبيقات الوِب Web applications أشكال استمارات معلومات واستعلام وتسجيل دخول login forms إلى جانب عربات التسوق، ونظم إدارة المحتوى، وهي العناصر الخاصة بالموقع website widgets التي تسمح بحدوث ذلك. ومن ثمّ تعد هذه العناصر أساسيات لرفع مستوى الشركات ووجودها على الإنترنت وإقامة علاقات طويلة الأمد ومفيدة مع العملاء والزبائن.

تُعدّ تطبيقات الوِب ظاهرة واسعة الانتشار، ونظراً لطبيعتها التقنية العالية والمعقدة؛ فقد يصعب على الكثيرين إدراك فحواها، وكثيراً ما يساء فهمها؛ لأنها ليست مجرد عروض نصية ورسومات ثابتة، وإنما هي حجر أساس في الحياة الإلكترونية اليومية.

تعريف التطبيقات الشابكية

إن الإنترنت بيئة برمجة تقنية عالية تسمح بتخصيص مجموعة كبيرة ومتنوعة من التطبيقات mass customization لملايين المستخدمين حول العالم عن طريق النشر الفوري. وأهم عنصرين من عناصر الإنترنت الحديثة هما متصفحات الوِب المرنة flexible web browsers وتطبيقات الوِب web applications. وكلاهما متاح للجميع من دون استثناء ومن دون أي تكلفة.

ومتصفحات الوِب Web browsers هي تطبيقات برمجية software applications تسمح للمستخدمين باسترجاع البيانات والتفاعل مع المحتوى الموجود على صفحات الوِب داخل الموقع.

تُعدّ مواقع اليوم بعيدة كل البعد عن عروض النص والرسومات الثابتة التي كانت تستخدم في التسعينيات من القرن العشرين. تسمح صفحات الوِب الحديثة بتغيير المحتوى الديناميكي الشخصي من قبل المستخدمين وفقاً للتفضيلات الفردية والإعدادات. وعلاوة على ذلك يمكن تشغيل صفحات الوِب النصية من جانب العميل (الزبون) client-side scripts و"تغيير" متصفح الإنترنت إلى واجهة تخاطب interface، مثل تطبيقات البريد الإلكتروني web mail وبرامج رسم الخرائط التفاعلية interactive mapping software (من قبيل Yahoo Mail وGoogle Maps).

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

إن تطبيقات الوِب هي برامج حاسوبية تسمح لزوار الموقع بتقديم البيانات واسترجاعها من قاعدة البيانات وإليها عبر شبكة الإنترنت باستخدام متصفح الوِب المفضل. ثم تقديم البيانات إلى المستخدمين عن طريق متصفحهم كمعلومات منشأة ديناميكياً (في شكل معيّن، كصيغة لغة ترميز النص الممنهل Hyper Text Markup Language (HTML) مثلاً، باستخدام أوراق متسلسلة Cascade Style Sheets (CSS) قبل تطبيق الوِب من خلال المخدِّم web server.

من ناحية فنية أكثر تعمقاً تستعلم تطبيقات الوِب مخدِّم المحتوى content server (هو أساساً قاعدة بيانات لخزن المحتوى content repository database)، وتولد الوثائق ديناميكياً على الإنترنت لخدمة العميل. تُنشأ الوثائق موحدة الشكل للسماح بدعمها من قبل جميع المتصفحات (مثل HTML أو XHTML). يُعدّ برنامج جافا سكريبت JavaScript شكلاً من أشكال نص العميل client side script الذي يتيح العناصر الديناميكية على كل صفحة (كأن تتغير الصورة بمجرد أن يحرك المستخدم مؤشر الفأرة فوقها). ويُعدّ متصفح الوِب المفتاح الذي يفسر جميع النصوص، وينفذها في أثناء عرض الصفحات المطلوبة والمحتوى.

والميزة المهمة الأخرى لبناء تطبيقات الوِب وصيانتها أنها تؤدي وظيفتها بصرف النظر عن نظام التشغيل ومتصفحات تشغيل العميل. تُنشر تطبيقات الوِب بسرعة في أي مكان من غير تكلفة من طرف المستخدم ومن دون أي شروط للتثبيت (تقريباً).

كلما ازداد استخدام الشركات المستفيدة من ممارسة الأعمال التجارية لتطبيقات الوِب، ازداد نمو تقانة استخدام تطبيقات الوِب وغيرها ذات الصلة. وعلاوة على ذلك، فمنذ الاعتماد المتزايد على الشبكات الداخلية intranets والخارجية extranets ترسخت تطبيقات الوِب ترسّخاً كبيراً في البنى التحتية للاتصالات، واتسع نطاقها، وازدادت درجة تعقيدها التقاني. ويمكن شراء تطبيقات الوِب الجاهزة off-the-shelf أو إنشاؤها في داخل المؤسسة in-house.

مبادئ تصميم تطبيقات الوِب

لدى مناقشة المبادئ العامة لتصميم تطبيقات الوِب وتطويرها تطويراً صحيحاً لا بد من معرفة مجموعة أساسية من البروتوكولات واللغات المرتبطة بها. ويشمل ذلك -بالطبع- بروتوكول نقل النص الممنهل Hyper Text Transfer Protocol (HTTP) ولغة ترميز النص الممنهل (HTML) التي تُعدّ أساسية لإنشاء صفحات الوِب ونقلها. يشمل تصميم تطبيقات الوِب وتطويرها أيضاً بروتوكولات الإنترنت القديمة مثل Telnet وFTP، والبروتوكولات المستخدمة لنقل الرسائل مثل: بروتوكول نقل الرسائل البسيط Simple Mail Transport Protocol (SMTP)، وبروتوكولات نفاذ الرسائل على الإنترنتInternet Message Access Protocol (IMAP)؛ إضافة إلى البروتوكولات المتقدمة واللغات مثل Extensible Markup Language (XML).  كذلك يشمل معرفة قواعد البيانات وعرض الوسائط المتعددة؛ لأن العديد من تطبيقات الوِب المتطورة تستخدم هذه التقنيات على نطاق واسع.

يُعدّ تطبيق الوِب تطبيقاً من نوع مخدم-عميل client-server application الذي يستخدم مستعرض وِب Web browser كعميل له. ترسل المتصفحات الطلبات إلى المخدمات، وتولد المخدمات إجابات، وتعيدها إلى المتصفحات. وهي تختلف عن تطبيقات خدمة العملاء القديمة؛ لأنها تستخدم برنامج عميل مشترك، ألا وهو مستعرض وِب، كما هو موضح في الشكل (1).

الشكل (1) تطبيقات الوِب التي تستخدم تطبيق عميل واحد (متصفح) ومكدس بروتوكول واحد.

ثمة مزايا مهمة لاستخدام متصفحات الويب كعملاء، منها:

1- توفّر متصفحات الوِب في كل مكان. فهي موجودة على كل سطح مكتب تقريباً، ويمكن استخدامها للتفاعل مع العديد من تطبيقات الوِب المختلفة. وليست ثمة حاجة إلى تثبيت العديد من برامج العميل المتخصصة على سطح المكتب؛ مما يحدّ كثيراً من أعباء الصيانة ومشاكلها.

2- توفر المتصفحات آليات التحميل بأمان وتنفيذ طلبات أكثر تعقيداً للعملاء (مثل: applets، مكونات ActiveX، Flash movie players) عندما يكون مطلوباً وظائف إضافية لا يمكن أن توفرها المتصفحات وحدها.

تطبيقات الوِب المتعددة الطبقات Multi-tier Web applications

مع أن تطبيقات الوِب تنسجم مع نموذج (مثَّال) مخدم -عميل client-server paradigm؛ فإنها تذهب إلى أبعد من ذلك. فالتفاعل بين المتصفحات والمخدمات servers ليس كل تطبيق وِب.

تعمل مخدمات الوِب نفسها كالعملاء عندما تتفاعل مع مخدمات خلفية أخرى؛ بما في ذلك مخدمات قواعد البيانات والنظم القديمة. ومن ثمّ يمكن توصيف بنية معظم تطبيقات الوِب توصيفاً أفضل كما لو أنها بنية متعددة الطبقات multi-tier architecture. في حين تتألف أبسط تطبيقات خدمة العملاء من طبقتين لديهما أدوار متميزة (طبقتي العميل والمخدم)، فإن التطبيقات متعددة الطبقات لها (كما يوحي الاسم) طبقات متعددة، كل منها يمكن أن تكون بمنزلة كل من العميل والمخدم عند الاتصال مع جيرانها.

في التطبيقات متعددة الطبقات تمثل كل طبقة طبقة تطبيق (المتصفح، خادم الوِب، خادم التطبيق، نظام قاعدة البيانات/نظام قديم، وما إلى ذلك). فالطبقة السفلى هي عميل وِب Web client (عادة مستعرض أو وكيل ذكي) الذي يبدأ المعالجة عن طريق تقديم طلب إلى ملقم وِب. كل مجموعة من الطبقات المجاورة تمثل المزاوجة بين العميل والمخدم، وكل طبقة متوسطة قد تعمل عميلاً أو ملقماً، تتفاعل معه اعتماداً على أي من جيرانها. على سبيل المثال، تماماً كما يربط المستعرض إلى ملقم وِب لتقديم طلب ما، فإن جزءاً من التطبيق المنفذ على ملقم وِب قد يتصل مع الطبقة التي تربط العميل مع قاعدة البيانات business logic -أو نموذج البيانات- التي تعمل كعميل لخدمات تلك الطبقة.

بنية التطبيق application architecture

تتكون حركة المعالجة المرتبطة بتطبيق وِب والوظيفة المطلوبة لتنفيذ هذه المعالجة مما يلي (الشكل 2):

الشكل (2) حركة المعالجة في تطبيق نموذجي.
  • تفسير طلبات المستخدمين وتوجيهها: عند هذه الخطوة يتحمل ملقم الوِب مسؤولية تحديد الإجراءات التي يتعين اتخاذها لمعالجة الطلب. يمكن أن يكون هذا العمل الاسترجاع البسيط لملف HTML ثابت، وتنفيذ برنامج نصي CGI، أو التوجيه إلى وحدة معالجة متخصصة (مثل servlet engine)، والتي بدورها قد تؤدي وظائف معقدة مرتبطة مع تطبيق وِب كامل .

  • التحكم في الوصـول إلى التطبيق controlling access to the application: تكون الحاجة إلى آليات التحكم في الوصول عند عدم التعامل مع موقع وِب غير مقيد. وهذا ينطوي على أكثر من مجرد دعم للمصادقة البسيطة. وقد تكون بعض وظائف التطبيقات متاحة للجميع، وبعضها الآخر قد يكون متاحاً فقط للعملاء المسجلين. ما يزال بعضها (مثل وظائف صيانة الموقع الداخلية) مقصوراً على مديري التطبيق.

  • إتاحة الوصول إلى البيانات Enabling data access: عند تصميم التطبيق يجب مراعاة أن يكون بإمكانه الوصول إلى البيانات الفعلية، سواء من أجل عرض المعلومات أم قراءتها.

  • الوصول وتعديل المحتوى accessing and modifying content: من أجل الوصول إلى المحتوى وعرضه قد يكون التطبيق مسؤولاً عن تنفيذ تحديثات المحتوى. قد تكون هذه التحديثات نتيجة إجراء من المستخدم، أو أنها قد تحدث تلقائياً بناءً على منطق التطبيق (مثلاً: تحديث العداد أو تتبع زيارات الصفحة من قبل المستخدم). ويمكن تنظيم مجموعات منفصلة من التعديلات المترابطة في المعاملات، حيث يجري التعامل مع جميع التعديلات كوحدة واحدة، فإما أن يكون كله "مقبولاً" committed؛ وإمّا "مهملاً" rolled back.

  • تخصيص الردود customizing responses: قد يكون من الضروري تسهيل العرض المخصص للمستخدم الأصلي لتحويل الاستجابات المولدة. ويمكن أن تدعم هذه التحولات تخصيص كل مستخدم على أساس (طابع شخصي) أو على أساس موقع المرجع (العلامة التجارية المشتركة والقرض). وقد تخصص الردود أيضاً لتفسير القدرات والقيود المفروضة على المتصفحات والأجهزة المختلفة.

  • نقل الردود المنسقة transmitting formatted responses: في تطبيقات الوِب القديمة كانت التحويلات المناسبة تجرى على المحتوى (لتناسب صيغة العرض لدى العميل)، ويعاد إرسال ردّ HTML إلى العميل الأصلي يحتوي على عرض منسق مرّة أخرى. وقد تستخدم تطبيقات أخرى أكثر تعقيداً (مثل التي تستعمل XML) من خلال التحول النهائي لجهاز معيّن، أو متصفح معيّن؛ باستخدام ورقة أنماط XSL قبل إرسال الرد. ويمكن أن تكون النتيجة صفحة HTML، أو وثيقة WML موجهة إلى الأجهزة اللاسلكية، أو وثيقة XML Voice التي يستخدمها تطبيق الاتصالات الهاتفية، أو غيرها من الأشكال.

  • تسجيل نشاط التطبيق وتدوينه: من المهم -كما يُستخدم التطبيق- الحفاظ على سجلات استخدامه. فمثلاً، يجب تسجيل تنفيذ المهام الإدارية الداخلية في مراجعة الحسابات التي تثبت التغييرات بالسياق الذي قدم به.

  • طريقة عمل تطبيقات الوِب

    يفصّل الشكل (3) نموذج الطبقات الثلاث لتطبيق وِب. الطبقة الأولى هي عادة متصفح وِب أو واجهة المستخدم. الطبقة الثانية هي أداة تقنية لتوليد المحتوى الديناميكي، مثل برنامج التطبيق Java servlets (JSP) أو صفحات المخدم النشطة Active Server Pages (ASP)، والطبقة الثالثة هي قاعدة البيانات التي تحتوي على المحتوى (الأخبار مثلاً) وبيانات العملاء (أسماء المستخدمين وكلمات المرور وأرقام الضمان الاجتماعية وتفاصيل بطاقة الائتمان وغيرها).

    الشكل (3) نموذج الطبقات الثلاث لتطبيق وِب.

    يوضح الشكل (4) كيفية البدء بتنفيذ الطلب الأولي للمستخدم من خلال متصفح الإنترنت وتوجيهه إلى مخدِّم التطبيق على شبكة الإنترنت web application server. يتصل تطبيق الوِب مع مخدِّم قواعد البيانات لأداء المهمة المطلوبة لتعديل المعلومات واسترجاعها داخل قاعدة البيانات. ثم يعرض تطبيق الوِب المعلومات للمستخدم من خلال المتصفح.

    الشكل (4) كيفية تنفيذ طلب المستخدم.

    كتابة تطبيق الوِب

    غالباً ما تبسط كتابة تطبيقات الوِب بالبرمجيات مفتوحة المصدر مثل Django, Drupal, Ruby on Rails, Symfony، وتدعى أطر تطبيقات الوِب web application frameworks. تسهل هذه الأطر التطوير السريع للتطبيقات عن طريق السماح لفريق التطوير بالتركيز على أجزاء من تطبيقهم، والتي تكون كفيلة بتحقيق أهدافهم من دون الحاجة إلى حل قضايا التطوير المشتركة مثل إدارة المستخدم. ومع أن العديد من هذه الأطر مفتوح المصدر، فهذا ليس شرطاً بأي حال من الأحوال.

    يمكن غالباً باستخدام أطر تطبيقات الوِب تقليل عدد الأخطاء في البرنامج، سواء بجعل الرماز (الكود) البرمجي أكثر بساطة والسماح لفريق واحد بالتركيز على الإطار؛ أم بالتركيز على حالة الاستخدام المحددة. في التطبيقات التي تتعرض لمحاولات القرصنة المستمرة على شبكة الإنترنت؛ يمكن أن يكون سبب المشاكل الأمنية أخطاء في البرنامج. يمكن للأطر أيضاً تشجيع استخدام التقنيات المجرّبة best practices مثل GET بعد POST. إضافة إلى ذلك؛ هناك إمكان لتطوير التطبيقات على أنظمة تشغيل الإنترنت مع عدم توفّر العديد من المنصات التي تناسب هذا النموذج حالياً.

    آفاق مستقبلية

    تقوم معظم تطبيقات الوِب الحالية على بنية مخدم- عميل، حيث يدخل العميل المعلومات، في حين يخزن المخدم المعلومات. مثال على ذلك البريد الإلكتروني عبر الإنترنت، إذ تقدم الشركات - مثل ياهو و MSN- على الإنترنت البريد الإلكتروني للعملاء.

    الاتجاه الجديد لتطبيقات الوِب هو تجاوز ذلك الخط في تلك التطبيقات إلى تطبيقات لا تحتاج عادة إلى المخدِّم لتخزين المعلومات. إذ يخزن معالج النصوص -على سبيل المثال- الوثائق على جهاز الحاسوب الخاص بالمستخدم، ولا يحتاج إلى المخدِّم. يمكن لتطبيقات الوِب أن توفر الوظائف نفسها واكتساب ميزة العمل عبر منصات متعددة. فعلى سبيل المثال، يمكن لتطبيقات الوِب العمل بمنزلة معالج النصوص؛ وتخزين المعلومات والسماح بـ "تحميل" الوثيقة على قرص صلب.

    انتشرت تطبيقات الوِب في السنوات القليلة الماضية على نطاق واسع، ومن أهم الأمثلة عليها بريد غوغل Gmail أو ياهو Yahoo. وأكثر هذا التطور بسبب AJAX، وهو نموذج برمجة لإنشاء أكثر تطبيقات الوِب استجابة. وأما تطبيقات غوغل، ومايكروسوفت أوفيس لايف Microsoft Office Live، وWebEx WebOffice فأمثلة للجيل الجديد من تطبيقات الوِب.

    مراجع للاستزادة:

    - A. Hoffman, Web Application Security: Exploitation and Countermeasures for Modern Web Applications, O&http://arab-ency.com.sy/tech/details/1076/8#39;Reilly Media 2020.

    - B. Messenlehner, Building Web Apps with WordPress: WordPress as an Application Framework, O&http://arab-ency.com.sy/tech/details/1076/8#39;Reilly Media 2019.

    - A. K.Wing, The Appification Of Everything Will Transform The World&http://arab-ency.com.sy/tech/details/1076/8#39;s 360 Million Web Sites, Forbes.com. Forbes, 2014.


التصنيف : كهرباء وحاسوب
النوع : كهرباء وحاسوب
المجلد: المجلد الثامن
رقم الصفحة ضمن المجلد : 0
مشاركة :

اترك تعليقك



آخر أخبار الهيئة :

البحوث الأكثر قراءة

هل تعلم ؟؟

عدد الزوار حاليا : 1101
الكل : 45272415
اليوم : 54290