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