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


Фреймворк для автогенерации модуля безопасного обмена сообщениями на основе пользовательской конфигурации внутри Spring-приложения

Работа №48259

Тип работы

Дипломные работы, ВКР

Предмет

информатика

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

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


ТЕРМИНЫ И ОПРЕДЕЛЕНИЯ 3
ВВЕДЕНИЕ 4
1. ВЫБОР СПОСОБА ОРГАНИЗАЦИИ СЕРВИСА 7
1.1 Spring Boot 8
1.2 Spring Roo 10
1.3 Анализ результатов 12
2. ИНСТРУМЕНТЫ РАЗРАБОТКИ И РЕАЛИЗАЦИЯ 15
2.1 Инструменты разработки 15
2.2 Реализация 17
2.2.1 Взаимодействие сервиса с приложением 17
2.2.2 Доступ к данным 18
2.2.3 Функциональность обмена сообщениями 20
2.2.4 Аутентификация и авторизация 23
2.3 Подключение к приложению 25
ЗАКЛЮЧЕНИЕ 29
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 30
ПРИЛОЖЕНИЕ А 31
ПРИЛОЖЕНИЕ Б


Команда ООО «Первая платформа программной инженерии» , занимающаяся разработкой корпоративных веб-приложений, часто сталкивается с требованием обеспечить возможность общения пользователей приложения в режиме реального времени. Данное требование предъявляется не только к системам, ориентированным на общение пользователей и обмен контентом, где функционал чата является центральным, но и к тем продуктам, где данная функция является второстепенной либо служебной (например, переписка со службой технической поддержки).
Разработка серверной части программных продуктов в ООО «Первая платформа программной инженерии» ведется на языке программирования Java с использованием возможностей фреймворка Spring , являющегося на сегодня самым востребованным фреймворком для разработки на Java [5].
В качестве решения для реализации обмена сообщениями между web- клиентом и сервером Spring предоставляет поддержку протокола полнодуплексной связи WebSocket (RFC 6455 ) [2]. Данный протокол
предоставляет возможность непрерывного взаимодействия в двух направлениях, при этом избегая постоянного опроса клиентом серверной стороны и дополнительных накладных расходов, кроме того, он подходит для приложений, в которых сообщения передаются с высокой частотой, а также требующих низкой задержки [1].
Несмотря на то, что библиотека для работы с WebSocket из фреймворка Spring значительно упрощает задачу по реализации функциональности обмена сообщениями, она остается трудоемкой и требовательной к навыкам и знаниям программиста в данной области. Также стоит учесть, что модули приложений, использующих Spring WebSocket, строятся по одному и тому же шаблону, состоят из одних и тех же компонентов и взаимодействуют с другими компонентами по одним и тем же принципам. В связи с этим возникает необходимость разработать сервис, позволяющий быстро добавить к уже готовому приложению либо приложению, находящемуся на стадии разработки, возможность обмена сообщениями. Таким образом, целью данной дипломной работы является разработка сервиса внедрения модуля обмена сообщениями на основе протокола WebSocket в серверное Spring-приложение.
Внедрение модуля обмена сообщениями с помощью сервиса не должно требовать больших трудозатрат от пользователя: подключение и настройка сервиса должны занимать мало времени, а написание программного кода внутри пользовательского приложения для взаимодействия с сервисом необходимо свести к минимуму. Использование сервиса должно быть понятным для пользователя, не имеющего опыта работы с WebSocket, но при этом необходимо сохранить возможность гибкой настройки внедряемого модуля под конкретный проект.
Для достижения цели были поставлены следующие задачи:
• Рассмотреть опыт проектов, предоставляющих решения для упрощения работы с фреймворком Spring.
• Выбрать способ внедрения сервиса в готовое или находящееся на стадии разработки приложение.
• Разработать компоненты, отвечающие за обмен сообщениями.
• Реализовать универсальный способ внедрения изменений в схему пользовательской базы данных.
• Разработать клиентский модуль для использования функциональности чата

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

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

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


В ходе выполнения дипломной работы был реализован фреймворк для автогенерации модуля безопасного обмена сообщениями на основе пользовательской конфигурации внутри Spring-приложения.
Данное приложение:
• внедряется в существующее приложение посредством подключения Maven-артефакта и реализации набора интерфейсов;
• автоматически вносит изменения, необходимые для хранения данных о диалогах, в схему базы данных;
• использует конфигурацию безопасности, настроенную в пользовательском приложении;
• предоставляет API с функциями чата и готовые web-страницы с логикой обработки сообщений для использования чата в браузере.
Таким образом, сервис решает поставленные перед ним задачи и удовлетворяет изначально обозначенным требованиям.
В качестве протокола обмена сообщениями в сервисе используется современная и лучшая для выполнения данной задачи технология WebSocket, а для реализации взаимодействия на сервере выбран модуль spring-websocket из Spring Framework.
Разработанный сервис снижает трудозатраты разработчиков, необходимые для реализации модуля обмена сообщениями в Spring- приложении.
Возможность разбивать пользователей на группы на основе соответствующей конфигурации с целью разграничения доступа к созданию диалогов между пользователями, и возможность создания групповых диалогов представляются на сегодня одними из первых функций, которые необходимо добавить к сервису. Однако данный план по доработке сервиса может быть скорректирован на основе опыта использования сервиса в реальных и тестовых проектах.



1. Крис Шеффер. Spring 4 для профессионалов. / Крис Шеффер, Кларенс Хо, Роб Харроп - Apress, 2017. - 626 с.
2. Craig Walls. Spring in Action. Fourth Edition. / Craig Walls - Manning Shelter Island 2015. - 626 с.
3. Ian Fette. The WebSocket Protocol / Ian Fette, Alexey Melnikov. Internet
Engineering Task Force. 2011 - [Электронный ресурс] -
https: //tools.ietf. org/html/rfc6455.
4. Spring Roo / Pivotal Software, Inc., 2018 - [Электронный ресурс] - https: //proj ects. spring.io/spring-roo/
5. Language Framework Popularity: A Look at Java / Redmonk analyst firm,
2017 - [Электронный ресурс] -
http://redmonk.com/fryan/2017/06/22/language-framework-popularity-a-look-at-java-june-2017/
6. WebSocket Support / Pivotal Software, Inc., 2014 - [Электронный
ресурс] - https://docs.spring.io/spring/docs/4.0.1.RELEASE/spring-
framework-reference/html/websocket.html
7. Spring Boot / Pivotal Software, Inc., 2018 - [Электронный ресурс]
- https://projects.spring.io/spring-boot/
8. STOMP Over WebSocket / Jeff Mesnil, 2012 - [Электронный ресурс] - http://jmesnil.net/stomp-websocket/doc/
9. WebSocket Security / Pivotal Software, Inc., 2018 - [Электронный
ресурс] - https://docs.spring.io/spring-
security/site/docs/current/reference/html/websocket.html
10. Using STOMP JS / [Электронный ресурс] - https://stomp-
js.github.io/stomp-websocket/codo/extra/docs-src/Usage.md.html


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




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