Технология клиент-сервер

Автор работы: Пользователь скрыл имя, 02 Июля 2012 в 06:55, реферат

Краткое описание

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

Вложенные файлы: 1 файл

модель_клиент-сервер.doc

— 91.00 Кб (Скачать файл)


Технология клиент-сервер.

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

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

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

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

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

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

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

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

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

       Серверы приложений. На серверах приложений вы­полняются прикладные части клиент-серверных прило­жений, а также находятся данные, доступные клиентам. Например, чтобы упростить извлечение данных, серверы хранят большие объемы информации в структурированном виде. Эти серверы отличаются от файл- и принт-серверов. В последних файл или данные целиком копируются на запрашивающий компьютер. А в сервере приложений на запрашивающий компьютер пересылаются только резуль­таты запроса.

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

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

       Факс-серверы. Факс-серверы управляют потоком входящих и исходящих факсимильных сообщений через один или несколько факс-модемов.

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

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

 

Классическая архитектура «клиент-сервер»

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

Децентрализация архитектуры первых вычислительных систем стала возможной в связи с появлением персональных компьютеров, к которым мигрировала часть функций центральных ЭВМ. В результате появилась возможность создавать распределенные локальные и глобальные вычислительные системы, объединяющие персональные компьютеры и компьютеры, полностью предоставляющие свои ресурсы в общее пользование для других компьютеров сети. Компьютеры, предоставляющие те или иные общие ресурсы, были названы серверами, а компьютеры, использующие общие ресурсы, - клиентами. Соответственно архитектуру таких распределенных вычислительных систем стали называть архитектурой «клиент-сервер» (см. Рис. 1.3). Персональные компьютеры, исполняющие роль клиентов, называют еще рабочими станциями сети.

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

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

Функции любого программного приложения могут быть разделены на три группы:

♦   функции ввода и отображения данных;

♦   прикладные функции, характерные для предметной области приложения;

♦   функции накопления информации и управления данными (базами данных, файлами).

Соответственно любое программное приложение можно представить как структуру из трех компонентов:

♦   компонент представления, реализующий интерфейс с пользователем;

♦   прикладной компонент, обеспечивающий выполнение прикладных функций;

♦   компонент доступа к информационным ресурсам или менеджер ресурсов, выполняющий накопление информации и управление данными.

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

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

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

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

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

 

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

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


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

 

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

 

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

 

Информация о работе Технология клиент-сервер