Application Architecture Training

Level

Intermediate

Duration

16h / 2 days

Date

Individually arranged

Price

Individually arranged

Application Architecture Training

Do you want to build microservices? Start with good architecture! Make sure your application is ready, that you know how to separate independent modules and communicate asynchronously, with events. A new day, a new framework. That can be interesting, but it’s not the key in programming. It’s good to know about new technologies, but much more important are the architectural fundamentals, which we will present here. Good architecture will make updating a library or replacing a framework with a shiny new one easier. On the other hand, without good architecture a new framework/library might help, but very likely will just obfuscate your code and introduce yet another workaround for a problem.

Who is this training for?
  • logo infoshare Those looking to grow towards being software architects
  • logo infoshare Those reworking an old project
  • logo infoshare Those starting a new project

What You Will Learn

  • You’ll understand how to build web applications that are easy to maintain
  • You’ll see what CQRS, DDD and clean architecture are all about
  • You’ll learn how to postpone implementation decisions over time
  • You’ll become familiar with architecture: modular monolith

Training Program

  • Sample existing code (legacy system)
  • Containerization
  • Java, Spring, Hibernate
  • Testing using Postman
  • Package access in Java
  • IDE settings
  • Simplifying code
  • Package by Feature vs. Package by Layer (+ front-end)
  • Facade – the only entry to a module
  • Encapsulation
  • Behavior-Driven Development (BDD)
  • Future refactoring
  • Command Query Responsibility Segregation (CQRS)
  • Facade vs service
  • CommandHandler
  • QueryRepository
  • Clean / Hexagonal / Onion Architecture, Ports and Adapters architecture
  • Layers beyond technical ones: capabilities, operations, policies, decision support
  • Dependency inversion
  • Ports and adapters
  • Persistence in adapters
  • Using Spring only as an adapter
  • Maven Modules
  • Dependencies between modules
  • Module vs package
  • Java 9+ modules
  • Monolith vs microservices
  • Different JVM languages in modules
  • Domain-Driven Design
  • Strategic DDD
  • EventStorming
  • Tactical DDD
  • Database entities vs domain entities
  • Practical tips
  • Event-based communication
  • Publishing from domain and application layers
  • Retries of delivery
  • Handling events
  • Support in Spring

Contact us

we will organize training for you tailored to your needs

Przemysław Wołosz

Key Account Manager

przemyslaw.wolosz@infoShareAcademy.com

    The controller of your personal data is InfoShare Academy Sp. z o.o. with its registered office in Gdańsk, al. Grunwaldzka 427B, 80-309 Gdańsk, KRS: 0000531749, NIP: 5842742121. Personal data are processed in accordance with information clause.