1. Віктор Дзундза
Група ПІ – 08 -1
REST як
архітектура
WEB-сервісів
2. Що таке REST ?
Акронім від Representation State Transfer
(Передача стану представлення).
Набір принципів для побудови WEB-
сервісів.
Дизайн архітектури ПЗ для розподілених
інформаційних ресурсів.
Шаблон проектування, не протокол
WWW побудований на принципах REST
4. Основні поняття в REST
Ресурс
Адрес ресурса
Вид ресурса
Інтерфейс
5. Ресурс
Що може бути ресурсом?
Все що завгодно !
• Мапа
• Стаття про автомобіль
• Набір даних
• Посилання
• Будь-яке джерело інформації
Щоб ресурс був ресурсом - йому
потрібна адреса
6. Адреса
Оскільки REST грунтується на дизайні HTTP
то адресою виступає
URI (Uniform Resource Identifier) -
уніфікований ідентифікатор ресурсів.
Кількість адрес для ресурса необмежена.
7. Адреса
WEB – сервіс являє собою набір ресурсів.
Кожному ресурсу відповідає свій URI.
http://example.org/student/name
імя студента
http://example.org/student/name/firends
друзі студента
http://example.org/student/name/telephone
телефони студента
URI є ім’ям ресурсу.
8. Представлення
Це інформація про поточний стан ресурсу.
Декілька представлень – декілька URI.
Різні формати представлення:
XML cхеми, мікроформати, MIME-типи.
http://example.org/student/name.html - html
http://example.org/student/name /friends.json –
Application/json
http://example.org/news/index.xml - xml/atom
9. Основні операції
Метод Призначення
POST Створити новий ресурс
GET Отримати представлення
ресурсу
PUT Модифікувати ресурс
DELETE Видалити ресурс
10. Основні операції
REST-повна архітектура сервісу
Метод URI
POST /users
GET /users/1
PUT /users/1
DELETE /users/1
• URI вказує на ресурс
• Дії не кодуються в URL
11. Основні операції
REST-подібна архітектура сервісу
Метод URI
POST /users/create
GET /users/1
PUT /users/1/update
DELETE /users/1/delete
12. Плюси
Зручно для неінтерактивних сервісів
Легка масштабованість
Вся інформація для запиту міститься в запиті.
Зміна частини ресурсу, яка недоступна як
окремий ресурс.
Прості адреси
Уніфікована структура програми
Легка інтеграція під JavaScript
Визначена модель поведінки
13. Недоліки
Стан клієнта зберігається тільки на
клієнті, немає серверних сесій
PUT и DELETE слабо підтримуються
браузерами.
14. Список джерел
David Heinemeier Hansson, Leonard Richardson,
David Hansson. - Restful Web Services
Subbu Allamaraju. - RESTful Web Services
Cookbook: Solutions for Improving Scalability and
Simplicity
Jim Webber, Savas Parastatidis, Ian Robinson. -
REST in Practice: Hypermedia and Systems
Architecture
http://www.ietf.org/rfc/rfc2616.txt
http://www.ibm.com/developerworks/webservice
s/library/ws-restful/