ПКРПСиБД LAB7 Машеров Д.Е. (548674)
Текст из файла
Национальный исследовательский институт
Московский Энергетический Институт (Технический Университет)
Институт автоматики и вычислительной техники
Кафедра Прикладной математики
Лабораторная работа №7
по дисциплине «Проектирование крупных распределенных программных систем и баз данных»
тема: «Разработка приложения с событийно-управляемой архитектурой с применением NServiceBus»
Выполнил:
Машеров Д.Е.
Проверил:
к.т.н., доц. Куриленко И.Е.
Москва
2012 г.
NServiceBus
NServiceBus – популярный фреймворк для интеграции сервисов и разработки распределённых приложений. NServiceBus использует службы очереди сообщений Microsoft (Microsoft Message Queuing Services, MSMQ) для транспорта сообщений.
Создание приложения.
В программе созданы три библиотек классов:
-
EncryptedData. Реализует сообщение, с зашифронными данными
-
Client. Отправляет сообщение.
-
Server. Принимает сообщение.
-
Сообщения
Класс сообщения определяется с помощью маркерного интерфейса IMessage.
public class EncryptedData : IMessage
{
public WireEncryptedString Secret1 { get; set; }
public WireEncryptedString Secret2 { get; set; }
}
-
Клиент
В файл конфигурации добавляется новая секция конфигурации RijndaelEncryptionServiceConfig и конфигурация
<UnicastBusConfig>
<MessageEndpointMappings>
<add Messages="Messages" Endpoint="Server"/>
Файл клиента:
public class EndpointConfig : IConfigureThisEndpoint, AsA_Client {}
public class SecurityConfig : IWantCustomInitialization
{
public void Init()
{
Configure.Instance.RijndaelEncryptionService();
}
}
public class Runner : IWantToRunAtStartup
{
public void Run()
{
Console.WriteLine("Напечатайте \"stop\", чтоб закончить работу");
while (Console.ReadLine() != "stop")
{
Console.WriteLine("Введите сообщения");
string secret1 = Console.ReadLine();
string secret2 = Console.ReadLine();
Bus.Send
{
m.Secret1 = secret1;
m.Secret2 = secret2;
});
}
Stop();
}
public void Stop()
{
}
public IBus Bus { get; set; }
}
-
Сервер:
Конфигурация
Файл сервера
public class EndpointConfig : IConfigureThisEndpoint, AsA_Server, IWantCustomInitialization
{
public void Init()
{
Configure.With()
.StructureMapBuilder()
.RijndaelEncryptionService();
}
}
public class Handler : IHandleMessages
{
public void Handle(EncryptedData message)
{
Console.Out.WriteLine("Secret1: " + message.Secret1);
Console.Out.WriteLine("Secret2: " + message.Secret2);
}
}
Пример работы
Приложение клиента:
Приложение сервера:
Литература:
-
Доклад «Обзор возможностей NserviceBus» http://www.techdays.ru/videos/2295.html
-
Сайт NServiceBus http://nservicebus.com/
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.