Якович (1207873), страница 6

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

Текст из файла (страница 6)

мы получим фотоотчёты с линеек на 1-е сентября. Если значение «category» будет равно «2», то получим фотоотчёты с новогодних утренников.

По умолчанию, отдаётся 6 фотоотчётов, но если нам нужно иное количество, следует использовать параметр «limit»:

http://www.dvhab.ru/detki/photoreports/api/last?category=1&limit=20

На рисунке 8 видны данные в сыром виде в формате JSON. После обработки данных на проекте «главная Двхаб» мы получаем следующий виджет, изображенный на рисунке 9:

Рисунок 8 – данные в формате JSON

Рисунок 9 – виджет фотоотчётов на «главной Двхаб». «Линейки на первое сентября»

На рисунке 10 изображен виджет фотоотчётов для категории «Новогодние детские утренники»:

Рисунок 10 – виджет фотоотчётов на «главной Двхаб». «Новогодние детские утренники»

В итоге, проектировка API основываясь на принципах REST даёт нам возможность реализовать API по мере поступления задач. На данном этапе API задумано как REST, архитектура выстроена по принципам REST и по мере необходимости будут реализованы остальные функции, такие как работа с POST, PUT и DELETE запросами.

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

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

Задача заключалась в том, чтобы с помощью HTTP-запросов получить информацию о секции и разместить её на сайте.

«Справочник» предоставляет следующий URL для получения данных секций через REST API:

GET: /jsonapi/1.2/companies?id={ids}&scheme={scheme_fields}&key={apikey}

Таким образом, для получения исчерпывающей информации о секции был выбран список следующих полей из доступных в схеме:

– «name» – название секции,

– «logoURL» – ссылка на изображение,

– «rating» – рейтинг секции,

– «commentsCount» – количество отзывов,

– «phones» – телефоны,

– «info» – описание секции,

– «annotation» – краткое описание секции,

– «keywords» – ключевые слова для СЕО,

– «email» – адрес электронной почты,

– «addresses» – адреса и филиалы секции

Чтобы получить данные по этим полям, был выполнен следующий запрос:

GET:/jsonapi/1.2/companies?id=358303&key={…}&scheme=name,logoURL,rating,commentsCount,phones,info,annotation,keywords,email,addresses

В результате запроса мы получаем данные в формате JSON, которые можно увидеть на рисунке 11 (количество адресов сокращено до одного).

Следует отметить, что получать данные в таком количестве каждый раз при посещении сайта пользователем – очень ёмко и нерентабельно. Для таких ситуаций было решено использовать кэширование на стороне сервера, что существенно ускорило работу проекта «Секции» и снизило нагрузку на сервера проекта «Справочник».

Результат обработки данных можно увидеть на рисунках 12 и 13, где представлен конечный вид сайта.

Рисунок 11 – результат GET-запроса к «Справочнику»



Рисунок 12 – конечный вид информации, полученной со «Справочника». На рисунке видны поля «name», «logoUrl», «rating», «commentsCount», «addresses», «addresses.address», «addresses.phones»



Рисунок 13 – конечный вид информации, полученной со «Справочника». На рисунке видно поле «info»



ЗАКЛЮЧЕНИЕ

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

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

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

Развитие REST API на проектах системы «Фарпост» будет иметь смысл до тех пор, пока не придумано более удобного способа взаимодействия, кроме протокола HTTP. Все наработки внедрены в производство и на данный момент активны, большая часть из них работает в штатном режиме.

Благодаря своей простоте и интуитивности REST занял прочное место в веб-разработке и набирает еще большую популярность. Основываясь на том, что выбор в сторону REST был сделан такими компаниями как «Twitter», «Вконтакте», «Blizzard», «Amazon» и множеством других гигантов, можно сделать выводы о том, что REST будет и дальше развиваться.

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



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

1 Кристофер Д. SQL и реляционная теория. Как грамотно писать код на SQL / Дейт Кристофер; пер. с англ. А. Слинкина. Санкт-Петербург : Символ-Плюс, 2010. 474 с.

2 Roy Thomas Fielding. Architectural Styles and the Design of Network-based Software Architectures. University of California, Irvin, 2000. 162 c.

3 Зиновьев А. URI – сложно о простом (Часть 1). URL: https://habrahabr.ru/post/232385/ (дата обращения: 14.05.2017).

4 Корчак А. Разработка web API ). URL: https://habrahabr.ru/post/181988/.

5 Щербин И. RESTful API для сервера – делаем правильно (Часть 1). URL: https://habrahabr.ru/post/144011/ (дата обращения: 04.05.2017).

6 Архитектура REST. URL: https://habrahabr.ru/post/38730/ (дата обращения: 14.05.2017).

7 Щербин И. RESTful API для сервера – делаем правильно (Часть 2). URL: https://habrahabr.ru/post/144259/ (дата обращения: 04.05.2017).

8 Важные аспекты RESTful API для вашего проекта. URL: https://habrahabr.ru/post/108993/ (дата обращения: 12.02.2017).

9 Простым языком об HTTP. URL: https://habrahabr.ru/post/215117/ (дата обращения: 17.05.2017).

10 Лисицкий Е. Дао Вебсервиса. (Или да хватит же изобретать велосипеды!). URL: https://habrahabr.ru/post/75248/ (дата обращения: 12.02.2017).

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

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

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