next_inactive up previous


PIMR 1.0.0: Руководство администратора
Версия 1.0.0
www.gradsoft.kiev.ua


Contents

Общие сведения

Состав и назначение пакета

Пакет PIMR ("репозитарий реализаций", далее просто "репозитарий") предназначен для повышения доступности CORBA-сервисов ("реализаций"). Кроме того репозитарий может использоваться для упрощения конфигурирования при использовании нескольких взаимосвязанных CORBA-сервисов вместо nameservice. Функции репозитария состоят в отслеживании доступности сервисов и перенаправлении запросов работающему сервису. С этой целью им поддерживается реестр сервисов. Репозитарий предназначен для работы под управлением одной из Unix-подобных ОС или Windows NT. Написан на C++ с использованием GradC++ToolBox.

Где взять

PIMR всегда доступен в CVS (модуль "COS/PIMR").

Авторская группа

Пакет PIMR разработан компанией GradSoft, домашняя страничка GradSoft http://www.gradsoft.com.ua

Инсталляция

Общие сведения

Пакет PIMR распространяется в исходных кодах, его установка включает следующие действия:

  1. Компиляция - компиляция исходного кода в окружении пользователя.
  2. Установка - копирование исполняемого модуля и других файлов в указанные пользователем каталоги.
  3. Настройка (см. дальше).
В процессе работы при помощи команды make с нужными опциями (см. ниже) Вы можете:
  1. откомпилировать пакет;
  2. инсталлировать предварительно откомпилированный пакет;
  3. удалить объекты, созданные в процессе компиляции;
  4. удалить переписанные файлы

Необходимое ПО

  1. Компилятор C++ :
  2. Утилита make:
  3. Библиотека GradC++Toolbox 1.5.0 и выше
  4. CORBA ORB:
  5. Tcl интерпритатор (используется для интерпретирования кофигурационного файла):

Порядок инсталляции под UNIX

  1. Убедиться, что необходимое ПО установленно и работатет.
  2. Развернуть архив pimr-1.0.0.tar.gz либо pimr-1.0.0.zip в избранном Вами каталоге (в дальнейшем этот каталог мы будем называть "корневым каталогом проекта", и обозначать <project_root>).
  3. Перейти в этот каталог.
  4. Запустить configure командой ./configure с нужными опциями (список опций выводтися при запуске ./configure" с опцией \verb"--help; в частности, можно задать опцию --prefix=<smth> для назначения каталога инсталляции)
  5. Запустить компиляцию, с помощью команды gmake
  6. Перейти в root режим с помощью команды su
  7. Запустить инсталляцию с помощью команды gmake install
  8. Для деинсталяции пакета можно воспользоваться командой gmake uninstall

Порядок инсталляции под Windows NT

  1. Убедиться, что необходимое ПО установленно и работатет. В настоящее время для работы с MSVC требуется, чтобы:
    1. переменные среды пользователя INCLUDE и LIB были определены и содержали пути к включаемым файлам и библиотекам MSVC соответственно.
    2. пути к утилитам nmake, cl, link были прописаны в переменной среды пользователя PATH.
  2. Развернуть архив pimr-1.0.0.tar.gz либо pimr-1.0.0.zip в избранном Вами каталоге (назовём его <project_root>). Отредактировать файл environment.nt в подкаталоге <project_root>\config\Win32. При редактировании установить значения следующих nmake-переменных:
  3. Для компиляции пакета перейти в каталог <project_root> и воспользоваться командой make" ( \verb"make build ).
  4. Для инсталляции пакета перейти в каталог <project_root> и воспользоваться командой make install.
  5. Для удаления инсталлированных файлов перейти в каталог <project_root> и воспользоваться командой make uninstall.
  6. Для для удаления файов, созданных в процессе компиляции перейти в каталог <project_root> и воспользоваться командой make clean.

Настройка

Перед использованием PIMR его нужно настроить. Процесс настойки PIMR состоит в настройке конфигурационного файла и использовании аргументов командной строки. Справку по аргументам командной строки можно получить запустив PIMR с опцией --help, допускается использование следующих опций:

И непосредственно опции репозитария:

Можно также указать опции для используемого вами объектного брокера.

Например, репозитарий, использующий ORBACUS и запущеный с такими опциями:

