المساعد الشخصي الرقمي

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



walid
11-01-2013, بتوقيت غرينيتش 04:52 PM
السلام عليكم و رحمة الله و بركاته



السلسلة : تطوير تطبيقات انترنت

هدية من اخوكم احمد المنفلوطى الى ديزاد باتنة


المستوى :متوسط-متقدم



الدرس مفصل : الأول - مقدمة



المتطلبات : معرفة سابقة باستخدام الجافا و اساسياتها بالاضافة للـ HTML



=========================



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



مقدمة





بسم الله






طبعا كلنا يعرف أنه في بدايات الانترنت كانت المواقع عبارة عن مجموعة من الصفحات الثابتة مترابطة مع بعضها البعض . . لطلب أي صفحة موجودة داخل أي مزود ويب يقوم المستخدم بكتابة اسمها داخل الخانة المخصصة أو بالضغط على رابط لهذه الصفحة . في كلا الحالتين يقوم المتصفح (Client) بارسال (طلب Request) إلى مزود ويب (Server) يطلب فيه الصفحة ، يستلم مزود الويب هذا الطلب و يبحث عن الملف المطلوب ضمن نظام الملفات .. ثم يرسل (الرد Response) إلى المتصفح وهو الصفحة المطلوبة غالبا و يقوم المتصفح بعرض الصفحة أمام المستخدم .




هذا السيناريو يعتمد معمارية RequestResponse ClientServer ووسيلة الاتصال بين الزبون و المزود هي HTTP


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


ماهو الCGI ؟؟

--------------------------


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



1. عندما يضغط مثلا المستخدم موافق داخل استمارة HTML يقوم المتصفح بطلب تنفيذ البرنامج المرتبط بالاستمارة و يرفق مع الطلب جميع البيانات التي ادخلها المستخدم


2. يقوم المزود بتنفيذ البرنامج مع تمرير البيانات القادمة من المتصفح


3. البرنامج يلت و يعجن في البيانات ضربا و طرحا و حفظا و مسحا


4. يرجع البرنامج النتيجة على شكل HTML للمزود


5. الذي يرسلها بدوره للمتصفح 6- و يظهرها هذا بشكل جذاب للمستخدم


http://img407.imageshack.us/img407/9616/cgijpgcopyda9.gif





JAVA Servlet

-----------------------


الجافا سيرفلت رد شركة صن على تقنية CGI وهي شبيهة إلى حد ما في طريقة عملها بال CGI و إن كانت تفوقها في الأداء و القوة . السيرفلت عبارة عن كائن جافا يعيش داخل المزود - حلوة هاذي- و يقوم باستقبال الطلبات Requests وأداء عمليات عليها ثم ارجاع رد على شكل HTML .. مالجديد؟؟؟ الجديد هو تفوق هذه التقنية على ....

لماذا؟؟


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



كما أن عدد من السيرفلتس على مزود ممكن يشتركن في بعض المصادر مثل مجموع الاتصال بقواعد البيانات Connection Pooling مما يحسن الاداء بشكل كبير جدا ..

و تستطيع السيرفلتس أيضا استخدام جميع امكانات و قدرات لغة الجافا ...



بعد هذه المقدمة الطويلة سوف نأخذ مثال على أول سيرفلت لكن في الحلقة القادمة بإذن الله ، حتى ذلك الحين يجب أن تقوم بتنزيل و تركيب install المزود Jakrta Tomcat من الموقع http://jakrta.apache.org


فى النهاية لاتنسونا من الدعاء
اخوكم
احمد المنفلوطى




https://fbcdn-sphotos-d-a.akamaihd.net/hphotos-ak-ash4/482113_236967293114455_1193518507_n.png (http://www.dzbatna.com)
©المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى (http://www.dzbatna.com)©

استعمل مربع البحث في الاسفل لمزيد من المواضيع


سريع للبحث عن مواضيع في المنتدى