Н. 3. Елманова. C++Builder 3.0, архитектура "клиент/сервер" и Internet
Иными словами, при использовании технологии DCOM каждый клиент, нуждающийся в сервере приложений, может взаимодействовать только с одним конкретным компьютером, на котором имеется подобный сервер, сколько бы их ни было в сети. В этом случае информационная система не имеет никакой защиты от сбоев, связанных с перегрузкой сервера приложений или с его отказом по каким-либо иным причинам, так как отсутствует возможность переключения клиента между несколькими серверами.
8.9     Использование OLEnterprise
8.9.1   Как работает OLEnterprise
Применение Business ObjectBroker и OLEnterprise (составной части MIDAS) позволяет решить подобную проблему, при этом несущественно, какое средство разработки использовалось для создания сервера приложений, лишь бы это был сервер OLE Automation (рис. 8.34).
OLEnterpiise
Файл   Правка   Вид1;;?:
I f^ OLEnterprise
Configuration	Exploring            Object Explorer OLEnterpiise
fj]... .i	ifl_jl                     gP Object Factory        Release Notes             Uninstall
(6(ШгОв::7
1ЭЙ8Кг5айг;-
Puc. 8.34. Состав OLEnterprise
Business ObjectBroker осуществляет для "тонкого" клиента поиск нужного сервера приложений среди опубликованных (т. е. доступных извне) частей реестров компьютеров сети (совокупность опубликованных частей реестров иногда называется глобальным реестром - global registry).
Приложение ObjectFactory, используемое сервером, является клиентом OLE Automation. Оно действует на сервере от имени удаленного клиента, "представляя" его путем воспроизведения его запросов. Со стороны клиента имеется соответствующий "представитель" удаленного сервера приложений - Object Agent, являющийся сервером OLE Automation. Получив запрос
Создание многозвенных информационных систем с помощью C++Builder 3.0
к удаленному серверу, Object Agent направляет его к Object Factory, используя механизм вызова удаленных процедур (RFC - Remote Procedure Call).
Утилита Object Explorer (рис. 8.35), входящая в состав OLEnterprise, позволяет просматривать локальный и глобальный реестры, а также осуществлять экспорт (публикацию) сведений об объектах из локального реестра в глобальный и импорт этих сведений из глобального реестра в локальный, осуществляя таким образом межреестровый, обмен сведениями об удаленных серверах приложений в сети.
Если в сети имеется несколько компьютеров, на которых установлен и зарегистрирован один и тот же сервер приложений, при запросе "тонкого" клиента Object Agent обратится к Business ObjectBroker за сведениями о местоположении сервера, а тот, в свою очередь, найдет для него в глобальном реестре один из этих компьютеров. После этого Object Agent обратится к Object Factory выбранного компьютера, инициируя создание экземпляра удаленного модуля данных на сервере приложений.
Каков принцип выбора одного сервера приложений из нескольких? Сейчас сервер выбирается случайным образом среди компьютеров, доступных в сети. В случае отказа одного из серверов для соединенных с ним клиентов, не получивших отклика от сервера при очередной попытке соединения с ним, будет автоматически повторена процедура, описанная выше, и эти клиенты будут соединены с оставшимися серверами случайным образом без участия пользователя. В настоящее время ведется разработка более эффективной технологии выбора сервера, использующей сведения о загрузке процессоров и сетевом трафике функционирующих в сети серверов, что позволит более равномерно распределять нагрузку между серверами.
Отметим также, что в глобальный реестр можно включать сведения об RFC-серверах, функционирующих не только в операционных системах Windows 95 и Windows NT, но и в других операционных системах.
202
203