Добавлен: 20.05.2023
Просмотров: 342
Скачиваний: 3
СОДЕРЖАНИЕ
1. Основные понятия и определения клиент-серверной архитектуры
1.3 Клиент-серверная архитектура
1.4 Сравнение клиент-серверной и одноранговой архитектуры
1.5 Преимущества и недостатки клиент-серверной архитектуры
2 Особенности применения клиент-серверной архитектуры
2.1 Виды серверов и их назначение
2.1.5 Сервер предприятия (enterprise server)
2.2 Функции сервера по аутентификации и управлению пользователями
2.2.1 Решение задач User Management в серверах Microsoft
2.2.2 Решение задач User Management на основе внешних серверов аутентификации
Характеристики клиент-серверной архитектуры:
– клиентские и серверные машины требуют разного количества аппаратных и программных ресурсов;
– клиентские и серверные машины могут принадлежать разным поставщикам;
– горизонтальная масштабируемость (увеличение количества клиентских машин) и вертикальная масштабируемость (переход на более мощный сервер или на многосерверное решение);
– клиентское или серверное приложение напрямую взаимодействует с протоколом транспортного уровня для установления связи, а также для отправки или получения информации;
– затем транспортный протокол использует протоколы нижнего уровня для отправки или получения отдельных сообщений. Таким образом, компьютеру необходим полный стек протоколов для запуска клиента или сервера.
– один компьютер серверного класса может предлагать несколько услуг одновременно; для каждого сервиса требуется отдельная серверная программа.
Традиционная архитектура клиент-сервер включает два уровня: уровень клиента и уровень сервера.
Другой общий дизайн клиент-серверных систем использует три уровня (рисунок 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 Сервер баз данных
Термин сервер базы данных может относиться как к аппаратному, так и к программному обеспечению, используемому для запуска базы данных, в соответствии с контекстом. Как программное обеспечение, сервер базы данных является серверной частью приложения базы данных, следуя традиционной модели клиент-сервер. Эту внутреннюю часть иногда называют экземпляром.