Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабы Мартын 1(ComCorbaLab2004).doc
Скачиваний:
30
Добавлен:
10.02.2016
Размер:
1.81 Mб
Скачать

4.4 Индивидуальные задания на работу

4.4.1. Индивидуальное задание для каждого студента.РазработатьDCOM-сервер, используя встроенные средства библиотекиATL, который:

  • обеспечивает выполнение простейших математических операций;

  • обрабатывает запросы от клиента для заданной преподавателем простой арифметической функции с пятью операндами и четырьмя операциями, например, "(a+b)*(c–(d/e))";

  • предоставляет возможность получения статистики о выполненных запросах.

4.4.2.Индивидуальное задание для каждого студента. Разработать на любом языке программированиятестовый клиент,обладающийминимальным интерфейсом, который задается преподавателем, и имеющий возможность работать в двух режимах:

  • реальном(пользователь составляет запрос и отправляет его на сервер);

  • эмуляции потока запросов (клиент генерирует заданное количество запросов с определенными временными интервалами между ними).

В любой момент времени клиент может послать запрос серверу на получение статистики о выполненных математических запросах.

Лабораторная работа № 5. Разработка corba приложений

Что нужно, чтобы приступить к созданию приложений на основе CORBA? В принципе не так уж и много: прежде всего научиться описывать объекты, используя язык IDL.

Для начала следует установить инструментарий: будет использоваться VisiBroker 3.3 for Java и VisiBroker 3.3 for C++. Данные пакеты можно получить с Web-сервера компании Inprise в виде версий дистрибутива. Кроме того, VisiBroker входит в достаточно распространенные Enterprise-редакции пакетов JBuilder, C++Builder и Delphi корпорации Borland/Inprise. Еще один плюс в пользу выбора именно этих пакетов: существуют версии для множества операционных систем, включая Linux.

Установка VisiBroker происходит автоматически, поэтому, скорее всего, проблем не возникнет. Пакет прописывает необходимые ключи реестра Windows, а также модифицирует файл сервисов и переменные среды. Важно лишь помнить, что переменная PATH должна указывать на подкаталог bin основного каталога, где установлен VisiBroker.

5.1. Конфигурирование

Прежде чем заниматься настройкой VisiBroker, следует познакомиться с термином «виртуальный домен» и с тем, как его понимают разработчики CORBA-систем. Виртуальный домен — это один или несколько компьютеров, логически объединенных для выполнения некоторой задачи. Виртуальным домен называют потому, что для сетевого администратора его нет, а существует он лишь за счет каких-то установленных пользователями правил. К примеру, в VisiBroker это некий выделенный порт. Так что виртуальный домен можно считать маленькой подсетью внутри основной сети.

Когда разработка ведется не на одном компьютере, а в сети, могут потребоваться дополнительные настройки. Следует обратить внимание на две переменных среды:

  • OSAGENT_PORT (по умолчанию равна 14000) служит для настройки виртуальных доменов в рамках локальной сети;

  • VBROKER_ADM — системный каталог; обычно это подкаталог adm внутри основного каталога, где установлен VisiBroker; служит для хранения важной информации репозитария интерфейсов, демона активизации объектов и Smart Agent, а также является основным местом хранения конфигурационных файлов.

Настройка этих переменных вручную нужна лишь в UNIX, так как в Windows эти значения хранятся в системном реестре в виде ключей и могут быть изменены в любой момент с помощью утилиты vregedit, поставляемой с VisiBroker.

Значение OSAGENT_PORT важно, когда необходимо изолировать компьютеры, подключенные к одной и той же локальной сети. Кроме того, изменив OSAGENT_ PORT, можно разделить уже работающие на серверах объекты и их неотлаженные версии, «живущие» где-нибудь на компьютере разработчика. Если этого не сделать, то при запросе объекта приложению-клиенту может быть возвращена ссылка на еще «сырой» экземпляр объекта, которая случайно «подвернулась под руку» административной утилите Smart Agent. Напротив, если в локальной сети стандартным является порт 14000, а при разработке новых версий CORBA-объектов переменная OSAGENT_PORT настроена на 14500, можно быть спокойным— приложения не «зацепят» объекты в основном домене, а последние не заберутся в виртуальный домен. Это равносильно тому, что переключенарацияна канал, недоступный другим.

Следующий тонкий момент — организация взаимодействия частей CORBA-приложений, находящихся в разных локальных сетях, но связанных друг с другом (для крупных фирм сети со сложной топологией — не редкость). В VisiBroker по умолчанию поиск объектов и балансировку нагрузки выполняют запущенные в сетях экземпляры утилиты Smart Agent. Поэтому, для того чтобы они могли беспрепятственно связываться друг с другом, в каталоге, заданном переменной среды VBROKER_ADM, должен быть файл с именем agentaddr. Внутри него на каждой строчке будет помещаться одно имя или IP-адрес компьютера, на котором запущен другой экземпляр Smart Agent. Редактируя этот список, можно формировать топологию связей объектов. Изменить имя и место файла agentaddr легко, если настроить переменную среды OSAGENT_ADDR_FILE. Всеготовок работе с CORBA.