Якович (1207873)

Файл №1207873 Якович (Проектирование Rest-архитектуры как способа взаимодействия проектов в системе)Якович (1207873)2020-10-04СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

РЕФЕРАТ

Проектирование REST-архитектуры как способа взаимодействия проектов в системе

Выпускная квалификационная работа бакалавра, 51 с., 13 рис., 0 табл., 10 источников, 0 прил.

HTTP, Веб-сервисы, сервис-ориентированная архитектура, реляционная алгебра, базы данных.

Объектом исследования является взаимодействие проектов в системе компании ООО «Фарпост».

Цель работы – проектировка и разработка API для возможности передачи данных между независимыми, обособленными друг от друга проектами в системе. Найти наиболее эффективный подход к организации API с точки зрения скорости и простоты разработки.

В данной работе представлена разработка API, основанного на идеологии архитектуры REST для возможности обмена данными через сеть-интернет с помощью протокола HTTP.

Поставленная задача решена посредством разработки REST API и клиентов для работы с REST API с помощью различных инструментов для разработки (разных фреймворков и СУБД).

Министерство транспорта Российской Федерации
Федеральное агентство железнодорожного транспорта
федеральное государственное бюджетное
образовательное учреждение высшего ОБРАЗОВАНИЯ «Дальневосточный государственный университет
путей сообщения» (ДВГУПС)

ОТЗЫВ

на выпускную квалификационную работу студента

Якович Виктора Валерьевича

942 группы кафедры «Высшая математика»

Естественнонаучного института

Дальневосточного государственного университета путей сообщения

на тему «Проектирование REST-архитектуры как способа взаимодействия проектов в системе »

Работа выполнена на 51 страницах, содержит 13 рис., 0 таблиц, 10 источников, 0 приложений.

Дипломная работа написана на актуальную проблему взаимодействия и передачи данных в системе, состоящей из независимых проектов, обособленных друг от друга. Целью исследования было найти оптимальную архитектуру для API проектов, которая для передачи данных использовала бы протокол HTTP, была легко масштабируема и проста в разработке. Студентом данная цель была достигнута – в дипломе спроектирован и разработан API использующий REST-архитектуру. Разработки внедрены на производстве.

В процессе работы над дипломным проектом студент В.В. Якович показал хорошую подготовку, способности к изучению незнакомой предметной области и умение творчески решать сложные задачи. Выполненная работа заслуживает оценки «отлично», а студент В.В. Якович присвоения квалификации бакалавр прикладной математики и информатики.

Руководитель,

доцент каф. «Высшая математика», канд.физ.-мат.наук С.В. Коломийцева

30.05.2017

АННОТАЦИЯ

Выпускная квалификационная работа посвящена актуальной теме взаимодействия проектов в системе, передачу данных между ними по сети интернет. Цель работы – проектирование и разработка API для обмена данными между проектами, основанное на архитектурном стиле REST. Работа выполнена для работающих проектов компании ООО «Фарпост»

Первая глава описывает теоретические основы протокола HTTP, способы взаимодействия с его помощью, дает определению веб-сервисам и REST-сервисам. Во второй главе описано проектирование и разработка REST API для существующих проектов, таких как «Секции», «Детки», «главная Двхаб».

Выпускная квалификационная работа состоит из введения, двух глав, заключения и списка использованной литературы. Объем работы – 51 страниц, 13 рисунков, 51 источников.

ANNOTATION

The graduation qualification work is devoted to actual topic of interaction of projects in the system, the transfer of data between them on the Internet. The aim of the work is the design and development of an API for data exchange between projects, based on the architectural style of REST. The work was carried out for the working projects of LLC "Farpost".

The first chapter describes the theoretical basis of the HTTP protocol, how it interacts with it, defines the Web services and REST services. The second chapter describes the design and development of the REST API for existing projects, such as "Sections", "Babies", "DVhab Main"

Graduation qualification work consists of an introduction, two chapters, conclusion, a list of used literature and applications. The amount of work are 51 pages, 13 drawings, 10 sources.

СОДЕРЖАНИЕ

ВВЕДЕНИЕ 6

1 Изучение протокола HTTP как способа общения проектов в сети Интернет, веб-сервисы и REST-сервисы 10

1.1 Определение интернета 10

1.2 Протокол HTTP 10

1.3 Универсальные Идентификаторы Ресурсов (URI) 12

1.4 Заголовки HTTP сообщений 16

1.5 Тело HTTP сообщения 17

1.6 HTTP запрос (Request) 17

1.7 HTTP ответ (Response) 19

1.8 HTTP методы 21

1.9 Коды состояния, описание 24

1.10 Веб-сервисы (веб-службы) 29

1.11 REST-сервисы 30

1.12 Построение маршрутов URI для REST 33

1.13 CRUD в REST 33

2 Реализация REST API в системе проектов «Фарпост» 36

2.1 Цель ВКР 36

2.2 Разработка API для виджета, отображающего информацию о секции и преподавателе на проекте «Детки» 39

2.3 Подготовка API для фотоотчётов на проекте «Детки» 43

2.4 Получение и интерпретация данных полученных через REST API проекта «Справочник» 45

ЗАКЛЮЧЕНИЕ 50

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 51

ВВЕДЕНИЕ

В современности, с массой развитых технологий и инструментов для разработки есть возможность для каждой задачи выбрать наиболее подходящий инструмент для её выполнения. Но когда встаёт проблема передачи данных, для использования их разными инструментами в разных местах, например, размещение информационных блоков, таких как курсы валют, прогнозы погоды и подобное им, в различных местах, возникают трудности с транспортировкой этих данных. Для решения данной проблемы есть множество способов. В работе рассмотрено взаимодействие через сеть-интернет с помощью протокола HTTP (hyper-text transfer protocol, «протокол передачи гипертекста»), основываясь на архитектурном стиле REST.

