Клиент - серверная архитектура ИС

 

 

       9.1 Архитектуры ИС.

 

Типы клиент – серверных архитектур.

Преимущества использования.

Технологии доступа к серверным БД.

Сетевые технологии распределенных систем.

Особенности многопользовательских систем.

Компоненты Delphi для реализации сложных систем.

Создание приложения для работы с серверной БД.

Пример реализации удаленного модуля данных.

Управление транзакциями.

 

       9.2 Локальные архитектуры.

Локальный вариант системы или автоматизированное рабочее место (АРМ), предусматривает наличие на одном компьютере всех компонентов:

- Базы данных;

- Локальные СУБД;

- Компоненты технологии доступа;

- Приложения, визуализирующие работу с данными;

- Среду разработки приложений.

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

 

 

       9.3 Файл - серверные архитектуры.

Эта система предполагает наличие файлового сервера в сети, на котором располагаются каталоги баз данных с наборами файлов.      На рабочих станциях в сети расположены приложения пользователей и компоненты технологий доступа, например, BDE. 

При работе каждому клиенту пересылается копия всех файлов открываемой БД. Каждый пользователь работает с собственной копией, и все проблемы, связанные с одновременным изменением одних наборов данных, ложится на приложение пользователя.         

Архитектуре присущи большой сетевой трафик и невозможность работы большого количества пользований из-за проблем разграничения доступа.

 

 

       9.4 Клиент - серверные архитектуры.

Основным компонентом ИС с использованием клиент - серверной архитектуры является – система управления базами данных (СУБД). Состоит из серверной платформы и специализированного ПО (SQL - сервер).

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

       Назначение – обеспечение работы большого количества пользователей, использующих «облегченное» программное обеспечение клиентских приложений.

 

           

       9.5 Вопрос.

В использовании, каких компонентов заключается особенности проектирования облегченного (тонкого) клиента?

1. языка структурированных запросов (SQL).

2. сервера в локальной сети.

3. программного обеспечения СУБД.

4. специальных сетевых протоколов.

5. Web - сервера.

 

 

       9.6 Типы архитектуры.

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

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

Описание технологии многозвенных приложений в учебном материале по Delphi, расположено в разделе MIDAS (Multi-tiered Distributed Application Services).

 

       9.7 Двухзвенная архитектура.

 

 

 

       9.8 Технология IBExpress (IBX).

Компоненты технологии расположены на вкладке «InterBase».

 

 

 

       9.9 Компоненты.

IBDataBase и IBTransaction – обеспечивают сетевое соединение с удаленной (серверной) базой данных.

Серверные наборы данных (DataSet), реализуются при помощи компонентов IBTable, IBQuery, IBDataSet и IBUpdateSQL.

Управление структурой данных осуществляется при помощи компонентов запросов – IBQuery, IBSQL.

Управление вызовом хранимых процедур серверной БД реализуется компонентом IBStoredProc.

 

 

 

       9.10 Трехзвенная архитектура.

 

 

 

 

 

       9.11 Основные преимущества трехзвенной архитектуры:

- снижение требований к клиентским рабочим станциям;

- реализация большинства бизнес - правил (БП) производиться на сервере, что обеспечивает централизованный доступ к ним;

- уменьшение сетевого трафика;

- контроль и регулирование сетевого обмена;

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

Недостатком можно считать повышенные требования к производительности и надежности серверного оборудования (аппаратного и программного обеспечения).

 

       9.12 Особенности проектирования.

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

- запуск приложения без соединения с сервером;

- динамический поиск сервера по имени или адресу;

- активизация соединения без обновления или с обновлением данных;

- наличие таймаута (контроль времени обмена)…

 

 

       9.13 Технологии реализации трехзвенной архитектуры:

DCOM (Distributed Component Object Model – распределенная компонентная модель объектов) – рассчитана на ЛВС, в которой сервер приложений работает по управлением сетевой операционной системы компании Microsoft;

