Секция «Информационно-экономические системы»
УДК 658.51
АКТУАЛЬНОСТЬ ИСПОЛЬЗОВАНИЯ АРХИТЕКТУРЫ REST ДЛЯ ОБМЕНА ДАННЫМИ МЕЖДУ КЛИЕНТ-СЕРВЕРНЫМИ ПРИЛОЖЕНИЯМИ
В.В. Ковалев1, В. В. Храмков2, Е. И. Семенова3 Научный руководитель - В. В. Кукарцев
1Сибирский федеральный университет Российская Федерация, 660041, г. Красноярск, просп. Свободный, 79
2ООО «Даичи-Красноярск» Российская Федерация, 660020, г. Красноярск, ул. Шахтеров 4, стр. 3 3Агентство по обеспечению деятельности мировых судей Красноярского края 660010, г. Красноярск, ул. Вавилова, 1 E-mail: [email protected]
Рассмотрены структура клиент серверного приложения и архитектурный стиль REST.
Ключевые слова: REST, HTTP, архитектура приложения, веб запросы.
URGENCY OF USING REST ARCHITECTURE FOR DATA EXCHANGE BETWEEN CUSTOMER-SERVER APPLICATIONS
V. V. Kovalev, V. V. Khramkov, E. I. Semenova Scientific supervisor - V. V. Kukartsev
1Siberian Federal University 79, Svobodny Av., Krasnoyarsk, 660041, Russian Federation 2LLC "Daichi-Krasnoyarsk" 4, p. 3, Shakhterov Str., Krasnoyarsk, 660020, Russian Federation 3Agency to ensure the activities of the magistrate of the Krasnoyarsk territory 1, Vavilovа Str., Krasnoyarsk, 660010, Russian Federation E-mail: [email protected]
The structure of the client server application and the architectural style of REST are considered.
Keywords: REST, HTTP, application architecture, web requests.
Любой сложный проект рано или поздно приходит на первое место выходит не его функциональные свойства самого приложения, а его архитектура и как следствие его возможности к масштабированию и по возможности переноса логики хранения и обработки данных на сторону сервера.
Простая структура клиент серверного приложения представлена на рисунке 1 [1]:
Актуальные проблемы авиации и космонавтики - 2019. Том 2
Рис. 1. Структура клиент-серверного взаимодействия
Рассмотрим одну из основных технологий, которые обеспечивают базовые алгоритмы передачи сообщений от клиента к серверу и получения от них необходимой информации - REST. REST - это архитектурный стиль программного обеспечения для распределенных систем. Очень часто REST используют для построения Web-сервисов сервисы, доступ к которым осуществляется по HTTP- протоколу [2].
REST опирается на использование GET, POST, PUT, HEAD, PATH, и DELETE запросов. В подавляющем большинстве случаев ограничивают систему команд до двух типов GET и POST. REST является очень простым интерфейсом управления информацией без использования каких-либо дополнительных прослоек. Каждая единица информации определяется глобальным идентификатором, таким как URL. Каждая URL имеет строго заданный формат. Управление информацией полностью основывается на протоколе передачи данных, наиболее распространенным является HTTP. Для действия над данными задаются запросы с помощью методов GET(получить), PUT (добавить, заменить), POST (добавить, изменить, удалить), DELETE (удалить) [3].
GET - это самый простой тип HTTP-запроса; которым браузер пользуется каждый раз, когда вы нажимаете ссылку или вводите URL-адрес в адресную строку. Он инструктирует сервер передавать клиенту данные, идентифицированные URL-адресом. Никогда не последует изменений данных на стороне сервера в результате запроса GET. В этом смысле GET-запрос доступен только для чтения, но, конечно, как только клиент получит данные, он может самостоятельно выполнять любые операции с ними, например, форматировать для отображения.
Запрос PUT используется, когда вы хотите создать или обновить ресурс, указанный URL-адресом.
DELETE должен выполнять противоположное PUT; его следует использовать, если вы хотите удалить ресурс, указанный URL-адресом запроса.
POST используется, когда обработка, которую вы хотите выполнить на сервере, должна повторяться, если запрос POST повторяется (то есть, они не являются идемпотентными, подробнее об этом ниже). Кроме того, POST-запросы должны вызывать обработку body запроса как подчинённого URL-адреса, который вы отправляете.
Например, у вас есть магазин с какими-либо товарами, то мы можем использовать запросы для следующих действий: GET /product/ - получить список всех продуктов; GET /product/45 -получить продукт с идентификатором 45; POST /product/ - добавить новый товар; DELETE /product/34 - удалить 34 продукт.
Таким образом REST является отличным расширяемым механизмом для многих вещей, таких как получение контента. Благодаря основам разработки лежащим основе HTTP создаются интерфейсы, которые могут выполняться практически с любого устройства или операционной системы.
Библиографические ссылки
1. .Oracle Database Online Documentation [электронный ресурс]. URL: https://docs.oracle.com/cd/B28359_01/server. 111/b28318/dist_pro.htm#CNCPT006 (дата обращения 25.03. 2019)
2. Руководство по проектированию API [электронный ресурс]. URL: https://docs.microsoft.com/ru-ru/azure/architecture/best-practices/api-design (дата обращения 25. 03. 2019)
3. REST API Documentation [электронный ресурс] URL: https://www.cs-cart.ru/docs/4.4.x/developer_guide/api/ (дата обращения 25.03. 2019)
©Ковалев В.В., Храмков В.В., Семенова Е.И., 2019