Лекція 2.1. Використання RESTful
3. Основи REST
REST означує ряд архітектурних принципів проектування Web-сервісів, орієнтованих на системні ресурси, включаючи способи обробки і передачі станів ресурсів по HTTP різноманітними клієнтськими додатками, написаними різними мовами програмування. За останні кілька років REST стала переважаючою моделлю проектування Web-сервісів. Фактично REST зробила настільки великий вплив на Web, що практично витіснила розробку інтерфейсу, заснованого на SOAP і WSDL, через значно більш простий стиль проектування.
Технологія REST не привернула велику увагу в 2000 році, коли Рой Філдінг (Roy Fielding) вперше представив її в Каліфорнійському університеті в Ірвайні в своїй дисертації "Архітектурні стилі і дизайн мережевих архітектур програмного забезпечення", де аналізувався набір принципів архітектури програмного забезпечення, що використовує Web як платформу розподілених обчислень. Однак сьогодні, через багато років, виникли і продовжують розвиватися численні інфраструктури для REST, яку, серед іншого, планується інтегрувати в стандарт Java ™ 6 JSR-311.
Надалі передбачається, що конкретна реалізація Web-сервісів REST слідує чотирьом базовим принципам проектування:
• Явне використання HTTP-методів.
• Незбереження стану.
• Надання URI, аналогічних структурі каталогів.
• Передача даних в XML, JavaScript Object Notation (JSON) або в обох форматах.
У наступних розділах розглядаються ці чотири принципи.