پایان نامه Ajax webservice

تحقیق و پروژه و پایان نامه و مقاله دانشجویی

 عنوان :

پایان نامه Ajax webservice

تعداد صفحات :۱۰۲

نوع فایل : ورد و قابل ویرایش

چکیده

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

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

AJAX  ِیک نوع برنامه نوِیسِی است که در سال ۲۰۰۵ توسط گوگل  به طور عمومِی اِیجاد شد.باAJAX  مِی توانِید  Web Application  هاِی بهتر , سرِیعتر  و بسِیارکاربر پسند اِیجاد کنِید.

Ajax  راهی برای تقسیم کردن صفحات وب به قسمتهای قابل Update است به طوریکه Update کردن بخشی از صفحه کل صفحه را Update نکند.در واقع Ajax پاسخی به مشکلات Web Application ها در چند سال گذشته است.

واژه های کلیدی: AJAX، Web Application  ، صفحات وب،

 فهرست مطالب

مقدمه:   ۱
معرفِی AJAX :   ۱
Httprequest آجاکس (ajax httprequest)   ۳
مثالِی از AJAX   ۳
پشتِیبانِی Browser  از آجاکس   ۴
شِی XMLHttpRequest   ۷
ارسال ِیک درخواست به سرور   ۱۰
اسکرِیپت سمت سرور ASP   ۱۳
اجراِی AJAX Application   ۱۳
JavaScript آجاکس   ۱۵
AJAX Server Page   ۱۸
JavaScript آجاکس   ۲۱
AJAX Server Page   ۲۳
آجاکسJavaScript   ۲۶
AJAX Server Page   ۲۹
مقایسه ی معماری Asp.net AJAX Extensions و Asp.net 2   ۳۲
Server Controls :   ۳۳
شمای ScriptManager:   ۳۴
شمای UpdatePanel:   ۳۸
راه اندازها( (Triggers :   ۳۹
شمای UpdateProgress  :   ۴۲
بخش د وم :وب سرویس های ASP.NET AJAX  :   ۴۵
مقدمه   ۴۵
اسکریپت قابل فراخوانی Web Service :   ۴۸
نمایش یک Service Reference :   ۴۹
WSDL :   ۵۱
SOAP :   ۵۴
فراخوانی یک متد از Web Service ، که پارامتر می گیرد   ۵۷
استفاده از وب سرویس دوردست با ASP.Net AJAX   ۵۹
WebServices   ۶۲
منابع:   ۹۸

مقدمه:

AJAX  ِیک نوع برنامه نوِیسِی است که در سال ۲۰۰۵ توسط گوگل  به طور عمومِی اِیجاد شد.با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 ندارد.

<html>
<body>
<form name="myForm">
Name: <input type="text" name="username" />
Time: <input type="text" name="time" />
</form>
</body>
</html>

بخش بعدِی در مورد keystone هاِی آجاکس توضِیحِی مِی دهد.

پشتِیبانِی Browser  از آجاکس

Keystone هاِی آجاکس , شِی XMLHttpRequest است. Browserهاِی مخــتلف , ازمــــتدهاِی مختلفِی جهت اِیجاد شِی XMLHttpRequest  استفاده مِی کنند.

Internet Explorer از ِیک شِی ActiveX استفــــاده مِی کند, در حالِی که browser هاِی دِیـــگر از شِی توکار JavaScript فراخوانده شده در XMLHttpRequest استفاده مِی کنند.

براِی اِیجــاد اِین شِــی , و تبادل با browser هاِی مختلف , از عبارت “try …catch” استفاده مِی کنِــیم. بـــِیاِیِید  فاِیلtestAjax.htm  را با با جاوا اسکرِیپتِی که شِی XMLHttpRequest را اِیجاد مِیکند, به روز کنِیم:

<html>
<body>
<scripttype="text/javascript">
function ajaxFunction()
  {
  var xmlHttp;
try
{
    //Firefox,Opera8.0+,Safari
xmlHttp=new XMLHttpRequest();
    }
  catch (e)

    {
//InternetExplorer
try

      {
xmlHttp=new ActiveXObject(“Msxml2.XMLHTTP”);
}

    catch (e)
{
      try
{
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
catch (e)
{
        alert("Your browser does not support AJAX!");
        return false;
        }
      }
    }
  }
</script>
<form name="myForm">
Name: <input type="text" name="username" />
Time: <input type="text" name="time" />
</form>
</body>
</html>

دراِین مثال ابتدا ِیک متغِیر xmlHttp جهت نگه داشتن ِیک شِی XMLHttpRequest اِیجاد مِی کنِیم.

سپس سعِی مِی کند با دستور () xmlHttp=new XMLHttpRequestِیک شِی اِیجاد کند.اِین براِی browser هاِی Fierfox,Opera و Safari است. اگر آن ممکن نبود, براِی Internet Explore 6.0 سعِی مِی کند با دستور xmlHttp=new ActiveXObject(“Msxml2.XMLHTTP”)  ِیک شِی اِیجادکند، و اگر آنهم ممکن نبود، براِی Internet Explorer 5.5 سعِی مِی کند با دستور

 xmlHttp=new ActiveXObject(“Microsoft.XMlHTTP”)  ِیک شِی اِیجاد کند.

اگر هِیچ کدام از اِین سه متد کار نکند , کاربر ِیک browser بسِیار قدِیمِی دارد و ِیک اخطار مبنِی براِینکه browser اش آجاکس را پشتِیبانِی نمِی کند, مِی بِیند.

توجه: کد وِیژه ِی browser بالا طولانِی ونسبتا پِیچِیده است. اما شما مِی توانِید هر زمان که خواستِید ِیک شِی XMLHttpRequest اِیجاد کنِید , آن را کپِی کنِید.

شِی XMLHttpRequest

با استفاده از شِی XMLHttpRequest ,برنامه نویس مِی تواند ِیک صفحه داراِی داده از سرور را بعد از لود صفحه , به روز کند.آجاکس به طور عمومِی در سال ۲۰۰۵ توسط Google sugestایجاد شد.

Google Suggest از شِی XMLHttpRequest براِی اِیجاد ِیک رابط وب پوِیا , استفاده مِی کند.زمانِی که مطلبِی را جهت جستجو در google تاِیپ مِیکنِید،  جاوا اسکرِیپت،متن شما  را به ِیک سرور ارسال مِی کند و سرور لِیست پِیشنهادهاِیش را بر مِی گرداند.

مرورگرهاِی ۵٫۰IE Safari 1.2, , 8 opera , Mozila 1.0/Firefox و Netscape 7 , شِی  XMLHttpRequest را پشتِیباتِی  مِی کند.

قبل از فرستادن داده ها به سرور , مِی باِیست سه خصوصِیت مهم شِی XMLHttpRequest را بدانِیم.

خصوصِیت onreadystatechange

بعد از ِیک تقاضا به سرور , نِیازمند تابعِی  هستِیم که بتواند داده ای که توسط سرور برگردانده مِی شود را درِیافت کند.خصوصِیت onreadystatechange , تابعِی را که پاسخ ِیک سرور را پردازش مِی کند, ذخِیره مِی کند. کدِی که در زِیر نوشته شده است ِیک تابع خالِی تعرِیف مِی کند و خصوصِیت onreadystatechange را در ِیک زمان تنظِیم مِی کند:

xmlHttp.onreadystatechange=function()
  {
  // We are going to write some code here
  }

 

خصوصِیت readyState  

خصوصِیت readyState   وضعِیتهاِی پاسخ سرور را نگه مِی دارد. هر بار که readyState تغِیِیر مِی کند, تابع onreadystatechange اجرا خواهد شد.

در زِیر مقدار هاِی مجاز خصوصِیت readystate  آورده شده است:

Description

State

درخواست آغاز (initialize) نشده است(Not initialized)

۰

درخواست برقرار شده است(Open)

۱

درخواست فرستاده شد(Sent).

۲

درخواست در حال پردازش است(Recived).

۳

درخواست کامل است(Loaded).

۴

براِی آزمودن اِینکه آِیا پاسخ کامل است(به اِین معنا که مِی توانِیم داده هاِیمان را بگِیرِیم)، باِید ِیک عبارت if به تابع onreadychange بِیفزاِیِیم.

xmlHttp.onreadystatechange=function()
  {
  if(xmlHttp.readyState==4)
    {
    // Get the data from the server's response
    }
  }

 

خصوصِیت responseText

داده ِی برگشتِی از سرور با خصوصِیتresponseText قابل بازِیابِی است.

در کد زِیر , ما مقدار فِیلد “time” را مساوِی با responseText تنظِیم کرده اِیم:

xmlHttp.onreadystatechange=function()
  {
  if(xmlHttp.readyState==4)
    {
    document.myForm.time.value=xmlHttp.responseText;
    }
  }

بخش بعدِی نشان مِی دهد که چگونه بعضِی از داده ها را ازسرور درخواست کنِیم.

ارسال ِیک درخواست به سرور

جهت بدرقه ِی ِیک درخواست به سرور, از متدهاِی open() و send() استفاده مِی کنِیم.

متد open() سه آرگومان مِی پذِیرد. آرگومان اول براِی تعِیِین متد(GET ِیا POST) جهت ارسال درخواست استفاده شود. آرگومان دوم URL اسکرِیپت سمت سرور را مشخص مِی کند.آرگومان سوم مشخص مِی کند که درخواست باِید به طور ناهمزمان کنترل(handled) شود ِیا نه.متد send() , درخواست را به سرور همراهِی و بدرقه مِی کند .با فرض اِینکه فاِیل HTML وASP در ِیک مسِیر هستند, کد به صورت زِیر است:

xmlHttp.open("GET","time.asp",true);
xmlHttp.send(null);

اکنون باِید در مورد زمان اجرا ِی تابع آجاکس تصمِیم گِیرِی کنِیم. براِی مثال هنگامِی که کاربر در فِیلد username متنِی را تاِیپ مِی کند , اجازه دهِیم تابع در”پشت صحنه ” اجرا شود.مانند زِیر:

<form name="myForm">
Name: <input type="text"
onkeyup="ajaxFunction();" name="username" />
Time: <input type="text" name="time" />
</form>

فاِیل testAjax به روز شده با قطعه کد با لا به صورت زِیر است:

<html>
<body>
<script type="text/javascript">
function ajaxFunction()
{
  var xmlHttp;
try
{
    // Firefox, Opera 8.0+, Safari
    xmlHttp=new XMLHttpRequest();
    }
catch (e)
{
    // Internet Explorer
    try
{
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
      }
catch (e)
{
      try
{
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
catch (e)
{
        alert("Your browser does not support AJAX!");
        return false;
        }
      }
    }
    xmlHttp.onreadystatechange=function()
      {
      if(xmlHttp.readyState==4)
        {
        document.myForm.time.value=xmlHttp.responseText;
        }
      }
    xmlHttp.open("GET","time.asp",true);
    xmlHttp.send(null);
  }
</script>
<form name="myForm">
Name: <input type="text"
onkeyup="ajaxFunction();" name="username" />
Time: <input type="text" name="time" />
</form>
</body>
</html>

در بخش بعدِی AJAX application را با اسکرِیپت”time.asp” کامل مِی کنِیم.

اسکرِیپت سمت سرور ASP

اکنون قصد دارِیم اسکرِیپتِی اِیجاد کنِیم که  زمان جارِی سِیستم را نماِیش دهد.

خصوصِیت responceText (که در بخشهاِی قبلِی توضِیح داده شد)، داده ِی بازگشتِی از سرور را ذخِیره مِی کند . در اِینجا مِی خواهِیم زمان جارِی را برگردانِیم.کد نوشته شده در time.asp به صورت زِیر است:

<%
response.expires=-1
response.write(time)
%>

توجه:  با استفاده خصوصِیت Expire  مدت زمان cache ِیک صفحه قبل از منقضِی شدن آن درِیک browser را تنظِیم مِی کند.اگر کاربر صفحه ِی مشابهِی را قبل از زمان انقضا بر گرداند، نسخه ِی cache شده نشان داده مِی شود. براِی اِینکه صفحه هرگز cache نشود،  باِید Response.Expire=-1 باشد.

اجراِی AJAX Application

90,000 ریال – خرید

جهت دریافت و خرید متن کامل مقاله و تحقیق و پایان نامه مربوطه بر روی گزینه خرید انتهای هر تحقیق و پروژه کلیک نمائید و پس از وارد نمودن مشخصات خود به درگاه بانک متصل شده که از طریق کلیه کارت های عضو شتاب قادر به پرداخت می باشید و بلافاصله بعد از پرداخت آنلاین به صورت خودکار  لینک دنلود مقاله و پایان نامه مربوطه فعال گردیده که قادر به دنلود فایل کامل آن می باشد .

مطالب پیشنهادی: برای ثبت نظر خود کلیک کنید ...

به راهنمایی نیاز دارید؟ کلیک کنید

جستجو پیشرفته

پیوندها

دسته‌ها

آخرین بروز رسانی

    دوشنبه, ۱۰ اردیبهشت , ۱۴۰۳
اولین پایگاه اینترنتی اشتراک و فروش فایلهای دیجیتال ایران
wpdesign Group طراحی و پشتیبانی سایت توسط digitaliran.ir صورت گرفته است
تمامی حقوق برایbankmaghaleh.irمحفوظ می باشد.