Contacta con nosotros

Temario del curso

Introducción a la plataforma moderna .NET

  • Entorno de ejecución, 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 objetivo y conceptos básicos de multiobjetivo (multi-targeting).
  • Configuración del entorno de desarrollo y herramientas.

C# moderno y prácticas de lenguaje orientadas al futuro

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

Fundamentos de ASP.NET Core y arranque de aplicaciones

\r
  • Constructor de host, pipeline de middleware y ciclo de vida de la solicitud.
  • API mínimas frente a API basadas en controladores: criterios de decisión.
  • Fuentes 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 tiempos de vida de los servicios.

Diseño e implementación de API REST

  • Modelo de madurez REST, modelado de recursos y diseño 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 API públicas e internas.
  • Documentación con OpenAPI y Swagger UI.
  • Pruebas de integración de API con TestServer y WebApplicationFactory.

Inyección de dependencias empresarial e inversión del control (IoC)

  • Inyección por constructor, tiempos de vida de servicios y dependencias cautivas.
  • Patrones de 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 características.
  • Preocupaciones transversales mediante middleware y filtros.

Registro (Logging), configuración y manejo centralizado de errores

  • Registro estructurado con Microsoft.Extensions.Logging y Serilog.
  • Niveles de registro, alcances (scopes), enriquecimiento y configuración de sumideros (sinks).
  • Middleware de excepciones y pipelines globales de manejo de errores.
  • ProblemDetails y respuestas de error compatibles con RFC 7807.
  • Comprobaciones de salud, telemetría y ganchos de observabilidad.
  • ID de correlación y preparación para rastreo distribuido.

Arquitectura de software para soluciones empresariales .NET

  • Principios de arquitectura en capas, hexagonal y limpia (clean architecture).
  • Bloques de construcción del diseño centrado en el dominio en .NET.
  • Patrones CQRS y mediator con MediatR.
  • Patrones Repository y unidad de trabajo con EF Core.
  • Arquitectura de segmentos verticales para la cohesión de características.
  • Evaluación de compensaciones entre monolito, monolito modular y microservicios.

Seguridad para aplicaciones web y API

  • Esquemas de autenticación: JWT, OAuth2, OpenID Connect y flujos basados en cookies.
  • Políticas de autorización, acceso basado en reclamaciones (claims) y guardias basados en recursos.
  • Aplicación de HTTPS, HSTS y middleware de encabezados seguros.
  • Desinfección de entrada, codificación de salida y mitigación de las Top 10 de OWASP.
  • Límite de velocidad, 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

  • Estandares de codificación, EditorConfig y dotnet format.
  • Análisis estático con analizadores Roslyn e integración con SonarQube.
  • Pruebas unitarias con xUnit y simulación (mocking) con Moq o NSubstitute.
  • Pruebas de integración y contratos en pipelines CI.
  • Técnicas de refactorización para módulos heredados de larga vida útil.
  • 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 del portafolio: clasificación de aplicaciones por criticidad, complejidad y valor empresarial.
  • Uso de .NET Upgrade Assistant y analizador de compatibilidad.
  • Identificación de API obsoletas, dependencias específicas de la plataforma y brechas en componentes de 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

  • Patrón Strangler Fig: reemplazo incremental de subsistemas heredados.
  • Migración primero la API: exposición de dominios .NET Framework a través de fachadas REST.
  • Puenteo basado en mensajes con RabbitMQ, Azure Service Bus o Kafka.
  • Coexistencia de base de datos compartida y estrategias de versionado de esquemas.
  • Ejecución simultánea de .NET Framework y .NET 8 en la misma infraestructura.
  • Contenedorización de componentes modernos mientras se deja el sistema heredado en IIS.

Laboratorio práctico de migración y revisión

  • Aplicación del Upgrade Assistant a un proyecto heredado representativo.
  • Refactorización de un servicio Web Forms o WCF hacia API de ASP.NET Core.
  • Implementación de inyección de dependencias, registro y manejo centralizado de errores en la solución migrada.
  • Añadido 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 post-formación sobre 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.
  • Es beneficioso tener exposición previa a .NET Framework o ASP.NET, pero no es obligatorio.

Audiencia objetivo

  • Desarrolladores y arquitectos de .NET que se preparan para modernizar aplicaciones heredadas de .NET Framework.
  • Ingenieros de software que transicionan hacia roles de desarrollo empresarial en .NET.
  • Líderes técnicos responsables de la planificación de migración y coexistencia de plataformas.
  • Personal de DevOps e infraestructura que da soporte a los ciclos de vida de aplicaciones .NET.
 21 Horas

Número de participantes


Precio por participante

Testimonios (2)

Próximos cursos

Categorías Relacionadas