Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Раздел-2(СУБД).doc
Скачиваний:
18
Добавлен:
01.09.2019
Размер:
981.5 Кб
Скачать

2.5. Архитектура клиент/сервер

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

2.5.1. Компоненты приложений клиент/сервер

Ключ к успешному выполнению программы клиент/сервер – баланс ее различных компонентов. Можно реализовать очень простую и недорогую архитектуру, эффективную для небольшого числа пользователей и/или простых приложений. Однако для поддержки большого числа пользователей или очень сложного приложения необходима более сложная архитектура.

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

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

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

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

Требования предметной области (бизнес-правила) подчиняются правилам целостности данных. Целостность, как уже было отмечено, – это состояние данных, когда они сохраняют свое информационное содержание и однозначность при физических модификациях базы данных, т.е. замене, добавлении, удалении данных, а также в условиях случайных воздействий (сбой системы). Например, данные о результатах химического анализа может вводить и корректировать только пользователь с соответствующими правами доступа к базе данных, при этом все вводимые величины должны выражаться двузначным неотрицательным числом.

Отметим принципиальное отличие бизнес-правил от правил целостности. Правила целостности используют для описания (при проектировании структуры данных) и поддержания (в процессе функционирования информационной системы) точности и корректности данных, хранящихся в базе данных. В соответствии с концепцией централизованного хранения и управления данными, которая, как уже было отмечено, заложена в основу создания большинства современных информационных систем, база данных используется для обслуживания многих прикладных программ из нескольких предметных областей. В каждой предметной области существуют свои, специфические правила, которые учитываются при проектировании базы данных в виде правил целостности. Уровень бизнес-правил позволяет выполнить логическую проверку вводимых данных на соответствие требованиям предметной области, сформировав соответствующий запрос на следующий уровень – проверку правил целостности данных. Важно подчеркнуть, что на следующий уровень посылается запрос в виде какой-либо логической функции, но не сами данные прикладной программы.

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

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

  • данные по химическому анализу материалов должны вводиться только определенным пользователем. На следующий уровень посылается запрос на проверку прав зарегистрировавшегося пользователя вводить указанную информацию;

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

В случае соответствия данных правилам целостности осуществляется доступ к базе данных, который использует устройство доступа к файлам данных, управляемое средствами операционной системы. Среди функций, обеспечиваемых этими уровнями, можно отметить следующие:

  • разграничение прав доступа к базе данных пользователей (чтение, изменение или удаление данных);

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

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