Size: a a a

Архитектура ИТ-решений

2020 August 25

VU

Vitaly U in Архитектура ИТ-решений
Alexander Smith
здравый смысл
Да все бы так аргументировать
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
Попробую
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
- в идеале, каждый строительный блок решения должен быть чёрным ящиком с контрактом, тогда он будет независимым и автономным
- при взаимодействии трудно представить кейс, когда поставщик зависит от потребителя, значит потребитель должен быть адаптирован к поставщику
- при интеграции компоненты по определению независими, повлиять на их развитие невозможно или нецелесообразно, поэтому трансформация должна выполняться в миддле
источник

VU

Vitaly U in Архитектура ИТ-решений
Gennadiy Kruglov
- в идеале, каждый строительный блок решения должен быть чёрным ящиком с контрактом, тогда он будет независимым и автономным
- при взаимодействии трудно представить кейс, когда поставщик зависит от потребителя, значит потребитель должен быть адаптирован к поставщику
- при интеграции компоненты по определению независими, повлиять на их развитие невозможно или нецелесообразно, поэтому трансформация должна выполняться в миддле
Для развязки потребителя с поставщиками можно мидлвейр и использовать
источник

VU

Vitaly U in Архитектура ИТ-решений
Да
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
Иными словами, при взаимодействии нужно адаптироваться к контактам (API). Поскольку API вызывает (грубо) потребитель, он осведомлён о контракте постащика, естественным образом зависит от него, то адаптер (с трансформацией) должен быть на стороне потребителя.
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
Vitaly U
Для развязки потребителя с поставщиками можно мидлвейр и использовать
Это зависит от того, есть ли "естественная", то есть явная связь между поставщиком и потребителем. Обычно такая связь есть. Но, согласен, тут многое зависит от стиля взаимодействия
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
источник

VU

Vitaly U in Архитектура ИТ-решений
Даже если потребитель один, то я бы всё-равно взаимодействие вынес бы в некий интеграционный шлюз
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
Но вообще, когда умные люди учили меня SOA, они постоянно говорили - нужно избегать интеграции, там где это возможно.

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

GK

Gennadiy Kruglov in Архитектура ИТ-решений
Vitaly U
Даже если потребитель один, то я бы всё-равно взаимодействие вынес бы в некий интеграционный шлюз
Почему?
источник

VU

Vitaly U in Архитектура ИТ-решений
Gennadiy Kruglov
Почему?
Стретегия, сейчас один, завтра нет. И всё-таки бизнес-функцие с интеграцией (инфраструктурой) разделять
источник

VU

Vitaly U in Архитектура ИТ-решений
Для простоты управления
источник

VU

Vitaly U in Архитектура ИТ-решений
И главное определения точки управления этим
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
Не вижу простоты.

Миддл уровень кто будет сопровождать/обновлять? Разница в ЖЦ мидла и потребителя может сказаться на TTM потребителя.
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
Кроме того, таким образом усложняется коммуникация между разработчиками, они обычно из разных команд.
источник

VU

Vitaly U in Архитектура ИТ-решений
Gennadiy Kruglov
Не вижу простоты.

Миддл уровень кто будет сопровождать/обновлять? Разница в ЖЦ мидла и потребителя может сказаться на TTM потребителя.
Да, тут риск, я согласен, думал
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
Vitaly U
И главное определения точки управления этим
Управлять завимостью нужно там, где она существует в явном виде. Паттерн Information Expert
источник

VU

Vitaly U in Архитектура ИТ-решений
А тут она не явная?
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
Иными сломи, потребитель при наличии зависимости, а она почти всегда присутствует, должен передать свою осведомлённость миддлу
источник