pimr.exe
   --configfile conf.pimr --logfile log.pimr
   -OAport 12345 -ORBtrace_connections 2
   --ior-stdout
прочитает конфигурацию репозитория из файла "conf.pimr"; будет вести лог в файле "log.pimr"; орб репозитария будет использовать порт 12345 и выдавать тестовые сообщения; при запуске репозитарий выведет свой IOR.

Файл конфигурации репозитория является программой на языке TCL. Для настройки PIMR в язык добавлено несколько команд. Это:

Рассмотрим для примера такой конфигурационный файл:

#
# This is TCL demo config file for PIMR
#
set thisHost "127.0.0.1"
set thisPort 11000
                                     
service  HelloService \
    --ior "corbaloc::${thisHost}:${thisPort}/HelloService" \
    --repositoryid "IDL:Demo/HelloWorlder:1.0" \

#    --restart "startHelloWorlder.bat" \  This lines are commented
#    --host "${thisHost}:${thisPort}" \   Note that ${thisHost}
#    --callback "" \                      will be computed by TCL.

forwardfreq 1
checkfreq 10
obsoletetimeout 15
restarttimeout 30
redirecttimeout 60

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

Желательно выбирать параметры репозитория с соблюдением правил: obsoletetimeout + checkfreq + restarttimeout < redirecttimeout

Тестирование

Общие сведения

Для проверки работоспособности откомпилированного пакета предоставляются тестовые примеры. Для того, чтобы было, что запускать, надо сначала откомпилировать репозиторий и тестовые примеры. Откомпилировать тестовые примеры под Windows можно из каталога <project_root> выполнив команду:

nmake /f makefile.nt buildtests

Чтобы удалить скомпилированное нужно выполнить:

nmake /f makefile.nt cleantests

Под Unix-подобной системой воспользуетесь ???.

Теперь передите в каталог <project_root>/demo/ и осмотритесь. Прочитайте "readme"-файлы в этой директории и поддиректориях.

В поддиректориях <project_root>/demo/server*/ размешены тестовые CORBA-сервисы. Для упрощения запуска там же созданы файлы run.bat Описания интерфейсов примеров размещены в файлах <project_root>/demo/*.idl.

Директория <project_root>/demo/client/ содержит прграмму-клиент для этих сервисов. Там же расположены файлы run_straight.bat и run_via_repository.bat предназначенные для запуска клиента соответственно напрямую и через репозитарий.

Директория <project_root>/demo/repository/ сожержит конфигурации репозитория для демо-примеров и скрипты запуска repository*.bat.

Cкрипты настроены на использование ip-адреса 127.0.0.1 и портов 11000 (11001), 11111 сервисом и репозитарием соответствено. Поэтому перед запуском убедитесь что данные порты свободны для использования.

Порядок тестирования под Windows

Использование

Для того чтобы репозитарий отслеживал сервис его нужно зарегистрировать в нём. Это возможно либо из конфигурационного файла, либо с помощью интерфейса RepositoryAdmin. Тогда сервис будет доступен по ссылке:

corbaloc::хост_репозитария:порт_репозитария/имя_необходимого_сервиса

Клиент направляет заявку используя этот корбалок. Заявка автоматически перенаправляется объекту-сервису.

Доступ к репозитарию проводится с помощью ссылки:

corbaloc::хост_репозитария:порт_репозитария/Repository

Внимание! Не используйте имя "Repository" при регистрации своих сервисов. Это имя используется для дуступа к репозитарию. При попытке зарегистрировать сервис с таким именем будет возвращено исключение PIMR::RepositoryAdmin::NotAviable.

В процессе работы репозитарий выдаёт сообщения в лог-файл. По определению это ./pimr.log, но расположение этого файла может быть изменено с помощью аргумента командной строки --configfile лог_файл. Для того чтобы изменить степень деталиазции сообщений в файле PIMRPostConfig.h установите значения соответствующих переменных:

#define LOG_DEBUG_ENABLE   false
#define LOG_INFO_ENABLE    true
#define LOG_WARNING_ENABLE true
#define LOG_ERROR_ENABLE   true
#define LOG_FATAL_ENABLE   true

и перекомпилируйте репозитарий.

История документа

15.08.2002
- Создана предварительная версия.


next_inactive up previous
GradSoft