Актуальность проблемы очень велика, так как потребность передачи данных между различными проектами встречается повсеместно. Это могут быть информационные блоки с различной информацией, не имеющей к проекту прямого отношения, виджеты с некоторыми данными, курсы валют, прогнозы погоды, стоимость акций – всё, что только может потребоваться.

В силу того, что сеть Интернет получила очень широкое распространение и значимое место в современном мире, наиболее удобным способом передачи данных является HTTP-протокол, позволяющий передавать данные по сети и не накладывать излишних технических ограничений. Достаточно типична ситуация, когда от проекта требуется две функции: непосредственная работа с конечным пользователем, то есть передача данных при запросе на веб-страницу, и наличие API, обращаясь к которому, можно также получить данные, но в ином формате.

В основном, API используется разработчиками для получения данных со стороннего проекта и отображения их в нужном формате на своём. Например, можно получать данные в виде JSON-объекта, имеющего следующий вид:

[{

«ключ_1»: «значение»,

«ключ_2»: «значение»

}]

Или же в XML:

<?xml version="1.0"?>

<methodCall>

<methodName>examples.getSomeString</methodName>

<params>

<param>

<value><string>Some string</string></value>

</param>

</params>

</methodCall>

далее, работая с сырыми данными, можно сделать из них всё, что угодно.

Понимая актуальность и высокую значимость обмена данными между независимыми проектами распределённых систем, возникает вопрос, как организовать этот обмен наиболее выгодно.

На данный момент актуальны две технологии:

SOAP – simple object access protocol (протокол простого доступа к объектам). Стандартизирован, широко распространён, но очень громоздкий.

REST – representational state transfer (передача состояния представления). Является архитектурным стилем для построения приложений. Не имеет чётких стандартов, только принципы. Полностью привязан к протоколу HTTP. Лаконичен и прост в разработке, очень легко расширяем.

SOAP привлекает стандартизацией. Данный протокол хорошо спроектирован и подходит для решения задачи. Но его недостаток – избыточность, ответ сервера содержит множество данных, которые нам не потребуются, а только заставят потратить больше траффика на их получение. Поскольку в текущих реалиях скорость критична, обратимся к архитектурному стилю REST.

REST же даёт возможность создавать лаконичные и удобные веб-сервисы для обмена данными. Значимость такого подхода будет как экономическая, так и техническая. Экономически данная архитектура даёт выигрыш в скорости разработки, снижению затрат ресурсов и в удобстве расширения, а техническая сторона выигрывает от скорости передачи данных и их объёма, также от простоты в изменении или расширении функциональных возможностей системы. Ответ сервера выбирается вручную: данные, дополнительные поля (такие как статус запроса, дополнительные сообщения). Соответственно, ответ будет настолько мал, насколько этого требует задание – это даёт существенную экономию траффика и, соответственно, скорость получения данных.

Удобство REST заключается в том, что HTTP протокол используется в полную силу. В частности, используются методы HTTP: GET, POST, PUT, DELETE, каждый из которых отвечает за определённые действия CRUD: получение (чтение), изменение (обновление), добавление (создание) и удаление, соответственно.

Поскольку REST не может существовать без протокола HTTP, то каждый запрашиваемый ресурс будет иметь уникальный идентификатор, обратившись к которому, мы однозначно получим то, что требуем – URI (Uniform Resource Identifier, унифицированный идентификатор ресурса). Таким образом, REST даёт нам возможность брать в качестве уникального идентификатора для единицы ресурса (например, для статьи) определенный URL (ссылку), определять действие над ресурсом с помощью HTTP-метода.

Стиль архитектуры REST не является новоиспеченным, он был придуман Роем Филдингом (один из создателей HTTP-протокола) в 2000м году. Он сформулировал и применил теоретическую базу для взаимодействия серверов и клиентов в сети-интернет, и закрепил это в качестве архитектурного стиля REST. Сам REST развивался одновременно с HTTP 1.1. Несмотря на то, что данному стилю уже почти два десятилетия, широкое распространение он получил относительно недавно и завоевал расположение из-за своей простоты и удобства, экономичности и легкости в масштабировании.

В ходе выполнения ВКР и на практике во время работы сталкиваться с REST приходится очень часто. Практически все провайдеры данных (проекты, имеющие возможность передавать данные в сыром виде через вызовы API) используют этот архитектурный подход благодаря удобству и простоте.

Подготовка REST API также не занимает много времени. Для реальных задач разработка REST проходила следующим образом:

– формулировалась задача (необходимо реализовать API для передачи данных о секциях и преподавателях для виджета на проекте «Детки»);

– определялись ключевые маршруты исходя из требуемых сущностей (например, маршрут api.sections.vl.ru/sections для сущности section и api.sections.vl.ru/trainers для сущности trainer);

– программная реализация REST API на стороне проекта «Секции» и клиента на стороне проекта «Детки».

Такой подход к подготовке API существенно упрощал и ускорил рабочий процесс, давая возможность предоставлять пользователям нововведения на сайте быстрее, чем при другом подходе.

REST архитектура оправдала себя в течении последних 17-и лет на практике в веб-разработке. Поскольку веб-сервисы являются частью интернета, многими компаниями/разработчиками/исследователями было решено и в случае веб-сервисов применить архитектуру REST, что позволит улучшить масштабируемость компонентов, обеспечить безопасность, независимое развертывание.

Характеристики

Тип файла документ

Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.

Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.

Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.

Список файлов ВКР

Проектирование Rest-архитектуры как способа взаимодействия проектов в системе
Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6840
Авторов
на СтудИзбе
274
Средний доход
с одного платного файла
Обучение Подробнее