Сервер приложений инкапсулирует большую часть бизнес-логики распределенного приложения и обеспечивает доступ клиентов к базе данных.
Основной частью сервера приложений является удаленный модуль данных.
Во-первых, подобно обычному модулю данных (см. гл. 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 по эфирной физике.