دستنوشته شماره 3: سرویس وب (Web Service)
خیلی از اپلیکیشن های موبایل، به ویژه بازی ها، آفلاین اند. یعنی برای عملکرد خود نیازمند اتصال به اینترنت نمی باشند. با این حال تعداد زیادی از اپلیکیشن ها نیز (مانند اپلیکیشن های خبری) آنلاین اند و اطلاعات خود را از طریق شبکه اینترنت دریافت می کنند. در این گونه اپلیکیشن ها، داده ها در جایی خارج از اپلیکیشن (درون سرور های مخصوص) ذخیره و پردازش می شوند و نقش اپلیکیشن موبایل فقط نمایش آن داده ها به کاربر و ارسال درخواست های کاربر به بخش سرور می باشد.
به عبارت دیگر، برای تغذیه اپلیکیشن آنلاین، تعدادی "سرویس وب" درون یک (یا چند) "سرور وب" توسط "برنامه نویسان وب" ایجاد میشود. از طرفی برای ارتباط موبایل با این Web Service ها، تعدادی API وب در اختیار برنامه نویس موبایل قرار میگیرد. اپلیکیشن موبایل از طریق این API ها با Web Service ها ارتباط برقرار کرده و داده های لازم را (در بستر اینترنت) دریافت می کند. معماری های بسیاری برای ایجاد API های سرویس های وب وجود دارد. مثلا SOAP، REST و ...
اما ساده ترین (و شاید مناسب ترین و پر کاربردترین) معماری برای ایجاد API های وب، معماری REST می باشد. به API های ساخته شده با این معماری، API های RESTful می گویند. تسلط به ایجاد API های RESTful از مهم ترین نیاز های برنامه نویسان وب در این روز هاست.
ارتباط با API های RESTful از طریق پروتکل HTTP صورت می گیرد و این یکی از دلایل سادگی و عمومیت این معماری نسبت به سایرین است. برای دریافت اطلاعات با این معماری کافیست یک درخواست HTTP با متد GET به API مربوطه ارسال شود. برای تغییر اطلاعات سرور نیز از متد های دیگر HTTP چون POST، UPDATE و DELETE استفاده می شود. اطلاعاتی که از سمت API برای موبایل ارسال می شوند، در واقع یک فایل متنی با فرمت JSON اند. فرمت JSON فرمتی شبیه به XML است که هم توسط انسان قابل خواندن و فهمیدن است و هم توسط کامپیوتر. کامپیوتر برای خواندن و فهمیدن یک فایل متنی با فرمت JSON باید آنرا تجزیه (Parse) کند. در دستنوشته بعدی در مورد تجزیه کردن فایل های JSON توضیحاتی ارایه خواهد شد.
امیدوارم مطالب مذکور مفید واقع شود.
پایان دستنوشته شماره 3