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


РАЗРАБОТКА ПОДСИСТЕМЫ СООБЩЕНИЙ ДЛЯ IAS

Работа №183520

Тип работы

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

Предмет

математика

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

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


Аннотация 2
ВВЕДЕНИЕ 3
1 СЕРВЕР ПРИЛОЖЕНИЙ IAS 5
2 СПЕЦИФИКАЦИЯ JMS 7
2.1 Архитектура 7
2.2 Модели доставки сообщений 7
2.3 Сообщение в JMS 8
2.4 Отправка и получение сообщений 8
2.5 Создание поставщика JMS-клиентом 9
2.6 Создание получателя JMS-клиентом 10
2.7 Синхронное и асинхронное потребление сообщений 11
2.8 Надежный обмен сообщениями 11
3 ОПРЕДЕЛЕНИЕ ТРЕБОВАНИЙ К ПОДСИСТЕМЕ 13
3.1 Функциональные требований 13
3.2 Нефункциональные требований 13
4 ПРОЕКТИРОВАНИЕ 16
4.1 Проектирование клиента 18
4.2 Проектирование сервера 22
4.3 Проектирование общего компонента 27
4.4 Проектирование компонента общения между сервером и клиентом 32
5 РЕАЛИЗАЦИЯ 33
5.1 MS.Client 33
5.2 MS.Server 35
5.3 MS.Communication 41
6 РАБОТА ПОДСИСТЕМЫ СООБЩЕНИЙ MS 44
ЗАКЛЮЧЕНИЕ 45
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ И ЛИТЕРАТУРЫ 48
ПРИЛОЖЕНИЕ А Акт о внедрении 50


Программисты решают множество разновидных задач, все эти задачи можно поделить на какие-то типы или виды. Также можно столкнуться с задачей отправки и получения данных с одного приложение в другое.
Есть множество решений отправки таких данных. Это своеобразный мостик, через который можно отсылать данные. Видов таких мостиков много. Можно, например, отправлять данные через http [1], или использовать для этого websocket [2]. Все это можно назвать “транспортом” для данных. Мы просто передаём данные с одного места в другое.
Но что делать когда данных становится много? А что делать, когда мест куда и когда надо отправить данные тоже становится много? На помощь приходят так называемые брокеры сообщений [3]. Они как раз и помогают рассылать данные в необходимые места, и делать при этом гарантии доставки. Это уже не просто “транспорт” - это целая магистраль, в которой все знают когда, где и куда отправить или получить данные.
Это сложный механизм, который нуждается в постоянной поддержке и в чуткой настройке. Есть множество решений, которые решают эту проблему: kafka [4], RabbitMQ [5] и другие. Все брокеры [3] решают одну проблему, но по-разному. У каждого есть свои достоинства и недостатки.
При разработке сервиса приложений IAS было решено разработать своего брокера сообщений [3] для своих нужд. Это связанно с тем, чтобы было меньше зависимостей от стороннего программного обеспечения. Чтобы не приходилось поддерживать кодовую базу при обновлениях брокера сообщений [3]. Чтобы не приходилось ждать исправления ошибок в следующем обновлении. Нужен такой брокер сообщений [3], который будет покрывать все необходимые задачи, при этом интеграция не нуждался бы в поддержке, а также легко развертывался и запускался в новой системе. Все это и сыграло в пользу написания своего брокера сообщений [3].
Так как IAS - сервер приложений, в котором и будет работать написанный брокер сообщений [3], основан на идеях JBoss Application Server, то для написания брокера сообщений [3] возьмем спецификацию JMS [6].
Чтобы написать брокера сообщений [3] для сервера приложений IAS основывая на спецификацию JMS [6] необходимо решить следующие задачи:
1. Изучить функциональность сервера приложений IAS;
2. Изучить принципы работы JMS [6];
3. Определить требования к подсистеме сообщений;
4. Спроектировать подсистему сообщений;
5. Реализовать подсистему сообщений.


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

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

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


