معماریREST چیست؟
REST یک مدل معماری برای طراحی برنامههای کاربردی شبکه است که ترکیبی از چند مدل معماری مبتنی بر شبکه میباشد و محدودیتهایی جهت تعریف یک واسط اتصال یکنواخت برای آن درنظر گرفته شده است.در این مقاله بیشتر در مورد معماری REST چیست صحبت خواهیم کرد.
REST مخفف شدهی عبارت Representational State Transfer و به معنای “انتقال بازنمودی حالت” است.
ایده اصلی معماری REST این است که به جای استفاده از مکانیزم های پیچیده ای مانند CORBA، RPC یا SOAP برای اتصال ماشین ها ، ازHTTP ساده برای برقراری ارتباط بین ماشینها استفاده شود.
مدل REST شش قید برای معماری برنامههای شبکه تعریف میکند: کلاینت سرور (client-server) باشد. بدون حالت (stateless) باشد. قابلیت cache داشته باشد. (cacheable) سیستم لایهبندی شده (layered system) داشته باشد. واسط یکنواخت (uniform interface) داشته باشد. دارای قابلیت کد در صورت نیاز (code on demand) باشد. (که این محدودیت اختیاری میباشد) به سیستمی که این قیود را رعایت نماید، RESTful میگویند.
از لحاظ رویکرد برنامه نویسی REST جایگزینی ساده برای سرویسهای وب است. توسعهپذیری در تعاملات میان اجزا، عمومیت واسط ها، توسعه مستقل اجزا و استفاده از واسطه ها از کلیدی ترین اهداف معماری REST میباشد و همچنین استفاده از معماری REST در برنامهنویسی کارایی، سادگی، انعطافپذیری، امکان مشاهده و نظارت، قابلیت حمل و قابلیت اطمینان را افزایش می دهد.
امروزه برنامه های سنتی وب در حال حرکت به سمت سرویسی شدن هستند، بدین صورت که کلاینت ها تنها از طریق وب سرویس هایی با سرور در تماس هستند.
به بیانی دیگر ارتباط کلاینت ها با لایه داده برنامه (Data Model) از طریق وب سرویس ها صورت می پذیرد. در چنین برنامه هایی منطق برنامه (logic) کاملا در سمت کلاینت پیاده سازی می شود و سرور دیگر هیچ نقشی جز فراهم کردن داده برای کلاینت هایش را برعهده ندارد. یکی از الگو های طراحی وب سرویس که در سال های اخیر بسیار مورد توجه قرار گرفته است سرویس های REST می باشند.
در سرویس های REST فراهم کردن منابع برای کلاینت ها بسیار مهم است. در واقع تمام هدف REST اینست که این منابع را بگونه ای در اختیار کلاینت ها قرار دهد تا از آنها استفاده کنند، تغییراتی در آنها دهند و یا آنها را حذف کنند.
یکی از نکات مثبت سروریس های REST این است که دسترسی کلاینت ها به این منابع از طریق درخواست های HTTP انجام می گیرد. این درخواست ها با متد های مختلفی می توانند ارسال شوند که هر یک معنا و مفهومی خاصی دارد. این متد ها عبارتند از GET، POST ، PUT، DELETE و … که کاربرد هریک با دیگری متفاوت است.
متد های REST:
متد GET بمنظور بازیابی و خواندن منبع استفاده می شود.
متد POST زمانی استفاده می شود که بخواهیم منبع جدیدی را ایجاد کنیم.
متدهای PUT و PATCH برای دستکاری در یک منبع مورد استفاده قرار می گیرند.
متد DELETE نیز بمنظور حذف یک منبع مورد استفاده قرار می گیرد.
- برچسب ها:
- وب سرویس
- وب سرویس rest
- وب سرویس رست