Файл: Технология «клиент сервер» (Общая характеристика технологии).pdf
Добавлен: 30.06.2023
Просмотров: 77
Скачиваний: 2
СОДЕРЖАНИЕ
Глава 1 Общая характеристика технологии
1.1 Понятие технологии «клиент-сервер»
1.2 Определение сервера и клиента
Глава 2 Анализ моделей технологии «Клиент – сервер»
2.2 Модель доступа к удаленным данным
Глава 3 Модель клиент-сервер как основа построения информационных сервисов Интернет
3.1 Основные понятия глобальной сети интернет
Введение
Как результат эволюции компьютерных технологий появились компьютерные сети. Само появление компьютерных сетей ознаменовало новый этап в компьютерной технологии. Самые первые компьютерные сети были довольно примитивными – скорость работы такой сети была очень маленькой по сравнению с современными сетевыми технологиями, но для того времени и это было достижение.
Часто программисты, приступающие к проектированию и реализации информационных систем, наталкиваются на ряд проблем и сложностей, происходящих не из их неопытности или недостаточных знаний, но имеющих своей причиной особенности и ограничения, внутренне присущие программным продуктам, имеющих архитектуру "клиент-сервер".
С совершенствованием аппаратной части сетей совершенствовалось и сетевое программное обеспечение. Со временем потребовалось совершенствование самих технологий, а не только развитие аппаратуры и программного обеспечения. Были разработаны современные сетевые технологии. Одной из таких технологий является технология «клиент-сервер», позволяющая пользователям сети получать быстрый доступ к ресурсам. Об этой сетевой технологии мы и хотели подробно рассказать.
Технология клиент-сервер по праву считается одним из "китов", на которых держится современный мир компьютерных сетей. Но те задачи, для решения которых она была разработана, постепенно уходят в прошлое, и на сцену выходят новые задачи и технологии, требующие переосмысления принципов клиент-серверных систем. Одна из таких технологий - WorldWideWeb.
Использование технологии гипертекстовых документов для построения внутренней информационной инфраструктуры компании стимулировало бурное развитие всевозможных систем типа клиент-сервер.
Цель исследования – проанализировать технологию «клиент сервер».
Задачи исследования:
1 Общая характеристика технологии.
2. Анализ моделей технологии «Клиент – сервер».
3. Модель клиент-сервер как основа построения информационных сервисов Интернет.
Объект исследования – технология «клиент сервер».
Предмет исследования – модели клиент-сервер и особенности построения информационных сервисов Интернет.
Глава 1 Общая характеристика технологии
1.1 Понятие технологии «клиент-сервер»
Технология «клиент-сервер» предусматривает наличие двух самостоятельных взаимодействующих процессов – сервера и клиента, связь между которыми осуществляется по сети.
Серверами называются процессы, отвечающие за поддержку базы данных и файловой системы, а клиентами - процессы, которые посылают запрос и ожидают ответ от сервера.
Понятия сервер и клиент и закрепленные за ними роли образуют программную концепцию «клиент-сервер». Модель клиент-сервер - это еще один подход к структурированию Операционной системы(ОС). В широком смысле модель клиент-сервер предполагает наличие программного компонента - потребителя какого-либо сервиса - клиента, и программного компонента - поставщика этого сервиса - сервера. Взаимодействие между клиентом и сервером стандартизуется, так что сервер может обслуживать клиентов, реализованных различными способами и, может быть, разными производителями[4, c. 78].
При этом главным требованием является то, чтобы они запрашивали услуги сервера понятным ему способом. Инициатором обмена обычно является клиент, который посылает запрос на обслуживание серверу, находящемуся в состоянии ожидания запроса. Один и тот же программный компонент может быть клиентом по отношению к одному виду услуг, и сервером для другого вида услуг. Модель клиент-сервер является скорее удобным концептуальным средством ясного представления функций того или иного программного элемента в той или иной ситуации, нежели технологией.
Эта модель успешно применяется не только при построении ОС, но и на всех уровнях программного обеспечения, и имеет в некоторых случаях более узкий, специфический смысл, сохраняя, естественно, при этом все свои общие черты.
Применительно к структурированию ОС идея состоит в разбиении ее на несколько процессов - серверов, каждый из которых выполняет отдельный набор сервисных функций - например, управление памятью, создание или планирование процессов. Каждый сервер выполняется в пользовательском режиме.
Клиент, которым может быть либо другой компонент ОС, либо прикладная программа, запрашивает сервис, посылая сообщение на сервер. Ядро ОС (называемое здесь микроядром), работая в привилегированном режиме, доставляет сообщение нужному серверу, сервер выполняет операцию, после чего ядро возвращает результаты клиенту с помощью другого сообщения.
Для взаимодействия с клиентом (или клиентами, если поддерживается одновременная работа с несколькими клиентами) сервер выделяет необходимые ресурсы межпроцессного взаимодействия (разделяемая память, пайп, сокет, и т. п.) и ожидает запросы на открытие соединения (или, собственно, запросы на предоставляемый сервис).
В зависимости от типа такого ресурса, сервер может обслуживать процессы в пределах одной компьютерной системы или процессы на других машинах через каналы передачи данных (например, COM-порт) или сетевые соединения[12, c. 25].
Формат запросов клиента и ответов сервера определяется протоколом. Спецификации открытых протоколов описываются открытыми стандартами, например, протоколы Интернета определяются в документах RFC.
В зависимости от выполняемых задач одни серверы, при отсутствии запросов на обслуживание, могут простаивать в ожидании. Другие могут выполнять какую-то работу (например, работу по сбору информации), у таких серверов работа с клиентами может быть второстепенной задачей.
Данные в файл-серверной системе сохраняются на файловом сервере (NovellNetWare или WindowsNTServer), а обрабатываются они на рабочих станциях посредством функционирования "настольных СУБД", таких как Access, Paradox, FoxPro и т.п.
СУБД располагается на рабочей станции, а манипулирование данными производится несколькими независимыми и несогласованными между собой процессами. Все данные при этом передаются с сервера по сети на рабочую станцию, что замедляет скорость обработки информации.
Технология клиент-сервер реализована функционированием двух (как минимум) приложений - клиентов и сервера, которые делят функции между собой. За хранение и непосредственное манипулирование данных отвечает сервер, примером которого может быть SQLServer, Oracle, Sybase и другие.
Пользовательский интерфейс формирует клиент, в основе построения которого используются специальные инструменты или настольные СУБД. Логическая обработка данных выполняется частично на клиенте, и частично на сервере.
Посылка запросов на сервер выполняется клиентом, обычно на языке SQL. Полученные запросы обрабатываются сервером, и клиенту (клиентам) возвращается результат[5].
При этом данные обрабатываются там же, где они хранятся - на сервере, поэтому большой объем их не передается по сети.
Технология клиент-сервер привносит в информационную систему такие качества:
- Надежность
Модификация данных осуществляется сервером баз данных при помощи механизма транзакций, придающего совокупности операций такие свойства, как:
1) атомарность, которая обеспечивает целостность данных при любом завершении транзакции;
2) независимость транзакций разных пользователей;
3) устойчивость к сбоям – сохранение результатов завершения транзакции.
- Масштабируемость, т.е. способность системы не зависеть от количества пользователей и объемов информации без замены используемого программного обеспечения.
Технология клиент-сервер поддерживает тысячи пользователей и гигабайты информации при соответствующей аппаратной платформе.
- Безопасность, т.е. надежная защита информации от несанкционированного доступа.
- Гибкость. В приложениях, работающих с данными, выделяют логических слои: пользовательский интерфейс; правила логической обработки; управление данными.
Как уже было отмечено, в файл-серверной технологии все три слоя объединяются в одно монолитное приложение, функционирующее на рабочей станции, а все изменения в слоях обязательно приводят к модификации приложения, различаются версии клиента и сервера, и требуется проводить обновление версий на всех рабочих станциях.
Технология клиент-сервер в двухуровневом приложении предусматривает выполнение всех функций по формированию интерфейса пользователя на клиенте, а всех функций по управлению информацией баз данных - на сервере, бизнес-правила возможно реализовывать как на сервере, так и на клиенте[13, c. 78].
Трехуровневое приложение допускает промежуточный уровень, который реализует бизнес-правила, являющиеся наиболее изменяемыми компонентами.
1.2 Определение сервера и клиента
При большом числе компьютеров (десятки, сотни и даже тысячи) предприятия чаще всего полагаются на сети модели «клиент-сервер». Упрощенно можно считать, что в такой сети отдельный компьютер подключается к одному или нескольким мощным компьютерам, которые называются серверами.
Сервер – это компьютер, или выполняющаяся на нём программа, которая предоставляет клиентам доступ к общим ресурсам и управляет этими ресурсами.
Наличие сервера позволяет предприятию выполнять более масштабные задачи, нежели это возможно при использовании обычного компьютера.
Именно от качества сервера зависит успешность работы всей сети предприятия и возможность выполнения тех целей и задач, которые стоят перед ним.
Самая главная характеристика сервера – это его производительность, которая зависит от нескольких параметров:
во-первых, от типа и производительности процессоров;
во-вторых, от объема и типа оперативной памяти;
в-третьих, от производительности дисковой подсистемы.
Например, чем больше процессоров составляют начинку сервера и чем больше ядер в каждом из них, тем больше мощность всей сети. В принципе, выбирая конфигурацию сервера, нужно обязательно предусмотреть возможность расширения его через некоторое время, если возникнет потребность. Для этого нужно позаботиться о наличии процессоров, памяти и пр. устройств, совместимых с уже имеющимися.
Вторая важная характеристика сервера – его управляемость. Имеется ввиду, что должны быть обеспечены такие функции, как удаленные мониторинг и диагностика. Т.е. желательно, чтобы сервером можно было управлять на расстоянии: включать и перезагружать, диагностировать и исправлять неполадки даже в выключенном состоянии (при условии, что он подключен к электрической сети).
Первые две характеристики – производительность и управляемость– в значительной мере влияют на надежность сервера, что подразумевает не только физическую его надежность и качественную сборку, но и программную, которая состоит в стабильной работе всех программ.
Кроме перечисленного, следует обратить внимание на масштабируемость сервера, что позволяет значительно увеличить его мощность в плане производимых операционной системой вычислительных операций. Иными словами, масштабируемость означает, что система имеет способность увеличивать мощность в случае увеличения рабочей нагрузки без снижения таких показателей, как надежность и отказоустойчивость.
Клиент – пользователь (получатель) услуг и/или ресурсов, которые предоставляет сервер.
СЕРВЕР
Рис. 1.1. Модель клиент-сервер.
В серверных сетях серверы оснащены процессорами типа IntelPentium 4 и сетевой операционной системой.
Роль серверов состоит в обеспечение централизованной защиты и управлении трафиком, а так же в предоставление клиентам ресурсов: информации, приложений и доступа к устройствам совместного пользования (например, к принтерам). Вклиент – серверной среде в роли клиентов выступают настольные ПК (именно ПК, а не неинтеллектуальные терминалы!) под управлением операционной системы типа Windows 95 или Windows NT Workstation. Как правило, клиент использует собственные вычислительные мощности для обработки информации, полученной от сервера, но полагается на сервер в части предоставления необходимых данных и приложений. Такое распределение ролей в обработке информации носит название клиентской (front - end) и серверной (back - end) обработки.
Наряду с успешным функционированием в собственной «родной» среде, сети модели клиент – сервер могут работать с микрокомпьютерами и мэйнфреймами. Именно эта гибкость в сочетании достаточно низкой (по сравнению с традиционными решениями) стоимостью и составляет привлекательность клиент – серверных сетей. Работая в такой среде на компьютере – клиенте, можно «вкушать плоды» трех разных методов обработки информации: автономной работы, взаимодействия с другими ПК сети и подключения к серверу или мэйнфрейму для доступа к хранящейся там информации [6, c. 31].