وب سرویس چیست و چه کاربردی در برنامه نویسی دارد؟

دسته بندی: برنامه نویسی
سطح مقاله: متوسط
زمان مطالعه: ۷ دقیقه
۰۱ مرداد ۱۳۹۸
فارسی
وب سرویس
English
Web Service

وب سرویس چیست : Web Service یکی از رایج ترین اصطلاحات در دنیای برنامه نویسی است. شاید این سوال برای شما پیش بیاید که وب سرویس چیست؟ و چه کاربردی دارد؟ چه کاربر عادی باشید و چه برنامه نویس، روزانه در حال استفاده از این رابط ها هستید. شاید ندانید که دنیای اطراف ما پر از وب سرویس ها است. در واقع زمانی که یک بلیط قطار خرید می کنید، اطلاعات بانکی خود را از موبایل بانک دریافت می کنید و... از وب سرویس ها استفاده کرده اید. پس اگر می خواهید بیشتر با وب سرویس ها آشنا شوید، تماشای ویدئوی زیر را از دست ندهید.

وب سرویس چیست؟

وب سرویس یک نوع رابط برنامه نویسی است که بر بستر وب پیاده سازی می شود. این رابط ها با استفاده از پروتکل های استاندارد مانند http، توابع و مکانیزم های مختلفی در اختیار ما قرار می دهند تا بتوانیم به تبادل اطلاعات در بین سیستم های مختلف بپردازیم. به عبارتی دیگر این رابط ها ارتباط میان نرم افزار با نرم افزار و کلاینت با نرم افزار را امکان پذیر می کند.

وب سرویس مانند پلی ارتباطی است که به منظور تبادل اطلاعات میان نرم افزارهای مختلف توسط سازمان W3C توسعه یافته است. این رابط ها می توانند بدون وابستگی و پیش نیازی خاص بر روی سیستم عامل ها و زبان های برنامه نویسی مختلف، عملکردی یکسان داشته باشند. بنابراین به صورت کلی می توان کاربردها و ویژگی های آن ها را به صورت زیر در نظر گرفت :

  • وابسته نبودن به سیستم عامل
  • وابسته نبودن به زبان های برنامه نویسی
  • آسان کردن ارتباط میان بخش های نرم افزاری مختلف
  • آسان کردن ارتباط میان نرم افزار با کلاینت
  • یکپارچه سازی اطلاعات در میان پلتفرم های مختلف

استانداردهای مورد استفاده در Web Service ها

