Компонент TSimpleObjectBroker
Компонент TSimpleObjectBroker инкапсулирует список серверов, доступных для клиентов данного многозвенного распределенного приложения. Список серверов создается на этапе разработки. При необходимости (отключение
сервера, его перегрузка и т. д.) компонент соединения клиентского ПО может использовать один из запасных серверов из списка компонента TsimpleobjectBroker непосредственно во время выполнения.
Для этого необходимо заполнить список серверов компонента TSimpleobjectBroker и указать ссылку на него в свойстве objectBroker компонента соединения (см. выше). И тогда при "переоткрытии" соединения имя сервера будет запрашиваться из списка компонента TsimpleobjectBroker.
Список серверов задается свойством
property Servers: TServerCollection;
На этапе разработки список серверов заполняется специализированным редактором (рис. 20.6), который вызывается при щелчке на кнопке свойства в Инспекторе объектов.
![](image/gl-20-6.gif)
Рис. 20.6. Редактор списка серверов компонента TSimpleObjectBroker
Свойство servers представляет собой коллекцию (см. гл. 7) объектов класса TServeritem. Этот класс имеет несколько свойств, позволяющих описать основные параметры сервера (табл. 20.3). При использовании в соединении значения этих свойств подставляются в соответствующие свойства компонента соединения.
Таблица 20.3. Свойства класса TServeritem
Объявление |
Описание |
property ComputerName: string; |
Имя компьютера, на котором функционирует сервер |
property DisplayName: String; |
Содержит имя сервера для представления в списке серверов |
property Enabled: Boolean; |
Управляет доступностью записи о сервере для выбора при подключении. При значении True компоненты соединений могут использовать данную запись списка для подключения |
property HasFailed: Boolean; |
После неудачной попытки использовать данную запись списка при подключении свойству присваивается значение True и в дальнейшем эта запись не используется |
property Port: Integer; |
Содержит номер порта, используемого при подключении к серверу |
Помимо списка серверов компонент имеет лишь несколько вспомогательных свойств и методов.
Метод
function GetComputerForGUID(GUID: TGUID): string; override;
возвращает имя компьютера, на котором зарегистрирован сервер с GUID, заданным параметром.
Метод
function GetComputerForProgID(const ProgID): string; override;
возвращает имя компьютера, на котором зарегистрирован сервер с именем, заданным параметром Progio.
Свойство
property LoadBalanced: Boolean;
управляет выбором сервера из списка. При значении True запись о сервере выбирается случайным образом, иначе для соединения предлагается первая доступная запись о сервере.