Лекции. 1. информационные сети. Основные понятия становление информационных сетей
Скачать 1.52 Mb.
|
3.3. Архитектура клиент-сервер Архитектура клиент-сервер (CSA – Client-Server Architec- ture, англ.) – концепция организации сети, в которой основная часть ее ресурсов сосредоточена в серверах, обслуживающих своих клиентов. Техническая революция, вызванная появлением ПК, сделала возможным во многих случаях иметь вычислительные и инфор- 26 мационные ресурсы на рабочем столе пользователя и управлять ими по собственному желанию с помощью оконного графическо- го интерфейса. Увеличение производительности ПК позволило перенести части системы (интерфейс с пользователем, приклад- ную логику) для выполнения на ПК, непосредственно на рабочем месте, а функции обработки данных оставить на центральном компьютере. Система стала распределенной – одна часть функ- ций выполняется на центральном компьютере, другая – на персо- нальном, который связан с центральным посредством коммуни- кационной сети. Таким образом, появилась клиент-серверная мо- дель взаимодействия компьютеров и программ в сети и на этой основе стали развиваться средства разработки приложений для реализации информационных систем [8]. Как следует из названия, архитектура CSA определяет два типа взаимодействующих в сети компонентов: серверы и клиен- ты. Каждый из них является комплексом взаимосвязанных при- кладных программ. Серверы 12 предоставляют ресурсы, необхо- димые пользователям. Клиенты используют эти ресурсы и предо- ставляют удобные пользовательские интерфейсы. Термины «клиент» и «сервер» обозначают роли, которые играют различные компоненты в распределенной среде вычисле- ний. Компоненты «клиент» и «сервер» не обязательно должны работать на разных машинах, хотя чаще всего именно так и быва- ет – клиент-приложение находится на рабочей станции пользова- теля, а сервер – на специальной выделенной машине. Клиент формирует запрос на сервер для выполнения соот- ветствующих функций. Например, файл-сервер обеспечивает хранение данных общего пользования, организует доступ к ним и передает данные клиенту. Обработка данных распределяется в том или ином соотношении между сервером и клиентом. В по- следнее время долю обработки, приходящуюся на клиента, стали называть «толщиной» клиента. 12 Наиболее распространены следующие виды серверов: файл-серверы, се- веры баз данных, серверы печати, серверы электронной почты, WEB- серверы и другие. В последнее время интенсивно внедряются многофунк- циональные серверы приложений. 27 В современной архитектуре «клиент-сервер» выделяется че- тыре группы объектов: клиенты, серверы, данные и сетевые службы. Клиенты располагаются в системах (например, компью- терах), находящихся на рабочих местах пользователей. Данные, в основном, хранятся в серверах. Сетевые службы являются сов- местно используемыми прикладными программами, которые вза- имодействуют с клиентами, серверами и данными. Кроме этого, службы управляют процедурами распределенной обработки дан- ных, информируют пользователей о происходящих в сети изменениях. В зависимости от сложности выполняемых прикладных процессов и числа работающих клиентов различают двух- и трехуровневые архитектуры. Наиболее простой является двухуровневая (Two-tier archi- tecture, англ.) архитектура (рис.3.3). Здесь, клиенты выполняют простые операции обработки данных, отрабатывают интерфейс взаимодействия с сервером, обращаются к нему с запросами. Большую же часть задач обработки выполняет сервер, который для этих целей зачастую имеет базу данных (БД) и в этом случае называется сервером базы данных. Сервер БД отвечает за хране- ние, управление и целостность данных, а также обеспечивает возможность одновременного доступа нескольких пользователей. Клиентская часть представлена «толстым клиентом», то есть приложением, на котором сконцентрированы основные правила работы системы и расположен программный пользовательский интерфейс. 28 Рис.3.3. Двухуровневая архитектура «клиент – сервер» При всей простоте построения такой архитектуры, она обла- дает серьёзными недостатками, наиболее существенные из кото- рых – высокие требования к сетевым ресурсам и пропускной спо- собности сети, а также сложность обновления программного обес- печения из-за логики взаимодействия, распределённой между кли- ентом и сервером БД. Кроме того, при большом количестве клиен- тов возрастают требования к аппаратному обеспечению сервера БД – самого дорогостоящего узла в любой информационной системе. Следующим шагом развития клиент-серверной архитектуры стало внедрение среднего уровня, реализующего задачи управле- ния механизмами доступа к БД (рис.3.4). В трехуровневой архитек- туре (three-tier architecture, англ.) вместо единого сервера приме- няются серверы приложений и серверы БД. Их использование поз- воляет резко увеличивать производительность локальной сети. 29 Рис.3.4. Трехуровневая архитектура «клиент – сервер» Плюсы данной архитектуры очевидны. На сервере прило- жений, стало возможно подключать различные БД. Теперь, сер- вер базы данных освобожден от задач распараллеливания работы между различными пользователями, что существенно снижает его аппаратные требования. В такой ситуации оказалось возмож- ным снизить требования к клиентским машинам за счет выпол- нения ресурсоемких операций сервером приложений и решаю- щих теперь только задачи визуализации данных. Поэтому такой вариант CSA часто называют архитектурой «тонкого клиента». Но узким местом здесь, как и в двухуровневой CSA, остают- ся повышенные требования к пропускной способности сети, что накладывает жесткие ограничения на использование таких си- стем в сетях с неустойчивой связью и малой пропускной способ- ностью (сети мобильной связи, GPRS, а в ряде случаев и Internet). Дальнейшее развитие CSA связано с многоуровневой архи- тектурой (N-tier architecture, англ.), которая использует средства разделения программ или распределенные объекты для разделе- 30 ния вычислительной нагрузки среди такого количества серверов приложений, которое необходимо при имеющемся уровне нагрузки. При многоуровневой модели системы количество воз- можных клиентских мест значительно больше, чем при использо- вании двух- и трехзвенной моделей. 3.4. Архитектура компьютер-сеть Сравнительно новая концепция построения информацион- ной сети, в которой основная часть ресурсов сосредоточена в ря- де распределенных сетевых систем, обслуживающих компьюте- ры-абоненты, получила название «компьютер-сеть» (computer- network architecture, англ.). К её появлению привело создание масштабных сетей с мощными рабочими станциями, увеличение скоростей передачи данных и удешевление операций информационного обмена. В новой архитектуре, имеющей некоторое внешнее сходство с архитектурой «терминал-главный компьютер», растворяется граница между персональным компьютером и сетью. Здесь роль главного компьютера (мэйнфрейма) выполняет сама сеть (рис.3.5). В архитектуре компьютер-сеть взаимодействуют два объек- та: компьютер и сеть. Первый из них называется сетевым ком- пьютером. В отличие от классического («толстого») клиента, ра- ботающего в одноранговой сети или двухуровневой сети «кли- ент-сервер», сетевой компьютер являет собою дальнейшее разви- тие идеологии «тонкого клиента». Этот компьютер образует ос- нову абонентской системы, имеющей простую структуру и вы- полняющей лишь некоторые ограниченные функции. Все осталь- ное для нее (и за нее) делают крупные системы сети. В них же распределено хранятся требуемые сетевому компьютеру про- граммы и данные. Поэтому сетевой компьютер большинство функций не может реализовать вне сети. 31 Рис.3.5. Архитектура «компьютер – сеть» Примером архитектуры компьютер-сеть может служить ар- хитектура Sun Ray Hot Desk, предложенная компанией Sun Mi- crosystems. Архитектура Sun Ray Hot Desk предполагает использование настольных систем типа графических терминалов семейства Sun Ray 1/100/150 (рис.3.6), имеющих минимум программных и ап- паратных средств: на настольной системе не устанавливается ни операционная система, ни клиентское программное обеспечение. Графическая сессия передается по специальному протоколу, поз- воляющему использовать на клиентской системе недорогой про- цессор и минимальный объем оперативной памяти. Вместе с тем графический терминал обладает широкими возможностями работы с приложениями в соответствии с основ- ной идеей «тонких» клиентов – получать из сети всё, вплоть до виртуальных драйверов устройств, включая драйвер монитора. 32 Рис.3.6. Графический терминал Sun Ray 150 3.5. Архитектура интеллектуальной сети Интеллектуальная сеть (IN – Intelligent Network, англ.) яв- ляется сегодня одной из определяющих концепций развития со- временных сетей связи. Интерес, проявляемый к IN, не случаен и основан на преимуществах, которые получают администрации связи, операторы сетей и абоненты при реализации услуг IN. Данная концепция позволила осуществить выход на рынок средств связи не только производителей коммутационного обо- рудования, но и ведущих производителей средств вычислитель- ной техники и современных средств обработки информации. Концепция IN формируется, начиная с 90-х годов прошлого века, когда Международный союз электросвязи (ITU-T – International Telecommunication Union-Telecommunication, англ.) выпустил па- кет рекомендаций серии Q.1200, ставших действующим между- народным стандартом. В соответствии с этим пакетом рекомен- даций, понятие интеллектуальной сети трактуется, как архитек- турная концепция предоставления услуг связи, обладающих сле- дующими основными характеристиками: широкое использование современных методов обработки информации; эффективное использование сетевых ресурсов; модульность и многоцелевое назначение сетевых функций; интегрированные возможности разработки и внедрения 33 услуг средствами модульных и многоцелевых сетевых функций; стандартизованное взаимодействие сетевых функций по- средством независимых от услуг сетевых интерфейсов; возможность управления некоторыми атрибутами услуг со стороны абонентов и пользователей; стандартизованное управление логикой услуг. Основополагающим требованием к архитектуре IN является отделение функций предоставления услуг от функций коммута- ции и распределение их по различным функциональным подси- стемам. Функции коммутации, как и для традиционных сетей, остаются в базовой сети связи, а функции управления, создания и внедрения услуг выносятся в создаваемую отдельно от базовой сети «интеллектуальную надстройку», взаимодействующую с ба- зовой сетью посредством стандартизованных интерфейсов (рис.3.7). Требование стандартизации протоколов обмена между базо- вой сетью и интеллектуальной надстройкой освобождает опера- торов сетей от существовавшей ранее зависимости от поставщи- ков коммутационного оборудования. Взаимодействие между функциями коммутации и управления услугами осуществляется посредством прикладного протокола интеллектуальной сети (INAP – IN Application Protocol, англ.), стандартизованного ITU-T. Управление созданием и внедрением услуг осуществляет- ся через прикладной программный интерфейс (API – Application Program Interface, англ.). Таким образом, стандартизованные ин- терфейсы IN делают сеть открытой для независимых изменений, как в интеллектуальной надстройке, так и в базовой сети. Основой для стандартизации в области интеллектуальных сетей связи является концептуальная модель интеллектуальной сети (INCM – IN Conceptual Model, англ.), стандартизованная ITU-T. Модель отражает четыре абстрактных подхода к описа- нию IN, называемых в этой модели плоскостями (plane, англ.). В данном случае в модели разделены аспекты, относящиеся к услугам, и аспекты, связанные с сетью, что позволяет описы- вать услуги и возможности IN независимо от базовой сети, над которой создается интеллектуальная надстройка. 34 Рис.3.7. Схема обобщенной функциональной архитектуры IN Взгляд на INв плоскости услуг (SP– Service Plane, англ.), – определяет такую сеть исключительно с точки зрения услуг. Здесь отсутствует информация о том, как именно осуществляется предоставление услуг сетью. В глобальной функциональной плоскости (GFP – Global Functional Plane, англ.) описываются возможности сети, которые необходимы разработчикам для внедрения услуг. Здесь сеть рас- сматривается как единое целое, даются модели обработки вызова и независимых от услуг конструктивных блоков. Распределенная функциональная плоскость (DFP – Distributed Functional Plane, англ.) описывает функции, реализуемые узлами сети. Здесь сеть рассматривается как совокупность функциональ- ных элементов, порождающих информационные потоки. И, наконец, физическая плоскость (PP – Physical Plane, англ.) описывает непосредственно узлы сети, содержащиеся в них функциональные элементы и протоколы взаимодействия. 4. ИДЕОЛОГИЯ ОТКРЫТЫХ СИСТЕМ 4.1. Понятие «открытая система» 35 Идеология открытых систем в настоящее время является основной тенденцией в развитии информационных технологий и средств вычислительной техники, поддерживающих эти техноло- гии. Эту идеологию реализуют в своих разработках все ведущие фирмы – поставщики аппаратных средств передачи информации, программного обеспечения и разработчики прикладных инфор- мационных систем. Результативность такого подхода на рынке информационных технологий и систем определяется согласован- ной научно-технической политикой и реализацией стандартов от- крытых систем. В широком смысле открытой системой может быть названа любая система (компьютер, вычислительная сеть, ОС, программ- ный пакет, другие аппаратные и программные продукты), которая построена в соответствии с открытыми спецификациями 13 Тем не менее, единая, общепринятая трактовка понятия «от- крытая система» на сегодняшний день не сформировалась. В ка- честве иллюстрации можно привести некоторые варианты фор- мулировок, раскрывающих это понятие. Например, в руководстве, изданном AFUU (Французская ас- социация пользователей UNIX) в 1992 году открытая система определяется как «система, состоящая из компонентов, взаимо- действующих друг с другом через стандартные интерфейсы» [6]. Специалисты Комитета IЕЕЕ 14 POSIX 15 1003.0 предложили 13 Спецификация (в вычислительной технике) – формализованное описание аппаратных или программных компонентов, способов их функ- ционирования, взаимодействия с другими компонентами, условий эксплу- атации, ограничений и особых характеристик [5]. Открытые спецификации – опубликованные, общедоступные спе- цификации, соответствующие стандартам и принятые в результате дости- жения согласия после всестороннего обсуждения всеми заинтересованны- ми сторонами [5]. 14 IEEE (Institute of Electrical and Electronics Engineers, англ.) – Инсти- тут инженеров по электротехнике и электронике. 36 наиболее широкую и исчерпывающую на сегодняшний день трактовку, подчеркивающую аспект среды, предоставляемой от- крытой системой для ее использования. Здесь открытой системой названа «система, реализующая открытые спецификации на ин- терфейсы, сервисы и поддерживаемые форматы данных, до- статочные для того, чтобы обеспечить должным образом ра- заработанным приложениям возможность переноса с мини- мальными изменениями на широкий диапазон систем, совмест- ной работы с другими приложениями на локальной и удаленных системах и взаимодействия с пользователями в стиле, облегча- ющем тем переход от системы к системе». Эта, несколько тяжеловесная формулировка, в более сжатом виде выглядит так [6]: «открытая система – исчерпывающий и согласованный набор международных стандартов информаци- онных технологий и профилей функциональных стандартов, ко- торые специфицируют интерфейсы, службы и поддерживаю- щие форматы, чтобы обеспечить интероперабельность 16 и мобильность 17 приложений, данных и персонала». Общие свойства открытых систем сводятся к следующим: Расширяемость (extensibility, англ.) и масштабируемость (scalability, англ.). Используют механизм наследования 18 , позво- ляющий сэкономить значительные средства при расширении си- стемы, поскольку многое не нужно создавать заново, а некоторые новые компоненты можно получить, лишь слегка изменив ста- рые. Кроме повторного использования, увеличивается также надежность, поскольку используются уже отлаженные компонен- 15 POSIX (Portable Operating System Interface for computer environ- ments, англ.) – интерфейс переносимой операционной системы (набор стандартов IEEE, описывающих интерфейсы ОС для UNIX). 16 Интероперабельность (interoperability, англ.)– способность к взаи- модействию с другими системами. 17 Мобильность (portability, англ.) – возможность переноса на другие системы (переносимость). 18 Наследование – использование при создании новых объектов (си- стем) свойства уже существующих объектов, описывая заново только от- личающиеся свойства. 37 ты. Мобильность (переносимость). Основана на свойстве ин- капсуляции 19 , позволяющей хорошо скрыть аппаратно-зависимые части системы, которые должны быть реализованы заново при переходе на другую платформу. При этом гарантируется, что остальная часть системы не потребует изменений. При реализа- ции новых аппаратно-зависимых частей многое может быть взято из уже существующей системы благодаря механизму наследова- ния. |