: شما در اینجا هستید

SOAP(Simple Object Access Protocol)  یک پرتکل است

REST(Representational State Transfer)  یک معماری است

 

SOAP REST
بخوبی برای محیط های محاسباتی توزیع شده کاربرد دارد. برای ارتباطات مدل نقطه به نقطه (point-to-point) طراحی شده است و برای محیط های توزیع شده قابل استفاده نیست.
پرتکل و middleware های زیادی برای راه اندازی ارتباط لازم است. برای راه اندازی ارتباط احتیاج به پرتکل یا middleware خاصی نیست و فقط پرتکل HTTP کفایت می کند.
محتوای پیغام ردوبدل شده مشخص کننده سرویس فراخوانی شده می باشد. بطور معمول URL در سرویس های REST بیانگر سرویس های سیستم می باشد.
کاملا قابل اطمینان است. قابل اطمینان نیست. برای مثال ممکن است یک دستور HTTP DELETE وضعیت OK برگرداند در حالی که عملیات حذف در سرور انجام نشده است.
حجم اطلاعات منتقل شده باید منطبق با SOAP schema باشد. محدودیتی در حجم اطلاعات منتقل شده وجود ندارد.
از استانداردهای فراوانی برای مباحث امنیت، قابلیت اعتماد و تراکنش ها پشتیبانی می کند. فقط از استاندارد های مشهور مانند HTTP, SSL پشتیبانی می کند.
هر دو پرتکل SMTP و HTTP بعنوان پرتکل لایه application قابل استفاده هستند. با مدل HTTP transport ارتباط تنگاتنگی دارد.
مکانیزم error handling ندارد. مکانیزم error handling بصورت توکار دارد.
پیچدگی بالا در پیاده سازی. سادگی در پیاده سازی.

 

 

چند تفاوت مهم دیگری که  SOAP با REST دارد

پیچیدگی SOAP است

وقتی یک WebService از نوع SOAP داشته باشیم یک ادرس به صورت WSDL…/…. داریم که برای Call کردن آن نیاز داریم تا آن را ابتدا Schema آن را تقکیک کنیم سپس یک درخواست با توجه به Schema آن ارسال کنیم سپس جواب را دریافت کنیم.

وقتی یک WebService از نوع REST داشته باشیم میتوانیم در همان ادامه ی URL متد های مورد نیاز را Call کنیم به طور نمونه RESTSERVICE/find/book/hafez و جواب را دریافت کنیم.

در ارسال پارامتر ها REST به مراتب آسان تر از SOAP است . در SOAP نمیتوان هر نوع پارامتری ارسال کرد.

و در انتها Client وب سرویس SOAP از Client سرویس REST پیچیده تره ، اگر نیاز داشته ارسال و دریافت توابع پیچیده با آرگومان های متفاوت و زیاد داشته باشیم بهتر است از SOAP استفاده کنیم . ولی برای استفاده های ساده REST گزینه ی بهتری است.

در نهایت روش SOAP بیشتر برای پیاده سازی سرویس های میانی مورد استفاده قرار می گیرد و روش REST بیشتر در مواردی کاربرد دارد که نیازی به سرویس میانی وجود ندارد و اصطلاحا ارتباط point-to-point است.

Last Updated On مارس 12, 2018
Leave Comment