Приложения клиент-сервер. Классы приложений клиент-сервер. Трехзвенная архитектура клиент-сервер.
Архитектура клиент-сервер - сетевое окружение, в котором управление данными осуществляется на серверном узле, а другим узлам предоставляется доступ к данным.
Приложение клиент-сервер- любое приложение, в котором инициатор действия находится в одной системе, а исполнитель действия — в другой.
Окружение клиент-сервер состоит из клиентов и серверов. Клиентские машины представляют собой однопользовательские персональные компьютеры или рабочие станции. Наиболее известные примеры подобных интерфейсов — интерфейсы операционных систем Microsoft Windows и Macintosh.
Наиболее распространенным типом сервера в архитектуре клиент-сервер является сервер баз данных, управляющий реляционной базой данных. Существуют классы приложений с разными вариантами распределения задач между сервером и клиентом:
♦ Обработка данных на базе хоста. Данная схема не является настоящим приложением клиент-сервер, а относится к традиционному окружению мэйнфрейма, когда вся или практически вся обработка данных осуществляется на главной вычислительной машине. В подобной вычислительной среде интерфейс пользователя предоставляет примитивный терминал.
♦ Обработка данных на базе сервера. Простейшим классом конфигурации клиент-сервер является схема, в которой клиент отвечает лишь за предоставление графического интерфейса пользователя, тогда как практически вся обработка данных осуществляется на сервере.
♦ Обработка данных на базе клиента. Практически вся обработка данных осуществляется на клиенте, за исключением процедур проверки целостности данных и прочей логики, относящейся к обслуживанию базы данных, которые лучше исполнять на сервере. Она позволяет пользователю работать с приложениями, соответствующими его локальным потребностям. Архитектура с использованием сервера приложений (трехзвенная архитектура):
предполагает наличие следующих компонентов приложения: клиентское приложение (обычно говорят «тонкий клиент» или терминал), подключенное к серверу приложений, который в свою очередь подключен к серверу базы данных.
Третьим звеном в трехзвенной архитектуре становится сервер приложений, т.е. компоненты распределяются следующим образом:
1.) Представление данных — на стороне клиента.
2.) Прикладной компонент — на выделенном сервере приложений (как вариант, выполняющем функции промежуточного ПО).
3.)Управление ресурсами — на сервере БД, который и представляет запрашиваемые данные.
Мультипрограммирование.
Мультипрограммирование, или многозадачность,— это способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняются сразу несколько программ. Эти программы совместно используют не только процессор, но и другие ресурсы компьютера. Наиболее характерными критериями эффективности вычислительных систем являются:
- пропускная способность — количество задач, выполняемых вычислительной системой в единицу времени;
- удобство работы пользователей, заключающееся, в том, что они имеют возможность интерактивно работать одновременно с несколькими приложениями на одной машине;
- реактивность системы — способность системы выдерживать заранее заданные (возможно, очень короткие) интервалы времени между запуском программы и получением результата.
Системы пакетной обработки предназначались для решения задач в основном вычислительного характера, не требующих быстрого получения результатов. Главная цель и критерии эффективности: максимальная пропускная способность, т. е. решение максимального числа задач в единицу времени.
Канал - специализированный процессор ввода-вывода. Обычно канал имеет систему команд, отличающуюся от системы команд центрального процессора. Эти команды специально предназначены для управления внешними устройствами. Канальные программы могут храниться в той же оперативной памяти, что и программы центрального процессора.
Другой способ совмещения вычислений с операциями ввода-вывода реализуется в компьютерах, в которых внешние устройства управляются не процессором ввода-вывода, а контроллерами. Каждое внешнее устройство имеет свой собственный контроллер, который автономно отрабатывает команды, поступающие от центрального процессора.
Но существует другой способ мультипрограммирования –разделение времени, который повышает удобство и эффективность работы пользователя.
Пользователям предоставляется возможность интерактивной работы сразу с несколькими приложениями. Системы разделения времени призваны исправить основной недостаток систем пакетной обработки — изоляцию пользователя-программиста от процесса выполнения его задач. Так как в системах разделения времени каждой задаче выделяется только квант процессорного времени, ни одна задача не занимает процессор надолго и время ответа оказывается приемлемым. Время реакции системы - заранее заданные интервалы времени между запуском программы и получением результата (управляющего воздействия), а соответствующее свойство системы — реактивностью.