شرح مختصری از معماری rest
در این مطلب قصد داریم در مورد شرح مختصری از معماری REST توضیح دهیم
REST یک مدل معماری برای طراحی برنامههای کاربردی شبکه است که ترکیبی از چند مدل معماری مبتنی بر شبکه میباشد و محدودیتهایی جهت تعریف یک واسط اتصال یکنواخت برای آن درنظر گرفته شده است.
REST مخفف عبارت Representational State Transfer است و متکی بر یک پروتکل ارتباطی بدون حالت، کلاینت سرور و با قابلیت cache کردن میباشد که در اکثر موارد پروتکل HTTP مورد استفاده قرار میگیرد.
ایده اصلی این است که به جای استفاده از مکانیزم های پیچیده ای مانند CORBA، RPC یا SOAP برای اتصال ماشین ها ازHTTP ساده برای برقراری ارتباط بین ماشینها استفاده شود.
مدل REST شش قید برای معماری برنامههای شبکه تعریف میکند:
کلاینت سرور (client-server) باشد.
بدون حالت (stateless) باشد.
قابلیت cache داشته باشد. (cacheable)
سیستم لایهبندی شده (layered system) داشته باشد.
واسط یکنواخت (uniform interface) داشته باشد.
دارای قابلیت کد در صورت نیاز (code on demand) باشد. (که این محدودیت اختیاری میباشد)
به سیستمی که این قیود را رعایت نماید، RESTful میگویند.
از لحاظ رویکرد برنامه نویسی REST جایگزینی ساده برای سرویسهای وب است. توسعهپذیری در تعاملات میان اجزا، عمومیت واسط ها، توسعه مستقل اجزا و استفاده از واسطه ها از کلیدی ترین اهداف میباشد و همچنین استفاده ازاین معماری در برنامهنویسی کارایی، سادگی، انعطافپذیری، امکان مشاهده و نظارت، قابلیت حمل و قابلیت اطمینان را افزایش می دهد.
یک وب سرویس REST دارای مشخصات زیر است
بوسیله URI کار میکند یعنی ریسورس ها و کالکشن های خود را به صورت http://example.com/resources دریافت میکند
اطلاعات را به صورت عموما JSON دریافت میکند البته میتواند اطلاعات به صورت XML هم برگردانده شود
برخلاف وب سرویس های برپایه SOAP هیچ استاندارد رسمی برای وب سرویس های REST وجود ندارد به دلیل اینکه REST یک معماری است در حالی که SOAP یک پروتکل وب سرویس است.
کار کردن با REST بسیار ساده تر از وب سرویس های پیچیده ای مانند SOAP میباشد.