خیلی از شما در مورد اصطلاح وب سرویس چیز هایی شنیدید، ولی احتمالا نمیدونید دقیقا چی هست و اینکه کارش چیه؟ قابل توجه است که بسیاری از افراد روزانه از اپلیکیشن ها و نرم افزارهای معروفی مثل اسنپ، فرادرس ، دیوار و ... استفاده میکنند. آیا میدانستید که وب سرویس ها در تمامی اپلیکیشن های این شرکت ها پیاده سازی شده است؟ پس اگر میخواهید با مفاهیم وب سرویس ها و استاندارد های وب سرویس آشنا شوید به هیچ عنوان ادامه مطلب را از دست ندهید.
وب سرویس چیست ؟
قابل توجه است که همه نرم افزارها و اپلیکیشین های نصب شده در گوشی شما، فقط آن اپلیکیشین نیستند! در بعضی مواقع آن اپلیکیشین ها حتی 20 درصد نرم افزار را نیز تشکیل نمیدهد. چرا؟ چون اپلیکیشن ها به عنوان یک کلاینت (Client)، فقط کار تعامل کاربر با نرم افزار را انجام میدهند. در واقع اکثر پردازش های پروژه در خود اپلیکیشین که در گوشی شما نصب شده، نیست. حالا شاید این سوال هم برای شما پیش بیاید که محل پردازش های اپلیکیشن در کجاست؟ آن پردازش های اصلی و بزرگ نرم افزار ها، در سمت سرور وب انجام میشود. پس در تعریفی کلی در جواب اینکه وب سرویس چیست ؟، میگوییم که وب سرویس یک پل ارتباطی بین کلاینت و سرور است که کار انتقال اطلاعات بین بخش های مختلف نرم افزار را انجام میدهد.
استاندارد وب سرویس ها
به این وب سرویس ها از پروتکل های استاندارد و پرکاربرد وب پیروی میکنند که به صورت زیر است :
1- تکنولوژی ای جکس (Ajax) که برای انتقال اطلاعات استفاده میشود.
2- وب سرویس سواپ (SOAP) به مخفف Simple Object Access Protocol است که برای انتقال اطلاعات در سطح اینترنت مورد استفاده قرار میگیرد و همچنین دارای امنیت بسیار بالایی است. اما این امنیت بالا، پیچیدگی های خوص خود را نیز هم دارد.
3- ایکس ام ال (XML) یک زبان نشانه گذاری است که برای انتقال اطلاعات در وب سرویس ها استفاده میشود که قابلیت گسترش دادن را دارد.
4- دبیلیو اس دی ال (WSDL) در وب سرویس ها که مخفف Web Service Description Language است، برای استاندارد ساختن تبادل اطلاعات ایجاد شده است. این استاندارد، راه های ارتباط بین وب سرویس و کلاینت را با استفاده از فایل های ایکس ام ال مشخص میکند. پس از بررسی استاندارد های وب سرویس ها، زمان آن رسیده که به نوع معماری آن ها بپردازیم.
معماری وب سرویس ها
معماری های وب سرویس ها در سطح اینترنت، به طرز مختلفی در حال پیاده سازی شدن هستند. که برایتان 3 نمونه از معماری های وب سرویس را به مختصر توضیح خواهیم داد :
یکی از معروف ترین معماری های وب سرویس رست ای پی آی (Rest API) نام دارد، این مدل معماری به منظور ایجاد اپلیکیشن های سمت شبکه ایجاد شده است که در حال حاضر از پروتکل های مختلفی استفاده میکند. یکی از پروتکل های پرکاربرد این معماری ها که در URL سایت ها مشاهده میشود، HTTP نام دارد. یکی از دلایل معروف بودن این معماری، نداشتن پیچیدگی بسیار زیاد نسبت به دیگر معماری ها است که میتوان به عنوان نقطه قوت این معماری نیز از آن یاد کرد.
یکی دیگر از معماری های موجود در سطح وب، اس او ای (SOA) نام دارد، در واقع این معماری یک نوع از سبک های طراحی است که خدمات موجود در اپلیکیشن به قسمت های مختلف تقسیم میشود تا سرعت وب سرویس افزایش یابد. همچنین این معماری از یک پروتکل برای انتقال داده ها استفاده میکند.
پی آر سی (PRC) به عنوان یک پروتکل پر کاربرد، با استفاده از فراخوانی یک اپلیکیشن میتواند یک وب سرویس را از یک نرم افزار کامپیوتری با وسیله توابع از پیش تعریف شده، به گرفتن اطلاعات بپردازد. سپس آن اطلاعات را به نرم افزار دیگر منتقل کند. پس از بررسی استاندارد های موجود در وب سرویس ها، به مثالی از وب سرویس ها توجه کنید.
برای مثال بعد از باز کردن اپلیکیشن دیجیکالا در گوشی همراه تان، اطلاعات محصولی که مورد نظرتان است برایتان نمایش داده میشود. اما این اطلاعات در واقع در گوشی شما نیست. بلکه این اطلاعات در سمت سرور دیجیکالا ذخیره شده است. پس برای نمایش آن اطلاعات از سمت سرور، باید یک ارتباط یا لینکی باشد که آن اطلاعات در گوشی شما بارگذاری شود. در نتیجه آن لینک یا رابط که میتواند پل ارتباطی بین کلاینت و سرور باشد، وب سرویس نام دارد.
برای دریافت اطلاعات بیشتر پیشنهاد میکنم به هیچ وجه ویدئوی زیر که به توضیح کامل وب سرویس چیست ؟ میپردازد را از دست ندهید.
لینک ویدئوی وب سرویس چیست ؟