Проектирование файл-серверных ИС
Данные отделены от обработки, рекомендуется использование выдел. сервера БД. Обработка целиком выполняется на клиентах.
Достоинства:
§ простота масштаб-ия из лок. системы;
§ простота тех.оборудования;
§ дешивизна;
§ простота разработки и поддержки;
§ дешёвые средства разработки и реализации.
Недостатки:
§ большая загрузка сети;
§ повышенные требования к клиентским местам;
§ низкий уровень поддержки орг-ии управления данными(многопольз.доступ, НСД). Решение: пароль на ОС, доступ через приложение с паролем)
Предпосылки применения:
1) наличие локального варианта;
2) поддержка работы малых групп (до 10 раб.мест);
3) малая конфликтность между рабочими местами (если система справ-я, инф.поисковая с малым объемом поиска, системы с разделением областей Д-х, системы с разделением функциональности);
4) средства разработки:
Основные – инструменты персональных систем(Access, VisFoxPro, Uarion)
Неосновные:
· универс. языки программ-я;
· универс. инструмен-е среды разработки приложений БД(C Builder, C++, VisBasic, VisC++);
5) поддержка многопольз.доступа;
На примере VisFoxPro:
Используются различные варианты блокировки данных при их использ-и:
· Установка монопольного или разделяемого режима
SET EXCLUZIVE ON/OFF
…
USE
Индивид.устан-ся:
Use <table> EXCLUZIVE
· Установка блокировок при совместном доступе: по установке блокировок - автом-ая; по объему – запись, заголовок таблицы, таблица целиком.
|
|
Автоматическая блокировка - устан-ся СУБД при выполнениии опред-х команд
Insert(блокир-ся вся таблица), Append(блок. заголовок таблицы), Delete(блок-ся 1 или несколько записей в завис-ти от услолвия отбора).
Автоблокировка снимается при выполнении команды.
Ручная блокировка – вып-ся в явном виде с пом. набора команд:
RLOCK() – блокировка записи;
FLOCK() – блокировка указанной таблицы;
UNLOCK() – снятие блокировки по текущей таблице;
UNLOCK ALL – снятие всех блокировок.
· Поддержка транзакций
BEGIN TRANSACTION,ROLLBACK,END TRANSACTION
Авт.блокировки сохраняются до конца транзакции. Автоматически снимаются при завершении транзакции.
Ручные снимаются в конце транзакции в явном виде.
Проектирование централизованных клиент-серверных ИС
Данные хранятся в едином месте на выделенном сервере. На сервере так же хранится программный код основной части СУБД, кот обеспечивает служебные функции управления Д-ми и доступ к Д-м. На рабочих местах нах-ся клиентская часть СУБД, кот поддерживает обмен м/у клиентом и сервером. На сервер передаются команды (в осн команды SQL), от сервера возвращается отклик.
«+»: 1)разгрузка сети, отклик включает минимально необходимую И-ю;
2) возможность централизованного исполнения служебной функции (управление доступом, проверка целостности, поддержка многопользовательского доступа).
|
|
3) Обеспечивается глобальный контроль Д.
«-»: возможно замедление отклика из-за удалённости сервера.
Базовые варианты реализации
RDA-сервер.Выполняется процедура удаленного доступа. На сервере поддерживается метод доступа, служебные ф-и.
На сервере обработка выполняется следующим образом:
1) трансляция команд и проверка прав доступа;
2) исполнение команды:
§ Команда «отправление данных» - вносятся изменения в структуру данных (создать, удалить, изменить);
§ Команда «выборка» - создаётся план выполнения запроса, формируется выборка;
§ Команда «модификация» - проверка ограничений целостности, выполнение модификации;
§ Команда «управление транзакциями» - запуск или завершение транзакции с фиксацией или откатом изменений.
3) передача отклика клиенту. В ответ на команду выборки – передача выборки, на остальные – сообщения об успешности операции.
DBS.Отличие – часть кода обработки помещается на сервер. Программный код сервера реализуется в программных триггерах и хранимых процедурах (их использование снижает частоту обращений к серверу).
|
|
«+»: 1) Разгрузка клиентских мест; 2) Централизация обработки типовых действий; 3) Снижение интенсивности обмена.
«-»: 1) Возможна перегрузка сервера и снижение быстродействия; 2) язык сервера мало пригоден для обработки.
Средства реализация серверной части: MS SQL Server – 32%; Oracle – 16%; Interbase – 12,6%; MySQL – 10%; DB2 – 2%.
Реализация клиентской части: 1) средствами СУБД; 2) использование инструментальных сред разработки приложений БД (Delphi, C++ Builder); 3) универсальные языки программирования с расширениями для работы с БД (Visual Basic, VisualC++); 4) средства разработки персональной СУБД.
Дополнительные варианты реализации:
1) Сервер приложений
«+»:разгрузка клиента и сервера, централизация осн логики, снижение числа связей с сервером БД.
2) Арх-ра на осн Internet технологий.
Дата добавления: 2018-02-15; просмотров: 1317; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!