یکی از الگو های طراحی وب سرویس که در سالهای اخیر بسیار مورد توجه قرار گرفته است [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
سبک معماری 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) مراجعه نمایید.
مقایسه فناوری وب سرویس WS-* با RESful (Pautasso-2009)
یادگیری برنامه نویسی برای متخصصین حوزه کامپیوتر این روزها یک الزام به حساب می آید. از جمله محبوب ترین زبان های برنامه نویسی دنیا می توانیم به زبان برنامه نویسی سی شارپ ، زبان برنامه نویسی جاوا ، زبان برنامه نویسی پایتون ، زبان برنامه نویسی سی پلاس پلاس و زبان برنامه نویسی SQL ( لازمه هر زبان دیگری ) و زبان برنامه نویسی PHP اشاره کنیم.
برای آموزش برنامه نویسی می توانید با خیال راحت در قالب دوره های آموزش برنامه نویسی سایت توسینسو ، آموزش سی شارپ ، آموزش جاوا ، آموزش پایتون ، آموزش جنگو ، آموزش PHP ، آموزش جاوا اسکریپت ، آموزش برنامه نویسی اندروید ، آموزش SQL و آموزش MySQL را بصورت جامع و حرفه ای آموزش ببینید.