وب سرویس در اندروید

وب سرویس چیست

وب سرویس‌، استانداردی است برای انتقال داده بین پلتفرم‌ها / ماشین‌ها / نرم افزارهای مختلف (عموما بین سرویس دهنده و سرویس گیرنده یا همان سرور و کلاینت). این استاندارد در محیط های مختلف یکسان است و فارغ از نوع سخت افزار یا سیستم عامل یا زبان برنامه نویسی بکار رفته در نرم افزار مبدا و مقصد، به راحتی می‌توان داده ها را ارسال و دریافت کرد بطوری که این داده ها برای هردو طرف قابل فهم باشد. همانطور که از نام این استاندارد پیداست، وب سرویس‌ها تحت وب قابل دسترسی هستند و انتقال داده ها از طریق پروتکل‌های استانداردی مانند HTTP صورت می‌پذیرد.

امروزه وب سرویس‌ها کاربرد فراوانی دارند. بخش زیادی از مردم از وب سرویس‌ها استفاده می‌کنند در حالی که خودشان متوجه این استفاده نمی‌شوند، به این دلیل که وب سرویس‌ها در پشت صحنه کار می‌کنند.
مثال‌های متعددی برای موارد کاربرد وب سرویس می‌توان ذکر کرد. یک فروشگاه اینترنتی را درنظر بگیرید. کاربر با مراجعه به وب سایت فروشگاه، به لیست محصولاتی که روی سرور این سایت قرار گرفته دسترسی دارد و می‌تواند جزئیات محصولات از جمله نام کالا، قیمت، رنگ و اندازه را مشاهده نماید. این اطلاعات در یک دیتابیس بر روی سرور ذخیره شده است. حالا مدیر این فروشگاه آنلاین قصد دارد یک اپلیکیشن نیز در اختیار کاربران قرار دهد تا کاربر بدون نیاز به مراجعه به وب سایت و تنها با نصب برنامه روی تلفن هوشمند یا تبلت خود بتواند به لیست محصولات موجود در سایت دسترسی داشته و در صورت نیاز، یک محصول را به صورت آنلاین خریداری کند. مسلما نمی‌توان لیست و جزئیات محصولات را به صورت لوکال (محلی) بر روی دیتابیس داخلی اپلیکیشن وارد کرد زیرا داده های مرتبط با محصولات دائما در حال تغییر هستند. هر روز تعدادی محصول جدید اضافه می‌شود، تعدادی محصول حذف می‌شود، قیمت‌ها مرتبا در حال تغییر هستند و… که اگر مدیر فروشگاه بخواهد تمام این تغییرات را درون دیتابیس داخلی اپلیکیشن اعمال کند، لازم است در هر روز چندین بار نسخه جدیدی از اپ فروشگاه را منتشر کند و کاربر هم مجبور است دائما در حال بروزرسانی و دانلود و نصب نسخه‌های جدید نرم افزار باشد که عملا این کار غیر ممکن و طاقت فرساست؛ هم برای سازنده اپلیکیشن و هم کاربر. علاوه بر اشکالات قبل، در صورت ثبت اطلاعات محصولات در دیتابیس داخلی اپلیکیشن، حجم دیتابیس و در نهایت حجم اپ شدیدا افزایش یافته و برای فروشگاه‌های بزرگ ممکن است به چند صد مگابایت یا چندین گیگابایت برسد! پس راه حل منطقی دریافت اطلاعات محصولات موردنظر کاربر به صورت آنلاین از سرور است. در اینجا وب سرویس به کمک مدیر فروشگاه می‌آید. با استفاده از وب سرویس به راحتی می‌توان اپلیکیشن را به سرور و دیتابیس وب سایت فروشگاه متصل کرد بدون آنکه نیاز به استفاده از سرور مجزا و مخصوصی باشد. یعنی مهم نیست سیستم عاملِ سرورِ این وب سایت، ویندوز است یا لینوکس، وب سایت با زبان PHP نوشته شده یا ASP، دیتابیس از نوع MySQL است یا Oracle یا SQL Server. هیچ محدودیتی نیست. در طرف کلاینت یا سرویس گیرنده نیز همینطور. یعنی مهم نیست دیوایس کاربر Android باشد یا iOS یا Windows؛ اپلیکیشن با زبان java نوشته شده یا kotlin یا swift یا C++. به هر روشی که سرور و کلاینت پیاده سازی شده باشند، امکان استفاده از وب سرویس یا به عبارتی API ها فراهم است. بنابراین یک فروشگاه آنلاین به راحتی می‌تواند کاربران دارای دیوایس‌های Android ، iOS ، Windows ، BlackBerry و… را بطور همزمان و بدون نیاز به بکارگیری سخت افزار و یا نرم افزار مجزا برای هرکدام از این محیط‌های کاربری، پوشش دهد. فرمتی که داده ها از سمت سرور ارسال می‌شود برای اپلیکیشن اندروید و اپلیکیشن ویندوز و سایر سیستم عامل‌ها یکسان است و هیچ تفاوتی نمی‌کند.

پروژه های عملی وب سرویس با رتروفیت (Retrofit) و والی (Volley)

اگر مطلب را می پسندید لطفا آنرا به اشتراک بگذارید.

مطالب مرتبط

دیدگاهی بنویسید

0