Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект по архитектуре ИС.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.04 Mб
Скачать

Эволюция и классификация платформенных архитектур информационных систем Основные термины и определения

Клиент (client) – пользователь и (или) компьютер, использующий какие-либо программные сервисы

Сервер (server) – компьютер или центр обработки данных, предоставляющий программные сервисы

Тонкий клиент (thin client) – клиент с минимальным пользовательским интерфейсом – не имеющий состояния, сеанса, полнофункционального GUI

Полнофункциональный клиент (rich client) – клиент, имеющий полнофункциональный GUI и общающийся с сервером через слой промежуточного программного интерфейса (middleware), обеспечивающий его функциональность;

Развитие платформенных архитектур ИС происходило по трём направлениям:

  • автономные архитектуры

  • централизованные архитектуры

  • распределённые архитектуры

Развитие этих направлений связано с необходимостью обеспечения интеграции и построения единого информационного пространства.

Автономными (standalone) архитектурами могут быть сервисные программы, системные утилиты, текстовые и графические редакторы, компиляторы, достаточно простые корпоративные программы. Развитая корпоративная информационная система, как правило, не может состоять из отдельных, не связанных между собой компонентов.

Централизованная архитектура вычислительных систем была распространена в 1970 — 1980-х гг. и реализовывалась на базе мейнфреймов (например, IBM-360/370 или их отечественных аналогов серии ЕС ЭВМ), либо на базе мини-ЭВМ (например, PDP-11 или отечественного аналога СМ-4). Характерная особенность такой архитектуры – полная “не интеллектуальность” терминалов. Их работой управляет хост-ЭВМ.

Достоинства такой архитектуры:

  • пользователи совместно используют дорогие ресурсы ЭВМ и дорогие периферийные устройства;

  • централизация ресурсов и оборудования облегчает обслуживание и эксплуатацию вычислительной системы;

  • отсутствует необходимость администрирования рабочих мест пользователей.

Главным недостатком для пользователя является то, что он полностью зависит от администратора хост-ЭВМ. Пользователь не может настроить рабочую среду под свои потребности – всё используемое программное обеспечение является коллективным. Использование такой архитектуры является оправданным, если хост-ЭВМ очень дорогая, например, суперЭВМ. Центральная ЭВМ (хост-ЭВМ) должна иметь большую память и высокую производительность, чтобы обеспечивать комфортную работу большого числа пользователей. Все программы выполняются на хост-ЭВМ, а терминалы являются лишь устройствами ввода-вывода и, таким образом, в минимальной степени поддерживают интерфейс пользователя.

Рис. Классическое представление централизованной архитектуры

Распределённые архитектуры имеют более богатую историю, что связано с бурным развитием технических и программных компонентов.

Существует шесть основных характеристик архитектур распределённых систем:

  • совместное использование ресурсов: распределённые системы допускают совместное использование, как аппаратных (жёстких дисков, принтеров), так и программных (файлов, компиляторов) ресурсов;

  • открытость – возможность расширения системы путём добавления новых ресурсов;

  • параллельность: в распределённых системах несколько процессов могут одновременно выполняться на разных компьютерах в сети. Эти процессы могут взаимодействовать во время их выполнения;

  • масштабируемость – возможность добавления новых свойств и методов;

  • отказоустойчивость: наличие нескольких компьютеров позволяет дублирование информации и устойчивость к некоторым аппаратным и программным ошибкам. Распределённые системы в случае ошибки могут поддерживать частичную функциональность. Полный сбой в работе системы происходит только при сетевых ошибках;

  • Прозрачность: пользователям предоставляется полный доступ к ресурсам в системе, в то же время от них скрыта информация о распределении ресурсов по системе.

Распределённые системы обладают следующими недостатками:

  • сложность: намного труднее понять и оценить свойства распределённых систем в целом, их сложнее проектировать, тестировать и обслуживать. Также производительность системы зависит от скорости работы сети, а не отдельных процессоров. Перераспределение ресурсов может существенно изменить скорость работы системы;

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

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

  • непредсказуемость: реакция распределённых систем на некоторые события непредсказуема и зависит от полной загрузки системы, её организации и сетевой нагрузки. Так как эти параметры могут постоянно изменяться, поэтому время ответа на запрос может существенно отличаться от времени.

Ресурсы в распределённых системах располагаются на разных компьютерах. Примером может служить система URL (унифицированный указатель ресурсов), которая определяет имена Web-страниц.

Выделяют следующие виды архитектур распределённых информационных систем:

  • архитектура «файл-сервер»;

  • архитектура «клиент-сервер»;

  • архитектура Web-приложений.

Архитектура «файл-сервер»

Файл-серверные приложения схожи по своей структуре с локальными приложениями и используют сетевой ресурс для хранения программ и данных.

Функции сервера: хранения данных и кода программы.

Функции клиента: обработка данных происходит исключительно на стороне клиента.

Организация информационных систем на основе использования выделенных файл-серверов всё ещё является распространённой в связи с наличием большого количества персональных компьютеров разного уровня развитости и сравнительной дешевизны связывания PC в локальные сети. Основным достоинством данной архитектуры является простота организации.

Достоинства архитектуры «файл-сервер»:

  • многопользовательский режим работы с данными;

  • удобство централизованного управления доступом;

  • низкая стоимость разработки;

  • высокая скорость разработки;

  • невысокая стоимость обновления и изменения ПО.

