Restful چیست؟ آشنایی با قابلیت Restful در برنامه نویسی

یکی از الگو های طراحی وب­ سرویس که در سال­های اخیر بسیار مورد توجه قرار گرفته است [1]REST می باشند. REST برخلاف SOAP یک پروتکل مشخص و یا یک نوع معماری نیست بلکه یک نوع سبک معماری برای ایجاد برنامه ­های کاربردی تحت شبکه است که در سال ۲۰۰۰ توسط یکی از مولفان اصلی پروتکلHTTP   به نام Roy Feilding  در پایان‌نامه‌ی دکترایش معرفی شد. وب‌سرویس‌هایی که مطابق با این سبک معماری طراحی می‌شوند اصطلاحاً RESTful  می­ نامند. ايده اصلي سبک معماري REST اين است كه به جاي استفاده از مكانيزم­هاي پيچيده­ مانند CORBA،RPC  ياSOAP ، از HTTP ساده براي برقراري ارتباط بين ماشين‌ها استفاده کنیم.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

همانطور که در شکل زیر مشاهده می­شود، در سیستم­های مبتنی بر REST همه چیز به صورت یکسری منابع دیده می­شوند که هر منبع با URI مشخص می­گردد. در واقع برخلاف RPC که بر عملیات و برخلاف SOAP که بر پیام تمرکز دارند، REST بر منابع تمرکز دارد. برنامه­ های کاربردی Restful از درخواست­های HTTP برای ارسال داده (ایجاد یا بروزرسانی)، خواندن داده و حذف داده استفاده می­کنند. به عبارت دیگر REST از HTTP برای هر چهار عمل CRUD (Create/Read/Update/Delete) استفاده می­کند.

Restful چیست؟ آشنایی با قابلیت Restful در برنامه نویسی    فناوری وب سرویس RESTful

سبک معماری REST بر پایه چهار اصل زیر استوار است:

  • شناسایی منبع از طریق URI [2]: منابع از طریق [3]URI شناسایی می­شوند که از این طریق یک مکانیزم کشف سرویس فراهم می­شود.
  • واسط یکسان[4]: فقط چهار عمل create، read،update و delete مسئول دستکاری منابع هستند.
  • پیام­های خود-توصیف[5]: محتوای منابع می­تواند در چندین قالب نمایش داده شود (مثلا قالب­های HTML، XML، Plain text، PDF یا JPEG). از ابرداده[6] منبع می­توان برای تشخیص خطاهای انتقال، انجام تصدیق اصالت یا کنترل دسترسی استفاده کرد.
  • تعاملات دارای وضعیت از طریق ابرلینک­ها[7]: تعاملات stateful را می­توان با استفاده از چند فناوری انجام داد، مثلا بازنویسی URL، کوکی­ها یا فیلدهای پنهان فرم.

شکل زیر، دو فناوری وب سرویس WS-* و RESful را در مقایسه با یکدیگر نشان می­دهد. برای جزئیات بیشتر در مورد مقایسه این دو فناوری و تصمیم ­گیری بهتر در انتخاب این دو، به مقاله(Pautasso-2009)  مراجعه نمایید.

Restful چیست؟ آشنایی با قابلیت Restful در برنامه نویسی

مقایسه فناوری وب سرویس WS-*  با RESful  (Pautasso-2009)


یادگیری برنامه نویسی برای متخصصین حوزه کامپیوتر این روزها یک الزام به حساب می آید. از جمله محبوب ترین زبان های برنامه نویسی دنیا می توانیم به زبان برنامه نویسی سی شارپ ، زبان برنامه نویسی جاوا ، زبان برنامه نویسی پایتون ، زبان برنامه نویسی سی پلاس پلاس و زبان برنامه نویسی SQL ( لازمه هر زبان دیگری ) و زبان برنامه نویسی PHP اشاره کنیم.

برای آموزش برنامه نویسی می توانید با خیال راحت در قالب دوره های آموزش برنامه نویسی سایت توسینسو ، آموزش سی شارپ ، آموزش جاوا ، آموزش پایتون ، آموزش جنگو ، آموزش PHP ،  آموزش جاوا اسکریپت ، آموزش برنامه نویسی اندروید ، آموزش SQL و آموزش MySQL را بصورت جامع و حرفه ای آموزش ببینید.


نظرات