Schulungsübersicht
Einführung in die moderne .NET-Plattform
- .NET 8-Laufzeit, SDK sowie das Gesamtkonzept der Plattform verstehen
- Unterschiede zwischen .NET Framework, .NET Core und .NET 8 im Überblick erfassen
- Grundsätzliche Struktur von Projekten, Auswahl geeigneter Zielplattformen sowie multiplattformfähige Entwicklungen kennenlernen
- Entwicklungsumgebung und benötigte Tools einrichten
Aktuelle C#-Praktiken und zukunftsorientierte Programmieransätze
- Einsatz von Records, initialisierbaren Eigenschaften sowie Konzepten der Unveränderlichkeit
- Erweiterungen im Bereich Pattern Matching und neue Switch-Expressions nutzen
- Behandlung von Nullable Reference Types und verbesserte Kompilierungssicherheit verstehen
- Beste Praktiken beim asynchronen Programmieren sowie effizientem Umgang mit Datenströmen beherrschen
- Verwendung von Generic Math, statischen Abstraktionen in Schnittstellen und leistungsorientierten APIs
- Vorbereitung bestehender Codebases auf neuere C#-Funktionen der Versionen 12/13 unter .NET 8
Grundlagen von ASP.NET Core und Erstellung erster Anwendungen
- Funktionsweise des Host Builders, des Middleware-Flows sowie der Anfrageverarbeitung begreifen
- Vergleich zwischen Minimal APIs und klassischen Controller-basierten Ansätzen zur Wahl der passenden Vorgehensweise
- Konfigurationssysteme, bedarfsorientierte Einstellungen sowie sichere Verwaltung von Geheimdaten kennenlernen
- Statische Inhalte, Routing-Regeln und Standardkonventionen für Endpunkte verstehen
- Einrichtung des Dependency Injection-Containers und Bestimmung geeigneter Service-Lebenszyklen
Entwurf und Implementierung von REST-APIs
- Verständnis für das Konzept der Reifegrade von REST, Ressourcenmodellierung sowie Gestaltung logischer URI-Adressen
- Richtige Anwendung von HTTP-Methoden, Statuscodes und Inhaltsverhandlungsmechanismen beherrschen
- Validierung eingehender Daten, Verarbeitung über Model Bindings sowie Integration geeigneter Validierungsbibliotheken (z. B. FluentValidation) verstehen
- Mögliche Versionierungskonzepte sowohl für öffentlich zugängliche als auch interne APIs kennenlernen
- Erstellung von API-Dokumentation mittels OpenAPI und generiertem Swagger-Interface erlernen
- Über Tests mit TestServer sowie WebApplicationFactory sicherstellen, dass die REST-Schnittstelle fehlerfrei funktioniert
Enterprise-fähige Dependency Injection und Steuerung des Objektflusses
- Einsatz der Konstruktor-gesteuerten Dependency Injection, korrekte Definition von Service-Lebenszyklen sowie Umgang mit abhängigen Modulen
- Verständnis für dekorative und fabrikbasierte Ansätze in Verbindung mit dem integrierten Container verinnerlichen
- Möglichkeiten der Integration externer Bibliotheken wie Scrutor zum Ausbau des Containers erkunden
- Strukturierte Organisation von Dienstregistrierungen nach Modulen und funktionalen Bereichen ermitteln
- Kreuzschnittstellen-Probleme durch gezielte Middleware-Konfiguration lösen
Logging, Konfigurationsverwaltung sowie zentrale Fehlerbehandlung
- Gesichertes Logging mittels Microsoft.Extensions.Logging und Serilog implementieren
- Einstellungen zu Logebenen, Erweiterbarkeit des Log-Formats sowie effiziente Konfiguration von Ausgabekanälen verstehen
- Konzepte für globale Fehlerbehandlung und zusätzliche Ausnahme-Middleware begreifen
- Aufbereitung problematischer Zustände in Form kompatibler ProblemDetails nach RFC 7807 sicherstellen
- Verwendung von Gesundheitsüberprüfungen, Telemetriedaten und Monitoring-Mechanismen verinnerlichen
- Einführung von Korrelationskennungen zur Verfolgbarkeit verteilter Transaktionen vorbereiten
Architekturmuster für Enterprise-Anwendungen unter .NET<
- Grundsätze der Schichten- sowie hexagonalen Architektur im .NET-Kontext kennenlernen
- Fundamente des Domain-driven Design und deren Umsetzung in .NET erkennen
- Funktionsweise von CQRS sowie Implementierung des Mediator-Patterns mittels MediatR verstehen
- Einsatz der Repository- sowie Unit-of-Work-Konzepte unter Verwendung von EF Core analysieren
- Strukturierung nach Vertikalschneidungsprinzipien zur Verbesserung der Funktionsintegration erforschen
- Evaluation geeigneter Konfigurationen – ob Monolith, modularer Aufbau oder Microservices – vornehmen können
Sicherheitsmaßnahmen für Webanwendungen und Schnittstellen
- Authentifizierungstechniken wie JWT, OAuth2, OpenID Connect sowie klassische Cookie-basierte Mechanismen im Detail kennenlernen
- Festlegung von Autorisierungsrichtlinien und Berechtigungsregeln unter Berücksichtigung der jeweiligen Ressourcen verinnerlichen
- Zusicherung sicherer HTTPS-Verbindungen, korrekte Einstellung der HSTS-Regelwerke sowie Vorgaben für gesicherte Header konfigurieren
- Eingabeverarbeitung, Schutz vor unbefugter Kodierung und Vermeidung klassischer Angriffsmuster gemäß OWASP Top 10 berücksichtigen
- Begrenzung von Zugriffsraten, Durchsetzung restriktiver CORS-Richtlinien sowie korrekte Vorgehensweisen bei Anti-Forgery-Tokens verstehen
- Sichere Verwaltung von Schlüsseln durch Azure Key Vault und automatisierte Rotation gemäß Umgebungsvorgaben umsetzen
Codequalität, Wartbarkeit sowie bewährte Vorgehensweisen
- Gemeinsame Kodierstandards verstehen, EditorConfig-Regeln und dotnet format nutzen
- Strukturelle Codeanalyse durch Integration von Roslyn-Analyzern sowie ggf. SonarQube sichern
- Einheitstests mittels xUnit schreiben, Mocking-Techniken mit Moq oder NSubstitute anwenden
- Erstellung von Integrations- und Schnittstellentests in CI-Pipelines etablieren
- Umstrukturierungsmaßnahmen für langjährig betriebene Komponenten geplant vornehmen können
- Dokumentation, API-Spezifikationen sowie Weitergabe fachlichen Wissens sicherstellen
Strategie zur Modernisierung: Bewertung bestehender .NET Framework-Codebase<
- Portfolioanalyse durchführen: Bestimmung der Bedeutung, Komplexität und geschäftlichen Relevanz von Anwendungen
- Nutzung des .NET Upgrade Assistant sowie eines spezialisierten Kompatibilitäts-Analyzers
- Identifikation veralteter Funktionen, systemabhängiger Bibliotheken und möglicher Lücke bei Drittanbieter-Bibliotheken
- Besonderheiten von Windows-spezifischen Funktionalitäten sowie Migrationsaspekte betreffend WCF verstehen
- Aufstellung eines phasengestalteten Modernisierungsplans unter Berücksichtigung technischer Risiken und Priorisierung
Schrittweise Migration sowie Koexistenz-Technikensegmente<
- Anwendung des sogenannten Strangler Fig-Patterns: Stückweise Austausch veralteter Systemteile
- Migration auf Basis von „API-first“-Ansätzen – Bereitstellung REST-Fassaden für klassische .NET Framework-Module
- Einführung asynchroner Kommunikationswege mit Hilfe von RabbitMQ, Azure Service Bus oder Kafka
- Gemeinsame Nutzung einer Datenbank durch mehrere Systeme sowie Methoden der Skemaversionierung kennenlernen
- Parallelbetrieb von .NET Framework- und .NET 8-Anwendungen in derselben Infrastruktur organisieren
- Containerisierung neuerer Komponenten bei gleichzeitigem Verbleib älterer Elemente auf IIS beherrschen
Praktische Migrationsübungen sowie abschließende Reflexion<
- Nutzung des Upgrade Assistant an einem repräsentativen Altprojekt vorführen können
- Umwandlung von Webanwendungen oder WCF-Diensten in moderne ASP.NET Core-APIs nachvollziehen
- Einbinden von Dependency Injection, Logging und zentraler Fehlerbehandlung in das neu konstruierte System sicherstellen
- Anbringung der nötigen Authentifizierungs- sowie Autorisierungselemente an der neu geschaffenen API-Komponente dokumentieren
- End-zu-End-Verifikation durch geeignete Integrationstests bestätigen können
- Gemeinsame Auswertung, Fragen und Antworten sowie abschließende Empfehlungen zur weiteren Modernisierungsplanung formulieren
Voraussetzungen
- Erfahrung mit Programmieren in C# sowie Kenntnisse zu objektorientierten Entwurfsprinzipien
- Grundkenntnisse über Konzepte der Webentwicklung (HTTP, HTML, CSS sowie Grundlagen von JavaScript)
- Ein grundsätzliches Verständnis für relationale Datenbanken sowie SQL-Abfragen
- Vorkenntnisse im Umgang mit .NET Framework oder ASP.NET sind hilfreich, aber nicht zwingend erforderlich
Zielgruppe
- .NET-Entwickler und Architekten, die bestehende Anwendungen aus dem .NET Framework modernisieren wollen
- Software-Ingenieure, die in das Gebiet der Enterprise-.NET-Entwicklung einsteigen möchten
- Technische Leiter, verantwortlich für die Planung von Plattform-Migrationen und deren Zusammenspiel verschiedener Systeme
- DevOps-Fachkräfte sowie Infrastrukturverantwortliche im Bereich .NET-Anwendungen
Erfahrungsberichte (2)
Interaktivität und dynamische Code-Lösungen
Eduard-Emanuel Zaharia - Kruk Italia
Kurs - Advanced Blazor
Maschinelle Übersetzung
Möglichkeit, praktisch tätig zu werden, und Geduld des Trainers
sheena - Te Manawa Taki Trauma System
Kurs - Visual Studio 2022 IDE
Maschinelle Übersetzung