Micro Service Architectures with .NET

.NET-Backend Workshop
Flexible Backends for Your Angular Solutions
Duration
3 Tage
Next event
07.11.2023
(1 weiterer Termin)
Level
Advanced
Location
Remote & In-house
Language
English / German
Price from
979€

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.

.NET Backends forAngular

In this training for backend and full stack developers who work on systems called by a single page application such as Angular, they will learn everything they need to create scalable, flexible, and long-term maintainable business and industrial applications based on microservice architecture. We rely on .NET and its ecosystem as a technology stack.

The training is based on a mix of theory, practice, and exercises. During the training, a complete microservice environment, including a front end, is created step by step, which you can subsequently use as a template for your own projects.

After this training, you will know the necessary methods and technologies to meet the challenges in distributed systems.

Agenda

Truly RESTful WebAPIs

This part of the training teaches how a clear and consistent web API can be created using Domain-driven Design. To ultimately make it a Truly RESTful WebAPI, the mechanisms of the HTTP protocol through to the use of hypermedia are taught and applied in this module.

The following aspects are examined in detail:

  • Get to know HTTP as an application protocol
  • What we can learn from Domain-driven Design for designing Web APIs
  • Optimized REST endpoints for creating, reading, updating, and deleting
  • Data Transfer Objects and POCOs
  • Hypermedia with JSON
  • True RESTful WebAPIs

Microservices are about breaking down an overall system into multiple processes/applications. The possibilities and consequences that result from this are discussed in more detail in this chapter.

The following aspects are examined in detail:

  • Motivation for microservices
  • Finding microservices using Event Storming and Domain Driven Design
  • Dealing with consistency requirements
  • Functionalities beyond the boundaries of individual microservices: orchestration vs. choreography
  • Basics of communication between microservices
  • Make microservices provisionable
  • Containerization using Docker

In order to enable communication between microservices but still maintain as loose a coupling as possible, asynchronous communication is usually used. Various forms of this are illustrated within this module.

The following aspects are examined in detail:

  • Basics of asynchronous communication
  • Request/Response with asynchronous communication
  • Publish/Subscribe pattern between multiple microservices
  • Saga pattern for complex communication processes with compensation in the event of errors
  • Reliability and robustness of asynchronous communication

A microservice architecture also distributes the data across different applications (microservices). In order to make everything appear “from a single source” again in the frontend, especially for single-page applications, API gateways and backends for frontend are presented as a solution in this module.

The following aspects are examined in detail:

  • Aggregating data from different microservices
  • Creating a frontend-optimized response
  • High-performance access from frontend to backend
  • Asynchronous communication to the frontend via SignalR/Web Sockets
  • HATEOAS as a possibility of state management

In order to quickly find errors in a distributed system, or better yet, to see them beforehand, an extensive telemetry and monitoring system is necessary. This will be integrated into all application components in this module.

The following aspects are examined in detail:

  • Basics of OpenTelemetry and its ecosystem
  • Collecting and evaluating traces
  • Collecting and evaluating metrics
  • Collecting and evaluating logs

In almost every application, it is essential to know which user is currently operating the system to decide whether this user is allowed to carry out a particular action. This module illustrates how this can be implemented based on the latest technologies, especially for microservices.

The following aspects are examined in detail:

  • OAuth2 and OpenId Connect as modern authentication protocols
  • Authentication Gateways to execute OAuth flows via backend
  • User sessions and sliding expiration
  • Authorization in API Gateway and microservices

Upcoming events

All of our seminars are always available remotely or in-house. Contact us to make an appointment
14.11. - 17.11. | 09:00 - 14:30 (CET)
Early Bird until 29.10.2023
Group Discount (3+ People)
Online |
  English
 |  Daniel Murrmann
from 980€

Individual In-House Company Workshops

All of our workshops are also available remotely or in-house at any time.
Contact us for an appointment

Inquire now

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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)

Newsletter

Never miss anything - subscribe to our newsletter now!
Please enable JavaScript in your browser to complete this form.