Soap چیست ؟

SOAP = Simple Object Access Protocol

Soap
Soap

پروتکلی است ساده برای تبادل ساده پیامهایی از جنس 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 به راحتی شما را قادر خواهد کرد تا بین برنامه‏ هایی که در بسترهای متفاوت طراحی شده اند و در بسترهای متفاوتی در حال سرویس ‏دهی هستند، ارتباط برقرار کنید.