آموزش Ajax بخش یازدهم

آموزش Ajax بخش یازدهم

توسط amin8505 | گروه مقاله های آموزشی | 1394/07/18

نظرات 0

 SOAP :

وب سرویس ها در حقیقت وب سایت هایی برای استفاده بوسیله نرم افزار ها هستند .بنابراین از همان تکنولوژی استفاده میکنند  که باعث شده است سایتهای وب تا این حد عمومی شوند . وب سرویس ها نیز مانند وب از استاندارد HTTP استفاده میکنند که توسط همه ی سرورها ی وب به کا رگرفته شده است .
هنگامی که با  "ایجاد سایتهایی برای انسان ها " سرو کار داریم ،معمولا کلاینت (مرورگر) و سرور فایل های مختلفی را با یکدیگر معادله میکنند :فایل های متنی حاوی کد HTML,DHTML,JavaScript,  و ...که ظاهر و متنهای موجود در صفحه را شامل میشوند ،فایل های تصویر و یا صدا با فرمت JPEG,GIF و یا ... که در قسمت های مختلف صفحه مورد استفاده قرار میگیرند و غیره .   
اما زمانی که بخواهید برای نرم افزارها و برنامه های کامپیوتری سایتی را ایجاد کنید ،فقط با یک نوع فایل در ارتباط هستید .این فایل ها به نام فایل های SOAP معروف هستند .
نکته: SOAP در اصل سرنام کلمات Simple Object Access Protocl است ،اما استاندارد کنونی که در W3Cوجود دارد این اصطلاح را حذف کرده است .
هنگامی که یک برنامه بخواهد از یک وب سرویس تقاضای در یافت اطلاعاتی را بکند ،برای مثال بخواهد موجودی یک کالا در انبار را بداند ،یا بخواهد وضعیت کنونی یک سفارش را دریافت کند ،و یا از کامپیوتر سرور بخواهد تا کار خاصی را مثل یک تبدیل واحد برای او انجام دهد ،برنامه یک فایل درخواست با قالب SOAP ایجاد میکند . سپس این فایل با استفاده از HTTP و از طریق اینترنت به وب سروری که وب سرویس در آن قرار دارد  فرستاده میشود .این فایل حاوی تمام اطلاعاتی است که وب سرویس نیاز دارد تا بداند چه کاری از او خواسته شده است . با توجه به این که وب سرویس ها مانند روش کلاس / روش معمولی کار میکنند ،این فایل SOAP معمولا حاوی نام متدی است که باید اجرا شود و نیز پارامترهایی  که این متد به عنوان ورودی باید دریافت کند .
در سمت سرور ،این تقاضا به وسیله وب سرویس دریافت شده و بعد از این که درخواست کاربر از آن استخراج شد ،متد مورد نظر فراخوانی میشود . بعد از این که متد مورد نظر اجرا شده و نتیجه آماده شد ،وب سرویس یک فایل SOAP ایجاد کرده و نتیجه درخواست برنامه را در آن قرار میدهد و به سمت کامپیوتر درخواست کننده ارسال میکند . همانند فایلی که حاو ی تقاضا بود ،این فایل نیز که نتیجه را نگهدار ی میکند با استفاده از HTTP و به وسیله اینترنت به برنامه اول فرستاده میشود .
اسناد و فایل های SOAP با استفاده از XML  ایجاد میشوند .
با توجه به این که استفاده از وب سرویس ها به پلت فرم خاصی وابسته نیست و هر نرم افزاری که در هر پلت فرمی طراحی شده باشد میتواند از هر وب سرویس که به هر نحوی ایجاد شده باشد  استفاده کند . برنامه نویسان معمولا برای  انتخاب یک پلت فرم به این نکته دقت میکنند که در هر پلت فرم چگونه میتوان فایلهای SOAP مربوط به استفاده از یک وب سرویس را ایجاد کرد و یا از فایل های حاوی نتیجه استفاده کرد و یا این نکته را در نظر میگیرند که د رهر پلت فرم چه ابزار هایی برای طراحی وب سرویس مورد نظرشان وجود دارد .NET ،در هر دو زمینه تا حد ممکن سادگی و قدرت را برای طراحی و یا استفاده از یک وب سرویس فراهم کرده است . با استفاده از NET ،میتوان بدون این که درگیر فایل های SOAP شد از وب سرویس ها استفاده کرد و آنها را در برنامه به کار برد .

 
نحوه فراخوانی یک web service از ECMAScript (java script) :
برای اینکه برنامه شما قادر باشد ASP.NET AJAX Web Service را با استفاده از client script  فراخوانی کند ، لایه Calling Web Services from Client Script in ASP.NET AJAX بصورت خودکار کلاس های JavaScript proxy را ایجاد می کند.  یک کلاس proxy به ازای هر web service که در هر یک از عناصر <asp:serviceRefrence> در زیر کنترل <asp:ScriptManager> داخل صفحه ، تولید می شود. 

برای فراخوانی یک متد از داخل web service ، شما باید متد تولید شده متناظر با آن را ، از داخل کلاس JavaScript proxy فراخوانی نمایید. در واقع این کلاس است  ارتباط با Web Service را برقرار می کند.

برای نشان دادن این موضوع از 3 فایل Default.aspx  که صفحه اصلی است ، CallWebServiceMethods.js که کدهای جاوا اسکریپت برای ارتباط با web service در آن است  و در آخر WebService.asmx که متدهای Web sevice در آن قرار دارد ، تشکیل شده است.
برای برقراری ارتباط  بین این سه فایل با استفاده از کنترل Script Manager می توان کدی بصورت زیر نوشت :
Default.aspx
        <asp:ScriptManager ID="ScriptManager1" runat="server" >
        <Scripts>
            <asp:ScriptReference Path="CallWebServiceMethods.js" />
        </Scripts>
        <Services>
            <asp:ServiceReference Path="WebService.asmx" />
        </Services>
        </asp:ScriptManager>
فراخوانی یک متد از Web Service ، که پارامتر می گیرد

در این مرحله همانند قسمت قبل عمل می شود ، با این تفاوت که در فراخوانی متد در Java Script ابتدا پارامتر های متد پاس داده می شود و در آخر متد Event Handler.
Default.aspx
<tr align="left">
    <td>Method that takes parameters:</td>
    <td>
        <!-- Passing simple parameter types to 
        the Web service. --> 
        <button id="Button3" 
            onclick="Add(20, 30);">Add</button>
    </td>
</tr>

Web Service
[WebMethod]
public string Add(int a, int b)
{
    int addition = a + b;
    string result =
        String.Format("The addition result is {0}.",
            addition.ToString());

    return result;
}

Java Script
// This function calls the Web service method 
// passing simple type parameters and the 
// callback function  
function Add(a,  b)
{
    WebService.Add(a, b, 
        SucceededCallback);
}
 

 

0 نظر

نظر محترم شما در مورد مقاله های وب سایت برنامه نویسی و پایگاه داده

نظرات محترم شما در خدمات رسانی بهتر ما را یاری می نمایند. لطفا اگر مایل بودید یک نظر ما را مهمان فرمائید. آدرس ایمیل و وب سایت شما نمایش داده نخواهد شد.

حرف 500 حداکثر