
Mjukvaruarkitektur
Under kursen går vi igenom beprövade lösningar för hållbara system: testdriven utveckling, domändriven design, services, event-sourcing och en mängd andra mönster.
Målet är att ge dig en djup förståelse, så att du sedan kan komma tillbaka till ditt eget projekt och applicera dessa lösningar.
Arkitektur är ofta vad som skiljer ett lyckat projekt från kaos. Moderna system lägger höga krav på arkitekten och utvecklarna.
De ska vara:
-
persistenta, och inte tappa information
-
tillgängliga och klara belastningstoppar
-
lätta att integrera med andra system
-
distribuerade (ibland)
-
säkra
-
testbara
-
lätta att bygga ut och förvalta
Alla känner till problemen, men de traditionella lösningarna som lärs ut brukar leda till stora system med stora problem. Den här kursen lär dig alternativa mönster, saknade pusselbitar, och att det finns fler sätt att lösa problemen.
Vi får ofta höra att denna kurs erbjuder saker som andra kurser inte har. Det beror på att vi har utformat den utifrån många års erfarenhet i storskaliga projekt i industrin.
Vad du kommer lära dig
The Role of The Architect
-
Why design matters
-
Complexity
-
The architect's place in the team.
-
Why architecture is hard
-
Visualizing architecture
Build and deployment
-
Continuous Integration and Deployment
-
Feature flags
-
Securing our build and dependencies
Domain Driven Design (DDD)
-
Bounded contexts
-
Ubiquitous language
-
Entity and value objects
-
Invariants
-
Aggregates
-
Context mapping
Event Storming
-
Introduction to running Event Storming sessions to explore, discover and model a domain.
Database architecture
-
CAP theorem
-
ORM mapping
-
NoSQL databases
Event sourcing
-
Using events as the source of truth
-
Possibilities with Event Sourcing
-
Implementing Event Sourcing
Reads vs Writes
-
Separating reads from writes
-
Normalized vs denormalized data
-
Implementing the read and write side
CQRS
-
Command-Query Separation (CQS)
-
Command Query Responsibility Segregation (CQRS)
-
CQRS , vs Event Sourcing vs DDD
Behavior Driven Development
-
Introduction to BDD
-
Writing tests closer to the domain
-
Writing BDD tests with command and events
Event Modeling
-
Introduction on how to model our design using the event modeling technique.
Architectural concepts
-
Transactions
-
Outbox pattern
-
Exact once delivery
-
Idempotency
-
Guaranteed ordering
-
Consistency
-
Data truth
Resilient systems
-
Retries
-
Circuit breakers
-
Resilience patterns
-
Chaos Engineering
Monolith and Micro Services
-
Why do we fail with the monolith?
-
How can we improve it?
-
Composition
-
Micro frontends
-
Micro-services
-
Slicing our architecture
-
Event Aggregator pattern
Målgrupp
Utvecklare och arkitekter som ska designa system eller ikläda sig arkitektrollen i sitt projekt.
Förkunskaper
Ett par års utveckling. Gärna i något objektorienterat språk (som Java, C#, C++). Kursen är dock språk- och plattformsoberoende.
20 900 kr ex moms
Nästa tillfälle
17-18 april 2023, kommer hållas på engelska
- Kursen ges på distans eller i klassrum
- Om ni är ett team som vill gå utbildningen finns möjlighet för innehållsanpassning utifrån era behov
Kurslängd: 2 dagar, alternativt 4 halvdagar
Nivå: Grund
Språk: Svenska, Engelska
Kurskod: T100
REFERENSER
My expectation was to get new tools to use and that was fulfilled! Tore is very knowledgeable and was easy to listen to. I liked him. My favourite parts was about the role of the architect, build and deployment and CQRS & Event sourcing.
KURSDELTAGARE
Even if you know what software architecture is, it is worth to participate in this course. It gives you a clearer picture about software architecture and even if you have experience in this area you will be more experienced, and you can just be better with repetition.
KURSDELTAGARE
Thorough coverage of different but symbiotic concepts and methods. Also, plenty of references to additional course material. Participating online was a smooth experience, Zoom worked well.
KURSDELTAGARE
Thorough coverage of different but symbiotic concepts and methods. Also, plenty of references to additional course material. Participating online was a smooth experience, Zoom worked well.
KURSDELTAGARE