Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Распределённые системы обработки информации

Содержание:

ВЕДЕНИЕ

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

В рамках данной курсовой работы рассмотрена известная с начала 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 – Простая схема взаимодействия в клиент-серверной архитектуре

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

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

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

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

Характеристики клиент-серверной архитектуры:

– клиентские и серверные машины требуют разного количества аппаратных и программных ресурсов;

– клиентские и серверные машины могут принадлежать разным поставщикам;

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

– клиентское или серверное приложение напрямую взаимодействует с протоколом транспортного уровня для установления связи, а также для отправки или получения информации;

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

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

Традиционная архитектура клиент-сервер включает два уровня: уровень клиента и уровень сервера.

Другой общий дизайн клиент-серверных систем использует три уровня (рисунок 2): клиент, который взаимодействует с пользователем, сервер приложений, содержащий бизнес-логику приложения, менеджер ресурсов, который хранит данные.

Рисунок 2 – Трехуровневая клиент-серверная архитектура

1.4 Сравнение клиент-серверной и одноранговой архитектуры

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

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

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

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

Рисунок 3 – Типы архитектуры клиент-сервер

1.5 Преимущества и недостатки клиент-серверной архитектуры

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

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

Преимуществами клиент-серверной архитектуры являются:

1. Улучшенный обмен данными.

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

2. Интеграция сервисов.

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

3. Совместное использование ресурсов между различными платформами.

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

4. Взаимодействие данных.

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

5. Возможности обработки данных независимо от местоположения.

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

6. Простота обслуживания.

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

7. Безопасность.

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

Недостатки (по сравнению с одноранговыми сетями):

1. Перегруженные серверы.

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

2. Влияние централизованной архитектуры.

Поскольку она централизована в случае сбоя критического сервера, клиентские запросы не выполняются. Поэтому клиент / сервер испытывает недостаток в надежности сети P2P (ресурсы распределены между многими узлами).

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

На основе проведенного сравнительного анализа выделены преимущества и отмечены недостатки клиент-серверной модели.

2 Особенности применения клиент-серверной архитектуры

2.1 Виды серверов и их назначение

2.1.1 Сетевой сервер

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

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

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

Факторы, влияющие на выбор использования сетевого сервера:

– количество пользователей в сети;

– классификация используемой сети;

– планы роста бизнеса, если таковые имеются.

Особенностями сетевых серверов являются:

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

2. Обычно это высокопроизводительные персональные компьютеры с надежными и быстрыми жесткими дисками, мощными процессорами и большим объемом доступной оперативной памяти.

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

4. Аутентификация и контроль пользователя могут быть установлены на другой рабочей станции с использованием сетевого сервера.

5. Мерами контроля безопасности более удобно управлять с помощью сетевого сервера.

6. Сетевой сервер также способен работать в интрасети.

2.1.2 Сервер приложений

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

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

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

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

Примером сервера приложений с открытым кодом является JBoss (JBoss AS). Это кроссплатформенный сервер приложений Java, разработанный JBoss, подразделением Red Hat Inc. JBoss AS – это реализация Java 2 Enterprise Edition (J2EE) с открытым исходным кодом, которая используется для реализация приложений Java и других веб-приложений и программного обеспечения.

JBoss AS выпускается по лицензии Lesser General Public License. Сообщество JBoss.org предоставляет бесплатную поддержку для этого сервера приложений.

JBoss AS работает на Java Virtual Machine (JVM) и является сервером приложений Java EE со встроенной оболочкой сервлета Apache Tomcat.

JBoss также поддерживает многие операционные системы, включая переносимый интерфейс операционной системы для платформ Unix (POSIX), GNU / Linux, Free Berkeley Software Distribution (FreeBSD), Mac OS X, Microsoft Windows и другие JVM-совместимые машины.

2.1.3 Сервер баз данных

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

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

Сервер базы данных не зависит от архитектуры базы данных. Реляционные или нереляционные базы данных – все эти архитектуры могут быть размещены на серверах баз данных.

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

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

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

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

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

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