Целью работы является разработка подсистемы сообщений для сервера приложений IAS.
Процесс разработки делиться на этапы:
1. Выявление требований;
2. Знакомство с JMS [6];
3. Проектирование подсистемы;
4. Реализация подсистемы.
На первом этапе были выявлены основные и дополнительные требования, предъявляемые к подсистеме. А именно были выявлены функциональные и нефункциональные требования.
Функциональные требования:
1. Отправить данные;
2. Получить данные.
Нефункциональные требования:
1. Протокол передачи данных;
2. Гарантированность;
3. Надёжность;
4. Масштабируемость;
5. Используемые технологии.
Затем была выбран стандарт JMS [6]. В работе описываются принципы и идеи работы JMS [6]. Основные объекты JMS [6]:
1. Connection;
2. Session;
3. Producer;
4. Consumer;
5. MessageListner.
6. Destination:
a. Topic;
b. Queue.
На следующем этапе была спроектирована подсистема сообщений на основе выявленных требований, а именно спроектирована работа подсистемы в имеющейся архитектуре сервера приложений IAS. А, так же подсистема разбилась на пакеты:
• MS.Client:
o IConnection;
o ISession;
o IProducer;
o IConsumer;
o IMessageListner.
• MS.Server:
o Destination;
o IServerConsumer;
o IRestoreMenager;
o IDestinationMessage;
o IConnectionMessage.
• MS.Common:
o Message;
o IConnectionServerProducer;
o IConnectionServerConsumer;
o IConnectionClientProducer;
o IConnectionClientConsumer.
• Ms.Communication.
Затем на этапе реализации были реализованы объекты на основе спроектированных интерфейсов. Получившиеся пакеты:
• MS.Client:
o Connection;
o Session;
o Producer;
o Consumer.
• MS.Server:
o Topic;
o Queue;
o ServerConsumer;
o RestoreMenager;
o DestinationMessage;
o ConnectionMessage;
o ServerConnection.
• MS.Common;
• Ms.Communication:
o Local:
■ LocalConnectionFactory;
■ LocalConnectionServerProducer;
■ LocalConnectionServerConsumer;
■ LocalConnectionClientProducer;
■ LocalConnectionClientConsumer.
o ClientContext:
■ ClientContextConnectionFactory;
■ ClientContextConnectionServerProducer;
■ ClientContextConnectionServerConsumer;
■ ClientContextConnectionClientProducer;
■ ClientContextConnectionClientConsumer.
Подсистема сообщений была внедрена в сервер приложений IAS. Акт о внедрении представлен в приложении А.
Таким образом, подводя итог всех работ, которые были проведены для выполнения целей и задач, можно сделать вывод о том, что цель была достигнута, а все задачи были выполнены.



1. HTTP [Электронный ресурс] - URL:
https://ru.wikipedia.org/wiki/HTTP (дата обращения: 08.05.2023)
2. WebSocket [Электронный ресурс] - URL:
https://ru.wikipedia.org/wiki/WebSocket (дата обращения: 08.05.2022)
3. Брокер сообщений [Электронный ресурс] - URL: https://ru.wikipedia.org/wiki/Брокер_сообщений (дата обращения: 08.05.2023)
4. Apache Kafka [Электронный ресурс] - URL:
https://kafka.apache.org (дата обращения: 08.05.2023)
5. RabbitMQ [Электронный ресурс] - URL: https://rabbitmq.com (дата обращения: 08.05.2023)
6. JMS [Электронный ресурс] - URL:
https://www. oracle. com/technical-resources/articles/j ava/intro-j ava-message- service.html (дата обращения: 08.05.2023)
7. Документация по C# [Электронный ресурс] - URL: https://docs.microsoft.com/ru-ru/dotnet/csharp/ (дата обращения: 08.05.2023)
8. Документация по .NET Framework [Электронный ресурс] - URL: https://docs.microsoft.com/ru-ru/dotnet/framework/ (дата обращения: 08.05.2023)
9. Обзор среды CLR [Электронный ресурс] - URL: https://docs.microsoft.com/ruru/dotnet/standard/clr/ (дата обращения: 08.05.2023)
10. Якобсон А., Буч Г., Рамбо Дж. Унифицированный процесс разработки программного обеспечения. - СПб.: Питер, 2002. - 496 с.
11. Буч Г., Рамбо Д., Якобсон И. Язык UML. Руководство
пользователя, 2-е издание. - М.: ДМК-Пресс, 2006. - 496 с.
12. Monitor класс [Электронный ресурс] - URL:
https://learn.microsoft.com/ru- ru/dotnet/api/system.threading.monitor?view=netframework-4.5.1 (дата
обращения: 08.05.2023)
13. Информационно-аналитическая веб-система “Ясень-Веб”
[Электронный ресурс] - URL: https://incom.tomsk.ru/product/fire/yasen-veb (дата обращения: 08.05.2023)
14. Комплекс навигационный для летчика-наблюдателя
[Электронный ресурс] - URL: https://incom.tomsk.ru/product/fire/bkpo (дата обращения: 08.05.2023)


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




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