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



visibility  
mode_comment   ۱۲

وب سرویس چیست : 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 انتقال داده می شوند.

نتیجه گیری

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

متخصص جاوا اسکریپت
با جاوا اسکریپت جادوگری کنید! آیا می دونید با زبان جاوااسکریپت می تونید، برای فرانت اند و بک اند وبسایت ها برنامه نویسی کنید؟ همینطور اپلیکیشن دسکتاپ و موبایل بسازید؟ اگر دوست داری اینکارها رو انجام بدی و React, ElectronJS, ReactNative, NodeJS,MongoDB و ... رو تو یه دوره یاد بگیری، متخصص جاوااسکریپت سون لرن رو حتما ببین : متخصص جاوا اسکریپت arrow_back
7Learn Experts
comment دیدگاه کاربران
فرشید براتی replyپاسخ

عالی…

مهدی علامه

تشکر، فرشید عزیز🌹

لقمان آوند replyپاسخ

مرسی مهدی جان

مهدی علامه

تشکر دکتر جان😍

علی عمرایی replyپاسخ

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

مجتبی شهریور replyپاسخ

سلام
سال نو مبارک
تشکر از سایت خوب و پر محتوای سون لرن

مهدی علامه

سلام دوست عزیز
همچنین، سال نو شما هم مبارک
❤🌹

Mahmoud Haji Seyed Javadi replyپاسخ

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

مهدی علامه

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

نیلوفر replyپاسخ

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

مهدی علامه

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

احسان replyپاسخ

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

add_circle ارسال دیدگاه

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