Примером сервера баз данных является My SQL. MySQL – это полнофункциональная система управления реляционными базами данных (RDBMS), которая конкурирует с аналогами Oracle DB и Microsoft SQL Server. Исходный код MySQL находится в свободном доступе, потому что он изначально разрабатывался как бесплатный. MySQL написан на C и C ++ и совместим со всеми основными операционными системами.

MySQL был ядром свободного программного обеспечения, изначально разработанного и выпущенного в 1995 году. MySQL назван в честь My, дочери Майкла Видениуса, одного из создателей продукта. Первоначально он был выпущен под лицензией GNU – General Public License, в которой исходный код свободно доступен.

MySQL очень популярен для приложений веб-хостинга из-за множества веб-оптимизированных функций, таких как типы данных HTML, и потому, что он доступен бесплатно. Он является частью архитектуры Linux, Apache, PHP (LAMP), комбинации платформ, которая часто используется для доставки и поддержки современных веб-приложений. MySQL управляет внутренними базами данных некоторых известных веб-сайтов, включая Википедию, Google и Facebook, что свидетельствует о его стабильности и надежности, несмотря на его децентрализованную, бесплатную для всех философию.

MySQL изначально принадлежал Sun Microsystems. Когда компания была приобретена корпорацией Oracle в 2010 году, MySQL был частью пакета. Хотя MySQL технически считается конкурентом Oracle DB, Oracle DB в основном используется крупными предприятиями, в то время как MySQL используется более мелкими, ориентированными на Web базами данных. Кроме того, MySQL отличается от продукта Oracle тем, что находится в свободном доступе.

Примером сервера баз данных от Microsoft является SQL Server. SQL Server – это система управления реляционными базами данных. SQL Server поддерживает ANSI SQL, стандартный язык SQL. Однако SQL Server также содержит T-SQL, свою собственную реализацию SQL. SQL Server Management Studio (SSMS) (ранее известная как Enterprise Manager) является основным интерфейсным средством SQL Server и поддерживает 32-разрядные и 64-разрядные среды. SQL Server иногда называют MSSQL и Microsoft SQL Server.

Первоначально выпущенный в 1989 году в сочетании с Sybase, SQL Server и его ранние версии были очень похожи на Sybase. Однако партнерство Microsoft и Sybase распалось в начале 1990-х годов, и Microsoft сохранила права на торговую марку SQL Server. С тех пор Microsoft выпустила версии 2000, 2005 и 2008, 2012, 2016, 2017, которые имеют более широкий функционал и улучшенную безопасность. Примеры некоторых функций: поддержка типов данных XML, динамические административные представления (DMV), возможность полнотекстового поиска и создание зеркал баз данных.

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

1. Enterprise.

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

2. Standard.

Ориентирован на малые и средние организации. Также поддерживает электронную коммерцию и хранилище данных.

3. Workgroup.

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

4. Express.

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

Продуктом Oracle является Oracle DB. Разработанная в 1977 году Лоуренсом Эллисоном и другими разработчиками, Oracle DB является одним из самых надежных и широко используемых механизмов реляционных баз данных.

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

Oracle DB конкурирует с Microsoft SQL Server на рынке корпоративных баз данных. Существуют и другие предложения, но большинство из них занимают небольшую долю рынка по сравнению с Oracle DB и SQL Server. К счастью, структуры Oracle DB и SQL Server очень похожи, что является преимуществом при изучении администрирования баз данных.

Oracle DB работает на большинстве основных платформ, включая Windows, UNIX, Linux и Mac OS. Доступны разные версии программного обеспечения в зависимости от требований и бюджета. Иерархия БД Oracle имеет вид:

Enterprise Edition: предлагает все функции, включая отличную производительность и безопасность, и является самой надежной.

Standard Edition: содержит базовые функции для пользователей, которым не требуется надежный пакет Enterprise Edition.

Express Edition (XE): легкая, бесплатная, но ограниченная версия для Windows и Linux.

Oracle Lite: версия для мобильных устройств.

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

Среди некоммерческих продуктов также выделим PostgreSQL. Это система управления объектно-реляционными базами данных с открытым исходным кодом, которая не принадлежит ни одной компании или частному лицу. Поскольку программное обеспечение PostgresSQL является открытым исходным кодом, оно управляется в основном посредством скоординированных онлайн-усилий активного глобального сообщества разработчиков, энтузиастов и других добровольцев.

