Тип работы:
Предмет:
Язык работы:


Разработка программного интерфейса унифицированного доступа к распределенной реактивной информационной системе

Работа №139939

Тип работы

Бакалаврская работа

Предмет

прикладная информатика

Объем работы55
Год сдачи2023
Стоимость4800 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
32
Не подходит работа?

Узнай цену на написание


Аннотация 2
Введение 5
Глава 1 Характеристика организации и анализ существующих сервисов 7
1.1 Характеристика и анализ сервисов организации с точки зрения
архитектуры 7
1.2 Характеристика реактивной архитектуры 12
1.3 Обоснование перехода с проприетарного протокола передачи
данных RAP на протокол gRPC 13
1.4 Постановка задачи на разработку 20
Глава 2 Построение интерфейса унифицированного доступа 22
2.1 Требования к разрабатываемому сервису 22
2.2 Проектирование архитектуры сервиса 23
2.3 Описание инструментов разработки сервиса 25
2.4 Разработка диаграммы классов сервиса 30
Глава 3 Разработка интерфейса унифицированного доступа 35
3.1 Выбор средств реализации 35
3.2 Реализация основных модулей сервиса и интегрирование его с
другими сервисами экосистемы 37
3.3 Тестирование работоспособности интерфейса унифицированного
доступа 43
Заключение 46
Список используемой литературы 47
Приложение А Фрагмент конфигурации Envoy-proxy 49
Приложение Б Листинг кода класса Launcher 52
Приложение В Фрагмент кода класса RestRequestListener 53
Приложение Г Фрагмент кода класса RpcRequestListener 54

В современном информационном обществе актуальной задачей является обеспечение эффективного доступа к различным источникам данных, которые могут быть распределены по разным узлам сети и иметь разную структуру и формат.
По мере роста клиентской базы, возрастает и нагрузка на сервисы в целом, что приводит к замедлению обработки и передачи ответов на запросы, что может негативно сказаться на клиентском опыте. Также происходит и увеличение числа сервисов, что делает проблематичным работу с их API, и приводит к трудностям в процессе разработки.
Для решения этой задачи необходимо разработать программный интерфейс, который позволит унифицировать и абстрагировать доступ к данным, скрыть детали реализации и хранения данных от пользователя и обеспечить высокую производительность и надежность обмена данными. Такой программный интерфейс должен быть адаптивным, то есть способным подстраиваться под разные типы данных и запросов, а также реактивным, то есть способным отвечать на изменения в данных и среде в реальном времени.
Актуальность работы заключается в необходимости перехода от устаревших архитектур и инструментов к более современным, производительным решениям, которые позволят удовлетворить нужды клиентов.
Объектом исследования является программный интерфейс унифицированного доступа к распределенной реактивной информационной системе.
Предметом исследования являются методы и технологии для разработки программного интерфейса унифицированного доступа к распределенной реактивной информационной системе.
Цель выпускной квалификационной работы - модернизация существующей экосистемы сервисов посредством разработки программного интерфейс для унифицированного доступа к распределенной реактивной информационной системе на основе анализа существующих подходов и технологий, с учетом принципов реактивной архитектуры.
Для достижения поставленной цели необходимо решить следующие задачи:
• изучить существующие подходы и технологии для организации доступа к данным в распределенных системах.
• спроектировать архитектуру программного интерфейса унифицированного доступа к РРИС, выбрать подходящие протоколы и форматы обмена данными.
• разработать алгоритмы и методы для реализации программного интерфейса унифицированного доступа к распределённой информационной системе, обеспечивающие адаптивность и реактивность.
• произвести тестирование и оценку эффективности разработанного программного интерфейса унифицированного доступа.
Научная новизна работы заключается в разработке программного интерфейса унифицированного доступа к РРИС, который позволяет абстрагировать пользователя от деталей распределения и хранения данных, адаптироваться к различным типам данных и запросов, реагировать на изменения в данных и среде в реальном времени.
В качестве методов исследования выступают микросервисная и реактивная архитектуры.
Работа состоит из трех глав. В первой главе описывается экосистема сервисов в ООО «Квартплата 24», дается характеристика текущим решениям и обосновывается причина отказа от них. Во второй главе обозначаются требования к разрабатываемому продукту, описывается процесс проектирования архитектуры сервисов, осуществляется выбор инструментов реализации и разработка диаграмм класса сервиса. В третьей главе описываются инструменты разработки и процесс разработки интерфейса унифицированного доступа.

Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


