Software Architecture

How do you avoid making your project a big ball of mud? How do you balance a wide range of design concerns and constraints? How do you map customer requirements to working software? This course provides you with the means and methods to face these challenges.


“It is very good to mix with exercises and try your own thinking. The exercises were relevant and well suited for the purpose.”

“A very good mix of many good practices in software architecture delivered in a very good way.”

    Target audience

     Developers and architects who design systems or assume the role of the architect in a project


    A couple of years of development. Preferably in an object oriented language (Java, C#, C++). The course, however, is language and platform independent.

    What you will learn

    The Role of The Architect

    • Why design matters
    • Complexity
    • The architect's place in the team.
    • Why architecture is hard.

    Getting feedback

    • TDD
    • Continuous Integration & deployment
    • Refactoring
    • Software metrics

    Domain Driven Design (DDD)

    • Bounded contexts
    • Ubiquitous language
    • Entity and value objects
    • Invariants
    • Aggregates
    • Event Storming

    Data Access Architecture

    • CAP theorem
    • ORM mapping
    • NoSQL databases
    • Polyglot persistence

    CQRS & Event sourcing

    • Semantic operations
    • Event sourcing
    • Read vs Write
    • The CQRS pattern
    • Commands and events
    • Write and read sides
    • Integration
    • Testing

    Architecture patterns

    • Sagas and process managers
    • Circuit breakers
    • Resilience patterns


    • Micro-services
    • REST APIs
    • Hypermedia
    • Creating scalable and reliable APIs
    • Webhooks
    • OpenAPI and Swagger
    • GraphQL


    • The security challenges
    • Hacking your self
    • Social engineering
    • Securing your architecture

    Related articles

    • Courses that are ready to go in October

      We are almost at the end of September and just before October, we have the following courses that are ready to go.

      Read more
    • How to install RavenDB on a VM in Azure (step-by-step, part 1)

      This is a guide for you who want to work with document databases. I describe how I got RavenDB to work on a regular Windows Server 16 virtual machine which in turn runs in the Azure cloud. 

      Read more
    • How to install RavenDB on a VM in Azure (step-by-step, part 2)

      A guide in three parts, this is the second part. 

      Read more
    • How to install RavenDB on a VM in Azure (step-by-step, part 3)

      This is a guide in three parts. In this third part, we show how you import a certificate.

      Read more
    • Take a course in Prague

      We are proud to announce that, starting from May, Edument will also offer courses in Prague. Now you can enjoy and be energized by spending time in one of Europe's most beautiful cities, at the same time as attending one of our popular courses! 

      Read more

    Course info

    Course code: T100
    Duration: 2 days
    Price: 21 500 SEK
    Language: English

    Course schedule

    21 NovBook now
    16 Jan 2020Book now
    26 Mar 2020Book now
    4 Jun 2020Book now
    21 NovBook now
    23 Jan 2020Book now
    19 Mar 2020Book now
    28 May 2020Book now
    21 NovBook now
    23 Jan 2020Book now
    19 Mar 2020Book now
    28 May 2020Book now



    Contact us for details

    +46 40 61 70 720

    All prices excluding VAT