Впервые продукт выпущен в середине 1990-х годов и написан на языке C. Встречается также название Postgres.

PostgresSQL и ingres, более ранние разработки, были разработаны командой из Калифорнийского университета в Беркли. PostgresSQL изначально не поддерживал язык структурированных запросов (SQL) – язык запросов QUEL использовался до 1994 года, когда была добавлена поддержка SQL. В 1996 году была выпущена первая официальная версия программного обеспечения с открытым исходным кодом PostgresSQL.

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

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

2.1.4 Веб-сервер

Веб-сервер – это система, которая доставляет контент или услуги конечным пользователям через Интернет. Веб-сервер состоит из физического сервера, серверной операционной системы (ОС) и программного обеспечения, используемых для обеспечения связи по HTTP. Веб-сервер также известен как интернет-сервер.

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

Например, сервер, который доставляет документ XML на другое устройство, может быть веб-сервером. Лучшим определением может быть то, что веб-сервер – это любой интернет-сервер, который отвечает на HTTP-запросы на доставку контента и услуг.

В зависимости от контекста этот термин может относиться к аппаратному обеспечению или программному обеспечению веб-сервера на сервере. С точки зрения программного обеспечения, существовали буквально сотни веб-серверов, но Apache и IIS Microsoft стали двумя наиболее популярными системами.

Apache Web Server – это программное обеспечение для создания, развертывания и управления веб-сервером с открытым исходным кодом. Первоначально разработанное группой программистов, сейчас поддерживается Apache Software Foundation.

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

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

Internet Information Services (IIS), ранее известный как Internet Information Server, является веб-сервером, выпускаемым Microsoft. IIS используется с операционными системами Microsoft Windows и является конкурентом для Apache, самого популярного веб-сервера, используемого в системах на основе Unix / Linux.

IIS был первоначально выпущен для Windows NT и вместе с ASP (Active-Server Pages), наконец, сделал коробочное решение Windows удобной альтернативой для веб-хостинга, но требовал значительной конфигурации для обеспечения безопасности.

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

Еще одним веб-сервером от Microsoft является Personal Web Server (PWS). PWS – это приложение веб-сервера, которое позволяет пользователю сохранять, выборочно публиковать и обмениваться сообщениями в Интернет или локальной сети. PWS отличается от всех других типов веб-серверов тем, что он контролируется и управляется отдельным лицом, а не компанией. Технически это то же самое, что веб-сервер, но концептуально это совсем другое.

Персональный веб-сервер – это тип приложения веб-сервера от Microsoft, предназначенный для отдельного ПК и позволяющий обмениваться файлами и данными в сети непосредственно с жесткого диска ПК.

Это менее яркая версия Microsoft Web Server, который является более сильным информационным сервером. PWS может использоваться для поддержки веб-страниц, если он подключен к постоянному интернет-соединению.

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

2.1.5 Сервер предприятия (enterprise server)

Сервер предприятия – это компьютерный сервер, который включает в себя программы, необходимые для общего обслуживания требований предприятия, а не отдельного пользователя, устройства или конкретного приложения. Традиционно компьютерные системы размером с мэйнфрейм использовались в качестве корпоративных серверов, хотя изначально они не назывались таковыми. Благодаря своей способности управлять программами в масштабах предприятия серверы на базе UNIX, компьютеры Wintel также обычно обозначаются как корпоративные серверы. Некоторые примеры корпоративных серверов: Sun Microsystems с системами Solaris на базе Linux или UNIX, системы IBM iSeries, системы Hewlett-Packard (HP) и т. д.

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

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

Ключевые особенности сервера:

1. Возможность подключения.

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

2. Гибкая топология.

Упрощает потоковые соединения для передачи данных с помощью широковещательной передачи UDP, технологий многоадресной передачи TCP / IP и IP. Это минимизирует требования к пропускной способности и обеспечивает совместимость с политиками сети.

3. ИТ-производительность.

Позволяет организациям максимально использовать ограниченные ИТ-ресурсы.

4. Управляемость.

