Вспомогательные компоненты – брокеры соединений
В состав компонентов DataSnap входит ряд дополнительных компонентов, облегчающих работу с соединениями удаленных клиентов с сервером приложений. Рассмотрим их.
Компонент TSimpleObjectBroker
Компонент TSimpleObjectBroker инкапсулирует список серверов, доступных для клиентов данного многозвенного распределенного приложения. Список серверов создается на этапе разработки. При необходимости (отключение сервера, его перегрузка и т. д.) компонент соединения клиентского ПО может использовать один из запасных серверов из списка компонента TsimpleobjectBroker непосредственно во время выполнения.
Для этого необходимо заполнить список серверов компонента TSimpleobjectBroker и указать ссылку на него в свойстве objectBroker компонента соединения (см. выше). И тогда при "переоткрытии" соединения имя сервера будет запрашиваться из списка компонента TsimpleobjectBroker.
Список серверов задается свойством:
property Servers: TServerCollection;
На этапе разработки список серверов заполняется специализированным редактором (рис. 20.6), который вызывается при щелчке на кнопке свойства в Инспекторе объектов.
Рис. 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; | Содержит номер порта, используемого при подключении к серверу |