Файл: Распределённые системы обработки информации.pdf

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

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

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

Добавлен: 20.05.2023

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

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

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

ВЕДЕНИЕ

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

В рамках данной курсовой работы рассмотрена известная с начала 90-х годов XX века технология реализации приложений – "клиент-сервер". Наиболее распространенным примером ежедневного использования клиент-серверной архитектуры является доступ пользователей к сети Интернет. При использовании интернет-браузера для доступа к веб-сайту, компьютер, на котором запущено программное обеспечение браузера, будет клиентом, запрашивающим веб-страницу с удаленного веб-сервера. Веб-сервер получает и обрабатывает этот запрос, а затем отвечает на него, отправляя веб-страницу на клиентский компьютер.

В архитектуре клиент/сервер применяется разделение функций приложения на две или более отдельные части. Технология разделяет функции на подсистемы клиента и сервера, используя стандартные методы связи, такие как TCP/IP и z39.50.

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

Предметом курсовой работы является клиент-серверная архитектура приложений. Цель курсовой работы – изучить и проанализировать особенности клиент-серверной архитектуры. Для реализации цели поставлены и решены следующие задачи:

1. Изучить основные понятия и определения клиент-серверной архитектуры.

2. Выполнить функциональное сравнение клиент-серверной и одноранговой архитектуры.

3. Выделить преимущества и недостатки клиент-серверной архитектуры.

4. Проанализировать типы серверов и их функциональное назначение.

5. Проанализировать методы управления доступом к серверам.


1. Основные понятия и определения клиент-серверной архитектуры

1.1 Клиент

Клиент – это принимающая сторона системы типа «клиент/сервер». Клиент чаще всего находится в другой системе или на компьютере, к которому можно получить доступ через сеть. Этот термин был впервые использован для устройств, которые не могли запускать свои собственные программы, и были подключены к удаленным компьютерам, которые могли это делать, через сеть. Они назывались терминалами и обслуживались мэйнфреймами.

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

Клиенты делятся на три типа:

1. Тонкий клиент.

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

Как правило, тонкий клиент – это один из многих сетевых компьютеров, которые совместно используют вычислительные потребности, используя ресурсы одного сервера. Тонкий клиент часто имеет дешевое оборудование с небольшим количеством съемных частей.

При более подробном рассмотрении, тонкий клиент уравновешивает зависимость от программных и аппаратных ресурсов сетевого сервера.

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


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

«Нулевой» клиент обычно не имеет встроенного процессора, хранилища, памяти или собственной операционной системы (ОС). Обычно он имеет периферийные и коммуникационные порты (такие как порты USB/VGA), а также звуковые и сетевые порты.

«Нулевой» клиент работает через центральный специализированный сервер, на котором размещаются ОС и приложения. Он отправляет и получает запросы на вычисления по сети и потребляет очень мало энергии во время полной работы.

«Нулевой» клиент также известен как «ультратонкий» клиент.

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

2. Толстый клиент.

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

«Толстый» клиент – это вычислительная рабочая станция, которая включает в себя большинство или все компоненты, необходимые для самостоятельной работы и выполнения программных приложений.

«Толстый» клиент – это один из компонентов вычислительной архитектуры клиент-сервер, который подключен к серверу через сетевое соединение и не использует какие-либо вычислительные ресурсы сервера для выполнения приложений.

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


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

3. Гибрид: демонстрирует характеристики двух вышеуказанных типов. Он может выполнять большинство процессов самостоятельно, но может полагаться на сервер для получения важных данных или для хранения.

1.2 Сервер

Сервер – это компьютер, устройство или программа, предназначенная для управления сетевыми ресурсами. Серверы часто называют выделенными, потому что они очень редко выполняют другие задачи, кроме задач сервера.

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

Теоретически, когда компьютеры совместно используют ресурсы с клиентскими машинами, они считаются серверами.

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

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

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

– возможность обновления аппаратного и программного обеспечения без перезагрузки;

– расширенные возможности резервного копирования для частого резервного копирования важных данных;

– продвинутую производительность сети;

– автоматическую (невидимую для пользователя) передачу данных между устройствами;

– высокий уровень защиты ресурсов, данных и памяти.

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


1.3 Клиент-серверная архитектура

Клиент-серверная архитектура – это вычислительная модель, в которой сервер размещает, доставляет и управляет большинством ресурсов и услуг, которые потребляет клиент (рисунок 1).

Архитектура этого типа имеет один или несколько клиентских компьютеров, подключенных к центральному серверу через сеть или подключение к Интернету. Такая система разделяет вычислительные ресурсы.

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

Рисунок 1 – Простая схема взаимодействия в клиент-серверной архитектуре

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

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

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

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