Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
19
Добавлен:
18.03.2015
Размер:
52.74 Кб
Скачать

Общие сведения об архитектуре клиент-сервер

"Клиент-сервер" - это модель взаимодействия компьютеров в сети.

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

  1. Централизованные вычисления;

  2. Вычисления на клиентских машинах с центральным хранением файлов.

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

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

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

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

Технологии и стандарты открытых систем обеспечивают реальную и проверенную практикой возможность производства системных и прикладных программных средств со свойствами мобильности (portability) и интероперабельности (interoperability). Свойство мобильности означает сравнительную простоту переноса программной системы в широком спектре аппаратно-программных средств, соответствующих стандартам. Интероперабельность означает упрощение создания комплексов новых программных систем на основе использования готовых компонентов со стандартными интерфейсами.

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

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

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