0 امتیاز
قبل در کامپیوتر و اینترنت توسط (760 امتیاز)

1)  لطفا" توضیح دقیق درباره SOAP بدید

2)  چند نمونه از کاربردهای اون رو بفرمایید

3)  روشها و تکنولوژی نسل قبل (اگر دارد) و اینکه آیا روش بهتری وجود داره که همین کار رو انجام بده؟

تازه با داشتن اطلاعات کامل میتوانم این پست رو بفهمم :

تفاوت وب سرویس های RESTful و SOAP در چیست؟

2 پاسخ

+2 امتیاز
قبل توسط (7.8هزار امتیاز)
SOAP مخفف Simple Object Access Protocol است. SOAP یک پادمان مبتنی بر XML است، برای رد و بدل کردن اطلاعات بین برنامه ها. اطلاعات در SOAP به صورت پیام (Message) و از طریق پادمان‏های موجود در اینترنت مانند HTTP منتقل می‏شود (SOAP در سایر پادمان ها، مانند SMTP یا MIME نیز قابل استفاده است). به زبان ساده‏تر، SOAP یک پادمان است برای دستیابی به یک سرویس ارایه شده در وب (Web Service). آخرین نسخه SOAP، نسخه 1.2 می‏باشد. ویژگی های SOAP یک پادمان ارتباطی است. برای ارسال پیام استفاده می‏شود. برای محیط اینترنت و شبکه طراحی شده است. وابسته به محیط پیاده سازی و اجرا نیست. ( Platform Independent) مبتنی بر XML است. از دیوارهای آتش (Firewall) گذر می‏کند ودیوارهای آتش مانع آنها نمی شوند (Block نمی‏شوند). یکی از مسایلی که در دهه اخیر از اهمیت خاصی برخوردار بوده، چگونگی ارتباط برنامه‏ های تحت اینترنت با یکدیگر بوده است. همانطور که می‏دانید برنامه‏ های عادی از RPC (Remote Procedure Call) برای فراخوانی اشیاء DCOM یا CORBA، استفاده می‏کنند. اما مشکلی که در این نوع فراخوانی‏ها در بستر اینترنت وجود دارد، مسدود شدن این نوع ترافیک‏ها در Proxy Server ها و دیوارهای آتش (Firewall ها) است. در صورت استفاده از SOAP با این مشکل روبرو نخواهید بود. SOAP به راحتی شما را قادر خواهد کرد تا بین برنامه‏ هایی که در بسترهای متفاوت طراحی شده اند و در بسترهای متفاوتی در حال سرویس ‏دهی هستند، ارتباط برقرار کنید. ساختار SOAP پیام ها (Message ها) در SOAP یک فایل XML هستند که از ساختار زیر پیروی می‏کنند: یک بخش ضروری که به آن Envelope (پاکت نامه) گفته می‏شود که مشخص می‏کند که این XML یک پیام SOAP است. قسمت سرآیند (Header)که اختیاری است. این بخش شامل اطلاعاتی در مورد خود برنامه است. در صورتی که از سرآیند استفاده شود، باید اولین عنصر در ساختار Envelope باشد. قسمت بدنه که ضروری است و شامل Call یا Response است. در واقع مشخص کننده درخواستِ برنامه‏ی سرویس‏ گیرنده یا پاسخ برنامه سرویس‏ دهنده است. قسمت Fault که قسمت خطا است و اختیاری است و اطلاعاتی درباره خطاهای بوجود آمده در هنگام پردازش پیام در خود دارد. قوانین مهم در ساختار پیام پیام حتماً باید در قالب XML باشد. باید از Namespace تعریف شده در Envelope پیروی کند. فقط باید از نوع داده‏ های تعریف شده و مجاز استفاده کند. در قالب پیام، نباید از DTD استفاده شود. DTD برای یک XML ، مانند Design View یک جدول در Database است و مشخص می‏کند که فیلدهای آمده در XML از چه نوع هستند و با چه ترتیبی می‏آیند. برای مثال: Code: <!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)> نباید شامل دستورات پردازشی باشد. قالب کلی پیام قالب پیام به صورت زیر است: Code: <?xml version="1.0" ?> ... ... ... برای مشاهده جزئیات بیشتر و ساختار کامل پیام آدرس زیر را کلیک کنید. http://www.w3.org/2001/12/soap-envelope نوع داده های مجاز را نیز در آدرس زیر می‏توانید مشاهده کنید: http://www.w3.org/2001/12/soap-encoding معایب SOAP همانطور که می‏د‏انید اولین حرف از حروف تشکیل دهنده ‏یSOAP ، S است که حرف اول Simple است. همین مورد، باعث شده است تا سادگی بر هرچیز در این سیستم، مقدم باشد. برای همین در SOAP بسیاری از کاستی ‏ها دیده می‏شود، که یکی از مهمترین آنها امنیت و قابلیت اعتماد پایین در SOAP است. نمونه هایی از آن میتوان اشاره کردکه soap ابزاری است برای استفاده از وب سرویس و طراحی وب سرویس هست. وقتی بخوایم به درگاه بانکی یا خدمات دیگری مانند ارسال اس ام اس وصل بشیم از اونها استفاده میکنیم. بله تکنولوژی نسل قبلش  XML-RPC میباشد که SOAP جانشین آن می‌باشد که خنثی بودن درمورد انتقال و تبادل را از آن و پوشش/سرفصل/بدنه را از جای دیگر (معمولا WDDX) به عاریه گرفته‌است.
+1 امتیاز
قبل توسط (1.1هزار امتیاز)

SOAP یک پروتکل ساده بر پایه XML برای نمایش و بسته بندی اطلاعات است که به برنامه های مختلف امکان تعریف و ارسال اطلاعات با استفاده از پروتکل HTTP را می دهد. کاربرد اصلی SOAP بعنوان پرتکل استاندارد برای انتقال پیغام در وب سرویس ها است. به زبان ساده تر SOAP پرتکل دسترسی به وب سرویس ها است.

سوالات مشابه

+1 امتیاز
1 پاسخ 714 بازدید
+1 امتیاز
1 پاسخ 530 بازدید
سوال شده 5 سال قبل در برنامه نویسی توسط Simpath (187 امتیاز)
0 امتیاز
1 پاسخ 926 بازدید
سوال شده 6 سال قبل در برنامه نویسی توسط masoud shahhosseini_ (45 امتیاز)
+1 امتیاز
1 پاسخ 1.9هزار بازدید
+2 امتیاز
1 پاسخ 805 بازدید
+2 امتیاز
1 پاسخ 13.6هزار بازدید
0 امتیاز
1 پاسخ 965 بازدید
+1 امتیاز
2 پاسخ 716 بازدید
0 امتیاز
0 پاسخ 544 بازدید
0 امتیاز
1 پاسخ 1.4هزار بازدید
...