Меню
Главная
Авторизация/Регистрация
 
Главная arrow Информатика arrow АРХИТЕКТУРА ИНФОРМАЦИОННЫХ СИСТЕМ
Посмотреть оригинал

Рекомендации по использованию стилей

Случаи, при которых целесообразно использовать тот или иной архитектурный стиль, приведены в табл. 6.1 14].

Таблица 6.1

Использование архитектурных стилей

Наименование

стиля

Описание ситуации, при которой целесообразно использование стиля

Системы пакетно-последовательной обработки

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

Системы типа конвейеры и фильтры

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

Продолжение табл. 6.1

Наименование

стиля

Описание ситуации, при которой целесообразно использование стиля

Системы типа

программа-

подпрограммы

Порядок вычислений определён изначально, отсутствует возможность и/или необходимость задействовать компоненты в процессе ожидания результатов своих запросов к остальным компонентам. Отсутствует целесообразность использование механизма наследования

Объектно- ориентированные системы

Для повышения эффективности целесообразно использование в процессе разработки механизма наследования. Объекты располагаются на разных машинах

Клиент-

серверные

системы

Некоторая задача может быть представлена в виде совокупности запросов от клиентов к серверу, в связи с чем может быть выделена клиентская часть, формирующая запросы, и серверная, служащая для их выполнение. Количество клиентов может изменяться, любой клиент имеет возможность обратиться к серверу в произвольный момент времени, при этом сервер выполняет только обработку запросов.

Иерархические

многоуровневые

системы

Система может быть представлена как набор слоев с заданными интерфейсами. Целесообразно иметь возможность использовать уже имеющиеся реализации слоев и обеспечить переносимость системы

Системы взаимодействующих процессов

Для обеспечения взаимодействия процессов эффективным является применение механизма передачи сообщений при отсутствии большого объема долгоживущих централизованных данных

Системы, управляемые событиями

Система должна обеспечивать реакцию на асинхронно возникающие события и может быть представлена совокупностью независимых процессов, выполняющихся на различных платформах. Целесообразно обеспечение возможности изменения количества процессов, переключаемых событиями

Системы на основе централизованной базы данных

В системе имеется большой объем взаимосвязанных долгоживущих, хорошо структурированных данных, которыми необходимо управлять и которые требуется обрабатывать. Могут быть выделены потребители данных (формируют запросы) и их производители (выполняют запросы). Экономически оправдано использование коммерческой СУБД

Системы, использующие принцип классной доски

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

Наименование

стиля

Описание ситуации, при которой целесообразно использование стиля

Интерпретаторы

Отсутствует, либо затруднено использование реальной машины, требуется обеспечить пользователю использование стандартного, либо скриптового языка программирования

Системы, основанные на правилах

Для описания алгоритма решения задачи может быть использовано множество правил и способов их применения.

Рассмотренные архитектурные стили можно отнести к «чистым» архитектурам. Реальные архитектуры сложных программных систем являются, как правило, комбинациями нескольких стилей. При этом отдельные стили обычно комбинируются следующими способами:

  • • иерархия стилей;
  • • применение более одного стиля на одном уровне иерархии;
  • • соединение двух или более архитектурных стилей;
  • • комбинация перечисленных выше способов.

Иерархия стилей предполагает, что компонент некоторого уровня в системе, построенной с использованием одного стиля, сам по себе может быть организован на основе другого стиля. Например, в механизме конвейеров pipes в Unix каждый из элементов конвейера, может быть реализован на основе другого стиля.

Второй способ позволяет применять для организации одного компонента несколько различных стилей. Например, некоторый компонент может использовать репозитарий, а с другими компонентами взаимодействовать с использованием стиля «конвейеры и фильтры».

Иногда некоторая архитектура может быть описана в терминах различных стилей, например, система Линда [7] может быть представлена и как система, использующая принцип взаимодействующих процессов, и как система на основе централизованных данных.

Контрольные вопросы

  • 1. Каким образом организованы системы, основанные на потоках данных: системы пакетно-последовательной обработки, системы типа «конвейеры и фильтры»?
  • 2. Каков принцип организации систем, использующих вызов с возвратом: типа программа-подпрограммы и клиент- серверных систем?
  • 3. Укажите основные особенности объектно-ориентированных систем, использующих вызов с возвратом.
  • 4. Укажите основные особенности иерархических многоуровневых систем, использующих вызов с возвратом.
  • 5. Каким образом организованы и функционируют системы, работающие по принципу взаимодействующих процессов?
  • 6. Каким образом организованы и функционируют системы, управляемые событиями?
  • 7. Поясните принцип организации систем, основанных на использовании централизованной базы данных.
  • 8. Поясните принцип организации систем, использующих принцип классной доски.
  • 9. Какие существуют разновидности систем, функционирующих по принципу виртуальной машины? Каковы их особенности?
 
Посмотреть оригинал
< Предыдущая   СОДЕРЖАНИЕ   Следующая >
 

Популярные страницы