
Advanced ASP.NET Core: Architectures

Daniel Murrmann
Daniel Murrmann has been involved in software engineering and the architecture and implementation of complex distributed software systems in the industrial environment for years. In doing so, the computer scientist and certified software architect relies on Angular in the frontend.
Advanced ASP.NET Core: Architectures
Learn what technologies and approaches you need to build large distributed web applications with the help of ASP.NET Core Web API that remain scaleable and long-term maintainable. This advanced workshop focuses on patterns and general approaches needed in larger applications.


Agenda
API Gateways and Backends for Frontend
- Motivation for API Gateway and Backend for Frontend patterns
- Using YARP reverse proxy as a simple API Gateway
- Aggregating data from different microservices
- Creating a frontend-optimized response
- When and how to cache data within a Gateway/BFF
HATEOAS
- Basics of hypermedia as the engine of application state
- HATEOAS as an approach to state management for highly data-driven applications
- Transferring state information to the frontend using hypermedia
- Evaluation of hypermedia for Angular frontends
Asynchronous Communication
- Basics of asynchronous communication
- Publish/Subscribe pattern for microservices
- Reliability and robustness of asynchronous communication with the outbox pattern
- Orchestration vs. choreography approaches
- Saga pattern with compensations for distributed transaction handling
- Asynchronous communication to the front end using web sockets/SignalR
Authentication and Authorization
- OAuth2 and OpenId Connect as modern authentication protocols
- Handling refresh tokens offsite the browser to enhance security
- Leveraging Authentication Gateways to execute OAuth flows via backend
- User sessions and sliding expiration
- Propagating authentication/user information to backend/microservices
Bonus: Containerization
- Motivation for containerization
- Provisionable ASP.NET Core web apps
- Setting up a simple dockerfile
- Inject alternative configurations via volume mounts
- Working with custom networks
- Using docker compose to orchestrate a set of containers
- Debugging .NET applications inside a Docker container
Upcoming events
Reviews
I also appreciated the concrete examples of how to implement DDD in folder and files structures.
Individual In-House Company Workshops
All of our workshops are also available remotely or in-house at any time.
Contact us for an appointment
FAQs on our workshops
How do your workshops and courses work?
Our seminars around Angular are a mixture of lecture, live coding and actual exercises. Together we implement what we have learned during the workshop directly on a example project. This mixture guarantees that the course never gets boring and “hands-on” is required instead of gray theory.
Who is the Angular hands-on training designed for?
Our Angular hands-on workshop is aimed at anyone who wants to develop applications with Angular in the future or is already doing so and now wants to better understand the background, context and building blocks of the framework.
Participants should have basic knowledge of web development (basic knowledge of HTML and JavaScript).
For advanced Angular developers we offer advanced seminars and intensive trainings on specific use cases.
Where do the Angular workshops take place?
Our trainings take place as public workshops in seminar rooms at central hotels in Germany, Austria and Switzerland. In-House company workshops take place at your office or conference room.
All courses are also available as remote workshops, where we meet online in a virtual classroom and do the training via video calls, screen sharing and live coding.
Who are the trainers?
Our workshops are held by experienced trainers and software architects. In recent years, we have provided Angular training to well-known companies – including well-known banks, insurance companies, industrial groups. Trainers include well-known conference speakers, authors of books and professional articles, bloggers, Google Developer Experts and university lecturers.
At what times are the training sessions held?
Especially for dedicated company trainings, we are happy to accommodate you. Typical times are 9:00AM to 4:30PM / 5:00PM. Some of our English-language workshops are timed so that you can also attend at US friendly times.
Can we also book online training courses?
Absolutely. In fact, since the pandemic, this has been our main business model and we have had very good experience with it. We use a combination of screen sharing, interactive online whiteboards, and are happy to connect to your computer for support during the exercises if you wish. As with our on-site training, we use a combination of short presentations, discussions, live coding and hands-on labs.
Since there is no travel involved, you also save time and money. We can also respond more flexibly to your scheduling needs.
Can we adapt the training for our purposes?
Yes, very much so. In fact, that’s one of the benefits of dedicated corporate training. You are welcome to weight, shorten or add to our agenda proposals. As a rule, we also coordinate with your trainer about 2 weeks before the training. If you wish, we can also arrange it earlier.
Why Angular?
Among other things, Angular’s wide distribution speaks for itself, but also the fact that Google, an Internet giant that also uses the framework very intensively, is behind it. Google alone has over 2600 solutions based on it. Due to the wide distribution, there is a large community and thus a lot of know-how on the market as well as (free and commercial) products that are adapted to Angular. In addition, Angular provides much of what you need for large applications out of the box: test automation, form management, routing, etc. In this respect, you get a stack whose components are coordinated and work together in the long term.
How do you compensate for different prior knowledge?
The good news up front is that participants with different levels of prior knowledge are the rule, not the exception, in adult education. That’s why you’ll find optional fade-in hints and bonus exercises on our exercise sheets, for those who are a little faster. Of course, we also provide personal support for the exercises.
How many participants are recommended?
If you book a company training with us, we leave this decision to you in principle. However, experience shows that there should not be more than 15 participants, especially since a seminar lives very much from questions, discussions and practical exercises.
What software do we need?
Please install the following software packages on your computer:
– NodeJS in current version (we test with current LTS version).
– Angular CLI (npm i -g @angular/cli)
– Git
– Visual Studio (free) or WebStorm/IntelliJ (commercial)
Selected happy customers





