Soap چیست ؟
SOAP = Simple Object Access Protocol
پروتکلی است ساده برای تبادل ساده پیامهایی از جنس xml بر روی شبکه های رایانهای. این پروتکل معمولاً از HTTP/HTTPS برای داد و ستد داده استفاده میکند. Soap لایه زیر بنای پشته خدمات وب را تشکیل میدهد که یک چارچوب پیغام دهی ایجاد میکند که لایههای مجرد بیشتری میتوانند بر روی آن ایجاد شوند.
طرحهای پیغام دهی مختلفی در soap موجودند که معمولترین آنها طرح remote procedure call میباشد و بدین گونه است که یک گره شبکه (مشتری) یک پیغام درخواست را به گره دیگر (سرور) میفرستد و سرور به سرعت یک پیغام پاسخ را به مشتری میفرستد. SOAP جانشین XML-RPC میباشد که خنثی بودن درمورد انتقال و تبادل را از آن و پوشش/سرفصل/بدنه را از جای دیگر (معمولا WDDX) به عاریه گرفتهاست.
مخفف Simple Object Access Protocol و یک پروتکل مبتنی بر XML برای رد و بدل کردن اطلاعات بین برنامه ها است. اطلاعات در SOAP به صورت پیام (Message) و از طریق پروتکلهای موجود در اینترنت مانند HTTP منتقل میشود (SOAP در سایر پروتکل ها، مانند SMTP یا MIME نیز قابل استفاده است). به زبان ساده تر، SOAP یک پروتکل برای دستیابی به یک سرویس ارایه شده در وب (Web Service) است.
برخی از ویژگیهای SOAP عبارتند از :
• وابسته به محیط پیاده سازی و اجرا نیست. ( Platform Independent)
• یک پروتکل ارتباطی مبتنی بر XML است.
• از دیوارهای آتش (Firewall) گذر میکند ودیوارهای آتش مانع آنها نمی شوند (Block نمیشوند).
• برای ارسال پیام استفاده میشود.
• برای محیط اینترنت و شبکه طراحی شده اند.
یکی از مسایلی که در دهه اخیر از اهمیت خاصی برخوردار بوده، نحوه ارتباط برنامه های تحت اینترنت با یکدیگر بوده است. همانطور که میدانید برنامه های عادی از RPC که مخفف Remote Procedure Call یا فراخوانی روالهای از راه دور ، برای فراخوانی اشیاء DCOM یا CORBA، استفاده میکنند. اما مشکلی که در این نوع فراخوانیها در بستر اینترنت وجود دارد، مسدود شدن این روشها در Proxy Server ها و دیوارهای آتش (Firewall ها) است. در صورت استفاده از SOAP با این مشکل روبرو نخواهید بود. SOAP به راحتی شما را قادر خواهد کرد تا بین برنامه هایی که در بسترهای متفاوت طراحی شده اند و در بسترهای متفاوتی در حال سرویس دهی هستند، ارتباط برقرار کنید.