Releases: DiedCloud/blps-lab
Lab 3 JMS
Lab 3
Реализация Лабораторной 3
Задание и вариант:
Доработать приложение из лабораторной работы №2, реализовав в нём асинхронное выполнение задач с распределением бизнес-логики между несколькими вычислительными узлами и выполнением периодических операций с использованием планировщика задач, а также интеграцию с внешней информационной системой.
Требования к реализации асинхронной обработки:
- Перед выполнением работы неободимо согласовать с преподавателем набор прецедентов,
в реализации которых целесообразно использование асинхронного распределённого выполнения задач.
Если таких прецедентов использования в имеющейся бизнес-процесса нет, нужно согласовать реализацию новых прецедентов,
доработав таким образом модель бизнес-процесса из лабораторной работы №1. - Асинхронное выполнение задач должно использовать модель доставки "очередь сообщений".
- В качестве провайдера сервиса асинхронного обмена сообщениями необходимо использовать очередь сообщений на базе RabbitMQ.
- Для отправки сообщений необходимо использовать протокол AMQP 0-9-1. Библиотеку для реализации отправки сообщений можно взять любую на выбор студента.
- Для получения сообщений необходимо использовать JMS API.
Требования к реализации распределённой обработки:
- Обработка сообщений должна осуществляться на двух независимых друг от друга узлах сервера приложений.
- Если логика сценария распределённой обработки предполагает транзакционность выполняемых операций, они должны быть включены в состав распределённой транзакции.
Требования к реализации запуска периодических задач по расписанию:
- Согласовать с преподавателем прецедент или прецеденты, в рамках которых выглядит целесообразным использовать планировщик задач.
Если такие прецеденты отсутствуют -- согласовать с преподавателем новые и добавить их в модель автоматизируемого бизнес-процесса. - Реализовать утверждённые прецеденты с использованием планировщика задач Spring (@scheduled).
Требования к интеграции с внешней Корпоративной Информационной Системой (EIS):
- Корпоративная Информационная Cистема, с которой производится интеграция, а также её функциональные возможности выбираются на усмотрение преподавателя и согласуются с ним.
- Взаимодействие с внешней Копроративной Информационной Системой должно быть реализовано с помощью технологии JCA (Jakarta Connectors).
Contributors
Full Changelog: lab-2...lab-3
Lab 2
Full Changelog: lab-1...lab-2
Lab 1
Реализация лабораторной 1.
Вариант №117:
YouTube — почти заблокированный видеохостинг — https://www.youtube.com. Бизнес-процесс: управление и монетизация видео на канале, модерирование комментариев.
Задание:
Описать бизнес-процесс в соответствии с нотацией BPMN 2.0, после чего реализовать его в виде приложения на базе Spring
Boot.
Порядок выполнения работы:
- Выбрать один из бизнес-процессов, реализуемых сайтом из варианта задания.
- Утвердить выбранный бизнес-процесс у преподавателя.
- Специфицировать модель реализуемого бизнес-процесса в соответствии с требованиями BPMN 2.0.
- Разработать приложение на базе Spring Boot, реализующее описанный на предыдущем шаге бизнес-процесс. Приложение должно
использовать СУБД PostgreSQL для хранения данных, для всех публичных интерфейсов должны быть разработаны REST API. - Разработать набор curl-скриптов, либо набор запросов для REST клиента Insomnia для тестирования публичных интерфейсов
разработанного программного модуля. Запросы Insomnia оформить в виде файла экспорта. - Развернуть разработанное приложение на сервере helios.
New Contributors
- @DiedCloud made their first contribution in #1
- @ITerNik made their first contribution in #2
Full Changelog: https://github.com/DiedCloud/blps-lab/commits/lab-1