پروتکل های سرویس گرایی – SOAP

SOAP که سر واژه کلمات Simple Object Access Protocol هست ، فرمت تبادل پیام در قالب XML می باشد که در تعاملات وب سرویس ها استفاده می شود. غالب پیام های SOAP بر بستر HTTP یا JMS انتقال می یابند با این وجود دیگر پروتکل های انتقال هم می توانند استفاده شوند. استفاده از SOAP خاصه در وب سرویس ها توسط WSDL – (Web Service Definition Language) تعریف می شود.

SOAP

SOAP

SOAP در مستندات زیر توسط کنسرسیوم وب جهانی W3C به خوبی تشریح شده است :

برای کسب اطلاعات بیشتر اینجا را ببینید.

پیام های SOAP همچون نامه های پستی در قالب یک Envelope (پاکت) در بستر اینترنت ارسال می شوند. همانطور که بالاتر هم اشاره شد SOAP یک استاندارد از سوی W3C می باشد. در واقع SOAP به عنوان جایگزینی برای REST , JSON می باشد. (پیش تر در مقاله معماری وب گرا در رابطه با تفاوت های SOAP , REST توضیحاتی نوشتم که می توانید در اینجا آنها را بخوانید)

ساختار SOAP بدین شکل هست :

ساختار پیام SOAP

ساختار پیام SOAP

پاکت نامه SOAP حاوی دو بخش است :

  • سرآیند اختیاری (Optional Header) که اطلاعاتی رو به منظور احراز هویت ، کدینگ داده ها ، یا چگونگی پردازش این پیام توسط گیرنده اشاره دارد.
  • بدنه محتوی که حاوی پیام هست. این پیام توسط WSDL تعریف می شود.

تو شکل بالا هم که کشیدم اشاره کردم که SOAP غالبا از HTTP بهره می بره ولی می تونه از پروتکل های دیگه مثل SMTP (Simple Mail Transfer Protoco)l هم استفاده کنه.

نکته : زمانی که SOAP شروع به کار کرد حروفش مخفف Simple Object Access Protocol بودند ولی از زمانی که ورژن ۱٫۰۲ استارت خورد این حروف دیگر معنای خاصی را القاء نمی کنند.

پس SOAP شامل سه بخش است :

  • Envelope
    • Packet Local Name
    • zero or more Quality Attribute
    • Body (Not Optional)1
  • Header
    • استایل رمزنگاری
    • نقش (Role)
  • Body
    • A Local name
    • A Namespace name
    • zero or more Attribute
    • zero or more Elements

توجه شود که Envelope اجباری است بر خلاف سرآیند که اختیاری است ،

ارتباط پروتکل SOAP و وب سرویس ها هم اینطوره :

پروتکل SOAP و وب سرویس ها

پروتکل SOAP و وب سرویس ها

اینجا رو هم ببینید که بخشی از مطالب از اینجا به قلم Douglas K Barry برگرفته شده است.

محمد احسان حیدری

محمد در حال حاضر دانشجوی مقطع کارشناسی ارشد رشته مهندسی فناوری اطلاعات در دانشگاه شهید بهشتی است. او علاقه زیادی به تولید محتوی غنی مرتبط با توسعه نرم افزارها و تکنولوژی های مبتنی بر وب دارد. از علایق تحقیقاتی او می توان به معماری موتورهای جست و جو، وب سرویس ها ، تکنولوژی های مبتنی بر وب ، معماری وب گرا و معماری نرم افزار اشاره کرد.

۱ دیدگاه

  1. نوانک گفت:

    سلام دوستان عزیز. وب سرویس رایگان استفاده از سیستم پیام صوتی (voice message ) رو میتونین از طریق وبسایت navanak.com استفاده کنید.موفق و پیروز باشید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

در تلگرام هم همراه شما هستم

اگر علاقه مند به مباحث معماری سیستم های اطلاعاتی و نرم افزاری هستید می توانید به کانال ما در تلگرام بپیوندید و از تازه های معماری نرم افزار اطلاع پیدا کنید

پیوستن بستن