Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ППП-типо-похоже-на лекции!.docx
Скачиваний:
21
Добавлен:
21.09.2019
Размер:
2.06 Mб
Скачать

1.4.Масштабируемость приложений

Чтобы удовлетворить требования пользователей, архитектура приложения должна описывать не только размер программы, но и расположение оборудования, или топологию приложения. Топология определяет тип, количество и конфигурацию серверов, на которых будет выполняться приложение. Ключевой принцип создания масштабируемых надежных приложений— независимость от топологии.

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

стер— это группа компьютеров, логически работающих как один).

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

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

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

1.5.Виды архитектуры

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

Универсальный язык моделирования

один из важнейших факторов успешной разработки приложения заключается в способности передать всем участникам проекта информацию о процессах и бизнесе, а также всю техническую информацию. Этой цели служит универсальный язык моделирования (Unified Modeling Language, UML), основное назначение которого — облегчить визуализацию, определение, создание и документирование всех элементов программной системы.

UML основан на нескольких языках моделирования, получивших распространение в конце 80-х и в 90-х годах.

Шаблоны проектирования

Еще один способ описания сложных архитектур приложений основан на применении шаблонов проектирования.

этот метод«... определяет основные особенности общей структуры проектирования, что делает его полезным для создания повторно используемых объектно-ориентированных проектов».

Сегодня термин «шаблон проектирования» известен любому разработчику. Каждый дизайнер объявляет свой архитектурный проект шаблоном.

«Шаблон — это информация, описывающая структуру удачного семейства проверенных решений некоторого класса проблем, возникающих в некоторых условиях».

что шаблоны обладают следующими свойствами;

• решают поставленную задачу;

• решение не очевидно;

• решение доказательно;

• описывают взаимосвязь.

Еще одна отличительная черта шаблона проектирования — он должен быть повторяющимся и подчиняться «правилу трех», то есть его можно наблюдать как минимум на трех различных системах или приложениях, решающих данную проблему.

Шаблоны проекта бывают порождающими и нейтральными. Первые можно использовать при решении практических задач, вторые — только соблюдать.