MTS (Microsoft Transaction Server – сервер транзакций MS) – основана на DCOM с дополнительными возможностями по управлению системными ресурсами (процессами, потоками, соединениями с БД), а также с повышенной защищенностью данных;

CORBA (Common Object Broker Architecture – архитектура с брокером общих объектов) – в отличии от DCOM не предъявляет специальных требований к ОС или аппаратной платформе.

 

       9.14 Сетевое соединение.

Различные технологии поддерживаются собственными компонентами для сетевого соединения. Каждый компонент реализуется определенным сетевым протоколом. Большинство компонентов расположено на вкладке DataSnap.

 

           

9.15 Сервер приложений.

Для каждого компонента источника в модуль помещается компонент провайдера (TDataSetProvider). Он служит связующим звеном между сервером приложений и клиентским набором данных. Именно к нему привязывается клиентский набор данных, реализуемый компонентом TCientDataSet посредством коммуникационного компонента TXXXConnection. Компонент сетевого соединения (коммуникационный) использует встроенный интерфейс IAPPSERVER для поиска сервера приложений и работы с ним.

Демонстрация учебного примера.

 

       9.16 Модуль данных.

Не визуальный компонент реализуется как окно - контейнер для помещения в него: компонент для работы с БД (TDataBase, TTable, TQuery, TStoredProc). А также, если необходимо, обработчиков событий этих компонентов и объектов полей соответствующих НД.

 

 

 

       9.17 Свойства модуля.

Связывание модулей проекта.

Обращение к компонентам, расположенным в модуле данных.

Указание определения width.

Width …

 

       9.18 Компоненты посредники.

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

Обращение к параметрам (TParams) компонентов запросов и хранимых процедур производится непосредственно через свойства и методы компонентов.

 

       9.19 Создание приложения клиента для работы с серверной БД.

Настройка соединения с СУБД.

Проверка работы.

Проектирование серверных наборов.

Проектирование главной формы, меню.

Проектирование интерфейсной части по управлению данными.

 

       9.20 Транзакции.

Транзакция – одиночное или групповое изменение БД, которое выполняется полностью или не выполняется вообще (метод поддержания БД в целостном состоянии). Пример, банковской проводки.

Транзакция так же определяет режим видимости данных при работе нескольких пользователей.

Демонстрация видимости данных приложений Console и Expert.

 

 

       9.21 SQL - операторы.

SET TRANSACTION - Начинает транзакцию и определяет ее поведение.

COMMIT - Сохраняет изменения, внесенные транзакцией, в базе данных и завершает транзакцию.

ROLLBACK - Отменяет изменения, внесенные транзакцией, и завершает транзакцию.

 

 

       9.22 Старт транзакции.

Оператор SET TRANSACTION имеет формат:

SET TRANSACTION

[Access mode] - [READ WRITE | READ ONLY]

[Lock Resolution] - [WAIT | NO WAIT]

[Isolation Level]

       {SNAPSHOT [TABLE STABILITY]

       | READ COMMITTED [[NO] RECORD_VERSION]}

[Table Reservation];

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

 

       9.23 Уровни изоляции.

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

Dirty Read (грязное чтение) - конкурирующие транзакции видят изменения, внесенные, но не подтвержденные текущей транзакцией.

Read Committed (чтение подтверждений) - конкурирующие транзакции оперируют только подтвержденными изменениями.

Repeatable Read (повторяющееся чтение) - заставляет конкурирующие транзакции оперировать с собственными (локальными) версиями одной и той же записи.

 

       9.24 Управление в BDE.

При использовании BDE управление транзакциями на уровне приложения реализуется методами компонента DataBase и установкой параметров псевдонима.

ProcedureStartTransaction;

ProcedureCommit;

ProcedureRollback;

Управление видимостью данных определяется в свойстве:

Property TransIsolation: (tiDirtyRead), tiReadCommitted, tiRepeatableRead.

