Архитектура ПС Классические архитектуры ● Централизованная архитектура; ● Архитектура "файл-сервер"; ● Двухзвенная архитектура "клиент-сервер"; ● Многозвенная архитектура "клиент-сервер"; ● Архитектура распределенных систем; ● Архитектура Веб-приложений; ● Сервис-ориентированная архитектура. Централизованная архитектура Централизованная архитектура вычислительных систем была распространена в 70-х и 80-х годах и Терминал реализовывалась на базе мейнфреймов (например, IBM-360/370 или их отечественных аналогов серии ЕС ЭВМ), либо на базе мини-ЭВМ (например, PDP-11 или их отечественного Терминаланалога СМ-4). Хост-ЭВМ Характерная особенность такой архитектуры – полная "неинтеллектуальность" терминалов. Их Терминал работой управляет хост-ЭВМ. ● Достоинства ● ● ● пользователи совместно используют дорогие ресурсы ЭВМ и дорогие периферийные устройства; централизация ресурсов и оборудования облегчает обслуживание и эксплуатацию вычислительной системы; отсутствует администрирования пользователей; необходимость рабочих мест Недостатки Полностью зависит от администратора хостЭВМ. Пользователь не может настроить рабочую среду под свои потребности – все используемое программное обеспечение является коллективным. Использование такой архитектуры является оправданным, если хост-ЭВМ очень дорогая, например, супер-ЭВМ. Архитектура "файл-сервер" Файл-серверные приложения – приложения, Клиент схожие по своей (прикладная часть, структуре с локальными управление БД, приложениями и использующие сетевой сетевой доступ) ресурс для хранения программы и данных. Функции сервера: хранения данных и кода Клиент Файл-сервер (прикладная часть, программы. управление БД, сетевой доступ) Функции клиента: обработка происходит исключительно на клиента. Клиент (прикладная часть, управление БД, сетевой доступ) данных стороне Достоинства ● ● ● ● возможность распределить функции вычислительной системы между несколькими независимыми компьютерами; все данные хранятся на защищенном сервере; поддержка многопользовательской работы; гарантия целостности данных. Недостатки ● неработоспособность сервера сделать неработоспособной вычислительную сеть; ● сложное администрирование; ● высокая стоимость оборудования; ● может всю бизнес логика приложений осталась в клиентском ПО. Многоуровневая архитектура клиент-сервер Разновидность архитектуры клиент-сервер, в Клиент (пользовательскийфункция интерфейс) которой обработки данных вынесена на один или несколько отдельных серверов. Это позволяет разделить функции Клиент обработки хранения, и представления Сервер приложений Сервер БД (пользовательский интерфейс) (бизнес-логика) (Управление данными) данных для более эффективного использования возможностей серверов и клиентов.Клиент (пользовательский интерфейс) Достоинства ● ● ● ● ● ● клиентское ПО не нуждается в администрировании; масштабируемость; конфигурируемость; высокая безопасность и надежность; низкие требования к скорости канала между терминалами и сервером приложений ; низкие требования к производительности и техническим характеристикам терминалов. Недостатки ● ● ● ● сложность администрирования и обслуживания; более высокая сложность создания приложений; высокие требования к производительности серверов приложений и сервера базы данных; высокие требования к скорости канала (сети) между сервером базы данных и серверами приложений. Трехуровневая архитектура Архитектура распределенных систем АРМ АРМ АРМ АРМ АРМ Достоинства Каждый АРМ независим, содержит только ту информацию, с которой должен работать, а актуальность данных во всей системе обеспечивается благодаря непрерывному обмену сообщениями с другими АРМами. Обмен сообщениями между АРМами может быть реализован различными способами, от отправки данных по электронной почте до передачи данных по сетям. Достоинства Возможность персональной ответственности за сохранность данных. Распределенные вычисления клиентскими машинам. между Распределенные системы с репликацией Данными между различными рабочими станциями и централизованным хранилищем данных, передаются репликацией. При вводе информации на рабочих станциях – данные также записываются в локальную базу данных, а лишь затем синхронизируются. Распределенные системы с элементами удаленного исполнения ● ● ● использование данных из сущностей, которые хранятся на удаленном сервере (узле); использование данных из сущностей, хранящихся на разных серверах (узлах) частично; использование обособленного функционала, на выделенном сервере (узле). Архитектура Веб-приложений Клиент (браузер) Клиент (браузер) Клиент (браузер) Веб-сервер (бизнес-логика, внешние процедуры) Сервер БД (Управление данными) Особенности ● ● ● ● ● Отсутствие необходимости использовать дополнительное ПО на стороне клиента Возможность подключения практически неограниченного количества клиентов Централизованное место хранения данных Недоступность работоспособности связи при сервера отсутствии или каналов Достаточно низкая скорость Веб-сервера и каналов передачи данных Сервис-ориентированная архитектура Сервис-ориентированная архитектура (SOA, service-oriented architecture) – модульный подход к разработке программного обеспечения, основанный на использовании сервисов со стандартизированными интерфейсами Принципы SOA ● ● ● ● ● архитектура не привязана определенной технологии; к какой-то независимость организации системы используемой вычислительной платформы; от независимость организации системы применяемых языков программирования; от использование сервисов, независимых от конкретных приложений, с единообразными интерфейсами доступа к ним; организация сервисов как слабосвязанных компонентов для построения систем. Архитектуры по Шоу и Гарли ● ● Архитектуры потоков данных ● Последовательные пакеты ● Каналы и фильтры Независимые компоненты ● Параллельные взаимодействующие процессы ● Клиент-серверные системы ● Системы, управляемые событиями ● ● ● Виртуальные машины ● Интерпритаторы ● Системы, основанные на правилах Репозиторные архитектуры ● Базы данных ● Гипертекстовые системы ● Доски объявлений Уровневые архитектуры Архитектуры, основанные на потоках данных Основой служит диаграмма потоков данных (DFD – Data Flow Diagram) Архитектура каналов и фильтров Фильтр –процесс, способный в любой момент времени принять потоки как входную информацию (последовательность данных единообразного вида). Каждый фильтр должен независимо от других. Приемущество: модульность. проектироваться Независимые компоненты Архитектура независимых компонентов, работающих параллельно (по крайней мере, теоретически) и время от времени общающихся друг с другом. Пример: WWW. Параллельно взаимодействующие процессы Такая архитектура характеризуется тем, что в ней одновременно запускаются несколько процессах. Виртуальные машины Архитектура виртуальных машин рассматривает приложение как программу, написанную на специальном языке. Из-за того, что должен быть реализован интерпретатор этого языка, эта архитектура окупается, только если будут написаны несколько программ, генерирующих приложения. Репозиторные архитектуры Архитектура, построенная главным образом вокруг данных. Большинство таких систем предназначены для обработки транзакций по отношению к базам данных. Пример Доски объявлений Архитектуры досок объявления, разработанные для приложений с искусственным интеллектом, являются репозиториями с определенными правилами поведения. Репозиторий Приложение, предоставляющее унифицированный интерфейс доступа к коллекции баз данных. Репозиторий не изменяет структуру базы данных, а только предоставляет унифицированный доступ к ним. Приложения обычно используют несколько архитектур Выбор архитектуры 1. Разбить систему на замкнутые задачи 2. Сравните со стандартными архитектурами ● Есть поток данных в пакетах между обрабатывающими станциями? Архитектура последовательных пакетов ● Обрабатывающие станции ожидают получения входных данных, чтобы начать свою работу? Архитектура каналов и фильтров ● 356