Недостатки архитектуры «файл-сервер»:

  • проблемы многопользовательской работы с данными – последовательный доступ, отсутствие гарантии целостности;

  • низкая производительность (зависит от производительности сети, сервера, клиента);

  • низкая масштабируемость;

  • ненадёжность системы.

Рис. Классическое представление информационной системы в архитектуре “файл-сервер”

Рис. Модель файлового сервера

Архитектура «клиент-сервер»

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

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

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

Рис. Классическое представление архитектуры "клиент-сервер"

Рис. Модель сервера СУБД

Достоинства архитектуры «клиент-сервер»:

  • возможность, в большинстве случаев, распределить функции вычислительной системы между несколькими независимыми компьютерами в сети;

  • все данные хранятся на сервере, который, как правило, защищён гораздо лучше большинства клиентов, а также на сервере проще обеспечить контроль полномочий, чтобы разрешать доступ к данным только клиентам с соответствующими правами доступа;

  • поддержка многопользовательской работы;

  • гарантия целостности данных.

Недостатки архитектуры «клиент-сервер»:

  • неработоспособность сервера может сделать неработоспособной всю вычислительную сеть;

  • администрирование данной системы требует квалифицированного профессионала;

  • высокая стоимость оборудования;

  • бизнес логика приложений осталась в клиентском ПО.

Многоуровневая архитектура “клиент-сервер”

Увеличение масштабов информационной системы не порождает принципиальных проблем. Обычным решением является замена аппаратуры сервера (и, может быть, аппаратуры рабочих станций, если требуется переход к локальному кэшированию баз данных). В любом случае практически не затрагивается прикладная часть информационной системы. Данный вид архитектуры также называют архитектурой с “толстым” клиентом. В случае большого числа пользователей возникают проблемы своевременной и синхронной замены версий клиентских приложений на рабочих станциях. Такие проблемы решаются в рамках многозвенной архитектуры. Часть общих приложений переносится на специально выделенный сервер приложений. Тем самым понижаются требования к ресурсам рабочих станций, которые будут называться «тонкими» клиентами. Данный способ организации вычислительного процесса является разновидностью архитектуры “клиент-сервер”. Использование многозвенной архитектуры может быть рекомендовано также тогда, когда некоторая программа требует для своей работы много ресурсов. В этом случае может оказаться дешевле построить сеть с одним очень мощным сервером, чем использовать несколько мощных клиентских рабочих станций.

Рис. Представление многоуровневой архитектуры "клиент-сервер"

Рис.

Достоинства многоуровневой архитектуры «клиент-сервер»:

  • клиентское ПО не нуждается в администрировании;

  • масштабируемость;

  • конфигурируемость – изолированность уровней друг от друга позволяет быстро и простыми средствами переконфигурировать систему при возникновении сбоев или при плановом обслуживании на одном из уровней;

  • высокая безопасность;

  • высокая надёжность;

  • низкие требования к скорости канала (сети) между терминалами и сервером приложений;

  • низкие требования к производительности и техническим характеристикам терминалов, как следствие снижение их стоимости.

Недостатки многоуровневой архитектуры «клиент-сервер»:

  • сложность администрирования и обслуживания;

  • более высокая сложность создания приложений;

  • сложнее в разворачивании и администрировании;

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

  • высокие требования к скорости канала (сети) между сервером базы данных и серверами приложений.

Архитектура Web-приложений

Эта архитектура широко применяется в настоящее время. Web-сервис – приложение, доступное через Internet и предоставляющее некоторые услуги, форма которых не зависит от поставщика (так как используется универсальный формат данных - XML) и платформы функционирования. В данное время существуют три различные технологии, поддерживающие концепцию распределённых объектных систем: EJB, DCOM и CORBA.

В основе Web-сервисов лежат открытые стандарты и протоколы: SOAP, UDDI и WSDL.

SOAP (Simple Object Access Protocol), разработанный консорциумом W3C, определяет формат запросов к Web-сервисам. Сообщения между Web-сервисом и его пользователем пакуются в так называемые SOAP-конверты (SOAP envelopes, иногда их ещё называют XML-конвертами). Само сообщение может содержать либо запрос на осуществление какого-либо действия, либо ответ - результат выполнения этого действия.

WSDL (Web Service Description Language). Интерфейс Web-сервиса описывается в WSDL-документах (а WSDL - это подмножество XML). Перед развёртыванием службы разработчик составляет её описание на языке WSDL, указывает адрес Web-сервиса, поддерживаемые протоколы, перечень допустимых операций, форматы запросов и ответов.

UDDI (Universal Description, Discovery and Integration) - протокол поиска Web-сервисов в Internet (http://www.uddi.org/). Представляет собой бизнес-реестр, в котором провайдеры Web-сервисов регистрируют службы, а разработчики находят необходимые сервисы для включения в свои приложения.

Рис. Представление архитектуры Web-приложений

Особенности архитектуры Web-приложений:

  • Отсутствие необходимости использовать дополнительное ПО на стороне клиента

  • Возможность подключения практически неограниченного количества клиентов

  • Централизованное место хранения данных

  • Недоступность при отсутствии работоспособности сервера или каналов связи

  • Достаточно низкая скорость веб-сервера и каналов передачи данных

Лекция № 3