تقنية Ajax – Asynchronous Java And XML

AJAX

Asynchronous JavaScript and XML

Jesse James Garrett هو من قام بإخراج هذا المصطلح للعالم، وجد في الانترنت العديد من التقنيات التي نستعملها لكن المشكله ان هذه التقنيات تستعمل كل على حدىً ليس هناك أي رابط بينها وهذه التقنيات هي:

سأتكلم عن كل تقنيه على حدى في مواضيع لاحقة.

ثم قام Jesse James Garrett  بالتفكير والبحث عن طريقة لكيفية استغلال هذه التقنيات استغلالاً سليما يساعد على جعل الانترنت والتصفح أكثر فعاليه وأسرع من قبل.

فقام بجمع التقنيات السابقه وربطها مع بعضها البعض بتقنية JavaScript  ، وبالفعل نجح في ذلك واخرج لنـا تقنية Ajax  وهذا ما سأقوم بذكر تفاصيله وكيفية عمله.

تعريف Ajax :

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

حسنا قبل ان أبدأ بطريقه عمل الاجاكس سأقوم قليلاً بالتفريق بين تطبيقين هامين في شبكة الويب:

ما يعني تطبيقات الويب التقليديه وكيفيه تزامنها بين السيرفر والمتصفح

أي تطبيقات الويب المدعمه بالأجاكس وكيفيه التواصل بين السيرفر والمتصفح بشكل غير تزامني.

هذا يصف لنا التطبيقات التقليديه في شبكات الانترنت دون تقنية الأجاكس،مثلا في البدايه نرى User activity، فمثلا أنـا مستخدم (متصفح) لصفحه الانترنت وقمت على سبيل المثال بتعبئة طلب في الصفحه فيقوم المتصفح إرسال هذا الطلب بجميع بياناته على السيرفر (Data Transmission) لكن خلال هذه الفتره من إرسال البيانات إلى السيرفر والقيام بمعالجة تلك البيانات ثم الانتظار لاستقبال هذه البيانات لا يستطيع المستخدم عمل أي شي سوى الانتظار.

يعني… إرسال معلومات للسيرفر ثم انتظار بعدها إرسال معلومات للسيرفر ثم انتظار وهكذا يجري كل التصفح.

وليست هذه المشكله الوحيده، المشكله الأكبر هو أن بيانات  المستخدم يتم فحصها بعد ان يقوم المستخدم بإرسالها إلى السيرفر، وفقط عندما تستلم هذه البيانات يريك المتصفح ما قمت بكتابته خطأ …

مثال:

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

وهذا كما نرى يحتاج لوقت كبير، إذا كررنا هذا العمل.

على العكس تمام(او على وتيره أخرى) تعمل التطبيقات التي تدعم Ajax

كما نرى في هذه الصوره يوجد لدينا قسمين

القسم الاول: المستخدم User/Clienz

وهو مقسم إلى: المتصفح وهو ما نراه امامنا في متصفح الانترنت، أي صفحة الانترنت المراد زيارتها (Browser User Interface).

محرك “أجاكس”:وهو ما يدور في خلفيه المتصفح دون ان نراه، وهو المسئول عن تفحص معطيات المستخدم في الصفحه، أي عند ادخال المستخدم اسمه او بريده الالكتروني يتم تفحصه في الحال من قبل هذا المحرك.

القسم الثاني: السيرفر Server ومنه يتم تفحص البيانات والعمل على تلبيه رغبة المستخدم.

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

في القسم الاول (Client) يوجد لدينا كما قلت صفحه الانترنت الموجوده امامنا ،وفي الخلفيه يدور محرك الأجاكس مراقباً ما نقوم بإدخاله في الصفحه.

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

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

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

حسنا ولكن ماذا عن الصفحات السته المتبقيه؟

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

أعتقد ان هذا ملخص ما قد يمكن ان يكون عن الأجاكس وكيفية عمله وكيفية استخدامه في تخزين الملفات مؤقتاً للمستخدم.

اترك رد