وب سرویس چیست

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

  • (XML (eXtensible Markup Language : زبان XML نوعی زبان نشانه گذاری قابل گسترش است. از این زبان به منظور انتقال اطلاعات به صورت متن در بین وب سرویس ها استفاده می شود.
  • (SOAP (Simple Object Access Protocol : روشی برای انتقال اطلاعات در وب سرویس ها است که از استانداردهای زیادی پیروی می کند. این پروتکل برای انتقال اطلاعات با سطح امنیتی بالا مناسب است و کاملا قابل اطمینان می باشد. پیاده سازی وب سرویس های مبتنی بر پروتکل SOAP از پیچیدگی بیشتری برخوردارند. استفاده از این پروتکل در سرویس های توزیع شده (distributed systems) کاربرد بیشتری دارد.
  • (WSDL (Web Service Description Language : به منظور استاندارد سازی انتقال اطلاعات در وب سرویس ها ایجاد و توسعه داده شد. همه رابط هایی که از این استاندارد استفاده می کنند، دارای یک فایل XML هستند که در آن روش به کارگیری این پروتکل شرح داده شده است. این استاندارد روش ارتباط بین وب سرویس و کلاینت را مشخص می‌ کند.
  • (UDDI (Universal Description, Discovery and Integration : این استاندارد امکان معرفی و ثبت وب سرویس ها را برای برنامه نویسان و شرکت ها فراهم می کند. این پروتکل یک فایل XML است که وب سرویس ها به منظور اتصال به یکدیگر از طریق آن تعیین مکان می شوند. به عبارتی دیگر UDDI فهرستی از وب سرویس ها است که در آن نوع و نحوه دسترسی آن ها مشخص شده است.

معماری های وب سرویس‌ ها

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

  • روش فراخوانی از راه دور - (Remote procedure call) : روش فراخوانی از راه دور (RPC) پروتکلی است که با استفاده از آن یک نرم افزار می تواند یک سرویس را از نرم افزاری در کامپیوتری دیگر به وسیله توابعی درخواست کند. این پروتکل ارتباط میان نرم افزارهای مختلف در شبکه را بدون نیاز به درک جزئیات آن شبکه امکان پذیر می کند.
  • معماری سرویس گرا - (Service-oriented architecture) : معماری سرویس گرا (SOA) یک سبک طراحی نرم افزار است که در آن خدمات به کامپوننت های (اجزای نرم افزاری) مجزا تقسیم می شوند. بنابراین برای تبادل اطلاعات میان سرویس های مختلف از هر یک از این کامپوننت ها استفاده می شود. تبادل اطلاعات بین سرویس ها بر اساس یک پروتکل انتقال اطلاعات در بستر وب صورت می گیرد.
  • معماری رِست - (Representational state transfer - REST API) : یک سبک معماری برای ایجاد نرم افزارهای تحت شبکه است که از پروتکل های مختلف استفاده می کند. یکی از پرکاربردترین پروتکل ها در این معماری، پروتکل HTTP است. این معماری با هدف برقراری ارتباطات نقطه به نقطه طراحی شده است و برای محیط های توزیع شده قابل استفاده نیست. پیاده سازی این نوع رابط ها از پیچیدگی کمتری نسبت به روش های دیگر برخوردار است.

شیوه عملکرد وب سرویس ها

وب سرویس چیست

برای درک بهتر شیوه عملکرد یک وب سرویس تصور کنید شما یک واحد نرم افزاری در اختیار دارید که در نقطه ی X است. همه افراد و بخش های نرم افزاری که در نقطه X نیستند، اگر بخواهند از خدماتی که آن واحد نرم افزاری در نقطه X ارائه می دهد استفاده کنند باید از این رابط ها استفاده کنند. بنابراین باید رابطی وجود داشته باشد که بتواند خدمات ارائه شده در آن نقطه را در اختیار سایر نقاط قرار دهد. اطلاعاتی که با استفاده از این رابط ها در بین نرم افزارهای مختلف رد و بدل می شوند به صورت فایل و معمولا بر اساس یکی از دو استاندارد XML و JSON انتقال داده می شوند.

نتیجه گیری

امروزه کسب و کارهای مبتنی بر وب برای ارائه خدمات بیشتر به مشتریان و کاربران خود، به نرم افزارهای مبتنی بر وب سرویس ها روی آورده اند. کسب و کارهایی مانند رزرو بلیط قطار، اطلاعات هواشناسی، خدمات بانکی و... نمونه هایی از خدماتی هستند که بر پایه این رابط ها پیاده سازی شده اند. آیا تا کنون از اینگونه نرم افزارها استفاده کرده اید؟

نویسنده
عاشق برنامه نویس و نوشتن

نظرات کاربران

احسان

سلام یه سوال؟ اون وب سرویسی که ما می نویسیم کجا بارگزاری میشه ؟ که بعدا بهش از هر جایی دسترسی داشته باشیم ؟

نیلوفر

بسیار عالی بود ممنونم

مهدی علامه

خیلی خوشحالم که این مطلب و دوست داشتین

Mahmoud Haji Seyed Javadi

تفاوت وب سرویس و API چیست؟

مهدی علامه

سلام محمد عزیز
وب سرویس همانطور که در مقاله بهش اشاره شد یک رابط کاربری است که بر بستر وب و با استفاده از پروتکل های مختلف خدماتی را ارائه می کنند.
ولی api درحقیقت الزاما در بستر وب نیست و به آن بخش نرم ازفراری می گویند که رابطه ای بین دو نرم افزار یا سیستم و… برقرار می کند.
تشکر

ارسال دیدگاه
خوشحال میشیم دیدگاه و یا تجربیات خودتون رو با ما در میون بذارید :

 
گزارش مشکل