با استفاده از پروتکل دسترسی آسان به اشیاء یا ( SOAP ( Simple Object Access Protocol میتوان به ارسال و تبادل پیامهایی از جنس XML بر روی شبکههای کامپیوتری مبادرت نمود. این پروتکل برای تبادل پیغامهای مبتنی بر XML در میان شبکههای کامپیوتری است که معمولا از HTTP/ HTTPS استفاده میکند. SOAP لایه زیر بنای پشته خدمات وب را تشکیل میدهد که یک چارچوب پیغام دهی ایجاد میکند که لایههای مجرد بیشتری میتوانند بر روی آن ایجاد شوند. طرحهای پیغام دهی مختلفی در SOAP وجود دارند که معمول ترین آنها طرح Remote Procedure Call میباشد و بدین گونه است که یک گره شبکه (مشتری) یک پیغام درخواست را به گره دیگر (سرور) میفرستد و سرور به سرعت یک پیغام پاسخ را به مشتری میفرستد. SOAP جانشین XML-RPC میباشد که خنثی بودن درمورد انتقال و تبادل را از آن و پوشش، سرفصل و بدنه را از جای دیگر (معمولا WDDX) به عاریه گرفتهاست. SOAP توان استفاده از یک پروتکل لایه کاربرد اینترنت را بعنوان یک پروتکل انتقال، ایجاد میکند.
انتقاداتی مطرح شده است مبنی براین که این کار یک جور سوء استفاده از چنین پروتکلهایی میباشد، چون این هدفی نبودهاست که برایش در نظر گرفته شده باشد و بنابراین نمیتواند به خوبی از عهده این نقش برآید. اما طرفداران SOAP تناسب را در استفاده موفق از پروتکلها در سطوح مختلف برای Tunneling سایر پروتکلها، گوشزد کردهاند. SMTP و HTTP هردو پروتکلهای مجاز لایه کاربرد هستند که بعنوان انتقال برای SOAP استفاده شدهاند اما از آنجا که HTTP بخوبی با زیر ساختهای امروزی اینترنت کار میکند، بیشتر مورد پذیرش قرار گرفتهاست، بویژه اینکه SOAP بخوبی با دیوارهای آتش کار میکند. SOAP میتواند بر روی HTTPS نیز استفاده شود زیرا آن هم دارای پروتکل مشابه HTTP در لایه کاربرد است ولی در زیر آن از پروتکل انتقال انکریپت شده استفاده میکند. این متد مورد نظر WS-I برای ایجاد امنیت در سرویسهای وب است. این یک پیشرفت بزرگ در برابر سایر پروتکلهای منتشری چون GIOP/IIOP یا DCOM است که بطور طبیعی توسط Firewall ها فیلتر میشوند. XML بعنوان فرمت استاندارد پیغامها انتخاب شدهاست چون بطور گستردهای توسط موسسات بزرگ و موارد کد باز مورد استفاده قرار میگیرد. بعلاوه، تعداد زیادی از ابزارهایی که بطور رایگان در دسترس هستند، بطور مشهود سبب راحتی تبدیل به یک کاربریهای مبتنی بر SOAP میشود. ترکیب نحوی عمدتا طولانی XML میتواند هم حسن باشد و هم نقص. فرمت آن برای انسانها قابل خواندن است اما میتواند پیچیده باشد و زمان پردازش آن آهسته باشد. بعنوان مثال CORBA ، GIOP ، ICE و DCOM از فرمتهای پیغام باینری کوتاهتر استفاده میکنند. از طرفی، وسایل سخت افزاری در دسترس هستند تا پردازش پیغامهای XML را تسهیل کنند.
نقاط قوت :
استفاده از SOAP روی HTTP در مقایسه با تکنولوژیهای اجرایی قبلی، سبب تسهیل ارتباط در پس پراکسیها و فایروالها میشود. SOAP به حدی فراگیر است که استفاده از پروتکلهای انتقال مختلف را مقدور میسازد. Strack های استاندارد از HTTP بعنوان یک پروتکل انتقال استفاده میکنند اما از سایر پروتکلها نیز میتوان استفاده نمود (TCP, SNMP).
نقاط ضعف :
به علت فرمت طولانی XML، SOAP میتواند بطور قابل ملاحظهای نسبت به تکنولوژیهای میان افزار رقیب مانند CORBA کندتر باشد. این مساله هنگامی که پیغامهای کوتاه تبادل میشوند، چندان قابل توجه نیست. از سوی دیگر SOAP دارای مکانیسم بهینه سازی انتقال پیغام میباشد. بسیاری از کاربریهای SOAP مقدار دادههایی را که باید فرستاده شود، محدود میکنند.
اکثر استفادهها از HTTP به عنوان یک پروتکل انتقال، با چشم پوشی از این مساله که چگونه این عمل در HTTP مدل بندی میشود، انجام میگیرد. این چشم پوشی به عمد انجام میگیرد با قیاس به اینکه چگونه پروتکلهای مختلف در IP Stack بر روی همدیگر مینشینند، اما این قیاس ناقص است ، چون پروتکلهای Application استفاده شده بعنوان پروتکلهای انتقال، در واقع پروتکلهای انتقال نیستند. به همین دلیل راهی وجود ندارد که بدانیم آیا متد استفاده شد برای عمل مورد نظر مناسب است یا خیر. این مساله، تحلیل درست عملیات را در سطح Application-Protocol با مشکل مواجه میسازد که در بهترین وجهش به سبب نتایج غیر بهینه است. اگر اتصالات مبتنی بر POST برای یک Application استفاده شده است که در HTTP ممکن است بطور خنثی تر بعنوان عملیات GET مدل بندی شده باشد و میتواند دارای باگ باشد. اگر بعنوان مثال اتصالات مبتنی بر GET برای عملیاتی استفاده شده باشد که دارای Idempotency مورد نیاز GET نباشد.
-
- تعداد بازدید: 1915
- تاریخ انتشار: يكشنبه 16 آبان 1389 ساعت 16:14