up
Search      menu
فنآوری اطلاعات :: مقاله SOAP PDF
QR code - SOAP

SOAP

SOAP چيست؟

SOAP مخفف Simple Object Access Protocol است. SOAP يک پادمان مبتني بر XML است، براي رد و بدل کردن اطلاعات بين برنامه ها. اطلاعات در SOAP به صورت پيام (Message) و از طريق پادمان‏هاي موجود در اينترنت مانند HTTP منتقل مي‏شود (SOAP در ساير پادمان ها، مانند SMTP يا MIME نيز قابل استفاده است). به زبان ساده‏تر، SOAP يک پادمان است براي دستيابي به يک سرويس ارايه شده در وب (Web Service). آخرين نسخه SOAP، نسخه 1.2 مي‏باشد.
ويژگي هاي SOAP
1.
يک پادمان ارتباطي است.
2.
براي ارسال پيام استفاده مي‏شود.
3.
براي محيط اينترنت و شبکه طراحي شده است.
4.
وابسته به محيط پياده سازي و اجرا نيست. ( Platform Independent)
5.
مبتني بر XML است.
6.
از ديوارهاي آتش (Firewall) گذر مي‏کند وديوارهاي آتش مانع آنها نمي شوند (Block نمي‏شوند).
يکي از مسايلي که در دهه اخير از اهميت خاصي برخوردار بوده، چگونگي ارتباط برنامه‏ هاي تحت اينترنت با يکديگر بوده است. همانطور که مي‏دانيد برنامه‏ هاي عادي از RPC (Remote Procedure Call) براي فراخواني اشياء DCOM يا CORBA، استفاده مي‏کنند. اما مشکلي که در اين نوع فراخواني‏ها در بستر اينترنت وجود دارد، مسدود شدن اين نوع ترافيک‏ها در Proxy Server ها و ديوارهاي آتش (Firewall ها) است.
در صورت استفاده از SOAP با اين مشکل روبرو نخواهيد بود. SOAP به راحتي شما را قادر خواهد کرد تا بين برنامه‏ هايي که در بسترهاي متفاوت طراحي شده اند و در بسترهاي متفاوتي در حال سرويس ‏دهي هستند، ارتباط برقرار کنيد.
ساختار SOAP
پيام ها (Message ها) در SOAP يک فايل XML هستند که از ساختار زير پيروي مي‏کنند:
1.
يک بخش ضروري که به آن Envelope (پاکت نامه) گفته مي‏شود که مشخص مي‏کند که اين XML يک پيام SOAP است.
2.
قسمت سرآيند (Header)که اختياري است. اين بخش شامل اطلاعاتي در مورد خود برنامه است. در صورتي که از سرآيند استفاده شود، بايد اولين عنصر در ساختار Envelope باشد.
3.
قسمت بدنه که ضروري است و شامل Call يا Response است. در واقع مشخص کننده درخواستِ برنامه‏ي سرويس‏ گيرنده يا پاسخ برنامه سرويس‏ دهنده است.
4.
قسمت Fault که قسمت خطا است و اختياري است و اطلاعاتي درباره خطاهاي بوجود آمده در هنگام پردازش پيام در خود دارد.
قوانين مهم در ساختار پيام
1.
پيام حتماً بايد در قالب XML باشد.
2.
بايد از Namespace تعريف شده در Envelope پيروي کند.
3.
فقط بايد از نوع داده‏ هاي تعريف شده و مجاز استفاده کند.
4.
در قالب پيام، نبايد از DTD استفاده شود. DTD براي يک XML ، مانند Design View يک جدول در Database است و مشخص مي‏کند که فيلدهاي آمده در XML از چه نوع هستند و با چه ترتيبي مي‏آيند. براي مثال:
1.
نبايد شامل دستورات پردازشي باشد.
قالب کلي پيام
قالب پيام به صورت زير است:
<
soap:Envelopexmlns:soap= http: www.w3.org 2001 12 soap-envelope soap:encodingStyle= http: www.w3.org 2001 12 soap-encoding >
...
...
...
براي مشاهده جزئيات بيشتر و ساختار کامل پيام آدرس زير را کليک کنيد.
http: www.w3.org 2001 12 soap-envelope
نوع داده هاي مجاز را نيز در آدرس زير مي‏توانيد مشاهده کنيد:
http: www.w3.org 2001 12 soap-encoding
توجه: encodingStyle مشخص کننده قالب نامه است که به طور استاندارد مقدار مشخص شده در مثال را دارد.
يک درخواست و پاسخ آن با SOAP
هنگام استفاده از پادمان HTTP، در هر درخواست بايد Content-Type و Content-Length مشخص شود. که براي SOAP، موارد ارسالي در مثال زير، به طور معمول مورد استفاده قرار مي‏گيرند.
در اين مثال ، درخواست قيمت سيب و پاسخ آن آورده شده است. مشتري (Client) يک XML را به کارگزار مي فرستد که در آن قالب مشخص شده توسط برنامه کارگزار (Server) رعايت شده است و در خواست مشتري در آن قرار دارد. در اين مثال، قيمت سيب، موردنظر است که در برچسب m:GetPrice ، آمده است. در صورتي که قالب تعيين شده توسط سرور اين اجازه را به شما بدهد که چند مورد را در يک در خواست بفرستيد، مي توانيد اين کار را انجام دهيد.
برنامه کارگزار نيز، با استفاده از يک فايل XML پاسخ مشتري را مي دهد و قيمت را در يک برچسب با عنوان m:GetPriceResponse به مشتري تحويل مي دهد.
POST InStock HTTP 1.1
Host: www.stock.org
Content-Type: application soap+xml; charset=utf-8
Content-Length: nnn
<
soap:Envelopexmlns:soap= http: www.w3.org 2001 12 soap-envelope soap:encodingStyle= http: www.w3.org 2001 12 soap-encoding >
Apples
HTTP 1.1 200 OK
Content-Type: application soap; charset=utf-8
Content-Length: nnn
<
soap:Envelopexmlns:soap= http: www.w3.org 2001 12 soap-envelope soap:encodingStyle= http: www.w3.org 2001 12 soap-encoding >
1.90
معايب SOAP
همانطور که مي‏د‏انيد اولين حرف از حروف تشکيل دهنده ‏يSOAP ، S است که حرف اول Simple است. همين مورد، باعث شده است تا سادگي بر هرچيز در اين سيستم، مقدم باشد. براي همين در SOAP بسياري از کاستي ‏ها ديده مي‏شود، که يکي از مهمترين آنها امنيت و قابليت اعتماد پايين در SOAP است.
همين کاستي باعث شده است که توليدکنندگان نرم‏افزار به اين فکر بيفتند تا SOAP را توسعه دهند و استانداردهاي جديدتري با امکانات بيشتري توليد کنند. استاندارد توليد شده توسط مايکروسافت با نام GXA (Global XML Web Services Architecture) ارايه شد. که يک پياده‏سازي ازآن WSE (Web Services Enhancements) است. WSE يک ابزار قدرتمند است که شما با استفاده از DotNet Framework و WSE مي توانيد وب سرويس هاي امن و قدرتمند بنويسيد. به بيان ساده‏تر WSE ابزار شما براي طراحي و ساخت وب سرويس ها با .NET مي باشد. WSE را مي توانيد از سايت Microsoft بارگيري کرده و نصب کنيد.

دانلود نسخه PDF - SOAP