Temario del curso
Introducción a la Plataforma Moderna .NET
- Descripción general del entorno de ejecución, SDK y plataforma unificada de .NET 8.
- Comparación de la evolución de .NET Framework, .NET Core y .NET 8+.
- Estructura del proyecto, marcos de destino y nociones básicas de multi-destino.
- Configuración del entorno de desarrollo y herramientas.
C# Moderno y Prácticas de Lenguaje Orientadas al Futuro
- Records, setters de solo inicialización (init-only) y patrones de inmutabilidad.
- Mejoras en coincidencia de patrones y expresiones switch.
- Tipos de referencia anulables y seguridad impulsada por el compilador.
- Mejores prácticas asíncronas (async/await) y streaming eficiente en memoria.
- Aritmética genérica, abstractos estáticos en interfaces y APIs orientadas al rendimiento.
- Preparación de bases de código para características de C# 12/13 en .NET 8.
Fundamentos de ASP.NET Core e Inicio de la Aplicación
- Constructor del host, pipeline de middleware y ciclo de vida de las solicitudes.
- APIs mínimas versus APIs basadas en controladores: criterios de decisión.
- Proveedores de configuración, ajustes específicos del entorno y gestión de secretos.
- Archivos estáticos, enrutamiento y convenciones de puntos finales.
- Configuración del contenedor de inyección de dependencias y ciclos de vida de los servicios.
Diseño e Implementación de APIs REST
- Modelo de madurez REST, modelado de recursos y diseño de URI.
- Métodos HTTP, códigos de estado y negociación de contenido.
- Validación de solicitudes, enlace de modelos e integración con FluentValidation.
- Estrategias de versionado para APIs públicas e internas.
- Documentación con OpenAPI y Swagger UI.
- Pruebas de integración de APIs con TestServer y WebApplicationFactory.
Inyección de Dependencias Empresarial e Inversión de Control en .NET
- Inyección por constructor, ciclos de vida de servicios y dependencias cautivas.
- Patrones decorador y fábrica con el contenedor integrado.
- Integración de Scrutor y bibliotecas DI de terceros.
- Registro modular de servicios y organización basada en funciones.
- Preocupaciones transversales a través de middleware y filtros.
Registro, Configuración y Manejo Centralizado de Errores
- Registro estructurado con Microsoft.Extensions.Logging y Serilog.
- Niveles de registro, ámbitos, enriquecimiento y configuración de sinks.
- Middleware de excepciones y pipelines globales de manejo de errores.
- ProblemDetails y respuestas de error compatibles con RFC 7807.
- Health checks, telemetría y ganchos de observabilidad.
- Preparación de IDs de correlación y trazado distribuido.
Arquitectura de Software para Soluciones Empresariales en .NET
- Principios de arquitectura estratificada, hexagonal y limpia.
- Componentes básicos del diseño dirigido por el dominio (DDD) en .NET.
- Patrones CQRS y mediador con MediatR.
- Patrones Repositorio y Unidad de Trabajo con EF Core.
- Arquitectura de segmentos verticales para cohesión funcional.
- Evaluación de compensaciones entre monolito, monolito modular y microservicios.
Seguridad para Aplicaciones Web y APIs
- Esquemas de autenticación: JWT, OAuth2, OpenID Connect y flujos basados en cookies.
- Políticas de autorización, acceso basado en claims y guardias basadas en recursos.
- Aplicación de HTTPS, HSTS y middleware de encabezados seguros.
- Saneamiento de entradas, codificación de salidas y mitigación de los OWASP Top 10.
- Límites de velocidad (rate limiting), políticas CORS y manejo de tokens anti-falsificación.
- Gestión de secretos con Azure Key Vault y rotación basada en entorno.
Calidad del Código, Mantenibilidad y Mejores Prácticas
- Estándares de codificación, EditorConfig y dotnet format.
- Análisis estático con analizadores de Roslyn e integración con SonarQube.
- Pruebas unitarias con xUnit y simulación (mocking) con Moq o NSubstitute.
- Pruebas de integración y contrato en pipelines de CI.
- Técnicas de refactorización para módulos legacy de larga duración.
- Documentación, contratos de API y prácticas de intercambio de conocimiento.
Estrategia de Modernización: Evaluación del Código Legacy de .NET Framework
- Análisis de portafolio: clasificar aplicaciones por criticidad, complejidad y valor empresarial.
- Uso del Asistente de Actualización de .NET (.NET Upgrade Assistant) y analizador de compatibilidad.
- Identificación de APIs obsoletas, dependencias específicas de plataforma y brechas en terceros.
- APIs específicas de Windows y consideraciones para la migración de WCF.
- Creación de una hoja de ruta de migración con priorización basada en riesgos.
Técnicas de Migración Progresiva y Coexistencia
- Patrón Strangler Fig: reemplazo incremental de subsistemas legacy.
- Migración primero la API: exposición de dominios de .NET Framework a través de fachadas REST.
- Interconexión basada en mensajes con RabbitMQ, Azure Service Bus o Kafka.
- Coexistencia de base de datos compartida y estrategias de versionado de esquemas.
- Ejecución paralela de .NET Framework y .NET 8 en la misma infraestructura.
- Contenedorización de componentes modernos mientras se deja el legacy en IIS.
Laboratorio Práctico de Migración y Revisión
- Aplicación del Asistente de Actualización a un proyecto legacy representativo.
- Refactorización de un servicio Web Forms o WCF hacia APIs ASP.NET Core.
- Implementación de DI, registro y manejo centralizado de errores en la solución migrada.
- Agregado de autenticación y autorización a la nueva superficie de API.
- Verificación de coexistencia mediante pruebas de integración end-to-end.
- Revisión, preguntas y respuestas, y orientación para la planificación de modernización post-formación.
Requerimientos
- Experiencia con programación en C# y principios de diseño orientado a objetos.
- Conocimiento de conceptos de desarrollo web (HTTP, HTML, CSS, nociones básicas de JavaScript).
- Comprensión básica de bases de datos relacionales y SQL.
- Exposición previa a .NET Framework o ASP.NET es útil pero no requerida.
Audiencia
- Desarrolladores y arquitectos de .NET que se preparan para modernizar aplicaciones legacy de .NET Framework.
- Ingenieros de software que ingresan a roles de desarrollo empresarial en .NET.
- Líderes técnicos responsables de la planificación de migración de plataforma y coexistencia.
- Personal de DevOps e infraestructura que da soporte a los ciclos de vida de aplicaciones .NET.
Testimonios (2)
Interactividad y soluciones de código al momento
Eduard-Emanuel Zaharia - Kruk Italia
Curso - Advanced Blazor
Traducción Automática
oportunidad de trabajar de forma práctica y paciencia del formador
sheena - Te Manawa Taki Trauma System
Curso - Visual Studio 2022 IDE
Traducción Automática