Файл: Модель клиент-сервер (История возникновения модели).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 13.03.2024

Просмотров: 34

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Содержание:

Введение

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

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

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

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

Глава 1. История возникновения модели

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

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


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

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

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

Появился ряд инструментов, сильно знакомый большинству пользователей ПК, такие как графические и текстовые редакторы, электронные таблицы, интегрированные пакеты, СУБД и т.д. Пользователи персональных компьютеров также широко используют такие оболочки, как Norton Commander, PC Tools, MS Windows. Пакеты для персональных компьютеров просты в освоении, хорошо используют все преимущества персональных компьютеров. Они облегчают работу по делопроизводству, финишную обработку информации, помогают в принятии решений.

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

Как правило пользователям компьютеров нужны и высокая вычислительная мощность и хорошие свойства оборудования. Таким образом, где для исполнения сложных вычислений используются производительные изолированные центральные компьютеры с терминалами, их пользователям периодически приходится ходить на персональные компьютеры для редактирования текстов или исполнения задач, использующих электронные таблицы. Это делает необходимым освоить 2 разные операционные системы пользователями (на больших серверах обычно установлены OC MVS, VMS, VM, UNIX, а на ПК - MS DOS/MS Windows,OS/2 или Mac) и не решает задачи одновременного использования информации.


В ходе опроса сотрудников 300 крупнейших американских компаний, использующих ПК, выяснилось, что для 82% респондентов нужен доступ к данным более чем одного устройства (компьютер, телефон, планшет и т.д). Для эффективного решения этой задачи, ПК стали объединять в локальные сети и устанавливать на них специальные операционные системы, например, NetWare компании Novell, для одновременного использования компьютерами сети файлов, расположенных в распределенных сегментах и доменах сети. Эта технология называется файл-сервер.

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

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

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

Следующим шагом в устранении упомянутой выше проблемы стало появление модели клиент-сервер. В данной модели все компьютеры определенной сети поделены на две группы: клиенты и серверы. Компьютер-сервер - это производительная машина с большими ресурсами оперативной и долговременной памяти, мощным процессором. На нем располагается БД и выполняется сложные действия, требующая больших вычислительных ресурсов. На компьютерах-клиентах исполняется первичная обработка данных при вводе, подготовка и проверка данных, а также окончательная обработка данных после получения их с сервера. В качестве компьютеров-клиентов часто используются обычные ПК типа IBM PC или Macintosh. Плюсы модели клиент-сервер очевидны. Любой тип компьютера используется по своему предназначению, обеспечивая полное применение возможностей компьютеров.


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

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

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

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


Следующим шагом в развитии модели клиент-сервер стало реализация в сети не одного, а нескольких серверов БД. Это дало возможность перейти от работы с локальной БД к работе с удаленной БД. Причем работа с распределенной БД «прозрачна» для клиента, т.е. он работает с ней аналогично, как с локальной БД, не задумываясь о том, на каком сервере лежат его данные. Клиент инициирует запрос к одному из серверов, тот, не найдя у себя необходимой информации, автоматически переводит запрос к другим серверам.

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

Глава 2. Характеристика модели

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

Рис 1. Модель «клиент-сервер»

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

  • Ввод и вывод данных (Presentation Logic);
  • Бизнес логика приложения, выполняющая преобразования данных в рамках определенных бизнес-процессов (Business Logic);
  • Логика на уровне базы данных (Database Logic),
  • Средства управления ресурсами БД (Database Manager System);
  • Служебные, мониторинговые и административные модули