Implementing Modern Architecture



Kursarrangør: Glasspaper AS
Sted: Oslo, Helsfyr
Oslo
Kursadresse: Brynsveien 12, 0667 Oslo (kart)
Type:Åpent kurs / gruppeundervisning
Studie / yrkesutdanning
Undervisningstid: kl 09:00 - 17:00
Varighet: 3 days
Pris: 20.900
Neste kurs: 04.12.2024 | Vis alle kursdatoer

We provide course about Implementing Modern Architecture. To be a successful architect, one needs to know the pros and cons of different architectures and under what conditions they are applied in a project.

Course description:
In addition, a good knowledge of the development process and project support in production is also very valuable. In this course, participants will learn about the pitfalls of misapplying an architecture style and applying it to the wrong problem. We’ll also cover topics like Microservices, CQRS, Hexagonal Architecture, Event Sourcing, System stability, Development quality, and more.

Format:
• 20% workshop / 80% lecture

Course outline:

Program day 1:
Architecture and Architects:
• What is “architecture”
• What is good architecture
• Who is a good architect
• Architectural drivers

Domain-Driven Design:
• Why use DDD
• How to discover a Bounded Context

System Architecture:
• Monolith
• Microservices
• Modular Monolith
• How to make a choice
• A path from Monolith to Microservices

Documenting your Architecture:
• Sharing main decisions
• Visualizing architecture

Program day 2:
Communication:
• Synchronous and Asynchronous communication
• Commands vs Events
• Big and Small Events
• Message Naming
• Event Choreography and Orchestration
• Message Concurrency
• Message Processing Order
• Dealing with Errors
• Idempotent Consumers
• Two-phase Commit for sending Messages

Coding your Architecture:
• Project structure
• Applying Hexagonal Architecture principles
• Package structure
• Designing Aggregates and Value Objects
• Ensuring Invariants in Domain Model

Program day 3:
• Coding your Architecture
• Code quality automation
• Command Query Responsibility Segregation
• Event Sourcing: advantages and challenges

REST API:
• General principles
• Task-based REST API
• Dealing with Errors: Problem Details

Stability of your System:
• Common failures and stability antipatterns
• Stability patterns
• Securing your System

Monitoring your System:
• Aspects of monitoring
• Metrics to expose

Instructors: Marek Dominiak and Vadzim Prudnikau

Marek Dominiak: Owner of a Software Company / Architect / Lead Developer. Software developer and architect with 15 years of experience (10 years in the Norwegian market) mainly in Java World. I have experience in mentoring developers and leading teams. My main focus is on creating sustainable solutions (projects that will live for many years) and this set me early on the path of learning about software craftsmanship, domain-driven design, and code quality.

Vadzim Prudnikau: Architect / Team Lead / Senior Developer. Senior Java Developer, Team Lead, and Architect with 17 years experience (5 years in the Norwegian market) who believes that technical skills, self-education, being a good team player, and knowledge sharing are the keys to success.

Completed 10+ projects that work in production, led 5 development teams, mentored 20+ developers, interviewed over 100 developers for 10+ positions, created a Java department. An Expert in Java and has also experience with Kotlin, Scala, Groovy, JavaScript programming languages.

Target audience:
Architects, Team Leads, Senior Developers

Language:
• The course is given in english