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

         

Технология DataSnap. Механизмы удаленного доступа



В главах части IV мы рассматривали вопросы создания обычных приложений БД, работающих с базами данных на локальных компьютерах или в пределах локальной сети. Однако, как быть, если необходимо создать приложение, которое может с одинаковым успехом работать как в локальной сети, так и на удаленном компьютере.

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

В этой главе мы рассмотрим модель распределенного приложения БД, которая называется многозвенной (multitiered), и, в частности, ее наиболее простой вариант — трехзвенное распределенное приложение. Тремя частями такого приложения являются:

  •  собственно сервер базы данных;
  •  сервер приложений (серверная часть приложения);
  •  клиентская часть приложения.

Все они объединены в единое целое единым механизмом взаимодействия (транспортный уровень) и обработки данных (уровень бизнес-логики).

Компоненты и объекты Delphi, обеспечивающие разработку многозвенных приложений, объединены общим названием DataSnap.



Примечание

В предыдущих версиях Delphi (Delphi 4 и 5) эти компоненты объединялись под названием MIDAS (Multi-tier Distributed Applications Services— сервисы многозвенных распределенных приложений).

Палитра компонентов Delphi содержит специальную страницу DataSnap, на которой доступно большинство рассматриваемых в главах этой части компонентов. Однако при разработке многозвенных приложений нам понадобятся и многие другие компоненты, которым также уделено достаточное внимание.

В этой главе рассматриваются следующие вопросы:

  •  структура многозвенных приложений;
  •  механизм удаленного доступа к данным DataSnap;
  •  удаленные модули удаленных данных;
  •  компоненты-провайдеры;
  •  транспортные компоненты удаленных соединений DataSnap;
  •  вспомогательные компоненты — брокеры соединений.


Содержание раздела