Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Pervaya_chast_uchebnika_po_WWW (1).doc
Скачиваний:
12
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

1.2.4. Обобщенная модель взаимодействия клиент-сервер

В настоящее время существуют двух- и трёхзвенные модели взаимодействия (иногда термин «звено» заменяют на «слой»). Компанией Gartner Group10, специализирующейся в области исследования информационных технологий, предложена следующая классификация двухзвенных моделей взаимодействия клиент-сервер (двухзвенными эти модели называются потому, что три компонента приложения различным образом распределяются между двумя компьютерными узлами) – Рис. 1 -1:

Рис. 1‑1. Схематическое представление возможного распределения разных элементов обработки данных на компьютере пользователя (над диагональю) и компьютере-сервере (под диагональю)

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

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

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

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

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

На практике сейчас обычно используются смешанный подход:

  • простейшие прикладные функции выполняются хранимыми процедурами на сервере,

  • более сложные реализуются на клиенте непосредственно в прикладной программе,

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

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

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

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

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

Рис. 1‑2. Схематическое изображение трёхзвенной архитектуры

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]