Enter Title

شرکت ما از تکنولوژی .NET جهت انجام پروژه های خود استفاده می کند : Microsoft .NET استراتژی مایکروسافت برای متصل کردن سامانه ها ، اطلاعات و ابزارها از طریق سرویس های وب است که مردم می توانند بطور موثر با یکدیگر همکاری و ارتباط داشته باشند .

 فنآوری Net. در قلب محصولات مایکروسافت یکپارچه شده است تا این قابلیت را فراهم کند برای تولید ، گسترش ، مدیریت سریع ؛ راهکار هایی با بالاترین امنیت که بر پایه سرویسهای وب می باشد .

 تکنولوژی های Net. با استفاده از سرویسها وب ، یک سیستم مجتمع پرقدرت برای ارتباطات و اطلاعات ایجاد میکند که باعث افزایش کارایی رایانه میشود . چون Net. شامل فنآوری های مرکزی برای تولید سرویسهای وب می باشد ، فواید آن برای همگان است : کاربران شخصی ، سازمانها و توسعه دهندگان .

 

ای جکس ( AJAX ) چیست ؟

 بیشتر افراد فکر میکنند ای جکس یک تکنولوژی جدید در زمینه طراحی و تولید نرم افزارهای تحت وب میباشد. ولی در اصل ای جکس یک تکنیک جدید است ، که از تکنولوژی های قدیمی استفاده میکند. ای جکس از دو تکنولوژی XML و JavaScript استفاده میکند که از جمله تکنولوژی های قدیمی بستر وب محسوب میشوند.

اما واقعا ای جکس چیست و چرا به این سرعت رشد کرده است ؟

 برای پاسخ به این سوال و فهم بهتر این تکنیک بهتر است کمی به عقب برگردیم و برنامه نویسی تحت ویندوز را مورد بررسی قرار دهیم. اگر شما برنامه نویسی تحت ویندوز انجام داده باشید ، حتما به این مشکل بر خورد کرده اید! وقتی شما در صفحه دکمه ای دارید که تابعی را صدا میزند و آن تابع برای انجام کار ، زمان زیادی لازم داشته باشد ، چه اتفاقی برای نرم افزار شما خواهد افتاد ؟ نرم افزار شما قفل میشود یا به اصطلاح هنگ میکند !

خوب دلیل بروز این مشکل چیست ؟

 سیستم عامل برای اجرای هر نرم افزار ، یک ترد Thread برای آن در نظر میگیرد. در واقع این ترد اصلی Main Thread کنترل کل اجرای برنامه را برعهده دارد. این کنترل شامل جواب دادن به حرکات موس و دکمه های کیبورد است که سیستم عامل آنها را بصورت پیامهایی در اختیار نرم افزار قرار میدهد. حال اگر شما در برنامه خود تابعی داشته باشید که زمان اجرای زیادی لازم داشته باشد در واقع این ترد اصلی است که وظیفه اجرای این تابع را بر عهده دارد و در نتیجه دیگر نمیتواند به پیامهای سیستم عامل جواب دهد و اینگونه به نظر میرسد که نرم افزار هنگ کرده است.

اما را حل چیست ؟

 استفاده از ترد های دیگر برای اجرای کارهای سنگین ، با این کار ترد اصلی همچنان به سیستم عامل پاسخ میدهد و در عین حال نرم افزار نیز تابع سنگین خود را بدون مشکل اجرا میکند. در واقع با این تکنیک شما برای انجام کارهای مختلف از تردهای مختلف استفاده مینمایید. یعنی برای هر کار یک ترد جدید ایجاد میکنید.

 حال که با مفهوم ترد آشنا شدید و کاربرد آن را در افزایش کارایی و کیفیت نرم افزار ها دیدید! این سوال پیش می آید که چگونه میتوان از این تکنیک تحت وب نیز بهره برد ؟

 جواب این سوال ، تکنیک ای جکس است! بزرگترین مشکل در نرم افزارهای تحت وب زمانی است که کاربر میخواهد اطلاعاتی را به سمت سرور بفرستد. برای ارسال اطلاعات از روش Post استفاده میشود. در واقع برای ارسال اطلاعات از کاربر به سمت سرور ، مرورگر تمام اطلاعات صفحه به اضافه تغییراتی که مد نظر کاربر بوده است را برای سرور ارسال میکند. حال آنکه این کار اضافی به نظر میرسد که کل اطلاعات صفحه به سمت سرور ارسال گردد. در حالی که میتوان فقط اطلاعاتی که تغییر کرده و نیاز است ، به سمت سرور ارسال گردد. در واقع ای جکس برای نیل به این هدف متولد شده است. به واسته استفاده از تکنیک ای جکس شما صفحه را طوری ایجاد میکنید که اجزای هرقسمت از صفحه به قسمت های دیگر وابسته نمی باشد و در واقع هر قسمت مستقل میباشد و تغییرات در هر قسمت، فقط همان قسمت را Refresh میکند.

اما بیایید مروری بر تاثیرات تکنیک ای جکس بر نتیجه نهایی نرم افزارهای تحت وب بیاندازیم.

 1) مهم ترین تاثیری که استفاده از تکنیک ای جکس در نرم افزارهای تحت وب دارد ، عدم نیاز به Refresh شدن کل صفحه میباشد. بدترین چیزی که وجود دارد این است که کاربر برای لود شدن هربار صفحه ، منتظر بماند. اکثرا در این حالت کاربر باید صفحه سفید و خالی را مشاهده کند که از لحاظ روانی ، سوای محسنات بیشمار نرم افزارهای تحت وب ، یک معضل اساسی به حساب می آید.

 2) اضافه شدن امکاناتی که سالها نرم افزارهای تحت ویندوز از آن بهره میبرند ، مانند :

 I) تب : شما به وفور تب را در پنجره های ویندوز می بینید. در واقع با استفاده از تب شما تعداد زیادی پنجره را در یک پنجره در کنار هم و با یک ساختار مشخص ایجاد میکنید. شما بدون ای جکس هم میتوانید در وب تب ایجاد کنید ولی برای حرکت بین تبها ، لازم است که صفحه Refresh شود ولی با استفاده از ای جکس شما میتوانید تبی بسازید که تفاوتی با نمونه تحت ویندوز نداشته باشد .

 II) حدس زنی ( Suggestion ) در این روش اطلاعات مورد نظر یک فیلد در یک فرم از پایگاه داده ها خوانده میشود. بهترین مثال این قسمت در سیستم ارسال ایمیل گوگل و یاهو وجود دارد. شما فقط قسمتی از نام گیرنده ایمیل را وارد میکنید و نام کامل و ایمیل فرد به نمایش در می آید. 

III) مرتب کردن اطلاعات در کنترل هایی مثل GridView و ....

IV) درگ اند دراپ ( Drag & Drop )  بهترین مثال شخصی سازی صفحه گوگل ویا وبلاگ گوگل می باشد.

باقی امکانات و نمونه ها را میتوانید از اینجا http://ajax.asp.net/ajaxtoolkit نگاه کنید.

3) امنیت :

البته خود سیستم های برنامه نویسی تحت وب از امنیت لازم برخوردار هستند. نکته قابل توجه در اینجا این است ؛ زمانی که مرورگر در ابتدا وارد یک صفحه میشود که از تکنیک ای جکس در آن استفاده شده است ، فقط اطلاعات همان صفحه را می تواند ذخیره کند. تمام تراکنش های بعدی که توسط ای جکس انجام میگرد، فقط در حافطه مرورگر میماند و دیگر قابل ذخیره سازی نمی باشد. از لحاظ فنی نیز ، Trace اطلاعاتی که توسط ای جکس منتقل شده است، سخت تر می باشد، چونکه اطلاعات ناقص هستند و فقط شامل تغییرات می شوند.

نویسنده : بهنام امامیان