Сетевое ПО Лекция 7 (Электронные лекции)
Описание файла
Файл "Сетевое ПО Лекция 7" внутри архива находится в следующих папках: Электронные лекции, 2 модуль СПО. PDF-файл из архива "Электронные лекции", который расположен в категории "". Всё это находится в предмете "сетевое программное обеспечение" из 6 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "лекции и семинары", в предмете "сетевое программное обеспечение" в общих файлах.
Просмотр PDF-файла онлайн
Текст из PDF
1Сетевое ПО. Лекция 7(2014 г.)Оглавление1Архитектура клиент-серверных приложений1.1 Способ разделения приложений на части1.2 Классы приложений клиент/сервер1.3 Трехуровневая архитектура клиент/сервер1.4 Промежуточное программное обеспечение1.5 Базовые механизмы реализации промежуточного программного обеспечения.1.5.1Передача сообщений1.5.2Вызов удалённых процедур1.5.3Объектно-ориентированный подход11256778121 Архитектура клиент-серверных приложенийОсновнойзадачейпроектированияприложенийархитектурыклиент/сервер является распределение задач уровня приложения междуклиентом и сервером.1.1 Способ разделения приложений на частиМожно предложить различные схемы разделения приложений на части,причем для каждого конкретного приложения можно предложить своюсхему.Существуют и типовые модели распределенных приложений.
Вследующейдостаточнодетальноймоделипредлагаетсяразделитьприложение на шесть функциональных частей(рис. 7.1):□ средства представления данных на экране, например средстваграфического пользовательского интерфейса;□ логика представления данных на экране описывает правила ивозможные сценарии взаимодействия пользователя с приложением: выбор изсистемы меню, выбор элемента из списка и т. п.;□ логикаприложения-наборправилдляпринятиярешений,вычислительные процедуры и операции;□ логика данных — операции с данными, хранящимися в некоторойбазе, которые нужно выполнить для реализации логики приложения;□ внутренние операции базы данных — действия СУБД, вызываемыев ответ на выполнение запросов логики данных, такие как поиск записи поопределенным признакам;2Сетевое ПО.
Лекция 7(2014 г.)□файловые операции — стандартные операции над файлами ифайловой системой, которые обычно являются функциями операционнойсистемы.На основеэтой модели можно построить несколько схемраспределения частей приложения между клиентом и сервером.У клиента, и у сервера есть базовое программное обеспечение - этооперационная система, работающая на конкретной аппаратной платформе.Платформы и операционные системы клиента и сервера могут бытьразличны.Взаимодействие клиентов и серверов обеспечивают разнообразныепрограммы.( Пример- системы, поддерживающие работу с TCP/IP.)Все функции, выполняемые приложением, могут быть разделенымежду клиентом и сервером так, чтобы оптимизировать использованиекомпьютеров и сетевых ресурсов, а также возможности пользователей повыполнениюразличныхзадачикооперациидругсдругомприиспользовании разделяемых ресурсов(рис. 7.2).Определяющим фактором в успешном функционировании системыклиент/сервер является способ взаимодействия пользователя с системой вцелом.Соответственно,важнымявляетсядизайнпользовательскогоинтерфейса на клиентской машине.
В большинстве систем клиент/серверприменяется графический интерфейс пользователя (graphical user interface GUI.На машине клиента используется модуль представления, которыйявляетсячастьюраспределенногоприложенияиобеспечиваетдружественный пользовательский интерфейс.1.2 Классы приложений клиент/серверВ рамках общей схемы клиент/сервер имеется широкий спектрреализации, каждая из которых по-своему разделяет работу между клиентоми сервером.3Сетевое ПО.
Лекция 7(2014 г.)На рис. 7.2 показано, как может быть выполнено это разделение. Здесьприведены его основные варианты; на практике могут быть реализованы идругие способы разделения.На рис. 7.3 представлены четыре класса приложений.1.Обработка на одном узле. По сути такая обработка не являетсявариантом среды клиент/сервер в обычном смысле. Такая обработкатрадиционно использовалась на мейнфреймах, когда практически всяобработка выполнялась центральным узлом, а пользовательский интерфейсосуществился посредством неинтеллектуальных терминалов. Даже еслипользователь оснащен мощным микрокомпьютером, последний играет рольвсего лишь эмулятора терминала.2.Обработка на сервере. Одна из основных конфигурацийклиент/сервер, в которой клиент отвечает за обеспечение графическогоинтерфейса пользователя, а практически вся обработка выполняется насервере.
Такая конфигурация типична для ранних систем клиент/сервер, вособенности для бизнес-систем уровня отделов. Обоснование использованиятаких систем заключается в том, что пользовательские машины лучше всегоподходятдляреализацииграфического интерфейсапользователя,аподдержку приложений баз данных легче организовать на центральномсервере. Однако, хотя пользователь и получает болееудобный идружественный интерфейс, эта конфигурация принципиально не отличаетсяотпредыдущей,поэтомупроизводительностиилинепроисходитсущественныхзначительногоизмененийувеличенияподдерживаемыхсистемой бизнес-функций.3.Обработка у клиента. В другом предельном случае практическився обработка может осуществляться на машине клиента; на серверевыполняются только программы проверки корректности данных и подобныефункции, которые лучше выполнять на сервере. В целом же более сложныефункции логики базы данных выполняются на машине клиента.
Такаяархитектурапозволяетпользователюработатьсприложениями,4Сетевое ПО. Лекция 7(2014 г.)приспособленными для его конкретных нужд, и в настоящее время, пожалуй,наиболее распространена.4.Обработкаприсотрудничестве.Вэтойконфигурацииприложение выполняется оптимальным образом, используя сильные сторонымашинклиентаисервера.Этаконфигурациянесколькосложнеепредыдущих, ее труднее поддерживать, но она обеспечивает более высокуюпроизводительность и эффективность работы сети по сравнению состальными вариантами конфигураций.На рис.
7.3 в представлены конфигурации, в которых значительнаячасть работы передана клиенту. Эта модель толстого клиента (fat client)получила распространение благодаря такому инструментарию разработкиприложений, как PowerBuilder от Powersoft Corp. и SQL Windows от GuptaCorp.Разрабатываемые с помощью этих инструментов приложения, какправило, применимы на уровне отделов и поддерживают от 25 до 150пользователей . Основное достоинство модели толстого клиента заключаетсяв использовании всей мощи настольной системы и переносе вычислений ссервера, что делает его работу более эффективной (не позволяя ему статьузким местом в работе среды).Однако у такого подхода имеется ряд недостатков.1. Увеличение функциональности вызывает излишнюю загрузкупользовательских машин, что приводит к необходимости дорогостоящегообновления всей клиентской техники.2. При увеличении количества пользователей компании приходитсятратиться и на высокоскоростную сеть, которая сможет выдержатьинтенсивные потоки данных между сервером и толстыми клиентами.3.
Наконец, проще и дешевле поддерживать и обновлять приложенияна одном сервере, чем на десятках или сотнях пользовательских машин.На рис. 7.3 б показан подход тонкого клиента (thin client). Этот подходближе к традиционной обработке на сервере и часто становится первым5Сетевое ПО.
Лекция 7(2014 г.)шагом при переходе корпорации от использования мейнфреймов краспределенной среде.1.3 Трехуровневая архитектура клиент/серверТрадиционная архитектура клиент/сервер включает два уровня, илислоя:уровень клиента и уровень сервера.В трехуровневая архитектуре (рис. 7.4). приложение распределеномежду машинами трех типов:1. пользовательской машиной,2. промежуточным сервером3.
конечным сервером.Пользовательская машина представляет собой машину клиента,который в трехуровневой модели обычно является тонким клиентом.Машиныпромежуточногоуровняявляютсяворотамимеждутонкими клиентами и различными конечными серверами баз данных,преобразуя протоколы и отображая один тип запросов к базам данных вдругой. Кроме того, они способны собирать и обрабатывать данные изразных источников.Взаимодействие между промежуточными и конечными серверамитакжеосуществляетсяпомоделиклиент/сервер,такчтосистемапромежуточного уровня одновременно выступает в роли сервера и клиента.Сервер приложений должен базироваться на мощной аппаратнойплатформе:мультипроцессорные системы,специализированные кластерные архитектурыОСсервераприложенийдолжнаобеспечиватьпроизводительность вычислений, а значит, поддерживатьмногопоточную обработку,вытесняющую многозадачность,мультипроцессирование,высокуюСетевое ПО.
Лекция 7(2014 г.)виртуальную памятьи наиболее популярные прикладные среды.61.4 Промежуточное программное обеспечениеПромежуточное ПО - набор стандартных программных интерфейсов ипротоколов, располагающихся междуприложениеми операционной системой и коммуникационным программнымобеспечением.(рис 7.5)При наличии стандартного программного интерфейса упрощаетсяреализация одного и того же приложения на серверах и рабочих станцияхразных типов.Стандартизованные протоколы необходимы для связи различныхсерверных интерфейсов с клиентами, которым необходим доступ к ним.С точки зрения логики распределенная система в целом можетрассматриваться как множество доступных пользователю приложений иресурсов. Пользователя не должно интересовать физическое размещениеданных и приложений.
Все приложения работают посредством однотипногоAPI.Промежуточное программное обеспечение, охватывающее всеплатформы и сети клиентов и серверов, отвечает за маршрутизациюзапросов клиентов соответствующему серверу.Имеется большое количество пакетов промежуточного программногообеспечения — от самых простых до очень сложных. Однако объединяет ихто, что они способны скрыть сложности и отличия различных сетевыхпротоколов и операционных систем. Разработчики клиентского и серверногопрограммного обеспечения обычно предоставляют возможность выбора приработе одного из нескольких наиболее популярных пакетов промежуточногопрограммного обеспечения.Эти средства помогают улучшить качество взаимодействия клиентов ссерверами за счет промышленной реализации достаточно важных и сложных7Сетевое ПО. Лекция 7(2014 г.)функций, а также упорядочить поток запросов от множества клиентов кмножеству серверов, играя роль регулировщика, распределяющего нагрузку насерверы.1.5 Базовые механизмы реализации промежуточногопрограммного обеспечения. средства передачи сообщений (message-oriented middleware,MOM) средства удаленного вызова процедур (Remote Procedure Call, RPC) брокеры запроса объектов (Object Request Broker, ORB), которыенаходят объекты, хранящиеся на различных компьютерах, и помогают ихиспользовать в одном приложении или документе.1.5.1 Передача сообщенийНа рис.
7.6 показано использование распределенной передачи сообщенийдляреализациифункциональностиклиент/сервер.Процесс-клиентзапрашивает некоторый сервис (например, чтение файла или печать) ипосылает сообщение, содержащее запрос к процессу-серверу. Сервервыполняет запрос и отправляет клиенту сообщение, содержащее ответ. Впростейшей реализации для такого взаимодействия нужны функции: Send иReceive. Функция Send определяет получателя сообщения и включаетсодержимое в отправляемое сообщение. Функция Receive уведомляется отом, от кого следует принимать сообщение (включая "от всех"), и сохраняетсодержимое сообщения в предоставленном ей для этого буфере.На рис.
7.6,а показана реализация передачи сообщений. Процессыпользуются сервисами, предоставляемыми модулями передачи сообщений.Запрос к модулю можно выразить в терминах примитивов и параметров.Примитив определяет выполняемую функцию, а параметры — передаваемыеданные и управляющую информацию. Фактический вид примитива зависитот программного обеспечения, использующегося для передачи сообщений.Это может быть вызов процедуры либо сообщение для процесса,являющегося частью операционной системы.8Сетевое ПО.