Создает лучший контроль и управляемость на устройствах.

5. Расширенные функции безопасности.

Лучшая безопасность обеспечивает целостность и конфиденциальность данных.

6. Отказоустойчивость.

Повышенная отказоустойчивость обеспечивает максимальную надежность.

7. Производительность.

Приводит к увеличению производительности пользователей.

Примером таких серверных продуктов является .NET Enterprise Server. .NET Enterprise Server – это семейство серверных продуктов от Microsoft, предназначенных для более быстрого и простого создания, интеграции, управления и выполнения корпоративных веб-приложений. .NET Enterprise Server имеет базовые технологии, которые можно использовать для интеграции сайтов Commerce Server с корпоративными информационными системами для создания веб-систем с лучшей масштабируемостью, надежностью, безопасностью, производительностью и целостностью. Следуя открытым стандартам, таким как XML и SOAP, среди прочего, продукты .NET Enterprise Server обеспечивают гибкость и совместимость с другими приложениями, облегчая интеграцию с несколькими приложениями на разных платформах.

Microsoft .NET Enterprise Server был запущен как обновленная версия BackOffice Server 2000 для предоставления вспомогательных услуг, таких как управление контентом и обработка данных, которые сыграли важную роль в предоставлении доступа к корпоративным ресурсам через сеть и Интернет с помощью его базовых услуг. Его эволюция по сравнению с предшествующей технологией указывает на четкую стратегию Microsoft по переходу на удовлетворение потребностей корпоративного программного обеспечения и технологий за счет использования интернет-инфраструктуры и решений для веб-служб.

.NET Enterprise Server включает в себя следующие часто используемые платформы:

1. Commerce Server.

Платформа с набором инструментов для создания полнофункциональных сайтов электронной коммерции и управления ими с учетом бизнес-сценариев, в том числе бизнес-потребитель (B2C), бизнес-бизнес (B2B) и B2X (комбинация B2C и B2B). Используется для создания быстрого онлайн-бизнеса и позволяет клиентам улучшить функциональность сайта, повысить прибыльность и повысить качество обслуживания клиентов.

2. Microsoft Biztalk Server.

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

3. Microsoft SQL Server.

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

4. Microsoft Host Integration Server (MHIS).

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

Значение .NET Enterprise Server для бизнеса повысилось благодаря его комбинации с веб-сервисами .NET и XML, поскольку они решили проблемы интеграции, предоставляя гибкие решения для удовлетворения потребностей гибкого бизнеса.

2.1.6 Прокси-сервер

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

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

Прокси-сервер используется для многих целей, в том числе:

– обеспечивает внутреннюю безопасность системы;

– ускоряет доступ к ресурсам;

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

– обходит специальные элементы управления, такие как родительский контроль или контроль безопасности;

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

– обходит региональные ограничения;

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

2.2 Функции сервера по аутентификации и управлению пользователями

Одной из важнейших задач, решаемых при создании серверов, является управление пользователями (UM – User management). Под управлением пользователями понимают не просто процессы создания и удаления пользователя в многопользовательской системе, но и управление возможностями его доступа к различным ресурсам, предоставляемым сетевым сервисом – системе, устройствам, приложениям, сетям, сервисам и многому другому. Управление пользователями – это ядро систем DS (directory service) и основа безопасности любой организации. Управление пользователями позволяет контролировать процессы доступа внутренних и внешних пользователей к и из ИТ-ресурсов организации. Для этого, службы DS могут выполнять аутентификацию, авторизацию и аудит доступа пользователей к ИТ-инфраструктуре на основе правил, заданных администратором.

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

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

Рассматриваемые задачи сформировали принцип ААА, являющийся основой безопасности и UM – это процессы аутентификации, авторизации и учета (Authentication, Authorization, Accounting – AAA).

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

Авторизация – это процесс определения прав пользователя после успешного выполнения авторизации. Например, определение перечня команд и доступной оболочки, доступных клиенту после сетевого входа в систему Linux.

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

2.2.1 Решение задач User Management в серверах Microsoft

