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