Сервер приложений инкапсулирует большую часть бизнес-логики распределенного приложения и обеспечивает доступ клиентов к базе данных.
Основной частью сервера приложений является удаленный модуль данных.
Во-первых, подобно обычному модулю данных (см. гл. 11)
он является платформой для размещения невизуальных компонентов доступа к данным и компонентов-провайдеров. Размещенные на нем компоненты соединений, транзакций и компоненты, инкапсулирующие наборы данных, обеспечивают трехзвенное приложение связью с сервером БД. Это могут быть наборы компонентов для технологий ADO, BDE, InterBase Express, dbExpress.
Во вторых, удаленный модуль данных реализует основные функции сервера приложений на основе предоставления клиентам интерфейса
IAppServer или его потомка. Для этого удаленный модуль данных должен содержать необходимое число компонентов-провайдеров
TDataSetProvider. Эти компоненты передают пакеты данных клиентскому приложению, а точнее компонентам
TdientDataSet, а также обеспечивают доступ к методам интерфейса.
Рис. 20.3. Выбор удаленных
модулей данных в Репозитории Delphi
В состав Delphi входят удаленные модули данных.
Для их создания используйте страницы Multitier, WebSnap и WebServices Репозитория
Delphi (рис. 20.3).
Remote
Data Module —
удаленный модуль данных, инкапсулирующий сервер Автоматизации. Используется
для организации соединений через DCOM, HTTP, сокеты (см. гл. 21).
Transactioiial
Data Module — удаленный модуль данных, инкапсулирующий сервер MTS (Microsoft
Transaction Server).
SOAP
Server Data Module — удаленный модуль данных, инкапсулирующий сервер SOAP
(Simple Object Access Protocol).
WebSnap
Data Module — удаленный модуль данных, использующий Web-службы и Web-браузер
в качестве сервера.
Помимо удаленного модуля данных неотъемлемой
частью сервера приложений являются компоненты-провайдеры TDataSetProvider.
С каждым компонентом, инкапсулирующим набор данных, предназначенным для передачи
клиенту, в модуле данных должен быть связан компонент-провайдер.
Знаете ли Вы, что "гравитационное линзирование" якобы наблюдаемое вблизи далеких галактик (но не в масштабе звезд, где оно должно быть по формулам ОТО!), на самом деле является термическим линзированием, связанным с изменениями плотности эфира от нагрева мириадами звезд. Подробнее читайте в FAQ по эфирной физике.