فرمت فایل : word(قابل ویرایش)
تعداد صفحات:93
فهرست مطالب:
بخش اول : آجاکس
مقدمه ........................................................................................................................ 4
معرفی AJAX ............................................................................................................ 4
Http Request AJAX ............................................................................................ 5
مثالی از AJAX ......................................................................................................... 6
پشتیبانی Browser از AJAX ...................................................................................... 6
شی XMLHttp Request ......................................................................................... 9
ارسال یک درخواست به سرور .......................................................................................11
اسکریپت سمت سرور ASP ..........................................................................................14
مثال هایی دیگر از AJAX............................................................................................14
Java Script AJAX................................................................................................16
مقایسه معماری Asp.net AJAX Extensions و Asp.net 2 ........................................ 32
کنترل های سرور ....................................................................................................... 32
Service Refrences ............................................................................................... 35
Script Managerproxy ......................................................................................... 35
Update Panel ...................................................................................................... 36
راه اندازها (Triggers ) ............................................................................................ 37
Timer ................................................................................................................... 39
Update Progress ................................................................................................. 39
بخش دوم : وب سرویس های ASP.NET AJAX
مقدمه ..................................................................................................................... 42
اسکریپت قابل فراخوانی Web Service ........................................................................ 45
چه نوع داده هایی را میتوان از طریق وب سرویس ارائه داد ؟ .............................................. 46
چه نوع داده هایی را میتوان به وب سرویس پاس داد ؟ ....................................................... 47
WSDL .................................................................................................................. 48
نحوه ی عملکرد وب سرویس ها ................................................................................... 48
SOAP ................................................................................................................... 50
نحوه ی فراخوانی یک Web Service از ECMAScript ............................................... 52
فراخوانی یک متد از Web Serviceکه پارامتر میگیرد ...................................................... 53
استفاده از وب سرویس دور دست با ASP.NET AJAX .................................................. 54
لیست برخی از وب سرویس ها ..................................................................................... 57
منابع ....................................................................................................................... 92
مقدمه:
AJAX ِیک نوع برنامه نوِیسِی است که در سال 2005 توسط گوگل به طور عمومِی اِیجاد شد.باAJAX مِی توانِید Web Application هاِی بهتر , سرِیعتر و بسِیارکاربر پسند اِیجاد کنِید.
Ajax راهی برای تقسیم کردن صفحات وب به قسمتهای قابل Update است به طوریکه Update کردن بخشی از صفحه کل صفحه را Update نکند.در واقع Ajax پاسخی به مشکلات Web Application ها در چند سال گذشته است. کافی است یکبار یک سایت طراحی کنید تا بفهمید که Postback های اضافی و بی مورد و load شدن های وحشتناک آن هم به خاطر تغییر، مثلا تاریخ در یک تقویم چه دردسری را برای طراح و کاربر ایجاد میکند.وقتی صحبت از انداختن بار CPU از سرور به کامپیوتر کاربر میشود, یعنی از java script استفاده شده است. در واقع سیستم استفاده از script که به دلیل ناامنی به کناری گذاشته شده بود با تلفیق جدید دوباره احیا شد.AJAX مبتنِی برجاوا اسکرِیپت و HTTP Request است.
معرفِی AJAX :
آجاکس ِیک زبان برنامه نوِیسِی جدِید نِیست بلکه ِیک تکنِیک جهت اِیجاد Web application هاِی بهتر و سرِیعتر و بسِیار تعاملِی است.
با آجاکس , جاوا اسکرِیپت مِی تواند مستقِیما با سرور ارتباط برقرار کند, و از شِی جاوا اسکرِیپتِی XMLHttpRequest استفاده کند. با اِین شِی , جاوا اسکرِیپت مِی تواند داده را با ِیک Web server , بدون لود مجدد صفحه , مبادله کند.
آجاکس از انتقال ناهمزمان داده ها(درخواستهاِی HTTP) در بین browser و web server استفاده مِی کندو اجازه مِی دهد صفحات وب به جاِی درخواست کل صفحه, اطلاعات کمِی را از سرور درخواست کنند.
تکنِیک آجاکس, application هاِی اِینترنت را کوچکتر و سرِیعترو بسِیار کاربرپسند مِی کند.
آجاکس ِیک تکنولوژِی browser وابسته به نرم افزار web server است و مبنِی بر استانداردهاِی وب است.در ادامه لیستی از این استانداردها را می بینید:
• JavaScript
• XML
• HTML
• CSS
استانداردهاِی وبِی که آجاکس مبنِی بر آنها است , به خوبِی تعرِیف شده اند و توسط browser هاِی زِیادِی پشتِیبانِی مِی شوند. Application هاِی آجاکس و browser و platform بهم وابسته اند.
Web application ها مزاِیاِی بیشتری نسبت به application هاِی دِیگر دارند. آنها مِی توانندبه داده ی بیشترِی دستِ یابندونصب و پشتِیبانِی آنها بسِیار آسان است وجهت توسعه راحترند.به هر حال , application هاِی اِینترنتِی همانند desktop application هاِی سنتِی همِیشه غنِی و کاربرپسند نِیستند.با آجاکس , internet application ها مِی توانند غنِی تر و کاربرپسندتر ایجاد شوند.
Httprequest آجاکس (ajax httprequest)
در کد گذارِی سنتِی جاوا اسکرِیپت, اگر اطلاعاتِی از یک دِیتابِیس یا یک فاِیل در سرور مِی خواستِیدویاجهت ارسال اطلاعات کاربر به یک سرور، مِی بایست یک فرم HTML درست مِی کردِیدو داده ها را به سرور مِی فرستادِیدِPOST)) یا از آن مِی گرفتِید(GET). کاربر جهت درِیافت ِیا ارسال اطلاعات باِید روِی دکمه ی “Submit” کلِیک مِی کرد, منتظر پاسخگوِیِی سرور مِی ماند, سپس یک صفحه ی جدِید با نتِیجه لود مِی شد.سرور در هر بار که کاربر ورودِی را ارائه کند,ِیک صفحه ِی جدِید برمِی گرداند, وب application هاِی سنتِی خِیلِی کند اجرا و کمتر کاربرپسند هستند .
با آجاکس , جاوا اسکرِیپت در مِیان شِی JavaScriptXMlHttpRequestمستقِیما با سرور در ارتباط است .
با ِیک درخواست HTTP , صفحه ِی وب مِی تواند ِیک درخواست به سرور درست کند, و پاسخِی از ِیک وب سرور,بدون لود مجدد صفحه , درِیافت کند. کاربر در همان صفحه مِی ماند, و به درخواستهاِی اسکرِیپتِی صفحات توجهِی ندارد.
مثالِی از AJAX
براِی درک چگونگِی کار آجاکس , بِیاِیِید ِیک Ajax application کوچک اِیجاد کنِیم.
ابتدا، ِیک فرم HTML ساده با دو متن اِیجاد مِی کنِیم : username وtime . فِیلد username با کاربر پر مِیشود و فِیلد time با استفاده از آجاکس پر مِی شود.
فاِیل HTML را testajax.htm بنامِید . قطعه کد لازم در زِیر نشان داده شده است. توجه کنِید که اِین فرم HTML دکمه ِی submit ندارد.
فرمت فایل : word(قابل ویرایش)
چکیده:
Ajax تحولی بزرگ در عرصه وب ( بخش اول )
اینترنت و مهمترین سرویس آن وب علاوه بر این که حیات بشری را در هزاره سوم دستخوش تحولات فراوانی کرده است ، توانسته است منشاء تحولات گسترده ای در سایر حوزه های فناوری گردد . در واقع ، تحول در زندگی بشریت مدیون پیشرفت در سایر حوزه های فناوری است . یکی از این حوزه ها ، صنعت نرم افزار است .
برای آشنائی با این تحول بد نیست مروری سریع داشته باشیم به گذشته وب و نرم افزار تا از این رهگذر بتوانیم ضرورت ایجاد فناورهای جدیدی نظیر Ajax ( برگرفته شده از Asynchronous JavaScript And XML ) را بهتر درک کنیم .
مروری بر وب ، نرم افزار و تاثیر متقابل آنها بر یکدیگر
موجودات جدیدی که ما امروزه آنها را با نام برنامه های وب می شناسیم ، ماحصل تاثیر وب بر نرم افزار و رشد رو به فزاینده استفاده از اینترنت در متن زندگی ، ماحصل تاثیر نرم افزار بر وب است . اجازه دهید ببینیم موضوع از کجا و با چه مختصاتی شروع گردید و هم اینک در چه وضعیتی به سر می بریم .
وب ایستا : زمانی که تیم . برنرز لی در سال 1990 اولین پیشنهاد خود در رابطه با وب را ارائه کرد ، ایده کار بسیار ساده بود : ایجاد یک شبکه از اطلاعات متصل شده به یکدیگر با استفاده از ابرمتن ها و URIs ( برگرفته شده از Uniform Resource Identifiers ) . وب در آغاز به عنوان یک رسانه اشتراک اطلاعات مطرح گردید تا از طریق آن دانشمندان و محققین بتوانند دانش و اطلاعات را بین خود به اشتراک گذاشته و نتایج تحقیقات را با یکدیگر مبادله نمایند . ارائه دهند گان با استفاده از یک استاندارد مستند سازی ، اطلاعات خود را تهیه و آنها را به مخاطبان خود ارائه می کردند . در آغاز برای استاندارد مستند سازی از ابزاری که در آن زمان خود هنوز استاندارد نشده بود استفاده می گردید . HTML ، ابزاری است که با بکارگیری مجموعه ای از تگ ها ، استاندارد لازم جهت نمایش یک مستند در نرم افزارهای نمایش دهنده ( مرورگرها ) را فراهم می نماید . نرم افزارهای نمایش دهنده ، مجهز به مفسرهائی جهت تفسیر تگ ها و نمایش اطلاعات موجود در مستند بر اساس تعاریف از قبل تعریف شده شدند . در آن زمان که به سال های ابتدائی دهه 90 میلادی برمی گردد ، چیزی با نام برنامه های وب وجود نداشت و وب به عنوان رسانه ای جهت اشتراک و مبادله اطلاعات مطرح بود . تمامی تعاملات در عرصه وب محدود به درخواست یک مستند توسط سرویس گیرنده و ارسال آن توسط سرویس دهنده بود .
وب پویا با تمرکز بر روی پردازش های سمت سرویس گیرنده : در ادامه ، نیاز به انجام برخی پردازش های اولیه مطرح گردید . با توجه به این که اینترنت از یک بستر سرویس گیرنده و سرویس دهنده ( client server based) به منظور دریافت درخواست کاربر و پاسخ به آن استفاده می کرد ، طراحان و پیاده کنندگان برای تحقق پردازش ها بر روی دو گزینه متمرکز شدند : انجام پردازش ها در سمت سرویس گیرنده و یا سمت سرویس دهنده . در آغاز ، برای انجام پردازش ها بر روی سرویس گیرنده متمرکز شدند . با این هدف که بتوان پردازش های مورد نیاز را ( با حوزه ای که در آن زمان تعریف شده بود ) ، در سمت سرویس گیرنده انجام داد . برای تحقق خواسته فوق لازم بود که بستر و ابزارهای لازم در بطن مرورگر ها ایجاد گردد . ظهور فناورهائی نظیر Html-DOM ، جاوااسکریپت ، CSS ( برگرفته شده از cascading style sheets ) و DHTML ( برگرفته شده از Dynamic HTML ) از جمله مهمترین تلاش های انجام گرفته در آن زمان برای تحقق پردازش ها در سمت سرویس گیرنده بود . برای آشنائی بیشتر با تلاش های انجام گرفته در آن زمان بد نیست مروری سریع داشته باشیم به آنچه طی سالیان گذشته در عرصه وب اتفاق افتاده است .
بدین ترتیب پیاده کنندگان صفحات وب توانستند ، صفحاتی را خلق نمایند که با تعبیه کدهای مورد نیاز در آنها ، امکان پردازش در سمت سرویس گیرنده را فراهم نمایند . انجام پردازش های اولیه نظیر تغییر رنگ و شکل ظاهری صفحات ، مدیریت عناصر موجود بر روی یک صفحه و تغییر آنها در زمان اجراء متناسب با عملیات کاربر ، بررسی صحت داده ورودی توسط کاربر در یک فرم ساده اطلاعاتی ، دریافت داده در پس زمینه و عدم نیاز به ارسال تمامی صفحه و بهنگام سازی بخش هائی خاص از آن ( با بکارگیری فریم ها ) ، نمونه هائی از تاثیر فناوری هائی بود که توان پردازش در سمت سرویس گیرنده را در اختیار پیاده کنندگان قرار می داد .
وب پویا با تمرکز بر روی پردازش های سمت سرویس دهنده
همزمان با گسترش اینترنت و وب ، ایجاد صفحات وب با محتویات پویا با اتکاء به منابع داده موجود در سمت سرویس دهنده و سایر شرایط تاثیر گذار در فرآیند پاسخ به درخواست کاربران مطرح گردید . همین موضوع باعث شد که توجه به سرویس دهنده برای انجام برخی پردازش ها نیز در دستور کار قرار بگیرد . ظهور فناورهائی نظیر ASP ( برگرفته شده از Active Server Page ) و PHP ( برگرفته شده از Hypertext Preprocessor ) از اوایل سال 1996 پاسخی به این نیاز بود . از آن زمان به بعد بود که کم کم واژه برنامه های وب قدم در عرصه نرم افزار گذاشت . اگر به تعاریف آن زمان برگردیم مشاهده می کنیم که در ابتدا از این اصطلاح در خصوص صفحات وب پویا استفاده می گردید .
نگرش جزیره ای به فناورهای مرتبط با برنامه های وب تا اوایل سال 1999 ادامه یافت . تا این که شرکت های متعددی به فکر ارائه یک پلت فرم با در نظر گرفتن واقعیتی به نام اینترنت افتادند . دات نت ، پلت فرم ارائه شده توسط شرکت مایکروسافت یک نمونه در این زمینه است که از صدر تا ذیل آن با در نظر گرفتن واقعیتی با نام اینترنت طراحی و پیاده سازی شده است .
در این دوران بود که به برنامه های وب با یک نگاه جامع تر و سیستماتیک تر نگاه می شد . در طی پنج سال گذشته ، این نوع برنامه ها توانستند با بکارگیری مجموعه ای از فناوری ها منشاء تحولات عمده ای در خصوص بردن اینترنت در متن زندگی (و نه حاشیه ! ) مردم جهان باشند . ایده ” نرم افزار به عنوان سرویس ” و یا برنامه نویسی سرویس گراء از نگرش های جدید به مقوله نرم افزار و دنیای برنامه نویسی در عرصه وب است .
موج استفاده از اینترنت برای ارائه خدمات online ( ارائه شده به کاربران از طریق برنامه های وب ) باعث گردید تا معماری و رفتار اینگونه برنامه ها با تامل بیشتر مطالعه و بررسی گردد . هدف ، ایجاد برنامه های وب با کارآئی مطلوب است تا ضمن ارائه خدمات خود دارای ویژگی هائی نظیر : افزایش تعامل کاربر با برنامه ( همانند برنامه های desktop ) ، استفاده بهینه از محیط انتقال و به حداقل رساندن ترافیک آن ، مدیریت بهینه منابع سمت سرویس گیرنده در پاسخ به رویدادهای محقق شده سمت سرویس گیرنده ، عدم ارسال اطلاعات غیره ضروری توسط سرویس گیرنده و … باشند . ماحصل این تفکرات ظهور فناوری جدیدی با نام Ajax است که شرکت هائی نظیر گوگل و مایکروسافت توانستند از سال 2005 با بکارگیری این فناوری تحول بزرگی را در عرصه برخی از سرویس ها و خدمات خود ایجاد نمایند .
حمع بندی !
همزمان با بحث معماری سرویس گیرنده و سرویس دهنده دو واژه fat-client و thin-client قدم در ادبیات نرم افزار گذاشتند . در معماری فوق ، هدف استفاده از توان پردازشی سرویس گیرنده و سرویس دهنده برای اجرای یک برنامه است . استفاده از توان پردازشی هر یک از عناصر اصلی درگیر در معماری فوق و تعریف سهمی خاص برای هر یک ( سرویس گیرنده و سرویس دهنده ) ، از اهداف اولیه و در عین حال بسیار مهم معماری فوق است .
پیاده کنندگان برنامه های کامپیوتری خصوصا” برنامه های وب ، همواره با این سوال مواجه بوده و هستند که در تقسیم سهم پردازش ، چه میزان سهم را می بایست به سرویس گیرنده داد ؟ چه پردازش هائی را می توان در سمت سرویس گیرنده انجام داد ؟ در پاسخ به این سوال رویکردهای مختلفی مطرح شده است . fat client و thin client دو نمونه متداول در این زمینه می باشند .
در fat client ، هدف بکارگیری پتانسیل های مرورگر برای انجام اکثر پردازش ها در یک برنامه وب است . رویکرد فوق در اواسط دهه 90 میلادی در کانون توجه طراحان و پیاده کنندگان وب قرار گرفت . علت این امر به تلاش شرکت های بزرگ نرم افزاری در جهت تولید و ارائه فناورهائی بود که توانمندی مرورگر در انجام پردازش را افزایش می داد . ظهور فناورهائی نظیر جاوا اسکریپت ، ایجاد یک اینترفیس برنامه نویسی در مرورگر ،ایجاد یک مدل شی گراء ( ولو ناقص ) برای یک سند HTML با هدف امکان دستیابی به هر یک از عناصر موجود در آن ، عرضه DHTML و CSS جملگی نشاندهنده تلاش هائی است که در آن زمان با هدف افزایش توان پردازش در سمت سرویس گیرنده مطرح شد .
پس از گذشت مدت زمان کوتاهی ( از ابتدای سال 1996 ) ، تمایل به سمت برنامه های وب با ویژگی thin client مطرح گردید . در مدل فوق ، هدف کاهش سهم پردازش در سمت سرویس گیرنده و افزایش پردازش های سمت سرویس دهنده بود . ظهور فناورهای متعددی نظیر ASP و PHP تنها نمونه ای اندک از تلاش های انجام یافته در آن دوران برای افزایش توان پردازش در سمت سرویس دهنده است .
با این که در سالیان گذشته همچنان از پتانسیل های سمت سرویس گیرنده برای انجام پردازش در برنامه های وب استفاده می گردید ، ولی رفتار اکثر برنامه های وب مبتنی بر این واقعیت بود که : ” داده را وارد نمائید ، صفحه را برای سرویس دهنده ارسال نمائید و منتظر دریافت پاسخ باشید ” .
هم اینک ما شاهد یک تحول بزرگ دیگر در عرصه برنامه نویسی هستیم . تحولی که مهمترین دستاورد آن ، تولد نسل جدیدی از برنامه های وب است که در آنها کاربر با برنامه دارای تعامل بمراتب بیشتری نسبت به نسل گذشته برنامه های وب است . این تحول عظیم نرم افزاری به کمک مجموعه ای از فن آوری ها که در مجموع به آنها Ajax گفته می شود ، محقق می گردد .
آیا Ajax قصد دارد با تغییر در الگوی رفتاری برنامه های وب فاصله آنها را با برنامه های desktop کاهش دهد ؟ آیا زمان آن رسیده است که برای پردازش های سمت سرویس گیرنده از یک پلت فرم جامع ، همانند پلت فرم های ارائه شده سمت سرویس دهنده ، استفاده گردد ؟ آیا تاکنون از این فناوری به منظور ایجاد برنامه های وب استفاده شده است ؟ با استفاده از چه مکانیزم هائی می توان مبادله اطلاعات بین سرویس گیرنده و سرویس دهنده را کاهش و از پهنای باند موجود استفاده بهینه کرد ؟
اجازه دهید به این سوال و سوالات بسیار دیگر در رابطه با Ajax ، فناورهای مرتبط با آن و از همه مهمتر کاربرد آن در بخش های بعدی پاسخ دهیم