Contacta con nosotros

Temario del curso

Introducción a la Plataforma .NET Moderna

  • Nuevo entorno de ejecución (runtime), SDK y descripción general de la 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-targeting.
  • Configuración del entorno de desarrollo y herramientas necesarias.

C# Moderno y Prácticas de Lenguaje Orientadas al Futuro

  • Records, setters solo de inicialización (init-only) y patrones de inmutabilidad.
  • Mejoras en la coincidencia de patrones (pattern matching) y expresiones switch.
  • Tipos de referencia anulables y seguridad impulsada por el compilador.
  • Mejores prácticas con async/await y transmisión eficiente en memoria.
  • Matemáticas genéricas, abstracciones estáticas en interfaces y APIs orientadas al rendimiento.
  • Preparación de bases de código para las características de C# 12/13 en .NET 8.

Fundamentos de ASP.NET Core e Inicio de la Aplicación

  • Host builder, pipeline de middleware y ciclo de vida de la solicitud.
  • APIs mínimas (Minimal APIs) frente a 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 de extremo.
  • Configuración del contenedor de inyección de dependencias y tiempos 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

  • Inyección por constructor, tiempos de vida de servicios y dependencias cautivas (captive dependencies).
  • Patrones de decorador y fábrica con el contenedor integrado.
  • Integración de bibliotecas DI de terceros como Scrutor.
  • Registro modular de servicios y organización basada en características.
  • 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.
  • Comprobaciones de estado (health checks), telemetría y puntos de extensibilidad para observabilidad.
  • IDs de correlación y preparación para rastreo distribuido.

Arquitectura de Software para Soluciones Empresariales en .NET

  • Principios de arquitectura en capas, hexagonal y limpia.
  • Elementos fundamentales del diseño dirigido por el dominio (DDD) en .NET.
  • Patrones CQRS y mediador con MediatR.
  • Patrones de repositorio y unidad de trabajo con EF Core.
  • Arquitectura de rebanadas verticales (vertical slices) para cohesión de funciones.
  • 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 afirmaciones (claims) y guardias basados en recursos.
  • Habilitación estricta de HTTPS, HSTS y middleware de encabezados seguros.
  • Limpieza de entrada, codificación de salida y mitigación de los Top 10 de OWASP.
  • Limitación 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 impulsada por el 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 Roslyn e integración con SonarQube.
  • Pruebas unitarias con xUnit, y mockeo con Moq o NSubstitute.
  • Pruebas de integración y contratos en pipelines CI.
  • Técnicas de refactorización para módulos heredados de larga data.
  • Documentación, contratos de API y prácticas de intercambio de conocimientos.

Estrategia de Modernización: Evaluación del Código Heredado 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 el analizador de compatibilidad.
  • Identificación de APIs obsoletas, dependencias específicas de la plataforma y brechas en terceros.
  • Consideraciones para APIs específicas de Windows y 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

  • Patrión Strangler Fig: reemplazo incremental de subsistemas heredados.
  • Migración API-first: exposición de dominios de .NET Framework a través de fachadas REST.
  • Puentes basados en mensajes con RabbitMQ, Azure Service Bus o Kafka.
  • Coexistencia de base de datos compartida y estrategias de versionado de esquema.
  • Ejecución lado a lado de .NET Framework y .NET 8 en la misma infraestructura.
  • Contenedorización de componentes modernos mientras se mantiene lo heredado en IIS.

Laboratorio Práctico de Migración y Revisión

  • Aplicación del Asistente de Actualización a un proyecto heredado representativo.
  • Refactorización de un servicio Web Forms o WCF hacia APIs de ASP.NET Core.
  • Implementación de DI, logging y manejo centralizado de errores en la solución migrada.
  • Agregación de autenticación y autorización a la nueva superficie de API.
  • Verificación de la coexistencia mediante pruebas de integración de extremo a extremo.
  • Revisión, preguntas y respuestas, y orientación para la planificación posterior al entrenamiento de modernización.

Requerimientos

  • Experiencia con programación en C# y principios de diseño orientado a objetos.
  • Familiaridad con 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.

Público Objetivo

  • Desarrolladores y arquitectos de .NET que se preparan para modernizar aplicaciones heredadas 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 plataformas y coexistencia.
  • Personal de DevOps e infraestructura que admite los ciclos de vida de aplicaciones .NET.
 21 Horas

Número de participantes


Precio por participante

Testimonios (2)

Próximos cursos

Categorías Relacionadas