В серверах фирмы Microsoft данная задача решается с использованием технологии Active Directory Domain Services, являющейся реализатором функций учета системных ресурсов и взаимодействия с администраторами и сетевыми пользователями.

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

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

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

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

Основными частями AD являются следующие четыре компоненты (рисунок 2.1):

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

Рисунок 2.1 – Структуры данных и хранилища Active Directory

Элементами описания доменов являются Organizational Units (OUs), представляющие собой средства для группировки ресурсов, таких как учетные записи пользователей или учетные записи компьютеров, описывающие их как одно целое. Это позволяет применять групповые политики к нескольким компьютерам или контроль доступа многих пользователей к одному ресурсу.

Хранилище данных AD состоит из нескольких компонентов (рисунок 2.2), которые включают в себя следующие компоненты и составные:

  • четыре интерфейса:
    • протокол доступа к каталогам (LDAP);
    • репликация (REPL) и интерфейс управления контроллером домена:
    • API обмена сообщениями (MAPI);
    • менеджер учетных записей безопасности (SAM);
  • три сервисных компонента:
    • агент системы каталогов (DSA);
    • уровень базы данных;
    • расширяемый механизм хранения (ESE);
  • базу данных каталогов, в которой хранятся данные.

Рисунок 2.2 – Структура контроллера домена в Active Directory

Учет пользователей осуществляется при помощи Security Accounts Manager (SAM), представляющего собой базу данных учетных записей пользователей и дескрипторов безопасности пользователей на компьютере.

Как видно из приведенной информации, принцип ААА в серверах Microsoft реализуется несколькими компонентами, взаимодействующими между собой на различных уровнях службы Active Directory Domain Service.

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

Windows Server 2016 обновил AD DS, чтобы повысить безопасность AD и перенести среды AD в облачные или гибридные облачные среды. Обновления безопасности включали добавление управления привилегированным доступом (Privileged Access Management – PAM).

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

2.2.2 Решение задач User Management на основе внешних серверов аутентификации

Как отмечается в наиболее часто используемыми решениями для задач управления пользователями являются Remote Authentication Dial-In User Service (RADIUS) и Cisco’s Terminal Access Controller Access-Control System Plus (TACACS+).

IETF (Internet Engineering Task Force) приняла протокол RADIUS в качестве стандарта для AAA – RFC2058 и RFC2138 (1997), RFC2865 (2000), а последний из стандартов, связанных с использованием данного протокола, RFC8658 был опубликован в ноябре 2019 г. – RADIUS Attributes for Softwire Mechanisms Based on Address plus Port (A+P) . В начале 90-х годов ХХ века он применялся для серверов сетевого доступа (NAS) с модемными соединениями. Он расширял протокол точка-точка (PPP), передавая информацию об аутентификации с NAS на AAA-сервер. Сведения передаются с использованием различных портов – 1812 (для аутентификации) и 1813 (для учета). Протокол RADIUS поддерживается большинством производителей аппаратных решений и программных продуктов.

Основным недостатком на сегодня есть вопросы безопасности – он поддерживает аутентификацию типов Clear text и CHAP, шифруя только поле с паролем.

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

Решение на основе RADIUS является на сегодня более универсальным, если не требуется решение задачи управления сетевыми устройствами.

Структура обмена данными с использованием внешнего сервера аутентификации с протоколом RADIUS приведена на рисунке 2.3.

К преимуществам сервера RADIUS следует отнести:

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

Рисунок 2.3 – Структура обмена данными в протоколе RADIUS

В данном разделе рассмотрены виды и характеристики функциональной части клиент-серверной архитектуры – серверов. Выбор типа сервера выполняется исходя из количества задач по обработке данных и их сложности.

Рассмотрены варианты серверов с открытым кодом для малых и средних фирм. Также приведены характеристики серверов от основных фирм-производителей Oracle и Microsoft.

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

ЗАКЛЮЧЕНИЕ

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

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

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

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

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

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

