فرمت فایل: ورد –Word و قابل ویرایش
تعداد صفحات: 112
همزمان با بحث معماری سرویس گیرنده و سرویس دهنده دو واژه fat-client و
thin-client قدم در ادبیات نرم افزار گذاشتند . در معماری فوق ، هدف
استفاده از توان پردازشی سرویس گیرنده و سرویس دهنده برای اجرای یک برنامه
است . استفاده از توان پردازشی هر یک از عناصر اصلی درگیر در معماری فوق و
تعریف سهمی خاص برای هر یک ( سرویس گیرنده و سرویس دهنده ) ، از اهداف
اولیه و در عین حال بسیار مهم معماری فوق است .
پیاده کنندگان برنامه های کامپیوتری خصوصا" برنامه های وب ، همواره با
این سوال مواجه بوده و هستند که در تقسیم سهم پردازش ، چه میزان سهم را می
بایست به سرویس گیرنده داد ؟ چه پردازش هائی را می توان در سمت سرویس
گیرنده انجام داد ؟ در پاسخ به این سوال رویکردهای مختلفی مطرح شده است .
fat client و thin client دو نمونه متداول در این زمینه می باشند .
در fat client ، هدف بکارگیری پتانسیل های مرورگر برای انجام اکثر
پردازش ها در یک برنامه وب است . رویکرد فوق در اواسط دهه 90 میلادی در
کانون توجه طراحان و پیاده کنندگان وب قرار گرفت . علت این امر به تلاش
شرکت های بزرگ نرم افزاری در جهت تولید و ارائه فناورهائی بود که توانمندی
مرورگر در انجام پردازش را افزایش می داد . ظهور فناورهائی نظیر جاوا
اسکریپت ، ایجاد یک اینترفیس برنامه نویسی در مرورگر ،ایجاد یک مدل شی
گراء ( ولو ناقص ) برای یک سند HTML با هدف امکان دستیابی به هر یک از
عناصر موجود در آن ، عرضه DHTML و CSS جملگی نشاندهنده تلاش هائی است که در
آن زمان با هدف افزایش توان پردازش در سمت سرویس گیرنده مطرح شد .
پس از گذشت مدت زمان کوتاهی ( از ابتدای سال 1996 ) ، تمایل به سمت
برنامه های وب با ویژگی thin client مطرح گردید . در مدل فوق ، هدف کاهش
سهم پردازش در سمت سرویس گیرنده و افزایش پردازش های سمت سرویس دهنده بود .
ظهور فناورهای متعددی نظیر ASP و PHP تنها نمونه ای اندک از تلاش های
انجام یافته در آن دوران برای افزایش توان پردازش در سمت سرویس دهنده است .
با این که در سالیان گذشته همچنان از پتانسیل های سمت سرویس گیرنده برای
انجام پردازش در برنامه های وب استفاده می گردید ، ولی رفتار اکثر برنامه
های وب مبتنی بر این واقعیت بود که : " داده را وارد نمائید ، صفحه را برای
سرویس دهنده ارسال نمائید و منتظر دریافت پاسخ باشید " .
هم اینک ما شاهد یک تحول بزرگ دیگر در عرصه برنامه نویسی هستیم . تحولی
که مهمترین دستاورد آن ، تولد نسل جدیدی از برنامه های وب است که در آنها
کاربر با برنامه دارای تعامل بمراتب بیشتری نسبت به نسل گذشته برنامه های
وب است . این تحول عظیم نرم افزاری به کمک مجموعه ای از فن آوری ها که در
مجموع به آنها Ajax گفته می شود ، محقق می گردد .
آیا Ajax قصد دارد با تغییر در الگوی رفتاری برنامه های وب فاصله آنها
را با برنامه های desktop کاهش دهد ؟ آیا زمان آن رسیده است که برای پردازش
های سمت سرویس گیرنده از یک پلت فرم جامع ، همانند پلت فرم های ارائه شده
سمت سرویس دهنده ، استفاده گردد ؟ آیا تاکنون از این فناوری به منظور ایجاد
برنامه های وب استفاده شده است ؟ با استفاده از چه مکانیزم هائی می توان
مبادله اطلاعات بین سرویس گیرنده و سرویس دهنده را کاهش و از پهنای باند
موجود استفاده بهینه کرد ؟
اجازه دهید به این سوال و سوالات بسیار دیگر در رابطه با Ajax ،
فناورهای مرتبط با آن و از همه مهمتر کاربرد آن در بخش های بعدی پاسخ دهیم .
Ajax : تحولی بزرگ در عرصه وب ( بخش دوم )
در بخش اول ضمن بررسی تاثیر متقابل وب بر نرم افزار ، مروری داشتیم به
وب ایستا و وب پویا و این که برای انجام پردازش های مورد نیاز در برنامه
های وب می توان از امکانات و فناوری های متعددی در سمت سرویس گیرنده و
سرویس دهنده استفاده کرد . هدف از بیان مطالب فوق ، پاسخ به این سوال بود
که چرا به وجود یک فناوری دیگر نظیر Ajax نیاز است ( گرچه Ajax یک فناوری
نیست و مجموعه ای از فناوری ها را شامل می شود ) .
با این که ایده فناورهائی نظیر Ajax در گذشته نیز وجود داشته است و
پیاده کنندگان برنامه های وب در زمان خود با بکارگیری برخی فناوری ها و
ترفندها توانسته بودند مشکل خود را تا حدود زیادی برطرف نمایند ولی گذشت
زمان و گسترش باور نکردنی اینترنت ، باعث شد تا استفاده از بستر فوق برای
ارائه سرویس های online در دستور کار اکثر سازمان ها و شرکت ها در اقصی
نقاط جهان قرار بگیرید . همین موضوع باعث شد که دگر باره جامعه بزرگ طراحان
و پیاده کنندگان برنامه های وب این نیاز را احساس کنند که به یک راه حل
جامع و سیستماتیک برای برخورد با مسائل خود ( خصوصا" تعامل با کاربر ) در
دنیای نوین برنامه نویسی وب نیاز دارند . دنیائی که در آن دقت و سرعت در
ارائه خدمات online با بکارگیری کمترین منابع و تولید بیشترین بهره وری ،
رمز ماندگاری یک سازمان در مدار رقابت و پیشرفت است . همین امر باعث شد که
شرکت های بزرگ تولید کننده نرم افزار و خدمات online نیز دست به کار شوند و
چیزی را خلق کنند که ما امروزه از آن با نام Ajax یاد می کنیم .
در این بخش به بررسی موارد زیر خواهیم پرداخت :
تولد Ajax و ریشه یابی علت انتخاب این نام
Ajax و فناوری های مرتبط با آن
اصول حاکم بر فناوری Ajax .
- نحوه کارکرد Ajax در برنامه های وب
تولد Ajax
در فوریه سال 2005 ، Jesse James Garrett از Adaptive Path مقاله ای را
با عنوان " یک رویکرد جدید به برنامه های وب " بر روی وب سایت خود منشتر
کرد . وی در این مقاله ضمن اشاره به این موضوع که فاصله بین برنامه های وب و
desktop در حال از بین رفتن است ، به بررسی دو نمونه از برنامه های وب
جدید با نام Google Suggest و Google Maps پرداخته بود . Garrett پس از
تشریح نحوه عملکرد برنامه های فوق ، برای اولین مرتبه از واژه Ajax در
مقاله خود استفاده کرد .
وی در مقاله خود دنیائی را پیش بینی کرده بود که در آن برنامه های وب از
لحاظ قابلیت دستیابی ، پاسخ گوئی و سادگی قابل مقایسه با برنامه های
desktop خواهند شد .
Ajax چیست ؟
Ajax برگرفته شده از Asynchronous JavaScript XML است و مشتمل بر مجموعه ای از فناوری ها است ، نه صرفا" یک فناوری .
Ajax ، اساس و پایه چیزی است که امروزه از آن با نام وب 2 نام برده می
شود ( نسل جدید وب ) . ایده اصلی ، ایجاد برنامه های وبی است که دارای شکل
ظاهری و توانمندی هائی مشابه با برنامه های desktop باشند .
- Ajax چیزی بیشتر از یک نگرش جدید به برنامه های وب نیست . نگرشی که در
آن صرفا" یک حجم اندک از اطلاعات بین سرویس گیرنده و سرویس دهنده با هدف
افزایش تعامل کاربر با برنامه ، مبادله می گردد .
Ajax ، مشتمل بر مجموعه ای از فن آوری ها است که هر یک دارای جایگاه مختص به خود می باشند :
- فن آوری های استاندارد presentation نظیر XHTML و CSS
- - بهنگام سازی پویای یک صفحه مستقر شده در حافظه با استفاده از DOM ( برگرفته شده از Document Object Model )
- مبادله و پردازش داده با استفاده از XML (فرمت مبادله داده ) و XSLT ( تبدیل XML به XHTML )
- بازیابی داده غیرهمزمان با استفاده از XMLHttpRequest ( کارگزار اولیه مبادله اطلاعات )
و جاوا اسکریپت که همه چیز را به یکدیگر مرتبط می نماید و از آن برای برنامه نویسی Ajax engine استفاده می گردد .
در دنیای واقعی ، از تمامی فناوری های فوق در Ajax استفاده می گردد ولی
به وجود HTML/XHTML ، DOM و Javascript بیش از همه نیاز است چون :
- از XHTML برای نمایش اطلاعات استفاده می گردد .
- از DOM برای تغییر بخش هائی از یک صفحه XHTML بدون نیاز به load مجدد صفحه استفاده می گردد.
- از جاوا اسکریپت ، برای مقداردهی اولیه ارتباط بین سرویس گیرنده و سرویس دهنده و بهنگام سازی صفحات وب به کمک DOM استفاده می گردد .
یک عنصر اساسی و مهم دیگر که در مقاله Garrett به آن اشاره نشده است ،
ضرورت انجام پردازش های سمت سرویس دهنده است . تمامی فناوری های اشاره شده (
در پاراگراف قبل ) ، در ارتباط مستقیم با Ajax engine سمت سرویس گیرنده می
باشند . بدون وجود یک سرویس دهنده مطمئن و پاسخگو به منظور ارسال محتویات
برای Ajax engine ، در عمل Ajax فاقد کارآئی لازم خواهد بود
|