آنچه تاكنون گفته شده است :
|
تاثير متقابل وب و نرم افزار بر يكديگر | |
| بخش دوم | Ajax و فناوری های مرتبط با آن |
| بخش سوم | بررسی نمونه برنامه های مبتنی بر Ajax |
| بخش چهارم | برنامه نويسی غيرهمزمان در برنامه های وب |
| بخش پنجم | بررسی معماری ASP. NET Ajax |
| بخش ششم | بررسی مدل پياده سازی با محوريت سرويس گيرنده و مدل پياده سازی با محوريت سرويس دهنده . |
| بخش هفتم | ایجاد صفحات وب مبتنی بر Ajax با تاکید بر روی پتانسيل های سمت سرویس دهنده فريمورک ASP.NET Ajax |
در بخش هفتم با نحوه ایجاد یک صفحه مبتنی بر Ajax با تمرکز بر روی پتانسیل های سمت سرویس دهنده فریمورک ASP. NET Ajax آشنا شدیم . بدین منظور یک نمونه مثال ساده را بررسی کردیم که در آن از کنترل های UpdatePanel و UpdateProgress به منظور نشان دادن قابلیت Ajax در صفحات ASP. NET استفاده شده بود .
در اين بخش با نحوه ایجاد یک صفحه مبتنی بر Ajax با تمرکز بر روی پتانسیل های سمت سرویس گیرنده فریمورک ASP. NET Ajax ، آشنا خواهیم شد .
|
تاثير متقابل وب و نرم افزار بر يكديگر | |
| بخش دوم | Ajax و فناوری های مرتبط با آن |
| بخش سوم | بررسی نمونه برنامه های مبتنی بر Ajax |
| بخش چهارم | برنامه نويسی غيرهمزمان در برنامه های وب |
| بخش پنجم | بررسی معماری ASP. NET Ajax |
| بخش ششم | بررسی مدل پياده سازی با محوريت سرويس گيرنده و مدل پياده سازی با محوريت سرويس دهنده . |
تاکنون و در طی شش مقاله با مواردی نظیر شی XMLHttpRequest ، برخی الگوهای Ajax استفاده شده در زمان پیاده سازی برنامه های وب قدرتمند با توانائی ایجاد تعامل بیشتر ، معماری ASP.NET AJAX و سناریوهای مختلف پیاده سازی آشنا شدیم .
در این بخش با استناد به موارد فوق با نحوه استفاده از این فریمورک آشنا خواهیم شد و صفحات وب مبتنی بر Ajax را با تبعیت از مدل پیاده سازی با محوریت سرویس دهنده ایجاد خواهیم کرد .
آنچه تاكنون گفته شده است :
|
تاثير متقابل وب و نرم افزار بر يكديگر | |
| بخش دوم | Ajax و فناوری های مرتبط با آن |
| بخش سوم | بررسی نمونه برنامه های مبتنی بر Ajax |
| بخش چهارم | برنامه نويسی غيرهمزمان در برنامه های وب |
| بخش پنجم | بررسی معماری ASP. NET Ajax |
در بخش پنجم ضمن اشاره به ضرورت استفاده از يك فريمورك در برنامه های وب مبتنی بر Ajax ، با عناصر موجود در سمت سرويس دهنده و سرويس گيرنده فريمورك ASP.NET AJAX آشنا شديم . در این بخش با نحوه تعامل اين عناصر در جهت تامين خواسته پياده كنندگان برنامه های وب آشنا خواهيم شد . بدين منظور به بررسی دو سناريوی مختلف خواهيم پرداخت : مدل پياده سازی با محوريت سرويس گيرنده و مدل پياده سازی با محوريت سرويس دهنده .
طراحی انعطاف پذیر معماری ASP. NET Ajax ، دو رویکرد و یا مدل پیاده سازی مختلف را ارائه می نماید . به اولین سناریو که در سمت سرویس گیرنده پیاده سازی می گردد ، "مدل پیاده سازی با محوریت سرویس گیرنده" و به دومين رويكرد که مبتنی بر سرويس دهنده است ، "مدل پياده سازی با محوريت سرويس دهنده " گفته می شود .
قبل از هر چيز لازم است با نحوه عملکرد هر یک از مدل های فوق بیشتر آشنا شویم تا بتوانیم از هر یک در زمان مناسب استفاده کنیم .
|
بخش اول |
تاثير متقابل وب و نرم افزار بر يكديگر |
| بخش دوم | Ajax و فناوری های مرتبط با آن |
| بخش سوم | بررسی نمونه برنامه های مبتنی بر Ajax |
| بخش چهارم | برنامه نويسی غيرهمزمان در برنامه های وب |
پس از آشنائی با اصول اوليه Ajax در طی چهار مقاله ، پياده كنندگانی كه علاقه مند به استفاده از اين فناوری در برنامه های وب می باشند اين پرسش را مطرح می نمايند كه آيا برای استفاده از پتانسيل های Ajax می بايست از يك فريمورك و يا toolkit خاص استفاده كرد ؟ در ادامه ضمن پاسخ به اين سوال ، به بررسی معماری ASP.NET Ajax خواهيم پرداخت .
|
تاثير متقابل وب و نرم افزار بر يكديگر | |
| بخش دوم | Ajax و فناوری های مرتبط با آن |
| بخش سوم | بررسی نمونه برنامه های مبتنی بر Ajax |
در اين بخش قرار بود كه در رابطه با فريمورك های مختلف ارائه شده جهت بكارگيری فناوری Ajax آشنا شويم . ولی به دليل درخواست تعداد زيادی از خوانندگان مبنی بر آشنائی بيشتر با معماری Ajax ، برنامه نويسی غيرهمزمان در برنامه های وب و شی XMLHttpRequest ، اين بخش را به بررسی موارد فوق اختصاص داديم تا علاقه مندان بتوانند قبل از پرداختن به اصل موضوع با برخی مفاهيم كليدی و مهم بيشتر آشنا شوند .
مقدمه
Ajax يك رويكرد و يا الگوی جديد برای پياده سازی برنامه های وب است كه در آن از اسكريپت های سمت سرويس گيرنده برای مبادله داده با سرويس دهنده وب استفاده می گردد. رويكرد فوق باعث می شود كه صفحات وب بدون نياز به refresh كامل بتوانند بطور پويا بهنگام گردند ( رويائی برای پياده كنندگان برنامه های وب ) . مهمترين دستاورد رويكرد فوق ، ارتباط بدون وقفه و پيوسته كاربران با برنامه های وب است .
برخی از كارشناسان بر اين اعتقاد هستند كه رويكرد فوق بيش از آن كه يك الگو باشد يك فناوری است . در واقع ، Ajax تركيبی از مجموعه فناوری های مرتبط به هم است كه از آنها با يك نگرش جديد در جهت توليد نسل جديدی از برنامه های وب استفاده می گردد .
نام بردن از فناورهائی كه در Ajax از آنها استفاده می گردد كار مشكلی نيست ولی مهم اين است كه بدانيم اين فناورها در كنار يكديگر به چه صورت كار می كنند و هر يك از آنها در Ajax دارای چه مختصاتی است .شكل 1 ، نحوه تعامل و ارتباط اين فناوری ها را از منظر مرورگر نشان می دهد .

