В. Столлингс - Операционные системы (1114679), страница 128
Текст из файла (страница 128)
'л- % На рис. 13.5,в и г представлены конфигурации, в которых значительная часть работы передана клиенту. Эта так называемая модель толстого клиента (КВС с11еп$1) получила распространение благодаря такому инструментарию разработки приложений„как РоъегВш1йег от Роччегзой Согр. и БЦ1. Жшс(оччз от Барта Сагр. Разрабатываемые с помощью этих инструментов приложения, как правило, применимы на уровне отделов и поддерживают от 25 до 150 пользователей 1ЕСКБ951.
Основное достоинства модели толстого клиента заключается в использовании всей мощи настоль-:.', ной системы и переносе вычислений с сервера, что делает его работу более эффек- !=' тивной (не позволяя ему стать узким местом в работе среды). ,*,Ф Однако у такого подхода имеется ряд недостатков. Увеличение функцио- ';-' нальности вызывает излишнюю загрузку пользовательских машин, что приводит, к необходимости дорогостоящего обновления всей клиентской техники. При уве- -, личении количества пользователей компании приходится раскошелиться и на: высокоскоростную сеть, которая сможет выдержать интенсивные потоки данных "' между сервером и толстыми клиентами.
И, наконец, проще и дешевле поддер-"' живать и обновлять приложения на одном сервере, чем на десятках или сотнях1 пользовательских машин. На рис. 13.5,6 показан подход тонкого клиента (ЦЫП СЬепт). Этот подход ближе.';: к традиционной обработке на сервере и часто становится первым шагом при перехо-',,' де корпорации от использования мейнфреймов к распределенной среде. Трехуровневая архитектура клиент/сервер у Традиционная архитектура клиент/сервер включает два уровня, или слоя::; уровень клиента и уровень сервера. В последние годы становится популярной" трехуровневая архитектура (рис. 13.6).
Приложение в ней распределено между: 1 В русснозиычнай литературе встречается также перевод "жирный клиент". Прим. Варев. чх е1 тэаепвелеленные систем "" матПИНаМИ т ЕХ т р типОВ" пользовательской м й конечным сервером. По а машиной, промежуточным се ользовательская машина и е ст ервером и ривавшуюся ранее маш 1на представляет собой уже ашину клиента, который в т е рассматявляется тонким клиентом. Ма в трехуровневой модели обь~ ВО ятом. ашины промежуточного „ О ЫЧНО оротами между тонкими уровня, по сути, явл ими клиентами и различными э яются данных, преобразуя и ат к протоколы и отображая один тип з ными конечными сервера рами баз другой.
Кроме того они б ая один тип запросов к базам да , они способны собирать и об аб анных В источников. Взаимодей и о ра атывать данные из оде стане между промеж тачн разны."; также осуществляете я па модели клиент,1серве, так ч УТОЧНЫМИ Н КОНЕЧНЫМИ С ерве рами га уровня одновременно в т сервер, так 1то система промеж о Выступает в роли се В ера и клиента. ТОЧНО- С огласованность файлового кэша При использовании файлового вывода может в связи с пе о ого сервера п оизв р одительнасть операций вводаи с передачей информации по низкои по сравнению с л сети оказаться гораздо более с локальным доступом к айлам. з ект, отдельные системы 1 к а лам. Чтобы уменьшить этот , с емы могут использовать а" в.аиловых записей, к кота ы ь аиловые каши для хранения которым недавно выполнялась о ринципом локализации исп ь обращение.
В соответств11и с зит и использование локального а ить количество обращений к а ового каша должно синени е удаленнОму серВеру. а рис. 13.7 по . казан типичнь1й расп еделенн файлов в системе, состоя ей и тью. ю. ~'Огда процесс ос щ у ествляет обращение к айл р станции, объединенных селокальному файловому кэш к зилу, то сперва запрос идет к кашу (Файловый тра ик . с стоянии удовлетворить э ф ).
Если локальный кэш не В соь этот запрос, последний пе е а ф й КОТО О я на нем (дисковый тра ик либо ром хранится интересую ий , либо файловому серверу, на ующи нас Файл (серверный трафи ра ик . На сервере спер- рис- ~З.о. Т ех Р уровневал архитен ра нлиент сервер Глава 13. Расо ел ределенньте вычисления арх , архитектура„„ »а происходит обращение к локальному кашу сервера„а если такое обращение ткажется неуспешным — к диску. Технология двойного кэширования использу- ,ся как для снижения сетевого трафика, так и для уменьшения количества ~исковых операций ввода-вывода.
Сеть Диск клиенте Диск сервера Рис. 13.7. Распределенное файловое кэшироваиие Если кэши всегда содержат точные копии удаленных данных, мы говорим о согласованности (сопя»зФеп$) кашей. Каши могут стать несогласованными, если удаленные данные оказались изменены, а соответствующий локальный кэш— не сброшен. Зто может произойти, например, когда один из клиентов модифицирует Файл, кэшированный другими клиентами. В действительности мы сталкиваемся здесь с двумя уровнями проблемы Если клиент немедленно передает внесенные им в файл изменения на сервер, то кэши других клиентов оказываются содержащими неверные устаревшие данные. Ситуация становится еще более сложной, если клиентом используется кэширование с отложенной записью.
В этом случае даже версия файла на сервере оказывается устаревшей, и другие клиенты при чтении с сервера получают неверные данные. Задача поддержки актуальности локальных кэшей и удаленных данных получила название задачи согласованности кашей. Простейший подход к согласованности кашей состоит в использовании блокирования Файлов для предотвращения одновременного доступа к ним нескольких клиентов.
Зтот подход гарантирует согласованность ценой потери производительности и гибкости. Более мощный подход реализован в сетевой операционной системе Ярг»»е ~МЕ1Л88, ОПЗТ88). Файл может быть открыт для чтения (и создания локальных кэшей) любым количеством клиентов. Однако когда осуществляется запрос к серверу на открытие файла с правом записи в него, а другие процессы открыли этот файл для чтения, сервер предпринимает следующие действия. Во-первых, он уведомляет записывающий процесс о том, что несмотря на свой локальный кзш этот процесс должен немедленно выполнять запись изме- ненного блока данных на сервер. Такой клиент с правом записи м может быть только один. Во-вторых, сервер уведомляет все читающие файл процессы о том, что этот файл более не может кэшироваться.
Промежуточное программное обеспечение Р азработка и распространение клиент-серверных продуктов опережает стан дартизацию всех аспектов распределенных вычислений от Физического уров Ъ »о ня до уровня приложений. Недостаток стандартов усложняет реализацию интегрирован. ных систем корпоративного уровня с использованием продукции разных произво дителей. Однако поскольку основные достоинства архитектуры клиент/сервер.
за ключаются именно в возможности совместного использования различных аппарат. ных платформ и приложений, эта проблема должна быть решена. Для полного раскрытия достоинств архитектуры клиент/сервер разработч»к. кам требуется набор инструментов, обеспечивающих одинаковый стиль системцф~~- ресурсов на разных платформах и одинаковые средства досгупа к ним. Зто и лит программистам создавать приложения, которые не только одинаково выгл на различных пользовательских рабочих станциях, но и используют одинак методы обращения к данным независимо от их реального размещения.
Наиболее простой путь удовлетворения этих требований состоит в испол нии стандартных программных интерфейсов и протоколов, располагающихся приложением и операционной системой и коммуникационным программным чением. Такие стандартизованные интерфейсы и протоколы именуют проме ным программным обеспечением ~ттпдсПежаге). При наличии стандартного про ного интерфейса упрощается реализация одного и того же приложения на сер рабочих станциях разных типов.
Очевидно, что это выгодно в первую очередь' потребителя, однако и производители заинтересованы в предоставлении такия, терфейсов. Причина заключается в том, что потребители покупают не серве приложения; соответственно, при покупке они будут выбирать только те сер продукты, которые позволяют работать с интересующими их приложениями. дартизованные протоколы необходимы для связи различных серверных инте с клиентами, которым необходим доступ к ним.