Иллюстрированный самоучитель по Delphi 7 для профессионалов

Вспомогательные компоненты – брокеры соединений

Компонент TSharedConnection

Если интерфейс IAppServer удаленного модуля данных имеет метод, возвращающий ссылку на аналогичный интерфейс другого удаленного модуля данных, то первый модуль называется главным, а второй – дочерним (см. гл. 21). Компонент TSharedConnection используется для соединения клиентского приложения с дочерним удаленным модулем данных сервера приложений.

Свойство:

property ParentConnection: TDispatchConnection;

…должно содержать ссылку на компонент соединения с главным удаленным модулем данных сервера приложений. Дочерний удаленный модуль данных определяется свойством:

property ChildName: string;

…которое должно содержать его имя. Если интерфейс главного удаленного модуля данных настроен правильно, то в списке выбора свойства в Инспекторе объектов появляются имена всех дочерних удаленных модулей данных.

Интерфейс IAppServer дочернего удаленного модуля данных возвращает свойство:

property AppServer: Variant;

…или метод:

function GetServer: lAppServer; override;

Методы-обработчики компонента TSharedConnection унаследованы от класса предка TCustomConnection (см. табл. 20.1).

Компонент TConnectionBroker

Компонент TConnectionBroker обеспечивает централизованное управление соединением клиентских наборов данных с сервером приложений. Для этого свойство connectionBroker клиентских наборов данных должно ссылаться на экземпляр компонента TConnectionBroker. Тогда для изменения соединения (например, при переходе с транспорта HTTP на сокеты TCP/IP) нет необходимости изменять значение свойства RemoteServer всех компонентов TClientDataSet, а достаточно изменить свойство:

property Connection: TCustomRemoteServer;

…компонента TConnectionBroker.

Доступ к интерфейсу IAppServer обеспечивает свойство:

property AppServer: Variant;

…или метод:

function GetServer: lAppServer; override;

Методы-обработчики компонента TConnectionBroker полностью соответствуют табл. 20.1.

Резюме

Многозвенные распределенные приложения обеспечивают эффективное взаимодействие большого числа удаленных "тонких" клиентов с сервером БД при помощи ПО промежуточного слоя. Наиболее распространенной моделью является трехзвенная модель, где ПО промежуточного слоя состоит только из сервера приложений.

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

Также в трехзвенных приложениях применяются компоненты-провайдеры TDataSetProvider и компоненты TClientDataSet, инкапсулирующие наборы данных на клиентской стороне.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.