Лабораторная работа 7 (ПКРПСиБД LAB7 Степная Е.В.)

Посмотреть архив целиком



Национальный исследовательский университет

«Московский Энергетический Институт»

Институт автоматики и вычислительной техники

Кафедра прикладной математики











Лабораторная работа №7

По дисциплине «Проектирование крупных программных систем и баз данных»

На тему «Разработка приложения с событийно-управляемой архитектурой с применением NServiceBus»



Выполнила студентка

Группы А-13-08

Степная Е.В.



Проверил

Куриленко И.Е.







Москва, 2012





Цель работы

Научиться разрабатывать событийно-управляемые приложения на примере использования NServiceBus.

Теория

NServiceBus – популярный фреймворк для интеграции сервисов и разработки распределённых приложений (автор UdiDahan), использующий для транспорта сообщений службы очереди сообщений Microsoft (MicrosoftMessageQueuingServices, MSMQ), которые обеспечивают транзакцион-ность и надёжность пересылки сообщений.

NServiceBus-шина является виртуальной сущностью, полученной в результате взаимодействия всех сервисов вместе. То есть, в каждом процессе присутствует своя сущность шина, обеспечивающая отправку и получение сообщений.

NServiceBus поддерживает несколько шаблонов обмена сообщениями:

Однонаправленное сообщение (One-way)

Запрос/ответ (RPC)

Дуплексный обмен (Full-duplex)

Издатель/подписчик (Pub/Sub)

Последний шаблон является сильной стороной NServiceBus.

Для NServiceBus является типичным следующее взаимодействие:

Клиентское приложение отправляет на сервис некоторую команду. На сервере происходит ее обработка и, в случае успешного выполнения, сервис публикует сообщение о соответствующем событии, на которое уже подписаны другие сервисы. Клиентское приложение получает статус операции.

Пример. Приход клиента в банк за получением кредита.

Цикл обработки сообщений в NServiceBus: