Файловый сервер -выделенный сервер, оптимизированный для выполненияфайловых операций ввода-вывода. Предназначен для хранения файлов любого типа. Обладает большим объемом дискового пространства.
Файл-сервер может быть оборудован RAID-контроллером для обеспечения быстрой записи и чтения данных.
Архитектура «файл-сервер»
Файл-серверные приложения — приложения, схожие по своей структуре с локальными приложениями и использующие сетевой ресурс для хранения данных.
Функции сервера: хранения данных и кода программы.
Функции клиента: обработка данных происходит исключительно на стороне клиента. Количество клиентов ограничено десятками.
Плюсы:
-низкая стоимость разработки;
-высокая скорость разработки;
-невысокая стоимость обновления и изменения ПО.
Минусы:
-рост числа клиентов резко увеличивает объем трафика и нагрузку на сети передачи данных;
-высокие затраты на модернизацию и сопровождение сервисов бизнес-логики на каждой клиентской рабочей станции;
-низкая надёжность системы.
Веб-сервер — это сервер, принимающий HTTP-запросы от клиентов, обычно веб-браузеров, и выдающий им HTTP-ответы, обычно вместе с HTML-страницей, изображением, файлом, медиа-потоком или другими данными. Веб-серверы — основа Всемирной паутины.
Веб-сервером называют как программное обеспечение, выполняющее функции веб-сервера, так и непосредственно компьютер (см.: Сервер (аппаратное обеспечение)), на котором это программное обеспечение работает.
Клиент, которым обычно является веб-браузер, передаёт веб-серверу запросы на получение ресурсов, обозначенных URL-адресами. Ресурсы —HTML-страницы, изображения, файлы, медиа-потоки или другие данные, которые необходимы клиенту. В ответ веб-сервер передаёт клиенту запрошенные данные. Этот обмен происходит по протоколу HTTP.
дополнительные функцииВеб – сервера:
-Автоматизация работы веб страниц;
-ведение журнала обращений пользователей к ресурсам;
-аутентификация и авторизация пользователей;
-поддержка динамически генерируемых страниц;
-поддержка HTTPS для защищённых соединений с клиентами.
Часто на компьютере вместе с Веб-сервером устанавливается и Мейл-сервер.
Сервер приложений- программная платформа (software framework), предназначенная для эффективного исполнения процедур (программ, механических операций, скриптов), которые поддерживают построение приложений. Сервер приложений действует как набор компонентов, доступных разработчику программного обеспечения через API (Интерфейс прикладного программирования), который определен самой платформой.
Для веб-приложений эти компоненты обычно работают на той же машине, где запущен веб-сервер. Их основная работа — обеспечивать создание динамических страниц. Однако современные серверы приложений нацелены гораздо больше не на то, чтобы генерировать веб-страницы, а на то, чтобы выполнять такие сервисы как кластеризация, отказоустойчивость и балансировка нагрузки, позволяя таким образом разработчикам сфокусироваться только на реализации бизнес-логики.
Обычно этот термин относится к Java-серверам приложений. В этом случае сервер приложений ведет себя как расширенная виртуальная машина для запуска приложений, прозрачно управляя соединениями с базой данных с одной стороны и соединениями с веб-клиентом с другой.
Преимущества серверов приложений:
-Целостность данных и кода
Выделяя бизнес логику на отдельный сервер, или на небольшое количество серверов, можно гарантировать обновления и улучшения приложений для всех пользователей. Отсутствует риск, что старая версия приложения получит доступ к данным или сможет их изменить старым несовместимым образом.
-Централизованная настройка и управление
Изменения в настройках приложения, таких как изменение сервера базы данных или системных настроек, могут производиться централизованно.
-Безопасность
Сервер приложений действует как центральная точка, используя которую, поставщики сервисов могут управлять доступом к данным и частям самих приложений, что считается преимуществом защиты. Её наличие позволяет переместить ответственность за аутентификацию с потенциально небезопасного уровня клиента на уровень сервера приложений, при этом дополнительно скрывая уровень базы данных.
-Поддержка транзакций
Транзакция- единица активности, во время которой большое число изменений ресурсов (в одном или различных источниках) может быть выполнено атомарно (как неделимая единица работы).
Информационные серверы
Файловые серверы, функционирующие на значительной части узлов BITNET, обеспечивают пересылку пользователю по его требованию различных файлов, содержащих информационные материалы или программные продукты. Запросы серверу могут посылаться как в виде интерактивных сообщений, так и в виде текста в системе электронной почты. Серверы имеют определённую специализацию.
Основные типы серверов:
-NETSERV - имеет библиотеки программ и информационных материалов, необходимых администрации сети и пользователям. Ha NETSERV находятся, в частности, базы данных, содержащие сведения о пользователях сети, области их научных интересов и их сетевых адресах. С их помощью можно получить список специалистов, занимающихся какой-либо проблемой.
-TRICLE/RED - сервер высылает пользователям файлы по их запросам.
-TRICLE - взаимодействует с файловыми серверами Интернет, допускающими анонимный FTP доступ. Запросы серверу направляются по электронной почте. TRICLE обычно рассматривается как альтернатива FTP, что особенно важно для пользователей сетей, в которых последний вид сервиса отсутствует. TRICLE-серверы открывают пользователю быстрый и эффективный доступ к огромному количеству разнообразных программных продуктов.
-BITFTP (BITNET FTP Server) даёт возможность пользователям EARN/BITNET работать с FTP-серверами сети Интернет. Данный сервер выполняет роль почтового интерфейса между пользователем EARN/BITNET и FTP-серверами. BITFTP передаёт команды, содержащиеся в почтовом сообщении другому серверу, который и осуществляет реальное FTP соединение. После выполнения задания пользователю высылается протокол сессии и затребованные файлы.
-ASTRA позволяет пользователю вести поиск в распределённых базах данных. При работе с ASTRA используется один и тот же интерфейс для взаимодействия со всеми доступными через данную систему базами данных, даже в тех случаях, когда в последних используются различные языки запросов, такие как STAIRS, ISIS, SQL, FOCUS или SAS.
-NETNEWS (Usenet') - система электронных бюллетеней (конференций), дающая возможность пользователям обмениваться информацией как на локальном, так и на глобальном уровне. Механизм распространения NETNEWS, использующийся в EARN/BITNET, уменьшает нагрузку на сеть.
Терминальный сервер - сервер, предоставляющий клиентам свои аппаратные ресурсы (дисковое пространство, процессорное время, память). Используется для увеличения производительности совместной работы пользователей сервера с общими ресурсами. С помощью терминального сервера пользователи могут одновременно работать с необходимыми программами независимо друг от друга. При этом к рабочим компьютерам пользователей предъявляются низкие требования в плане аппаратной части. Чаще всего, терминальный сервер задействуется для общей работы с какой-либо программой, например 1С. После настройки сервера терминалов пользователи могут пользоваться удаленным рабочим столом, находящимся непосредственно на сервере.
26 Архитектура распределённых систем обработки информации
Почти все модели организации взаимодействия пользователя с базой данных построены на основе модели «клиент-сервер
- Клиентской, которая отвечает за целевую обработку данных и организацию взаимодействия с пользователем;
-Серверной, которая обеспечивает хранение данных, обрабатывает запросы и посылает результаты клиенту для специальной обработки.
Сервер – это программа, реализующая функции собственно СУБД: определение данных, запись – чтение данных, поддержка схем внешнего, концептуального и внутреннего уровней, диспетчеризация и оптимизация выполнения запросов, защита данных.
Клиент – это различные программы, написанные как пользователями, так и поставщиками СУБД, внешние или «встроенные» по отношению к СУБД. Программа-клиент организована в виде приложения, работающего «поверх» СУБД, и обращающегося для выполнения операций над данными и компонентами СУБД через интерфейс внешнего уровня.
Архитектура «файл-сервер».
Организация и управление базой данных располагается на машине клиента, а база данных на машине-сервере. В этом случае серверная компонента представлена сетевыми составляющими операционной системы, обеспечивающими удаленный разделяемый доступ к файлам.
Взаимодействие между клиентом и сервером происходит на уровне команд ввода-вывода файловой системы, которая возвращает запись или блок данных.
Достоинство – возможность обслуживания запросов нескольких клиентов.
Недостатки:
• высокая загрузка сети и машин-клиентов, т.к. обмен идет на уровне единиц информации файловой системы – физических записей, блоков или даже файлов, из которых на машине клиента будут выбраны и представлены необходимые для приложения элементы данных;
• низкий уровень защиты данных, так как доступ к файлам БД управляется общими средствами ОС-сервера;
• низкий уровень управления целостностью и непротиворечивостью информации, так как бизнес-правила функциональной обработки, сосредоточенные на клиентской части, могут быть противоречивыми и несинхронизированными.
Архитектура «выделенный сервер базы данных»
Средства управления базой данных и база данных размещены на машине-сервере.
Взаимодействие между клиентом и сервером происходит на уровне команд языка манипулирования данными СУБД (обычно SQL), которые обрабатываются СУБД на машине-сервере.
Достоинства:
• возможность обслуживания запросов нескольких клиентов;
• снижение нагрузки на сеть и машины сервера и клиентов;
• защита данных осуществляется средствами СУБД, что позволяет блокировать не разрешенные пользователю действия;
• сервер реализует управление транзакциями и может блокировать попытки одновременного изменения одних и тех же записей.
Недостатки:
• Бизнес-логика функциональной обработки и представление данных могут быть одинаковыми для нескольких клиентских приложений, и это увеличит совокупные потребности в ресурсах при исполнении вследствие повторения части кода программ и запросов;
• Низкий уровень управления непротиворечивостью информации, так как бизнес-правила функциональной обработки, сосредоточенные на клиентской части, могут быть противоречивыми.
Архитектура «активный сервер баз данных»
Для этой функции бизнес-логики разделяются между клиентской и серверной частями. Общие или критически значимые функции оформляются в виде хранимых процедур, включаемых в состав базы данных. Кроме этого вводится механизм отслеживания событий БД – триггеров, также включаемых в состав базы. При возникновении соответствующего события (обычно изменения данных), СУБД вызывает для выполнения хранимую процедуру, связанную с триггером, что позволяет эффектно контролировать изменение базы данных.
Хранимые процедуры и триггеры могут быть использованы любыми клиентскими приложениями, работающими с базой данных. Это снижает дублирование программных кодов и исключает необходимость компиляции каждого запроса.
Недостатком такой архитектуры становится существенно возрастающая загрузка сервера за счет необходимости отслеживания событий и выполнения части бизнес-правил.
Архитектура «сервер приложений»
На нее переносится значительная часть программных компонентов управления данными и большая часть бизнес-логики. При этом серверы баз данных обеспечивают исключительно функции СУБД по ведению и обслуживанию базы данных.
К (организационно-технологическим) достоинствамтрехзвенной архитектуры можно отнести:
• централизованное введение бизнес-логики, и в случае внесения изменения отсутствие необходимости их тиражирования в клиентских приложениях;
• отсутствие необходимости устанавливать на клиентских машинах компоненту программного обеспечения управления доступа к данным:
• возможность отложенного обновления БД в случае изменения данных, запрошенных с сервера, в автономном режиме. Данные будут обновлены в базе после следующего соединения клиентской программы с сервером приложений.