Moderne .NET-Backends für Angular

Flexibele Backends passend zu Ihrer Angular-Lösung

In dieser weiterführenden Intensiv-Schulung lernen Sie, wie sich moderne Backends für eine Angular Anwendung entwickeln lassen. Während der Schulung werden Sie
neben der Entwicklung des Backends auch die für die Kommunikation mit dem Backend notwendige Logik innerhalb der Angular Anwendung selbst entwickeln.

Auf diese Weise erfahren Sie, wie Sie ihr Backend mit den Methoden des Domain Driven Designs in Microservices zerlegen können. Sie finden heraus, was es bei einer guten Kommunikation via HTTP Protokolls gibt und was es mit REST wirklich auf sich
hat.

Aber auch Themen wie Datenzugriff, Authentifizierung und Autorisierung werden während der Schulung näher beleuchtet.

Durch die in der Schulung enthaltenen Übungen entsteht somit ein Backend mit Angular Anwendung, das Sie im Nachhinein als Vorlage für eigene Anwendungen nutzen können.

Microservices mit ASP.NET Core

Anhand einer Fallstudie entwickeln ein ASP.NET Core Backend für einen Angular Client.

Dabei lernen wir Domain Driven Design als Architekturmuster für Microservices kennen. Unser ziel ist es, bereits am Anfang der Schulung eine funktionsfähige und erweiterbare Anwendung zu entwickeln die wir im weiteren Verlauf der Schulung ausbauen können.

Wir gehen davon aus, dass Sie bereits Erfahrung mit der Sprache C# haben. Falls nicht, können wir eine C#-Einführung in dieses Training integrieren.

Folgende Aspekte werden dabei im Detail beleuchtet:

  • Design einer Microservice Architektur mittels Domain Driven Design
  • Das HTTP Protokoll und seine Funktionen richtig nutzen
  • Design von guten REST Services mittels ASP.NET Core und Routing
  • Beschreiben Ihrer API mit Swagger/ OpenAPI
  • Logging, Startup und Konfiguration

Datenzugriff mit Entity Framework Core

Nahezu jede Anwendung arbeitet mit Daten und muss diese persistieren. Daher beleuchten wir im nächsten
Schritt die Arbeit mit relationalen Daten.

Wir erweitern unsere Anwendung um eine relationale Datenbank auf die wir mittels Entity Framework Core zugreifen. Auch hier kommt wieder ein Schlüsselelement aus dem Domain Driven Design zum Einsatz: Mit Hilfe von Aggregaten erstellen wir einen optimalen Schnitt unseres Domain Models bzw. unseres relationalen Datenbankmodels um die Daten zwischen Frontend und Backend zu übertragen.

Folgende Aspekte werden dabei im Detail beleuchtet:

  • Datenbankzugriff mittels Entity Framework Core
  • Data Transfer Objects und POCOs
  • Mappen von Beziehungen
  • Change Tracking in verteilten Systemen

Authentifizierung und Autorisierung

Eine weitere häufige Anforderung an Anwendungen ist die Möglichkeit zu erkennen wer gerade mit der
Anwendung arbeiten und ob dieser mit den angeforderten Daten/Funktionen arbeiten darf.

Daher werden wir unsere Anwendung im nächsten Schritt um Authentifizierung und Autorisierung erweitern. Wir lernen dabei wie eine bestehende Benutzerdatenbank angebunden werden kann aber auch wie wir ein eigenes Benutzerverzeichnis nur für unsere Anwendung erstellen können.

Folgende Aspekte werden dabei im Detail beleuchtet:

  • OAuth2 und OpenId Connect als moderne Authentifizierungsprotokolle
  • JSON Web Tokens (JWT) als Container für OAuth2 und OpenId Connect Informationen
  • Kennenlernen von ASP.NET Core Identity als Benutzerverzeichnis
  • Integration eines eigenen Security Token Service

Bonus: Hosting mittels Containertechnologien

Nachdem wir eine Angular Anwendung und ein zugehöriges Backend entwickelt haben werden wir beides in
Docker Container installieren. Wenn Frontend wie Backend in unserer lokalen Entwicklungsumgebung innerhalb von Docker laufen, sind wir ebenfalls gerüstet um den Schritt in die Cloud zu gehen.

Folgende Aspekte werden dabei im Detail beleuchtet:

  • Hosten einer Angular Anwendung innerhalb eines Docker Containers mittels nginx als Webserver.
  • Nutzen von Docker Compose um das gesamte System lokal auszuführen.
  • Herausforderungen beim Debugging eines Containerisierten Systems.

Weiterführende Themen

Die restliche Zeit verbringen wir mit Ihren konkreten Fragen und weiterführenden Themen. Beispiele dafür sind:

  • Arbeiten mit binären Daten und Streaming
  • Asynchrone Kommunikation via Message Queues
  • Nutzung eigener Datenformate jenseits von XML und JSON
  • Einbindung Dokument-orientierter Datenbanken wie MongoDB oder ComosDB
  • Hosting auf Azure und Nutzung von Azure-Diensten
  • Serverless mit Azure Functions
  • Nutzung von OData

Aktuelle Öffentliche Termine

Immer Nach Vereinbarung

Alle unsere Seminare sind jederzeit auch Remote oder In-House verfügbar. Kontaktieren Sie uns für eine Terminvereinbarung

Remote oder In-House

19. 10 -
21. 10
2020

Trainer: Manfred Steyer, GDE und Rainer Hahnekamp

Remote

Deutsch

30. 11 -
02. 12
2020

Trainer: Manfred Steyer, GDE und Michael Hladky, GDE

Remote

Englisch

Manfred Steyer ist Google Developer Expert (GDE) für Angular sowie Tursted Collaborator im Angular-Team. Zusammen mit seinem Team betreut er Kunden im gesamten deutschen Sprachruam. Der Fokus liegt dabei auf Geschäfts- und Industrie-Anwendungen auf der Basis von Angular.

Jetzt anfragen!