Ajax : تحولی بزرگ در عرصه وب ( بخش دوم )
اين مطلب از طريق سايت شرکت سخاروش در اختيار شما گذاشته شده است .

 Ajax : تحولی بزرگ در عرصه وب

 Ajax : تحولی بزرگ در عرصه وب ( بخش دوم )

در بخش اول  ضمن بررسی تاثير متقابل وب بر نرم افزار ، مروری داشتيم به وب ايستا و وب پويا و اين كه برای انجام پردازش های مورد نياز در برنامه های وب می توان از امكانات و فناوری های متعددی در سمت سرويس گيرنده و سرويس دهنده استفاده كرد . هدف از بيان مطالب فوق ، پاسخ به اين سوال بود كه چرا به وجود يك فناوری ديگر نظير Ajax نياز است ( گرچه  Ajax يك فناوری نيست و مجموعه ای از فناوری ها را شامل می شود ) .
با اين كه ايده فناورهائی نظير Ajax  در گذشته نيز وجود داشته است و پياده كنندگان برنامه های وب در زمان خود با بكارگيری برخی فناوری ها و ترفندها  توانسته بودند مشكل خود را تا حدود زيادی برطرف نمايند ولی گذشت زمان و  گسترش باور نكردنی اينترنت ، باعث شد تا استفاده از بستر فوق برای ارائه سرويس های online  در دستور كار اكثر سازمان ها و شركت ها در اقصی نقاط جهان قرار بگيريد . همين موضوع باعث شد كه دگر باره جامعه بزرگ طراحان و پياده كنندگان برنامه های وب اين نياز را احساس كنند كه به يك راه حل جامع و سيستماتيك برای برخورد با مسائل خود ( خصوصا" تعامل با كاربر ) در دنيای نوين برنامه نويسی وب نياز دارند . دنيائی كه در آن دقت و سرعت در ارائه خدمات online با بكارگيری كمترين منابع و توليد بيشترين بهره وری ، رمز ماندگاری يك سازمان در مدار رقابت و پيشرفت است . همين امر باعث شد كه شركت های بزرگ توليد كننده نرم افزار و خدمات online نيز دست به كار شوند و چيزی را خلق كنند كه ما امروزه از آن با نام Ajax ياد می كنيم .
در اين بخش به بررسی موارد زير خواهيم پرداخت :

تولد Ajax
در فوريه سال 2005 ، Jesse James Garrett از  Adaptive Path مقاله ای را  با عنوان " يك رويكرد جديد به برنامه های وب "   بر روی وب سايت خود منشتر كرد . وی در اين مقاله ضمن اشاره به اين موضوع كه فاصله بين برنامه های وب و desktop در حال از بين رفتن است ،  به بررسی دو نمونه از برنامه های وب جديد با نام Google Suggest و Google Maps پرداخته بود . Garrett  پس از تشريح نحوه عملكرد برنامه های فوق ، برای اولين مرتبه از  واژه  Ajax  در مقاله خود استفاده كرد .
وی در مقاله خود دنيائی را پيش بينی كرده بود كه در آن برنامه های وب از لحاظ قابليت دستيابی ، پاسخ گوئی و سادگی قابل مقايسه با برنامه های desktop خواهند شد . 

 Ajax چيست ؟

همانگونه كه در نام اين فناوری مشخص است ، Ajax مشتمل بر مجموعه ای از فناوری ها است : Asynchronous JavaScript  XML

اصول Ajax
Ajax هنوز در ابتدای راه است و بسياری از پياده كنندگان با اين پرسش مواجه هستند كه از اين فناوری در چه زمانی و در چه نوع برنامه هائی می توان استفاده كرد . عدم شناخت مناسب از اين فناوری باعث می شود تا از آن در برنامه هائی استفاده گردد كه نه تنها قابليت و يا ويژگی جديدی را به برنامه اضافه نمی نمايد بلكه در بسياری از موارد عدم موفقيت يك برنامه و نارضايتی كاربران آن را به دنبال خواهد داشت . 
زمانی می توان اين ادعا را داشت كه يك برنامه وب مبتنی بر Ajax  در اهداف خود موفق بوده است كه در آن اصول زير رعايت شده باشد .

نقطه مشترك بين تمامی اصول اشاره شده ،  قابليت استفاده از يك برنامه با حداكثر ظرفيت و رضايتمندی كاربران است . هدف اوليه Ajax ، بهبود و ارتقاء بخش رابط كاربر برنامه ها با هدف رضايتمندی بيشتر كاربران است . 

نحوه كار Ajax
در برنامه های وب سنتی مرورگر مسئوليت مقداردهی اوليه درخواست ها  و پردازش آنها  جهت ارسال به سرويس دهنده وب را برعهده دارد . در مقابل ،  در  Ajax  يك لايه ميانی ( كه Garrett آن را Ajax engine ناميد ) مسئوليت مديريت  ارتباط برقرار شده را برعهده می گيرد .  Ajax engine در واقع يك شی جاوا اسكريپت و يا تابع است و  زمانی كه به اطلاعاتی از سرويس دهنده نياز باشد ،‌  از آن استفاده خواهد شد .
در مقابل برنامه های وب سنتی كه يك لينك به يك منبع ديگر ارائه می گردد ( نظير يك صفحه وب ديگر ) ، در برنامه های وب مبتنی بر Ajax ، هر لينك باعث فراخوانی Ajax engine می گردد كه وظيفه آن زمانبندی و انجام درخواست بطور غيرهمزمان است  .
سرويس دهنده ( كه از لحاظ سنتی  اسناد HTML ، تصاوير ، CSS و جاوا اسكريپت را ارائه می نمايد ) ، بگونه ای پيكربندی می گردد تا داده مورد نياز را در اختيار Ajax Engine قرار دهد. اين داده می تواند متن معمولی ، XML  و يا ساير فرمت های مورد نياز داده باشد. بديهی است در چنين مواردی ، Ajax engine می بايست قادر به خواندن و تفسير داده باشد .
پس از دريافت پاسخ لازم از سرويس دهنده ، Ajax engine عمليات خود را كه اغلب بررسی داده و ايجاد تغييرات لازم در بخش رابط كاربر است ،  آغاز می نمايد .  با توجه به اين كه در فرآيند فوق به اطلاعات كمتری نسبت به برنامه های وب سنتی نياز است ، بخش رابط كاربر با سرعت بيشتری بهنگام می گردد و كاربر قادر به انجام كارهای خود با سرعت بيشتری است .
در شكل  1 ، عملكرد برنامه های وب سنتی نسبت به برنامه های وب مبتنی بر Ajax نشان داده شده است . 

عملكرد برنامه های وب سنتی نسبت به برنامه های وب مبتنی بر Ajax

شكل 1 : عملكرد برنامه های وب سنتی نسبت به برنامه های وب مبتنی بر Ajax
منبع : Adaptive Path

خلاصه
فناوری های مرتبط با Ajax در طی ساليان گذشته  مطرح  و  از آنها در مجموعه ای از نرم افزارها استفاده می گرديد .  Jesse James Garrett در مقاله خود تمامی فناوری های اشاره شده را در زير يك سقف و با نام Ajax  كنار هم قرار داد . با بكارگيری فناوری Ajax در نرم افزارهای برجسته ای نظير Google Suggest در سال 2005 ، Ajax در كانون توجه جهانی  قرار گرفت . وب 2 ، برای نيل به اهداف خود به Ajax دل بسته است و Ajax می تواند تصويری جديد از برنامه های وب را در عرصه اينترنت به نمايش بگذارد .
وجود برخی خصايص خاص در بخش رابط كاربر برنامه های desktop و نحوه تعامل كاربران با اينگونه برنامه ها ، حلقه گمشده ای در برنامه های وب است. حلقه ای كه Ajax سعی دارد خلاء آن را پر كند .  قطعا" در آينده ای نه چندان دور شاهد حضور بيشتر برنامه های وبی خواهيم بود كه دارای شكل ظاهری و عملكردی مشابه (خصوصا" تعامل با كاربر )  با برنامه های desktop می باشند .
شايد روزی فرا رسد كه يكی از واژه های برنامه های desktop و برنامه های وب به نفع ديگری كنار برود و يا هر دو بر يك نام مشترك ديگر به توافق برسند .
در بخش سوم به بررسی نمونه برنامه هائی خواهيم پرداخت كه در آنها از فناوری Ajax استفاده می گردد . 


استفاده از اين مطلب  با ذکر منبع و اهداف غيرانتفاعی بلامانع است .
http://www.srco.
ir