Читайте также:
|
|
Для взаимодействия клиентской программы с данными нужно использовать утилиту, которая обеспечивает клиентскую программу необходимыми данными. Если для создания клиентского приложения выбрана среда Delphi, то в качестве такой утилиты можно использовать ВDЕ (Borland DataBase Engine) Administrator (либо SQL Ехрlоrer).
В Delphi 7.0 для связи клиентской программы с данными используется компонент IBDatabase.
Двухзвенная архитектура "клиент-сервер"
Утилита BDЕ Administrator не является частью приложения. В зависимости от СУБД она может располагаться на машине клиента либо сервера.
Рис. 7.1. Схема взаимодействия программ с данными
Как правило, клиентское приложение использует ВDЕ Administrator для непосредственного обращения к данным. Кроме того, между приложением и данной утилитой имеется ряд компонентов, которые упрощают разработку программы (рис. 7.1).
Невизуальные компоненты осуществляют непосредственную работу С ВDЕ, три из которых (Table, Query, StoredProc) служат источниками данных. Визуальные компоненты отображают поставляемые ими данные и помогают создавать удобный интерфейс пользователя. Между источниками данных и визуальными компонентами обязательно располагаются промежуточные компоненты DataSource, открывающие либо закрывающие потоки данных, которыми обмениваются источники данных с визуальными компонентами.
В архитектуре "клиент-сервер" (рис.7.2) между BDE Administrator и базой данных располагается сервер баз данных (специальная программа, управляющая базой данных).
Рис.7.2. Двухзвенная архитектура «клиент-сервер»
В архитектуре "клиент-сервер" используются различные промышленные серверы баз данных, например InterBase, Oracle, MS SQL Server, SyBase и т.д.
Таким образом, двухзвенная архитектура "клиент-сервер" включает: программу клиента (первое звено), сервер баз данных и базу данных (второе звено).
При создании клиентских приложений, которые используют двухзвенную архитектуру, необходимо придерживаться следующих рекомендаций.
На стороне сервера:
- установить сервер баз данных;
- создать файл базы данных, который размещается на сервере (определить место размещения базы данных на диске и задать название базы данных);
- создать необходимые объекты базы данных.
На стороне клиента:
- с помощью утилиты BDE Administrator (либо другой) задать псевдоним и установить соответствующие настройки для обращения к удаленной базе данных;
- реализовать клиентское приложение, например, средствами Delphi, используя соответствующие компоненты (см. рис.7.1 и табл.7.1):
v DataBase, Session - для связи с удаленной базой данных;
v невизуальные компоненты(Table, Query, StoredProc);
v компоненты DataSource (по одному на каждый источник данных);
v визуальные компоненты (например, TBGrid— сетка (таблица данных), TBNavigator — компонент-навигатор и т. д.).
Трехзвенная архитектура “клиент-сервер”
В трехзвенной архитектуре "клиент-сервер" (N-tier или multi-tier архитектура) создается дополнительное вспомогательное приложение, в которое включаются все компоненты — источники данных, которые в двухзвенной архитектуре располагаются на стороне клиентского приложения, а также компоненты TDatabase и TSession. Затем данное приложение регистрируется в качестве СОМ- или CORBA-сервера на всех компьютерах клиента, после чего оно становится сервером приложений. В данном случае клиентские машины могут не иметь ВDЕ, а клиентские программы уже не включают коды Компонентов-источников и других вспомогательных компонентов. Для получения доступа к серверным данным клиентские машины обращаются к удаленному (находящемуся на другой машине) серверу приложений, который реализует необходимый обмен данными (рис. 7.3).
Рис. 7.3. Трехзвенная архитектура «клиент-сервер»
СОМ (Component Object Model) — компонентная модель объекта корпорации мюгобой. Технология СОМ предназначена для связи клиентского приложения с приложением сервера. Основной чертой СОМ-объекта является интерфейс, который имеет уникальный номер и набор параметров, описывающих методы, события и свойства общего объекта. Получив интерфейс внешнего СОМ-объекта, приложение клиента может его использовать как собственный.
СОRВА (Common Object Request Broker Architecture) — архитектура с поставщиком требуемых общих объектов независимой группы ОМG. Технология CORBA также использует интерфейс объекта, но с помощью интегрированного слоя, осуществляющего доступ к удаленным объектам.
Следует заметить, что сервер приложений может располагаться на любой сетевой машине, на которой есть BDE. В этом случае каталог его размещения должен быть доступен другим сетевым машинам, а сама машина сервера приложений должна быть включена в период работы с сервером данных.
С помощью словарей базы данных можно перенести в компоненты-источники и связанные с ними поля часть бизнес-правил, касающуюся различных ограничений на значения вводимых данных. В этом случае неправильные данные будут отвергаться сервером приложений и не будут передаваться в сервер БД.
В клиентской программе, которая в трехзвенной архитектуре называется тонким клиентом, размещается клиентский набор данных, представляющий собой копию части данных из БД. Все изменения, которые пользователь вносит в данные, изменяют эту локальную копию и могут до нужного времени передаваться в БД (режим отложенной обработки данных). Кроме того, при работе с большими таблицами можно потребовать от сервера приложений передавать в локальный набор записи таблицы порциями, достаточными для одновременного отображения на экране клиента, что снижает загрузку сети и, следовательно, уменьшает время ожидания результата запроса.
При создании клиентских приложений, которые используют трехзвенную архитектуру, необходимо придерживаться следующих рекомендаций.
На стороне сервера:
- установить сервер баз данных;
- создать файл базы данных, который размещается на сервере (определить место размещения базы данных на диске и задать название базы данных);
- создать необходимые объекты базы данных.
На стороне сервера приложений:
- с помощью утилиты ВDE Administrator (либо другой) задать псевдоним и установить соответствующие настройки для обращения к удаленной базе данных;
- реализовать приложение, например, средствами Delphi с использованием соответствующих компонентов: (DataBase, Session) — для связи с удаленной базой данных; (Table, Query, StoredProc) — компоненты - источники данных, Provider — компонент, обеспечивающий связь каждого данного источника с клиентом (по одному на каждый источник данных).
На стороне клиента:
- реализовать клиентское приложение, например, средствами Delphi, используя соответствующие компоненты:
v компонент-коннектор (в зависимости от используемого протокола), например, TDCOMConnection;
v TClientDataSet — компонент-посредник между компонентом-источником сервера приложений (по одному на каждый источник данных);
v компоненты DataSource (по одному на каждый источник данных);
v визуальные компоненты.
DataBase - Активно используется при работе в архитектуре "клиент-сервер". Позволяет соединяться с удаленной БД и управлять параметрами соединения, получать информацию о БД, получать информацию об открытых наборах данных и о доступных таблицах БД
DataSource - Служит промежуточным звеном для соединения визуальных компонентов с компонентами-источниками. Позволяет устанавливать некоторые параметры набора данных, устанавливать состояние набора данных и отслеживать в нем изменения
Query - Реализует набор данных, источником для которого является одна или несколько таблиц БД. Структура записи набора данных, состав набора данных определяются SQL-запросом. Используются для групповых операций обновления, добавления или удаления в таблицах БД, а также выполняет любые другие действия, предусмотренные реализацией языка SQL для той СУБД, с которой работает ТQuery.
Session - Содержит информацию о текущем сеансе работы с БД. Позволяет определить список доступных БД, открывать, отыскивать и закрывать БД, управлять параметрами сеанса
StoredProc - Используется в архитектуре "клиент-сервер" для доступа к хранимым процедурам, расположенным на сервере БД. Хранимые процедуры кодируются с помощью особого процедурного языка, хранят, как правило, часто употребляемые запросы к БД и могут разделяться между различными приложениями. Компонент TStoredProc наряду с компонентами TTable и TQuery является набором данных, поскольку может возвращать множество записей из одной или нескольких физических таблиц БД
Table - Реализует набор данных, источником для которого является одна таблица БД. Содержит множество методов, свойств и событий, посредством которых программа оперирует с данными
Дата добавления: 2015-07-08; просмотров: 261 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Примечания | | | Отмена решения по формальным основаниям |