Вторник, 21.05.2024
Королевство Delphi
Главное меню
Статьи
Наш опрос
Как часто ви на этот сайт заходите?
Всего ответов: 159
Статистика
Онлайн всего: 2
Гостей: 2
Пользователей: 0
Форма входа
Главная » Статьи » Базы данных » Разные

Секреты Delphi. Использование TClientDataset в двухуровневых приложениях. Часть 2

На рис. 1 показана типовая архитектура построения многоуровневых приложений в Delphi (на примере трехуровневого приложения).
В многоуровневых приложениях используется промежуточный уровень между сервером базы данных и клиентским приложением. Бизнес-логика работы с базой данных вынесена в отдельный уровень.

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

Выделенный уровень называется сервером приложений, или удаленным брокером запросов.
Компоненты TClientDataset могут связываться с сервером приложений посредством различных компонент, наследующих TCustomRemoteServer, в зависимости от выбранного протокола связи (TCP/IP, HTTP, DCOM, SOAP или CORBA). При соединении с сервером приложений клиенту возвращается описывающий доступные методы интерфейс. Посредством этого же соединения осуществляется связь компонент TClientDataset с провайдерами (TProvider), которые связываются с конкретными компонентами TDataset.

Рассмотрим предложенную Даном Мишером (Dan Miser) в статье "ClientDataset as a Replacement for Cached Updates" архитектуру приложения, показанную на рис. 2.

В данном случае сервер приложения временно помещается в клиентское приложение. На практике желательно создать два модуля данных: один для компонент сервера приложений и второй для клиентского приложения. При этом клиентское приложение пишется так, как будто о модуле данных сервера приложений ничего не известно.

Связь с данным модулем осуществляется только из клиентского модуля данных, который дублирует и перенаправляет вызовы методов сервера приложений.

Данная технология позволяет получить начальный опыт при построении многоуровневых приложений, а также упрощает отладку. К тому же, для таких приложений не требуются дополнительные MIDAS-лицензии, и мы получаем все преимущества использования компонент TClientDataset без дополнительных затрат.

Автор: Сергей Бердачук

Получить ссылку на материал

Категория: Разные | Добавил: Барон (06.12.2011)
Просмотров: 712 | Теги: TClientDataSet | Рейтинг: 0.0/0
[ Пожертвования для сайта ] [ Пожаловаться на материал ]

Если вам помог материал сайта кликните по оплаченной рекламе размещенной в центре

Поиск
Категории раздела
Access [1]
ADO [5]
Alias [4]
Oracle [1]
Delphi & SQL [15]
Разные [29]
Псевдоним [12]
СУБД клиент-сервер [3]
Королевство Delphi © 2010-2024
Яндекс цитирования