БИБЛИОГРАФИЯ

  1. Client-Server Model. URL: https://www.geeksforgeeks.org/client-server-model/
  2. Importance of Client/server Technology. URL: https://www.streetdirectory.com/travel_guide/138654/technology/importance_of_clientserver_technology.html
  3. Client Server Architecture. URL: https://cio-wiki.org/wiki/Client_Server_Architecture#Three-tier_Client_Server_Architecture
  4. Definition – What does Server mean? URL: https://www.techopedia.com/definition/2282/server
  5. Definition – What does Client mean? URL: https://www.techopedia.com/definition/437/client
  6. Орлик С. Многоуровневые модели в архитектуре клиент-сервер URL: http://ods.com.ua/win/rus/db/kbd97/22.htm
  7. Зеленков Ю.А. Архитектура "клиент-сервер" URL: http://www.mstu.edu.ru/education/materials/zelenkov/ch_7_1.html (дата обращения 08.01.2020)
  8. Ладыженский Г. Технология "клиент-сервер" и мониторы транзакций. URL: http://www.osp.ru/os/1994/03/178494/ (дата обращения 08.01.2020)
  9. Альперович М. Преимущества архитектуры "клиент-сервер" URL: http://old.ci.ru/inform2_97/astr1.htm
  10. Олифер В., Олифер Н., Компьютерные сети. Принципы, технологии, протоколы. Учебник. 5-е издание./ В. Олифер, Н. Олифер, Питер, 2017.
    – 992с. ISBN 978-5-496-01967-5
  11. Букатов А. А., Гуда С. А., Компьютерные сети. Расширенный начальный курс. Учебник / А. А. Букатов, С. А. Гуда, Питер, 2019.– 496 с. ISBN 978-5-4461-1338-5
  12. Филимонов А. Построение мультисервисных сетей / А. Филимонов, БХВ-Петербург, 2017. – 592с. ISBN 978-5-9775-0007-4
  13. Лимончелли Т., Хоган К., Чейлап С., Системное и сетевое администрирование. Практическое руководство/ Т. Лимончелли, К.Хоган, С. Чейлап, Символ-Плюс, 2015.- 944с. ISBN 978-5-93286-130-1
  14. Таненбаум Э. Компьютерные сети / Э. Таненбаум, Питер, 2009. – 992с. ISBN 978-5-318-00492-6
  15. Колисниченко Д., Кенин А., Самоучитель системного администратора /
    Д. Колисниченко, А. Кенин, БХВ-Петербург, 2016г.– 527с. ISBN 978-5-9775-3629-5
  16. Бигелоу Стивен Дж., Сети. Поиск неисправностей, поддержка и восстановление / Стивен Дж. Бигелоу, БХВ-Петербург, 2015г. – 1200с.
    ISBN 5-94157-338-3
  17. Яремчук С., Матвеев А. Системное администрирование Windows 7 и Windows Server 2008 R2/ С. Яремчук, А. Матвеев, Питер, 2011. – 384с. ISBN 978-5-459-00461-8
  18. Станек Уильям Р., Microsoft Windows Server 2012 R2. Хранение, безопасность, сетевые компоненты. Справочник администратора / Уильям Р. Станек, БХВ-Петербург, 2015. – 416с. ISBN 978-5-9775-3558-8
  19. What Is User Management? URL:https://jumpcloud.com/blog/what-is-user-management/#cookie-accept
  20. The Increased Importance of User Management URL: https://www.itassetmanagement.net/2015/08/13/increased-importance-user-management/
  21. NetworkRADIUS URL: https://networkradius.com/
  22. Аутентификация, авторизация и учет (AAA) – RADIUS или TACACS+ URL: https://vasexperts.ru/blog/autentifikaciya-avtorizaciya-i-uchet-aaa-radius-ili-tacacs/
  23. Active Directory Domain Services Overview URL: https://docs.microsoft.com/en-us/windows-server/identity/ad-ds/get-started/virtual-dc/active-directory-domain-services-overview
  24. Active Directory Structure and Storage Technologies URL: https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2003/cc759186(v=ws.10)?redirectedfrom=MSDN
  25. Security Account Manager (SAM). URL: https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server 2003/cc756748(v=ws.10)?redirectedfrom=MSDN
  26. Active Directory. URL: https://searchwindowsserver.techtarget.com/definition/Active-Directory
  27. The RADIUS help center. URL: Why use a radius server. https://networkradius.com/why-use-radius-server/