Автор работы: Пользователь скрыл имя, 20 Октября 2009 в 15:59, Не определен
Загайнов И.А. Проектирование информационных систем: Конспект мультимедиа лекций для студентов специальностей 050704 – Вычислительная техника и программное обеспечение, 050703 – Информационные системы.
Управление структурой данных осуществляется при помощи компонентов запросов – 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 и установкой параметров псевдонима.
Procedure StartTransaction;
Procedure Commit;
Procedure Rollback;
Управление видимостью данных определяется в свойстве:
Property TransIsolation: (tiDirtyRead), tiReadCommitted, tiRepeatableRead.
Проверка наличия активной незавершенной транзакции при помощи свойства:
Property
InTransaction: Boolean;
9.25 IBTransaction.
Установка свойств
транзакции в редакторе компонента
Установленные
параметры сохраняются в
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.
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. Изучить код
модуля данных учебного
4. Изучение механизма событий в многозвенных ИС;
5. Изучение системы помощи (HELP), утилиты InteractivSQL, операторы: CREATE EXCEPTION;
6. Изучить конспект
9,10 лекций [3].
9.33 Демонстрация
.
Создания проекта для проектирования облегченного клиента.