А.А.Перминов
Московский государственный университет леса
Тел.: (095) 588-52-39, e-mail: and@mgul.ac.ru
Первым, наиболее старым видом архитектуры является система с архитектурой файл-сервер. При такой архитектуре на серверной машине осуществляется только хранение файлов баз данных. На сервере не производится никакой обработки данных, обеспечиваются минимальные функции по контролю совместного доступа к записям базы данных. Вся обработка информации происходит непосредственно на клиентских машинах, причем для обработки все содержимое базы данных должна быть передано клиенту. Очевидным недостатком такой системы являются повышенные требования к мощности клиентского компьютера. Кроме того, при таком режиме работы очень высока загрузка сети. Масштабирование информационных систем с такой архитектурой затруднено, так как при увеличении объема информации, хранящейся в базе данных, или подключении новых рабочих мест значительно увеличивается сетевой трафик, что влечет за собой резкое падение производительности системы в целом. Защита информации от несанкционированного доступа практически отсутствует и находится, в основном, находится на уровне ограничения прав доступа к файлам средствами сетевой операционной системы. Основное применение данной архитектуры - построение персональных информационных систем либо информационных систем небольших рабочих групп, в которых используется незначительный объем данных.
Другим видом архитектуры является построение информационных систем на базе архитектуры клиент-сервер. При такой архитектуре на клиентских местах производится лишь диалоговая работа с пользователем, формирование запросов, получение и отображение результатов. Вся основная обработка информации происходит на сервере. При использовании такой архитектуры удается существенно сократить сетевой трафик, так как отпадает необходимость пересылать на клиентскую станцию всю базу данных целиком. Кроме того, снижаются требования к мощности клиентского компьютера. Правда, при этом существенно увеличиваются требования с мощности сервера. Информационные системы на базе архитектуры клиент-сервер обладают значительной масштабируемостью. Контроль целостности базы данных, контроль за достоверностью информации при одновременном доступе к записи нескольких пользователей на чтение и запись осуществляется сервером базы данных. Защита информации от несанкционированного доступа находится на уровне сервера баз данных. При этом существует возможность блокировать доступ определенным категориям пользователей не только к отдельным таблицам базы данных, но и к отдельным записям или полям таблицы. Необходимо отметить, что при большом количестве клиентских рабочих мест усложняется администрирование всей системы в целом, так как обновление версий клиентского ПО на всех рабочих станциях требует значительных затрат времени.
Для решения всех описанных проблем была предложена трехзвенная архитектура построения клиент-серверных информационных систем. В этом случае между клиентским местом и сервером баз данных устанавливается дополнительный промежуточный сервер. На клиентском месте устанавливается любая стандартная программа просмотра гипертекста, которая взаимодействует с промежуточным сервером по стандартному протоколу HTTP. Промежуточный сервер преобразует запросы пользователя в формат запроса к базе данных и передает этот запрос на сервер баз данных. Далее промежуточный сервер форматирует полученные результаты на языке HTML и возвращает их клиентской машине. При таком подходе на клиентском рабочем месте может стоять любая операционная система и программа просмотра гипертекста общего назначения, работающая под ее управлением. Кроме того, программное обеспечение для взаимодействия с сервером баз данных существует только в одном экземпляре, что существенно упрощает его поддержку и модернизацию. При использовании трехзвенной архитектуры упрощается обеспечение безопасности данных и реализация защиты системы в целом. В отличие от реализации системы на базе архитектуры клиент-сервер, клиентское приложение не имеет доступа к метаданным системы. Кроме того, в зависимости от уровня привилегий пользователя ему может выдаваться та или иная версия формируемого документа. Для обеспечения защиты от перехвата трафика можно использовать стандарт SSL для шифрования данных, предаваемых между клиентом и промежуточным сервером. Так же на базе трехзвенной архитектуры существует возможность использования элементов двухзвенной архитектуры клиент-сервер. Это достигается путем применения Java-апплетов, которые выполняются на клиентской стороне и могут непосредственно обращаться к серверу баз данных, минуя промежуточный сервер. Информационные системы с трехзвенной архитектурой могут строиться с использованием практически любого Web-сервера, который поддерживает интерфейс CGI, либо другие прикладные программные интерфейсы для выполнения приложений.
Практическая реализация сетевых информационных систем с трехзвенной архитектурой показала высокую эффективность в обеспечении гибкости и быстродействия создаваемых систем.