Hexagonal architecture
with Spring Boot
Mikalai Alimenkou
@xpinjection
http://xpinjection.com
Disclaimer
This talk is based on
personal experience
Domain Driven Design
Expectations
Reality
Everything is simple!
Layered architecture for kids
More serious view
Help Dasha to find business logic
Everything should be Use Case driven
Alternative world
Ports and adapters thinking
Fresh architectural paradigms
Spring Boot as game changer
Each service has similar structure
SERVICE
DB
QUEUE
UI
API
EXTERNAL
SERVICES
API CONTRACTS
Spring MVC
Spring MVC
Spring Data
Spring
Messaging
RestTemplate
Feign
Spring Cloud
Contracts
You could work on business logic
There are still some blockers
#1. Transactions
#2. Validation
#3. Thick client
#4. DB tuning
#5. Thinking model
Summary
• Change your point of view from layered approach
• Start using ports and adapters approach
• Make business logic use case driven
• Learn how to use existing Spring Boot modules
• Adopt Domain Driven Design ideas
• Be happy unicorn in the rainbow world ;)
@xpinjection
http://xpinjection.com
mikalai.alimenkou@xpinjection.com

Hexagonal architecture with Spring Boot

Editor's Notes

  • #5 Это только мой опыт, но он достаточно широкий за счет работы во многих компаниях и общения с широкой аудиторией
  • #21 Департаменты развивают принципы локализации ответственности, что очень вредно.
  • #22 Уходите от смешных job titles. Стройте командную ответственность, потому что ответственность замыкает работу на определенных людей, так как спрашивать будут с них. В итоге развивается бюрократия и нет гибкости. Например, доступ к инфраструктуре или работа с зависимостями. И DevOps инженеры мало несут реальной ответственности. Командная работа приносит дополнительные Point of Views. T-shape инженеры важны, невозможно знать и уметь все. Инструменты важны и нужны, раньше их не было и жизнь была похожа на ад. Настроенные и прописанный инцидент менеджмент. Не занимайтесь тушением пожаров. Как дракончик с лейкой на картинке. У всех нет времени, поэтому нанимают новых людей. Они делают больше пожаров, что зацикливает процесс. Diversity на примере оптимистов и пессимистов, девушек, джунов и т.д.