شكل 1 : عناصر Ajax
جاوا اسكريپت در Ajax دارای يك نقش محوری و تعيين كننده است و می توان آن را به منزله يك نيروی چسبنده در نظر گرفت كه ساير فناوری ها را با هم مرتبط می نمايد . زمانی كه يك برنامه به داده نياز داشته باشد ، از شی XMLHttpRequest به منظور ايجاد درخواست به سرويس دهنده استفاده می گردد . پس از برگرداندن داده توسط سرويس دهنده ، از فناورهای DOM ( برگرفته شده از Document Object Model ) و CSS ( برگرفته شده از cascading style sheets ) برای بهنگام سازی رابط كاربر مرورگر به صورت پويا استفاده می گردد .
در بخش اول ضمن بررسی تاثير متقابل وب بر نرم افزار ، مروری داشتيم به وب ايستا و وب پويا و اين كه برای انجام پردازش های مورد نياز در برنامه های وب می توان از امكانات و فناوری های متعددی در سمت سرويس گيرنده و سرويس دهنده استفاده كرد . هدف از بيان مطالب فوق ، پاسخ به اين سوال بود كه چرا به وجود يك فناوری ديگر نظير Ajax نياز است ( گرچه Ajax يك فناوری نيست و مجموعه ای از فناوری ها را شامل می شود ) .
در بخش دوم با Ajax و فناوری های مرتبط با آشنا شديم . در اين بخش به بررسی نمونه برنامه هائی خواهيم پرداخت كه در آنها از فناوری Ajax استفاده می گردد .
Google Suggest

