Лекция № 1. Понятие архитектуры корпоративных информационных систем.

advertisement
Лекция № 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
Download