Клиентское приложение
Клиентское приложение в трехзвенной модели должно обладать лишь минимально необходимым набором функций, делегируя большинство операций по обработке данных серверу приложений.
В первую очередь удаленное клиентское приложение должно обеспечить соединение с сервером приложений. Для этого используются компоненты соединений DataSnap:
О TDCOMConnection - использует DCOM;
О TSocketConnection - использует сокеты Wndows;
□ TWebConnection - использует HTTP.
Компоненты соединения DataSnap предоставляют интерфейс lAppServer, используемый компонентами-провайдерами на стороне сервера и компонентами TClientDataSet на стороне клиента для передачи пакетов данных.
Для работы с наборами данных используются компоненты TclientDataSet, работающие в режиме кэширования данных.
Для представления данных и создания пользовательского интерфейса в клиентском ПО применяются стандартные компоненты со страницы Data Controls Палитры компонентов.
Подробнее о разработке клиентского ПО для распределенных многозвенных приложений БД рассказывается в гл. 22.
Механизм удаленного доступа к данным DataSnap
Для передачи пакетов данных между компонентом-провайдером и клиентским набором данных (см. рис. 20.2) (между клиентом и сервером) должен существовать некий транспортный канал, обеспечивающий физическую передачу данных. Для этого могут использоваться разнообразные транспортные протоколы, поддерживаемые операционной системой.
Различные типы соединений, позволяющие настроить транспорт и начать передачу и прием данных, инкапсулированы в нескольких компонентах DataSnap. Для создания соединения с тем или иным транспортным протоколом разработчику достаточно перенести соответствующий компонент на форму и правильно настроить несколько свойств. Ниже рассматриваются варианты настройки транспортных протоколов для компонентов, использующих DCOM, сокеты TCP/IP, http.
Компонент TDCOMConnection
Компонент TDCOMConnection предоставляет транспорт на основе технологии Distributed СОМ и применяется в основном для организации транспорта в рамках локальной сети.
Для настройки соединения DCOM в первую очередь необходимо задать имя компьютера, на котором функционирует сервер приложений. Для компонента TDCOMConnection это должен быть зарегистрированный сервер Автоматизации. Имя компьютера задается свойством
property ComputerName: string;
Если оно задано правильно, в списке свойства
property ServerName: string;
в Инспекторе объектов можно выбрать один из доступных серверов. При выборе сервера также автоматически заполняется свойство property ServerGÜlD: string;
Причем для успешного соединения клиента с сервером приложений оба свойства должны быть заданы в обязательном порядке. Только имя сервера или только его GUID не обеспечат правильный доступ к удаленному объекту СОМ.
Открытие и закрытие соединения осуществляется свойством
property Connected: Boolean; или методами
procedure Open;
procedure Close;
соответственно.
Для организации передачи данных между клиентом и сервером компонент
TDCOMConnection Предоставляет интерфейс IAppServer