Course Outline
Overview of the Modern .NET Platform for government systems
- Examination of the .NET 8 runtime, Software Development Kit (SDK), and unified platform capabilities
- Evaluation of the technological evolution from .NET Framework through .NET Core to .NET 8 and subsequent versions
- Fundamentals of project architecture, target framework specification, and multi-targeting strategies for government applications
- Configuration of development environments and essential tooling for secure software engineering
Modern C# Programming Practices and Language Standards
- Implementation of records, init-only setters, and immutable data structures to ensure data integrity
- Utilization of enhanced pattern matching and switch expressions for robust control flow
- Application of nullable reference types and compiler-enforced safety measures to reduce runtime errors
- Adherence to asynchronous programming standards (async/await) and memory-efficient streaming techniques
- Deployment of generic math capabilities, static abstract members in interfaces, and high-performance Application Programming Interfaces (APIs)
- Preparation of codebases for compatibility with C# 12/13 features within the .NET 8 environment for future-proofing government software
ASP.NET Core Fundamentals and Application Initialization
- Configuration of the host builder, middleware pipeline, and request processing lifecycle
- Strategic selection between Minimal APIs and controller-based architectures based on operational requirements
- Management of configuration providers, environment-specific settings, and secure secrets handling for sensitive government data
- Implementation of static file serving, routing rules, and endpoint conventions
- Configuration of the dependency injection container and management of service lifecycles to optimize resource utilization
RESTful API Design and Development Standards
- Adherence to REST maturity models, resource modeling principles, and Uniform Resource Identifier (URI) design standards
- Correct implementation of HTTP methods, status codes, and content negotiation protocols
- Rigorous request validation, model binding, and integration with FluentValidation for data integrity assurance
- Strategies for versioning APIs serving both public citizens and internal agency stakeholders
- Comprehensive API documentation using OpenAPI specifications and Swagger UI for transparency and accessibility
- Execution of integration tests utilizing TestServer and WebApplicationFactory to ensure service reliability
Enterprise Dependency Injection and Inversion of Control Principles
- Mastery of constructor injection, service lifetime management, and prevention of captive dependencies in government systems
- Application of decorator and factory patterns using the native dependency injection container
- Integration with Scrutor and other third-party Dependency Injection libraries as needed for specific agency requirements
- Organization of modular service registrations aligned with feature-based architectural boundaries
- Management of cross-cutting concerns through middleware implementation and filter configurations
Logging, Configuration Management, and Centralized Error Handling
- Implementation of structured logging using Microsoft.Extensions.Logging and Serilog for audit trails and monitoring
- Configuration of log levels, scopes, enrichment fields, and sink destinations to meet compliance recording standards
- Deployment of exception middleware and global error handling pipelines to maintain system stability
- Generation of ProblemDetails responses compliant with RFC 7807 standards for standardized error reporting
- Integration of health checks, telemetry data, and observability hooks for proactive system monitoring
- Implementation of correlation IDs and preparation for distributed tracing to enhance troubleshooting capabilities
Enterprise Software Architecture for .NET Solutions in the Public Sector
- Application of layered, hexagonal, and clean architecture principles to ensure modularity and testability
- Utilization of Domain-Driven Design building blocks within the .NET ecosystem for complex business logic
- Implementation of Command Query Responsibility Segregation (CQRS) and mediator patterns using MediatR
- Deployment of repository and unit-of-work patterns with Entity Framework Core for data access management
- Adoption of vertical slice architecture to enhance feature cohesion and reduce coupling
- Evaluation of architectural trade-offs among monolithic, modular monolith, and microservices approaches for government deployment contexts
Web Application and API Security Compliance
- Configuration of authentication schemes including JSON Web Tokens (JWT), OAuth2, OpenID Connect, and cookie-based flows for identity management
- Enforcement of authorization policies, claims-based access controls, and resource-based guards to protect sensitive information
- Implementation of HTTPS enforcement, HTTP Strict Transport Security (HSTS), and secure header middleware to meet cybersecurity baseline requirements
- Execution of input sanitization, output encoding, and mitigation strategies aligned with the OWASP Top 10 vulnerabilities
- Management of rate limiting, Cross-Origin Resource Sharing (CORS) policies, and anti-forgery token handling to prevent abuse
- Secure secret management via Azure Key Vault and environment-driven rotation protocols for credential protection
Code Quality Assurance and Maintenance Best Practices
- Enforcement of coding standards through EditorConfig and dotnet format utilities to ensure consistency across development teams
- Integration of static analysis tools, including Roslyn analyzers and SonarQube, to identify code defects and security risks early
- Development of unit tests using xUnit frameworks with mocking capabilities via Moq or NSubstitute for reliable test isolation
- Execution of integration and contract testing within Continuous Integration (CI) pipelines to validate system integrity
- Application of refactoring techniques for the maintenance and modernization of legacy modules
Documentation, API contract management, and knowledge-sharing practices to support long-term government project sustainability
Legacy Modernization Strategy: Assessment of .NET Framework Applications
- Portfolio analysis strategies to classify applications based on criticality, technical complexity, and business value for prioritization
- Utilization of the .NET Upgrade Assistant and compatibility analyzers to identify migration requirements for government software
- Identification of deprecated APIs, platform-specific dependencies, and third-party library gaps that require replacement or workarounds
- Assessment of Windows-specific API dependencies and considerations for Windows Communication Foundation (WCF) migration to modern standards
- Development of a risk-based migration roadmap aligned with agency IT strategic goals for government transition planning
Progressive Migration and System Coexistence Techniques
- Application of the Strangler Fig pattern to incrementally replace legacy subsystems with modern components without service interruption
- API-first migration strategies involving the exposure of existing .NET Framework domains via RESTful facades to facilitate gradual transition
- Implementation of message-based bridging using technologies such as RabbitMQ, Azure Service Bus, or Kafka for asynchronous communication between systems
- Strategies for shared database coexistence and schema versioning to maintain data consistency during migration phases
- Operational strategies for running .NET Framework and .NET 8 applications side-by-side within the same infrastructure environment
- Approaches to containerizing modern components while maintaining legacy services on Internet Information Services (IIS) to optimize resource usage
Moderation Lab: Practical Migration Execution and Review
- Practical application of the Upgrade Assistant to a representative legacy project to demonstrate migration workflows for government developers
- Refactoring procedures for converting Web Forms or WCF services into ASP.NET Core APIs aligned with modern architecture standards
- Implementation of dependency injection, structured logging, and centralized error handling in the newly migrated solution to ensure operational robustness
- Integration of authentication and authorization mechanisms into the new API surface to maintain security compliance
- Post-lab review, questions and answers, and guidance on post-training modernization planning to support long-term agency IT transformation goals
Verification of system coexistence through comprehensive end-to-end integration testing to validate functional parity for government systems
Requirements
Testimonials (2)
Interactivity and on-the-fly code solutions
Eduard-Emanuel Zaharia - Kruk Italia
Course - Advanced Blazor
chance to do hands-on and patience of trainer