Данная выпускная квалификационная работа посвящена построению интерфейса унифицированного доступа к высоконагруженным, отказоустойчивым информационным системам, с использованием микросервисных технологий, основанных на реактивной архитектуре.
В процессе выполнения выпускной квалификационной работы был выполнен ряд задач.
Был произведен анализ и дана характеристика существующей распределенной реактивной информационной системе, представляющую из себя группу тесно интегрированных сервисов, представляющих собой смесь монолитных и микросервисных приложений.
Подробно разобраны основные требования к разрабатываемому сервису, спроектирована его архитектура на основе паттерна API Gateway. Были подобраны инструменты разработки - прокси Envoy и OAuth 2.0 для авторизации пользователей с использованием JWT-токенов.
Основываясь на описанных требованиях, был разработан гибкий и отказоустойчивый сервис, выполняющий функцию единой точкой входа для API и авторизации и аутентификации пользователей для отдельных сервисов экосистемы ООО «Квартплата 24». Языком программирования для реализации сервиса был выбран Scala, а в качестве среды разработки была выбрана IntelliJIdea.
Выполнено тестирование основного функционала разработанного сервиса.
Результаты выполнения данной выпускной квалификационной работы имеют практический интерес и могут быть рекомендованы разработчикам высоконагруженных, производительных, отказоустойчивых информационных систем.


1. Вигерс К. Разработка требований к программному обеспечению // К. Вигерс, Д. Битти. - Ch6:BI 1У2014.-736с
2. Галимянов А.Ф., Галимянов Ф.А. Архитектура информационных систем. - Казань: Казан. ун-т, 2019. - 117 с
3. Ездаков А.Л. Функциональное и логическое программирование. - М.: Бином. Лаборатория знаний, 2009. - 120 с.
4. Трутнев Д. Р Архитектуры информационных систем. Основы проектирования: Учебное пособие. - СПб.: НИУ ИТМО, 2012. - 66 с.
5. Baesens, B. Beginning Java Programming: The Object-Oriented
Approach / B. Baesens, A. Backiel, S. Vanden Broucke. - 1st edition, Wrox, 2015.
6. Deitel, H. Java How to Program / H. Deitel, P Deitel. - 9th edition, Prentice Hall, 2015.
7. Hudson O. Getting started with IntelliJ IDEA // O. Hudson, Birmingham: Packt Publishing, 2013. - 114p.
8. Krochmalski J. IntelliJ IDEA Essentials // J. Krochmalski. - Birmingham: Packt Publishing, 2014.-263p.
9. Akka gRPC Quickstart with Scala [Электронный ресурс]. URL:
https://developer.lightbend.com/guides/akka-grpc-quickstart-scala/. (дата
обращения: 28.04.2023).
10. JavaFX Overview [Электронный ресурс]. URL:
https://openjfx.io/javadoc/18/ (дата обращения: 21.04.2023)
11. JWT - как безопасный способ аутентификации и передачи данных [Электронный ресурс]. URL: https://vc.ru/dev/106534-jwt-kak-bezopasnyy- sposob-autentifikacii-i-peredachi-dannyh (дата обращения: 22.04.2023)
12. Hibernate ORM [Электронный ресурс]. URL:
https://hibernate.org/orm/ (дата обращения: 22.04.2023)
13. Kong API Gateway FAQ [Электронный ресурс]. URL: https://konghq.com/faqs#:~:text=Kong%20Gateway%20is%20the%20world%27s, for%20microservices%20and%20distributed%20architectures. (дата обращения: 22.04.2023).
14. Microsoft Руководство по архитектуре приложений .NET gRPC
[Электронный ресурс]. URL: https://learn.microsoft.com/ru-
ru/dotnet/architecture/cloud-native/grpc (дата обращения: 31.03.2023).
15. PostgreSQL Documentation [Электронный ресурс]. URL: https://www.postgresql.org/docs/current/index.html (дата обращения: 21.04.2023)
... всего 20 источников


Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