Добавлен: 18.06.2023
Просмотров: 101
Скачиваний: 3
СОДЕРЖАНИЕ
ГЛАВА 1. ОСНОВЫ КЛИЕНТ-СЕРВЕРНОЙ МОДЕЛИ
1.1 ИСТОРИЯ РАЗВИТИЯ КЛИЕНТ-СЕРВЕРНОЙ МОДЕЛИ
1.2 КЛИЕНТ-СЕРВЕРНАЯ АРХИТЕКТУРА
1.2.2 РАЗВИТИЕ ИДЕЙ КЛИЕНТ-СЕРВЕРНОЙ КОНЦЕПЦИИ
1.5 КЛИЕНТ-СЕРВЕРНЫЕ ВЫЧИСЛЕНИЯ
1. 6 ПИРАМИДА МОДЕЛИ «КЛИЕНТ-СЕРВЕР»
ГЛАВА 2. РАЗВИТИЕ КОНЦЕПЦИЙ КЛИЕНТ-СЕРВЕРНОЙ МОДЕЛИ
2.1. КЛИЕНТ-СЕРВЕРНЫЕ ВЫЧИСЛЕНИЯ
2.2 ТРЕХ-УРОВНЕВАЯ АРХИТЕКТУРА
2.3 ПРОШЛОЕ И БУДУЩЕЕ КЛИЕНТОВ
ГЛАВА 3. ОСОБЕННОСТИ РЕАЛИЗАЦИИ КЛИЕНТ-СЕРВЕРНЫХ ПРИЛОЖЕНИЙ
3.1 ВЫБОР ПЛАТФОРМЫ ДЛЯ СЕРВЕРНОЙ ЧАСТИ МОДЕЛИ
3.2 РЕАЛИЗАЦИЯ КЛИЕНТ-СЕРВЕРНОГО ПРИЛОЖЕНИЯ В LINUX
Задачей высокопрофессиональных кадров, связанных с информационными технологиями, в этом контексте было объединение возможностей персональных компьютеров с тем функционалом, который может предоставить мощный центральный компьютер. Для достижения этой цели на начальном этапе было использование персональных компьютеров в роле представляющих гибкий интерфейс терминалов. [3] При использовании этого метода в ПК, который использует особый протокол связи с центральным компьютером, может быть запущено немодальный виртуальный процесс работы терминала. Это позволяет получить рабочую архитектуру, способную содержать в себе все преимущества мощного центрального компьютера на персональном компьютере, который может эксплуатироваться как обычно. Это позволяет не использовать в рабочем пространстве две независимые архитектуры (что может привести к путанице), однако все недостатки мощных центральных компьютеров всё ещё остаются. [3]
Помимо этого, хотя персональные компьютеры, имеющие дисплеи с картой VGA, позволяют работать с графикой, однако использовать их в качестве графического терминала большой центральной машины неудобно. Задача выполняется в центральном компьютере и по проводам передаются графические образы экрана. Эти образы довольно велики и скорость смены изображения на экране может быть очень низкой. Следующим шагом в решении описанной выше проблемы явилось использование архитектуры клиент-сервер. В такой архитектуре все компьютеры сети разделены на 2 группы: клиенты и серверы. Компьютер-сервер - это мощный компьютер с большой оперативной памятью и большим количеством дискового пространства. [5] На нем хранится база данных и выполняется сложная обработка, требующая больших вычислительных ресурсов. На компьютерах-клиентах выполняются первичная обработка данных при вводе, форматирование данных, а также окончательная (финишная) обработка данных, извлеченных с сервера. В качестве компьютеров-клиентов обычно используются персональные компьютеры типа IBM PC или Macintosh.
Преимущества архитектуры клиент-сервер очевидны. Каждый тип компьютера используется по своему назначению, а следовательно, обеспечивается более полное использование возможностей компьютеров.[5] На компьютерах-клиентах работают знакомые пользователям PC пакеты, позволяющие предоставлять результаты работы всей системы в удобном для анализа и принятия решений виде. На этих компьютерах легко можно реализовать дружественный пользовательский интерфейс приложения, использующий графику, цвет, звук, работу с окнами и мышью и т.д. Компьютер-клиент позволяет быстро выполнять ввод и первичный контроль данных. [5] Для финишной обработки данных могут использоваться те редакторы или пакеты электронных таблиц, которые пользователь считает наиболее удобными. В качестве компьютеров-клиентов могут одновременно использоваться компьютеры разных типов с различными операционными системами.
Архитектура клиент-сервер позволяет реализовать распределенную обработку, поскольку часть работы (интерфейс с пользователем, финишная обработка) выполняется на компьютере-клиенте, а часть - на компьютере-сервере. Это позволяет снизить загрузку сервера и оптимизировать его работу, а также увеличить число клиентов, одновременно работающих с сервером. Наиболее часто архитектура клиент-сервер применяется для приложений, созданных с использованием систем управления базами данных (СУБД). [7]
Дальнейшим развитием архитектуры клиент-сервер явилось использование в сети не одного, а нескольких серверов баз данных. Это позволило перейти от работы с локальной БД к работе с распределенной БД. Причем работа с распределенной базе данных (БД) "прозрачна" для пользователя, т.е. он работает с ней так же, как с локальной БД, не задумываясь о том, на каком сервере лежат его данные. [7]
Пользователь использует один сервер, а если он не найдёт необходимую информацию на своих страницах, то в этом случае он запрашивает данные с других серверов. Многохостовая модель связи в наши дни является очень перспективной т. к. дает возможность поменять главную производительную ЭВМ на некоторое количество менее мощных и, следовательно, более дешевых, и еще больше распараллелить обработку данных. Кроме того, такая архитектура увеличивает безопасность модели в целом, ведь если выйдет из строя один хост, то нагрузка может быть распределена между другими, и приложения смогут продолжить работу. [7] В случае, если промежуток местной или глобальной сети вышел из строя, устройство будет стараться отыскать другое направление к конечным данным (по остальным путям ЛВС). С другой стороны, местные сервера сохраняют информацию, которая задействуется подавляющее большинство времени в глобальном модуле - это дает возможность уменьшить раздачу информации по сети от сервера к серверу.
1.3 МОДЕЛИ КЛИЕНТ-СЕРВЕР
На сегодняшний момент есть, как минимум, три строения клиент-сервер:
- Модель доступа к удаленным данным (RDA-модель);
- Модель сервера базы данных (DBS-модель);
- Модель сервера приложений (AS-модель).
Строение 1 и 2 классифицируются как двухзвенные и не имеют возможности применения как основное строение распределенной системы, а строение 3 — трехзвенное. [5] Также как остальное многозвенное строение, оно выгодно, т. к. в данной модели части для непосредственного контакта с потребителем абсолютно не зависят от составляющей разбора информации. [8] В общем, трехзвенной ее справедливо называть потому, что в ней определенно присутствуют следующие компоненты:
- Составляющая диалога с потребителем;
- ПО среднего уровня (middleware);
- Составляющая поиска и обработки информации.
Middleware — основная составляющая трехзвенного дистрибутивного устройства. Данная утилита обладает возможностью контроля переводов и связи, перемещения обработки данных, контроля информации, а также другими возможностями. Есть одно очень важное отличие возможностей "сервер запросов — клиент запросов" и трехзвенных технологий : в начальном примере клиент посылает запрос на конкретную информацию, т. к. осведомлен о строении информационного хранилища (это действие именуется "поставкой данных" клиенту). Клиент делает SQL-запрос системе управления базами данных и после она их отправляет, в результате происходит непременное соединение алгоритмов, в качестве исполнения которой все системы управления базами данных пользуются скрытым SQL-каналом. [8]
Данный канал создается несколькими процессами: SQL/Net на компьютере-клиенте и SQL/Net на компьютере-сервере и производится с помощью утилиты connect по желанию пользователя. Канал является закрытым т. к. нет возможности, к примеру, создать утилиту, которая станет кодировать SQL-запросы с помощью определенного кода или другим образом будет вмешиваться в процесс передачи данных между клиентским и серверным приложением. [5]
В случае трехзвенной схемы клиент явно запрашивает один из сервисов (предоставляемых прикладным компонентом), например, передавая ему некоторое сообщение, и получает ответ также в виде сообщения. Клиент направляет запрос во внешнюю среду, ничего не зная о месте расположения сервиса. Имеет место так называемая "поставка функций" клиенту. [7]
Для клиента сама база данных видна исключительно посредством набора сервисов. Более того, он вообще ничего не знает о ее существовании, т. к. все операции над базой данных выполняются внутри сервисов. Таким образом, речь идет о двух принципиально разных подходах к построениюинформационных систем клиент-сервер. Двухзвенная архитектура на сегодняшний день может считаться достаточно устаревшей и, в связи с развитием распределенных информационных систем, постепенно отходит на второй план. И если для быстрого создания несложных приложений с небольшим числом пользователей этот метод подходит как нельзя лучше, то при построении корпоративных распределенных информационных систем он абсолютно непригоден в силу вышеперечисленных причин.
1.4 ТОЛСТЫЙ И ТОНКИЙ КЛИЕНТЫ
Как значится в словаре, тонкий клиент - это клиентское устройство (или программа), передающее большую часть исполняемых им функций серверу. Толстый клиент определить намного проще - это все клиенты, не являющиеся тонкими. [7]
Тонкий клиент (thin client) — терминал сети без жестких дисков, вычислительная мощность которого и объем памяти определяются задачами пользователя. Все программы и приложения, хранящиеся на сервере, становятся доступными для пользователя при включении его устройства и выполнении процедуры регистрации на сервере. Тонким клиентом называют также ПК (в том числе и мобильный) с минимизированной мощностью процессора, оперативной и внешней памятью, позволяющий пользователю осуществлять ввод и отображение данных за счет выполнения вычислений и сохранения данных на более мощном ПК или сервере, с которыми он может осуществлять связь при помощи каналов средней пропускной способности. [7]
К тонкому клиенту могут подключаться внешние устройства ввода/вывода данных (сканеры, мониторы, принтеры и проекторы).Клиент называется тонким, если он не содержит вовсе или содержит лишь малую часть бизнес-логики, т. е. представляет собой исключительно презентационный слой. К толстым относятся клиенты со значительной долей бизнес-логики. [7]
Лучший пример тонкого клиента — Web-браузер, настолько универсальный, что способен подключаться к абсолютно разным прикладным программам, о которых "не знает" ничего, и, тем не менее обеспечивать приемлемый интерфейс пользователя. Вся концепция сетевого компьютера строится на идее создания дешевого небольшого устройства, на котором будет работать Web-браузер:
- Централизация
- Администрирования настольных устройств за счет централизованного оперирования приложениями и их модификациями, выполняемыми на сервере. Они становятся доступными для всех пользователей сразу, не требуется контакт с отдельными пользователями.
- Упрощение технологии
- Обслуживания рабочих мест, применяя соответствующие сервисные средства, администратор системы может одновременно обслуживать множество устройств.
- Возможность контроля за действиями пользователя, благодаря отсутствию накопителей на рабочем месте, пользователь не может привносить в конфигурацию программного обеспечения что-то свое, устанавливая собственные программы.
- Мобильность пользователей. Пользователь, не привязанный к конкретному рабочему месту, может произвольно перемещаться в пределах локальной сети, применять устройства дистанционного доступа.
- Повышение производительности труда операторов. Сведение всех сервисных операций на сервер заметно повышает производительность труда операторов.
- Снижение стоимости эксплуатации оборудования, при не слишком большом различии в стоимости оборудования тонкий клиент заметно дешевле в эксплуатации.
Преимущества и недостатки данного подхода можно представить в виде таблицы.
Преимущества |
Недостатки |
Ещё меньшая мощность компьютеров-клиентов |
Усложняется разработка программного обеспечения |
Ещё дешевле при большом количестве клиентов |
Усложняется администрирование программного обеспечения |
Ещё меньшая нагрузка на сеть |
Более дорогой сервер |
Ещё реже требуется обновление ПО на клиентах |
При повреждении сервера останавливается работа всех клиентов |
Таблица 1. Преимущества и недостатки тонких клиентов
Технология «тонкий клиент-сервер» базируется на трех основных составляющих:
- Стопроцентное выполнение прикладных задач на терминальном сервере,
- Многопользовательская операционная система,
- Технология распределенного отображения пользовательского интерфейса приложений.
Пользователи имеют возможность одновременно заходить в систему и выполнять приложения на сервере в разных, защищенных друг от друга сессиях сервера.[5] В системе с использованием тонкого клиента по сети или коммутируемой телефонной линии на сервер передаются сигналы, отражающие нажатие на ту или иную клавишу либо то или иное движение мыши. А сервер производит соответствующие действия и формирует изменения экрана пользователя и передаѐт эти изменения тонкому клиенту. [5]
Тонкий клиент принимает от сервера видоизменённое отображение экрана и проецирует его на устройство (в утилитах нашего времени посылается как видоизмененный экран целиком, так и только доля проекции, в соответствии с необходимостью, с помощью которой ПО тонкого клиента проецирует новое изображение). В качестве клиента могут быть различные персональные компьютеры, однако, т. к. он поддерживает очень малое количество возможностей для редактирования информации, а как тонкий клиент также есть возможность использовать небольшие терминалы, располагающие маленькой вычислительной мощностью, не имеющие устройств с подвижными составляющими (жесткие диски, вентиляторы), располагающие, обычно, компонентами, имеющие существенные ограничения по объемам памяти (ОЗУ). [3]
В процессе обработки информации в терминальной модели все обрабатывающие программы, а также обрабатываемы данные, и параметры настроек располагаются непосредственно на терминальном сервере. Такой подход располагает большим количеством преимуществ в контексте базовой развёртки рабочей области (это проявляется, в частности, в отсутствии нужды в установке программного обеспечения на всех терминалах), более удобного проведения резервного копирования данных (надо копировать только содержимое сервера), восстановления сессий после сбоев (все пользовательские сессии автоматически сохраняются на сервере). [3]