Лекция № 1. Понятие архитектуры корпоративных информационных систем. Архитектура – производительность (performance). В каких попугаях мерить? Время отклика (response time) – промежуток времени, который требуется системе для того, чтобы обработать внешний запрос; Быстрота реагирования (responsiveness) – скорость подтверждения запроса; Время задержки (latency) – минимальный интервал времени до получения какого-либо отклика. (Проблема удаленных вызовов); Загрузка (load) – значение, определяющее степень «давления» на систему, измеряется, например, числом одновременно подключенных пользователей; Архитектура – производительность (performance). В каких попугаях мерить? Пропускная способность (throughput) – количество данных (операций), передаваемых (выполняемых) в единицу времени. (Обычная мера пропускной способности в корпоративных системах число транзакций в секунду (transaction per second –tps); Чувствительность к загрузке (load sensitivity) – выражение, задающее зависимость времени отклика от загрузки. (Ухудшение degradation); Эффективность (efficiency) – удельная производительность в пересчете на одну единицу ресурса; Архитектура – производительность (performance). В каких попугаях мерить? Мощность (capacity) – наибольшее значение пропускной способности или загрузки; Способность к масштабированию (scalability) – свойство, характеризующее поведение системы при добавлении ресурсов (обычно аппаратных). Вертикальное масштабирование (vertical scalability, scaling up) – это увеличение мощности за счет отдельного аппаратного средства. Горизонтальное масштабирование (horizontal scalability, scaling out) наращивание потенциала системы за счет добавления новых серверов; Архитектура – производительность (performance). Все совсем не просто . Система Один сервак Два сервака Много серваков Рога и Копыта 20 tps 35 tps +15 tps Эх, прокачу 40 tps 50 tps +10 tps Концепция слоев (layers). «Слоеный пирог». Layer 1 Слой более высокого уровня пользуется службами, которые предоставляет слой нижнего уровня; Каждый промежуточный слой «скрывает» нижний слой от верхнего; Layer 2 Слой нижнего уровня «понятия не имеет» о том кому он предоставляет свои услуги; Layer 3 Layer 4 Концепция слоев (layers). Преимущества. Отдельный слой можно воспринимать как нечто единое самодостаточное целое, не особо заботясь о наличии других слоев. Альтернативная реализация базовых слоев. Зависимости между слоями можно свести к минимуму. Каждый слой является удачным кандидатом на стандартизацию, повторное использование. Созданный слой может служить основой для нескольких различных слоев более высокого уровня. Концепция слоев (layers). Недостатки. Слои способны удачно инкапсулировать многое, но, к сожалению, далеко не все, следовательно, модификация некоторого одного слоя иногда приводит к необходимости внесения каскадных изменений в остальные слои; Наличие избыточных слоев нередко снижает производительность. При переходе от слоя к слою сущности ИС, обычно, подвергаются некоторому преобразованию из одного представления в другое. Сложности при определении содержимого и границ слоя. Концепция слоев (layers). История. Начало – системы пакетной обработки данных. Середина 1990-х приложения клиент-сервер (появления двух архитектурных слоев) Visual Basic, PowerBuilder, Delphi; SQL; Paradox, Dbase, FoxPro , Clipper. Проблема сложной «бизнес-логики» Концепция слоев (layers). История. Проблема сложной «бизнес-логики» «Толстые клиенты»; Хранимые процедуры … ООП; Web. Уровень или ярус (tier) - Концепция слоев (layers). Три основных слоя . HI Human Interface PD Problem Domain OS Other systems DM Data Management NT Not this time