شكل 1 : عملكرد برنامه Google Suggest
در بخش اول ضمن بررسی تاثير متقابل وب بر نرم افزار ، مروری داشتيم به وب ايستا و وب پويا و اين كه برای انجام پردازش های مورد نياز در برنامه های وب می توان از امكانات و فناوری های متعددی در سمت سرويس گيرنده و سرويس دهنده استفاده كرد . هدف از بيان مطالب فوق ، پاسخ به اين سوال بود كه چرا به وجود يك فناوری ديگر نظير Ajax نياز است ( گرچه Ajax يك فناوری نيست و مجموعه ای از فناوری ها را شامل می شود ) .
با اين كه ايده فناورهائی نظير Ajax در گذشته نيز وجود داشته است و پياده كنندگان برنامه های وب در زمان خود با بكارگيری برخی فناوری ها و ترفندها توانسته بودند مشكل خود را تا حدود زيادی برطرف نمايند ولی گذشت زمان و گسترش باور نكردنی اينترنت ، باعث شد تا استفاده از بستر فوق برای ارائه سرويس های online در دستور كار اكثر سازمان ها و شركت ها در اقصی نقاط جهان قرار بگيريد . همين موضوع باعث شد كه دگر باره جامعه بزرگ طراحان و پياده كنندگان برنامه های وب اين نياز را احساس كنند كه به يك راه حل جامع و سيستماتيك برای برخورد با مسائل خود ( خصوصا" تعامل با كاربر ) در دنيای نوين برنامه نويسی وب نياز دارند . دنيائی كه در آن دقت و سرعت در ارائه خدمات online با بكارگيری كمترين منابع و توليد بيشترين بهره وری ، رمز ماندگاری يك سازمان در مدار رقابت و پيشرفت است . همين امر باعث شد كه شركت های بزرگ توليد كننده نرم افزار و خدمات online نيز دست به كار شوند و چيزی را خلق كنند كه ما امروزه از آن با نام Ajax ياد می كنيم .
در اين بخش به بررسی موارد زير خواهيم پرداخت :
اينترنت و مهمترين سرويس آن وب علاوه بر اين كه حيات بشری را در هزاره سوم دستخوش تحولات فراوانی كرده است ، توانسته است منشاء تحولات گسترده ای در ساير حوزه های فناوری گردد . در واقع ، تحول در زندگی بشريت مديون پيشرفت در ساير حوزه های فناوری است . يكی از اين حوزه ها ، صنعت نرم افزار است .
برای آشنائی با اين تحول بد نيست مروری سريع داشته باشيم به گذشته وب و نرم افزار تا از اين رهگذر بتوانيم ضرورت ايجاد فناورهای جديدی نظير Ajax ( برگرفته شده از Asynchronous JavaScript And XML ) را بهتر درك كنيم .
مروری بر وب ، نرم افزار و تاثير متقابل آنها بر يكديگر
موجودات جديدی كه ما امروزه آنها را با نام برنامه های وب می شناسيم ، ماحصل تاثير وب بر نرم افزار و رشد رو به فزاينده استفاده از اينترنت در متن زندگی ، ماحصل تاثير نرم افزار بر وب است . اجازه دهيد ببينيم موضوع از كجا و با چه مختصاتی شروع گرديد و هم اينك در چه وضعيتی به سر می بريم .
وب ايستا : زمانی كه تيم . برنرز لی در سال 1990 اولين پيشنهاد خود در رابطه با وب را ارائه كرد ، ايده كار بسيار ساده بود : ايجاد يك شبكه از اطلاعات متصل شده به يكديگر با استفاده از ابرمتن ها و URIs ( برگرفته شده از Uniform Resource Identifiers ) . وب در آغاز به عنوان يك رسانه اشتراك اطلاعات مطرح گرديد تا از طريق آن دانشمندان و محققين بتوانند دانش و اطلاعات را بين خود به اشتراك گذاشته و نتايج تحقيقات را با يكديگر مبادله نمايند . ارائه دهند گان با استفاده از يك استاندارد مستند سازی ، اطلاعات خود را تهيه و آنها را به مخاطبان خود ارائه می كردند . در آغاز برای استاندارد مستند سازی از ابزاری كه در آن زمان خود هنوز استاندارد نشده بود استفاده می گرديد . HTML ، ابزاری است كه با بكارگيری مجموعه ای از تگ ها ، استاندارد لازم جهت نمايش يك مستند در نرم افزارهای نمايش دهنده ( مرورگرها ) را فراهم می نمايد . نرم افزارهای نمايش دهنده ، مجهز به مفسرهائی جهت تفسير تگ ها و نمايش اطلاعات موجود در مستند بر اساس تعاريف از قبل تعريف شده شدند . در آن زمان كه به سال های ابتدائی دهه 90 ميلادی برمی گردد ، چيزی با نام برنامه های وب وجود نداشت و وب به عنوان رسانه ای جهت اشتراك و مبادله اطلاعات مطرح بود . تمامی تعاملات در عرصه وب محدود به درخواست يك مستند توسط سرويس گيرنده و ارسال آن توسط سرويس دهنده بود .