Внимательный читатель обратил внимание, что использование метода AS_GetRecords подразумевает сохранение информации при работе интерфейса, т. к. метод возвращает записи, начиная с текущей, хотя интерфейс iAppServer имеет тип stateless. Поэтому перед использованием метода рекомендуется обновлять набор данных клиента.

Тип

TTetchCpticri = {fcBeccxd, foBloks, fcCetails) ;
dTet(±Cpticns - set of TTetchCpticri;

ИСПОЛЬЗуется В параметре RequestType Метода AS_RowRequest.

foRecord - возвращает значения полей текущей записи;
foBlobs - возвращает значения полей типа BLOB текущей записи;

foDetails - возвращает все подчиненные записи вложенных наборов данных для текущей записи.

Интерфейс/Prowc/erSupporf

Для организации взаимодействия клиентов с сервером БД удаленный модуль данных сервера приложения должен содержать компоненты-провайдеры TDataSetProvider (см. гл. 20). При этом используются методы интерфейса IAppServer.

Для обмена данными с набором данных на сервере компонент-провайдер применяет интерфейс IProviderSupport (см. рис. 20.2), который включен в любой компонент набора данных, произошедший от класса TDataSet. В зависимости от используемой технологии доступа к данным каждый компонент, инкапсулирующий набор данных, имеет собственную реализацию методов интерфейса IProviderSupport.

Методы интерфейса могут понадобится разработчику только при создании собственных компонентов, инкапсулирующих набор данных и наследующих ОТ класса TDataSet.

Удаленные модули данных

Удаленный модуль данных является основой сервера приложения (см. рис. 20.2) для многозвенного распределенного приложения. Во-первых, он выполняет функции обычного модуля данных - на нем можно размещать компоненты доступа к данным. Во-вторых, удаленный модуль данных инкапсулирует интерфейс IAppServer, обеспечивая тем самым выполнение функций сервера и обмен данными с удаленными клиентами.

В зависимости от используемой технологии в Delphi можно использовать удаленные модули данных пяти типов.

□ Remote Data Module. Класс TRemoteDataModuie инкапсулирует сервер Автоматизации.

□ Transactional Data Module. Класс TMTSDataModule является потомком класса TRemoteDataModuie и к функциям обычного сервера Автоматизации добавляет возможности MTS.

□ WebSnap Data Module. Класс TWebDataModule создает сервер приложения, использующий возможности Internet-технологий.

П Soap Server Data Module. Класс TSOAPDataModule инкапсулирует сервер SOAP.

□ CORBA Data Module. Класс TCORBADataModule является потомком класса TRemoteDataModuie и реализует функции сервера CORBA.

Ниже мы рассмотрим процесс создания сервера приложения на основе удаленного модуля данных TRemoteDataModuie. Остальные модули данных (за исключением удаленного модуля данных для CORBA) детально рассматриваются далее в этой книге.

Удаленный модуль данных для сервера Автоматизации

ДЛЯ СОЗДанИЯ удаленного МОДУЛЯ Данных TRemoteDataModuie ИСПОЛЬЗу-ется Репозиторий Delphi (команда File | New | Other). Значок класса TRemoteDataModuie находится на странице Multitier (см. рис. 20.3). Перед созданием экземпляра удаленного модуля данных появляется диалоговое окно (рис. 21.1), в котором необходимо предустановить три параметра.


⇐ Предыдущая страница| |Следующая страница ⇒

Программирование в Delphi 7



Новости за месяц

  • Август
    2017
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс