Введение в дисциплину «Безопасность систем баз данных». Теоретические основы построения реляционных баз данных. Верификация баз данных и проведение аудита в СБД. Распределенные базы данных, страница 22

·  прикладной компонент;

·  компонент управления ресурсами.

Одним из наиболее важных вопросов реализации АИС является вопрос владения данными. Некоторые компоненты получают право непосредственного владения – они образуют серверную часть АИС. Оставшиеся компоненты – клиентская часть – постоянно взаимодействуют с компонентами серверной части по определенному протоколу и пользуются данными, но не владеют ими. Конкретный способ отнесения компонентов АИС к серверной и клиентской частям называется моделью клиент-серверной архитектуры. На рис. 3.1 представлена схема классификации моделей клиент-серверной архитектуры, в основе которой лежит концепция компании Gartner Group.

 


Рисунок 3.1 – Классификация двухзвенных моделей клиент-серверного взаимодействия

Исторически первыми являются модели удаленного и распределенного представления данных, которые реализовывались на универсальной ЭВМ с подключенными к ней неинтеллектуальными терминалами. Управление данными и взаимодействие с пользователем при этом объединялись в одной программе, на терминал передавалась только "картинка", сформированная на центральном компьютере.

Затем, с появлением персональных компьютеров и локальных сетей, были реализованы модели доступа к удаленной БД. Некоторое время базовой для компьютерных сетей была архитектура файлового сервера. Один из компьютеров играл роль файлового сервера, на клиентах выполнялись приложения, которые совмещали компонент представления и прикладной компонент. Протокол обмена при этом представлял собой набор низкоуровневых вызовов операций файловой системы. Недостатки такой архитектуры очевидны: высокий сетевой трафик и отсутствие унифицированного доступа к ресурсам.

С появлением первых специализированных серверов БД стала возможной другая реализация модели доступа к удаленной БД (рис. 3.2). В этой реализации серверной частью АИС является ядро СУБД. В качестве протокола взаимодействия клиентов с СУБД используется диалект языка структурированных запросов (SQL). Такой подход по сравнению с использованием файлового сервера ведет к уменьшению загрузки сети и унификации интерфейса «клиент-сервер».

 


Рисунок 3.2 – Организация доступа к удаленной БД с использованием клиентского и серверного процессов

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

·  возможность централизованного администрирования прикладных функций (если меняется бизнес-логика системы, то не нужно перепрограммировать клиентское приложение и рассылать его копию на все клиентские рабочие станции – достаточно переписать и перекомпилировать подпрограмму БД);

·  значительно снижается сетевой трафик (т.к. передаются не SQL-запросы, а вызовы подпрограмм БД).

До тех пор, пока в качестве языка реализации подпрограмм БД использовался SQL, прикладной компонент был распределен между клиентской и серверной частью: не любая процедура обработки данных могла быть реализована средствами SQL. Часть бизнес-функций приходилось реализовывать на других языках высокого уровня и размещать на стороне клиентских программ. Однако в настоящее время языки программирования C++, Pascal, Java и другие могут быть использованы для написания хранимых подпрограмм БД (пример – расширенные хранимые процедуры в Microsoft SQL Server, хранимые Java-процедуры в Oracle). Да и возможности самого SQL постоянно расширяются. Поэтому разработчики АИС могут переносить все бизнес-функции на сторону БД, оставляя за клиентскими приложениями только функции представления данных.

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