وب سرویس چیست و چه کاربردی در زندگی امروزی دارد؟
همهی ما روزانه در حال استفاده از Web service هستیم بدون اینکه خودمان متوجه آن باشیم. وب سرویس یکی از رایجترین اصطلاحات کاربردی در دنیای برنامه نویسی است. در اصل هنگامی که در حال خرید بلیط هواپیما یا قطار هستید، یا زمانی که اطلاعات بانکی خود را از طریق موبایل بانک دریافت میکنید در حال استفاده از Web service هستید. این فناوری اجزای یک نرم افزار هستند که از طریق پروتکل ارتباط برقرار میکنند. این فناوری به منابع بیرونی نیازی ندارد که اصطلاحلا به آنها self _contained میگویند. میتوان از این قابلیت برای اپلیکشینهای دیگر هم استفاده کرد.
وب سرویس چیست؟
Web service یک نوع رابط برنامه نویسی است که بر بستر وب پیاده سازی میشود. که با استفاده از پروتکلهای استاندارد مانند http توابع و مکانیزمهای مختلفی را در اختیار ما قرار میدهد تا بتوانیم تبادل اطلاعات در سیستمهای مختلف را انجام دهیم. به عبارت دیگر Web service ارتباط میان نرم افزار با نرم افزار و کلاینت با نرم افزار را فراهم میکنند. و یک رابط ارتباطی میباشد که به منظور تبادل اطلاعات در نرم افزارهای مختلف توسط سازمان W3C توسعه یافته است. که میتواند بدون هیچ نیاز خاصی بر روی سیستم عاملها و زبانهای برنامه نویسی مختلف عملکرد یکسانی داشته باشد.
خدمات وب توسط نرم افزارها و سرویسهای مختلفی ارائه میشوند که افراد را قادر به تعامل و ارتباط در سراسر اینترنت میکنند. و معمولا از زبانهای مختلفی تشکیل شدهاند که میتوانند با یکدیگر ارتباط برقرار کنند.
هدف اصلی استفاده از Web service چیست؟
هدف اصلی استفاده از Web service ایجاد راه ارتباطی بین سرور و کلاینت بر اساس استاندارهای مشخص است. در این صورت برای اینکه Web service بتواند عملکرد یکسانی در سیستمهای مختلفی داشته باشد باید از چهار پروتکل استاندارد مشخص پیروی کند.
چهار استاندارد مورد استفاده در وب سرویس
یک سرویس وب که برنامههای جاوا، PHP یا Net را ارائه میکند، میتواند از طریق شبکه با یکدیگر ارتباط برقرار کند. از نظر عملیات شرکتی، وب سرویس مزایای مختلفی دارند. با کاهش زمان توسعه، این فناوری به متخصصان فناوری اطلاعات و معماران وب در ساده سازی اتصال کمک میکند. که امکان توزیع کارآمد فناوری را در سراسر یک شبکه کامل در یک کسب و کار B2B فراهم میکند. که در آن هر دو طرف از نحوه عملکرد فرآیند مطلع خواهند شد. اجزای Web service عبارتند از:
XML (extensible Markup Language)
XML نوعی زبان نشان گذاری است. که برای انتقال اطلاعات به صورت متن استفاده میشود.
SOAP (Simple Object Access Protocol)
روشی برای انتقال اطلاعات در Web service میباشد که از استاندارهای زیادی پیروی میکند. استاندارد SOAP دارای امنیت بالا برای انتقال اطلاعات و کاملا قابل اطمینان است.
WSDL (Web Service Description Language)
از WSDL برای استاندار سازی انتقال اطلاعات در Web service استفاده میشود. این پروتکل روش ارتباط بین Web service و کلاینت را مشخص میکند.
UDDI (Universal Description Discovery and Integration)
استاندارد UDDI امکان معرفی و ثبت Web service را برای برنامه نویسان فراهم میکند. به عبارت دیگر UDDI فهرستی است که نحوه دسترسی و نوع ارتباط Web service در آن مشخص شده است.
انواع معماری وب سرویس
RPS (Remote Procedure Call)
RPS پروتکلی است که با استفاده از آن یک نرم افزار میتواند یک سرویس را از نرم افزاری دیگر در یک کامپیوتر به وسیله تابعی درخواست کند. پروتکل RPS ارتباط میان نرم افزارهای مختلف در شبکه را بدون نیاز به درک جزئیات آن امکان پذیر میکند.
SOA (Service Oriented Architecture)
معماری SOA یک نوع از طراحی نرم افزاری است که در آن خدمات به کامپوننتهای (اجزای نرم افزاری) مجزا تقسیم میشوند. بنابراین برای تبادل اطلاعات میان سرویسهای مختلف از کامپوننتها استفاده میشود. تبادل اطلاعات در بین سرویسها بر اساس یک پروتکل انتقال اطلاعات در بستر وب انجام میشود.
REST_API (Representational state transfer)
معماری رست یک سبک معماری برای ایجاد نرم افزارهای تحت شبکه است. این معماری از پروتکلهای مختلفی استفاده میکند. یکی از کاربردیترین پروتکلها، پروتکلHTTP میباشد. معماری رست برای برقراری ارتباط نقطه به نقطه است.
چرا به Web service نیاز داریم؟
برنامههای کاربردی تجاری مدرن از انواع پلتفرمهای برنامه نویسی برای توسعه برنامههای کاربردی مبتنی بر وب استفاده میکنند. برخی از برنامهها ممکن است در جاوا، .Net، Angular JS، Node.js توسعه داده شوند. در اکثر مواقع این برنامههای کاربردی ناهمگن نیاز به نوعی برقراری ارتباط دارند. از آنجایی که آنها از زبانهای مختلف توسعه یافتهاند اطمینان از ارتباط دقیق بین برنامهها بسیار دشوار است.
در این موارد است که به Web service نیاز داریم. وب سرویس یک پلتفرم مشترک را ارائه میدهد که برای چندین برنامه کاربردی ساخته شده است و به زبانهای برنامه نویسی مختلف این امکان را میدهد تا بتوانند با یکدیگر ارتباط داشته باشند.
تفاوت Web service و Web server
در اصل میتوان گفت که وب سرور یک نرم افزار بین سرور و صفحات وب میباشد که به کاربران اجازه میدهد تا صفحات، دیتابیس، تنظیمات و امنیت را در مورد جزئیات اطلاعات خود مدیریت کنند. در صورتی که Web service برنامهای است که توسط خود وب سرور اجرا میشود و وظیفه Web service برقراری ارتباط و ارسال اطلاعات به سایر وب سرویس یا برنامههایی است که درخواست اطلاعات دارند.
نحوه عملکرد Web service چگونه است؟
Web service از طریق پروتکلهای استاندار مانند: HTTP، انتقال دیتا را بین سرور و کلاینت امکان پذیر میکند. در اصل Web service پیامهای کلاینت را دریافت کرده و بر اساس درخواست ارسال شده، پاسخهای مناسب را برای کاربران ارسال میکند.
کاربرد Web service
- ارسال انبوه پیامکهای تبلیغاتی
- اژانسهای هواپیمایی، پروازهای داخلی و خارجی
- شرکتهای خدمات گردشگری، هتلهای داخلی و خارجی
- ارائه خدمات در موسسات بیمهای
تفاوت وب سایت و وب اپلیکیشن چیست؟
وب سایت مجموعهای از صفحات وب استاتیک است. استاتیک در این حوزه به این معناست که اطلاعات به گونهای سخت رمزنگاری شدهاند و نیازی به ورودی کاربر یا ارتباطاتی به پایگاه داده ندارند. به عنوان مثال وب سایت استاتیک میتواند شامل مشاغل کوچکی باشد که فقط خدمات و سرویسهای را ارائه میدهند. اما وب اپلیکیشنها وب سایتهای پویایی هستند که به طور مداوم نیاز به برقراری ارتباط با پایگاه دادهها یا خدمات پشتیبانی برای ارائه به کاربران دارند. به عنوان مثالamazon.com ، medium.com نمونههای از برنامههای وب هستند.
نتیجه گیری
Web service یک سیستم نرم افزاری برای پشتیبانی از تعامل بین دستگاه و ماشین در شبکه است. وب سرویسها از طریق UDDI قابل جستجو هستند و پلتفرم اولیه وب سرویس HTTP و XML است. امروزه بیشتر کسب و کارها مبتنی بر وب برای ارائه خدمات بیشتر به مشتریان خود به نرم افزارهای مبتنی بر Web service روی آوردهاند.