اصول طراحی RESTful
در این مقاله قصد داریم در مورد اصول طراحی RESTful صحبت کنیم
امروزه برنامه های سنتی وب در حال حرکت به سمت سرویسی شدن هستند، بدین صورت که کلاینت ها تنها از طریق وب سرویسها با سرور در تماس هستند.به بیانی دیگر ارتباط کلاینت ها با لایه Data Model از طریق وب سرویس ها صورت می پذیرد.در چنین برنامه هایی منطق برنامه کاملا در سمت کلاینت پیاده سازی می شود و سرور دیگر هیچ نقشی جز فراهم کردن داده برای کلاینت هایش را برعهده ندارد.نمونه رایجی از این گونه نگرش برنامه نویسی,برنامه های SPA که مخفف Single Page Application است,می باشد.در اینگونه برنامه ها تمامی منطق برنامه در سمت کلاینت و پیاده سازی می شود و تنها نیازی که برنامه به سرور دارد، فراهم ساختن داده ها می باشد. این نگرش این امکان را می دهد که شما به راحتی و بدون هزینه بالا یک برنامه SPA را به یک برنامه دیگر، مثلا یک برنامه موبایل تبدیل کنید. تنها کاری که انجام می شود این است که باید یک کلاینت برای تلفن همراه بنویسید که از طریق همان API ها با سرور ارتباط برقرار کند.
در نگاه اول پیاده سازی و استفاده از وب سرویس های RESTful بسیار مطلوب و خوش آیند به نظر می رسند. اما باید دقت داشته باشید که اگر در طراحی و پیاده سازی آنها دقت لازم را نکنید، هزینه های جانبی زیادی را در آینده ممکن است به برنامه شما وارد کند که اکثر آنها نیز مربوط به هزینه اعمال تغییرات می باشند.به همین دلیل در این مطلب سعی شده مطالبی گفته شود که به طراحی هرچه بهتر وب سرویس های RESTful کمک کند.
اولین و مهمترین نکته ای که باید پیش از شروع به طراحی یک وب سرویس RESTful باید به آن توجه داشته باشید این است که طراحی یک سرویس خوب تنها یک فن نیست، بلکه یک هنر است و نیاز به خلاقیت دارد. در زیر به اصولی کلیدی در طراحی وب سرویس های RESTful اشاره شده است:
وب سرویس شما باید به صورت درست و به جا از استاندارد های وب استفاده کند. مثلا انواع مختلفی از کد های پاسخ HTTPوجود دارند که همه بصورت کلی معنی موفقیت آمیز بودن عملیات را دارند اما هر کدام جایگاه خاصی دارد که در حین استفاده باید به آن دقت نمود.
دقت داشته باشید همانطور که یک برنامه نویس برنامه اش را برای کاربر نهایی می نویسد، شما نیز وب سرویس تان را بعنوان یک برنامه برای برنامه نویس ها می نویسید. بنابراین در اینجا نیز اصل user friendly بودن مصداق دارد و باید به آن توجه نمود.وب سرویس باید طوری نوشته شود که یک برنامه نویس بتواند براحتی با آن کار کند.
اگر وب سرویسی طراحی میکنید خیلی مهم است که توسط مرورگر ها و از طریق نوار آدرس آنها قابل پیمایش باشد.
وب سرویس شما باید تا حد ممکن ساده و به راحتی قابل درک باشد. طوری آن را طراحی کنید که اعمال تغییرات بر اساس نیاز کاربر در آینده قابل انجام باشد.
در طراحی وب سرویس به کارایی و انعطاف پذیر بودن آن توجه کنید.
همانطور که UX برای برنامه های کاربردی مطرح می شود، در مورد وب سرویس ها نیز طوری باید آنها را طراحی کنید که برنامه نویسی که با آنها کار می کند تجربه خوبی داشته باشد.
این ها اصول و مواردی هستند که در تمامی مراحل طراحی وب سرویس ها باید همواره مد نظر قرار گرفته شوند.