Лабораторная работа № 3. Разработка сервиса с использованием технологии DSS 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Лабораторная работа № 3. Разработка сервиса с использованием технологии DSS



Цель: создание простейшего DSS сервиса, реализующего параллельную обработку данных

 

Краткие теоретические сведения

 

Обзор технологии DSS

Сервисы могут взаимодействовать друг с другом как партнёры. Этот процесс называется координация (orchestration).

С помощью DSS Runtime выполняется запуск и остановка сервисов, организация потоков сообщений между сервисами через их порты. Фактически DSS состоит из нескольких сервисов, которые загружают конфигурацию сервиса, управляют безопасностью, доступом к локальным файлам и ресурсами, предоставляют список запущенных сервисов, интерфейс к сервису через Internet. Существует базовый класс DSS, от которого производны все сервисы.

Сервисы, которые входят в состав приложения, могут создаваться и уничтожаться динамически. В большинстве случаев используемые сервисы указываются в манифесте. Манифест – XML файл, в котором перечисляются сервисы, а также отношения между ними.

Сервис состоит из нескольких компонент:

1) соглашение – определяет сообщения, которые можно отправить сервису, а также глобально уникальную ссылку, называемую идентификатором соглашения, которая идентифицирует сервис и записывается в форме URI (Universal Resourse Identifier);

2) внутренне состояние – информация, которую хранит сервис; данная информация может использоваться операциями;

3) поведение – набор операций, которые сервис может выполнить, операции реализуются в виде обработчиков;

4) контекст исполнения – отношения сервиса с другими сервисами и начальное состояние сервиса.

Компоненты сервиса показаны в виде диаграммы на рис. 2.

 

Рис. 2. Компоненты сервиса

Общие соглашения

 

Концепция общих соглашений по смыслу близка к абстрактным классам. Общие соглашения не имеют собственной реализации. Они состоят только из определений, необходимых для идентификатора соглашения, состояния и главного порта операций.

Для реализации общего сервиса необходимо разработать сервис, который основан на общем соглашении. Проще всего это можно сделать если при вызове команды DssNewService указать параметр /alt и реализуемое сервисом общее соглашение.

Реализация общего сервиса включает два порта операций: первый для нового сервиса, второй – для получения запросов, описанных в общем соглашении. В исходном коде для нового сервиса нужно реализовать обработчики для всех операций, определенных в сервисе общего соглашения. В новый сервис не обязательно добавлять обработчики (Lookup, Drop и Get добавляются по умолчанию). Простейшая реализация, состоит только из обработчиков для общих операций, в этом случае порт для собственных операций не требуется.

Общие соглашений представляют собой попытку создания аппаратно-независимого сервиса, подобного драйверу устройства, который отделяет детали аппаратного обеспечения от операционной системы.

 

Lev2. DSS узел

Программа DssHost.exe отвечает за реализацию среды выполнения для MRDS. DssHost запускает веб-сервер, что позволяет опрашивать DSS-узел и запущенные сервисы, используя веб-браузер. Это означает, что можно просматривать и управлять состоянием сервисов, запущенных на DSS узле через сеть без установки каких-либо специальных клиентов. После запуска DSS узла, несколько сервисов запускается автоматически:

1) Console Output: захватывает и фильтрует информационные сообщения и сообщения об ошибках;

2) Constructor: создает экземпляры сервисов;

3) Control Panel: поддерживает интерфейс для запуска и остановки сервисов вручную;

4) Manifest Loader: выполняет в режиме интерпретации манифесты для определения сервисов, входящих в приложение;

5) Mount Service: поддерживает доступ к локальной файловой системе (только в пределах каталога MRDS);

6) Embedded Resource Manager: позволяет работать с ярлыками, битовыми картами, XSLT файлами и другими ресурсами;

7) Security Manager: управляет безопасностью на DSS узле;

8) Service Directory: поддерживает список сервисов на DSS узле;

9) Partner Manager: выполняет чтение конфигурационного файла при запуске сервиса.

Расположение локального узла DSS можно определить с помощью статического класса LayoutPaths:

string logdir = LayoutPaths.RootDir+LayoutPaths.Logdir;

После выполнения команды в переменной logdir будет находиться полный путь к каталогу Log.

Запустите DSS Command Promt, выбрав Пуск→Программы→Microsoft Robotics Studio→DSS Command Prompt. Введите следующую команду, чтобы посмотреть все возможные параметры командной строки:

DssHost /?

Запустите DssHost, используя следующую команду:

DssHost /p:50000 /t:50001

Результат выполнения команды должен выглядеть, как показано на рис. 3. Из рисунка видно, что были запущены сервисы Directory, Constructor и Console Output, но не было загружено манифестов.

 

 

Рис. 3. Результат запуска узла

 

Для использования команд MRDS нужно запустить DSS Command Prompt. При выполнении данной команды выполняется установка корневого каталога, переменных окружения и запуск дополнительных программ.

 



Поделиться:


Последнее изменение этой страницы: 2016-04-26; просмотров: 211; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.218.218.230 (0.007 с.)