Проверка наличия активной незавершенной транзакции при помощи свойства:

PropertyInTransaction: Boolean;

 

       9.25 IBTransaction.

Установка свойств транзакции в редакторе компонента

 

Установленные параметры сохраняются в свойстве Params.

 

       9.26 Свойства транзакции.

1. Snapshot (concurrency, nowait) – обеспечивает видимость конкурирующих транзакций и немедленный возврат ошибок при обнаружении конфликтных ситуаций;

2. Read Committed (read_committed, rec_version, nowait) – аналогично предыдущему, включая обязательный выбор последней версии;

3. Read-Only Table Stability (read, consistency) – определяет открытую транзакцию только для чтения данных, блокируя при этом доступ к данным другим транзакциям;

4. Read-Write Table Stability (write, consistency) – разрешает транзакции просмотр и модификацию данных, блокируя доступ из других транзакций.

 

       9.27 Старт и режимы.

Определение старта транзакции установкой свойства Active компонента в True или False.

TIBTransaction.AutoStopAction определяет, какое действие брать при автоматически окончании транзакций

TIBTransaction.DefaultAction определяет действие, выполняемое при принудительном завершении транзакции

 

 

       9.28 Значения параметров.

Значение saNone – не определяет поведение неявно стартующей транзакции, требуя от разработчика обязательного наличия одного из методов управления.

Значения saCommit и saRollback определяют отправку одноименного метода на сервер с последующим закрытием используемой транзакции.

А значения SaCommitRetaining и saRollbackRetaining аналогично определят отправку методов Commit или Rollback, но оставят транзакцию открытой для последующего использования.

 

       9.29 Вопрос.

Вызов метода Open для компонента IBQuery, в свойстве SQL которого задан оператор вызова хранимой процедуры, определит:

1. Старт новой транзакции, только если свойство IBTransaction.Activ = False;

2. Старт неявной транзакции сервера приложений;

3. Получение данных в рамках существующей транзакции;

4. Старт транзакции, только если IBTransaction.AutoStopAction = saNone;

5. Нет правильного ответа.

 

 

       9.30 Вопросы по 5 лабораторной

.

Назначение, основные преимущества использования систем, построенных с применением клиент – серверных архитектур.

Технологии программной реализации многозвенной архитектуры, реализуемые средой разработки Delphi.

Наборы компонентов технологий доступа к серверным базам данных BDE и IBX, назначение основные свойства и методы.

Технологии реализации многозвенных архитектур, основные преимущества и недостатки.

Управление транзакциями, режимы видимости данных, уровни изоляции транзакций.

Реализация управления транзакциями в технологиях доступа IBExpress и BDE.

Серверные наборы данных, формирование, основные свойства, методы и события.

Основные механизмы управления данными в удаленных БД.

 

 

       9.31 Задания СРСП

.

1. Выбор и защита технологии доступа к БД;

2. Ответить на контрольные вопросы пятого модуля;

3. Провести отладку режимов видимости данных и обновления НД клиента;

4. Защитить отчет по пятой лабораторной работе;

5. Защитить отчет по разделу 3.4 курсовой работы [2];

6. Разработать пример вопроса тестового задания по теме раздела.

 

       9.32 Задания СРС

.

1. Изучить методические указания к пятой лабораторной работе;

2. Ответить на примеры тестовых заданий к пятому модулю;

3. Изучить код модуля данных учебного примера Example;

4. Изучение механизма событий в многозвенных ИС;

5. Изучение системы помощи (HELP), утилиты InteractivSQL, операторы: CREATE EXCEPTION;

6. Изучить конспект 9,10 лекций [3].

 

 

       9.33 Демонстрация

.

Создания проекта для проектирования облегченного клиента.

Создания модуля данных.

Работы с компонентами доступа к БД.

Использования компонентов наборов данных.

Видимости данных приложений Console и Expert.

Управления транзакцией и видимостью данных.


 

 



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: