Contacta con nosotros

Temario del curso

Introducción a la plataforma moderna de .NET

  • Descripción general del runtime, 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 (target frameworks) y conceptos básicos de multi-targeting.
  • Configuración del entorno de desarrollo y herramientas.

C# moderno y prácticas lingüísticas orientadas al futuro

  • Records, setters 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.
  • Prácticas recomendadas para async/await y transmisión eficiente en memoria.
  • Matemáticas genéricas, abstracts estáticos en interfaces y APIs 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 e inicio de la aplicación

\r
  • Host builder, tubería middleware y ciclo de vida de solicitudes.
  • APIs mínimas 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 endpoints.
  • Configuración del contenedor de inyección de dependencias y tiempos de vida de 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 (IoC)

  • Inyección por constructor, tiempos 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 (cross-cutting concerns) mediante middleware y filtros.

Registros (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 sinks.
  • Middleware de excepciones y tuberías globales de manejo de errores.
  • ProblemDetails y respuestas de error compatibles con RFC 7807.
  • Health checks, telemetría y ganchos de observabilidad.
  • IDs de correlación y preparación para trazado distribuido.

Arquitectura de software para soluciones empresariales .NET

  • Principios de arquitectura en capas, hexagonal y limpia (clean architecture).
  • Elementos fundamentales del diseño guiado por el dominio (DDD) en .NET.
  • Patrones CQRS y mediador con MediatR.
  • Patrones repositorio y unidad de trabajo con EF Core.
  • Arquitectura vertical slice 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 afirmaciones (claims) y controles basados en recursos.
  • Aplicación estricta de HTTPS, HSTS y middleware de encabezados seguros.
  • Sanitización de entrada, codificación de salida y mitigación del OWASP Top 10.
  • Límite de frecuencia (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 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 simulación (mocking) con Moq o NSubstitute.
  • Pruebas de integración y de contratos en tuberías 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 legado de .NET Framework

  • Análisis de cartera: clasificación de aplicaciones por criticidad, complejidad y valor empresarial.
  • Uso de .NET Upgrade Assistant y el analizador de compatibilidad.
  • Identificación de APIs obsoletas, dependencias específicas de la plataforma y brechas de terceros.
  • Consideraciones sobre migración de APIs específicas de Windows y WCF.
  • Creación de una hoja de ruta de migración con priorización basada en riesgos.

Migración progresiva y técnicas de coexistencia

  • Patrón Strangler Fig: reemplazo incremental de subsistemas heredados.
  • Migración API-first: exposición de dominios .NET Framework a través de fachadas REST.
  • Conexión basada en mensajes con RabbitMQ, Azure Service Bus o Kafka.
  • Coexistencia en base de datos compartida y estrategias de versionado de esquemas.
  • Ejecución side-by-side de .NET Framework y .NET 8 en la misma infraestructura.
  • Contenerización de componentes modernos mientras se deja el legado en IIS.

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

  • Aplicación de Upgrade Assistant a un proyecto heredado representativo.
  • Refactorización de un servicio Web Forms o WCF hacia APIs ASP.NET Core.
  • Implementación de DI, registros (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 end-to-end.
  • Revisión, preguntas y respuestas, y orientación para la planificación de modernización post-capacitació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, fundamentos 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 objetivo

  • Desarrolladores y arquitectos .NET que se preparan para modernizar aplicaciones heredadas de .NET Framework.
  • Ingenieros de software que asumen roles de desarrollo empresarial en .NET.
  • Líderes técnicos responsables de la planificación de migraciones de plataforma y coexistencia.
  • Personal de DevOps e infraestructura que respalda los ciclos de vida de aplicaciones .NET.
 21 Horas

Número de participantes


Precio por participante

Testimonios (2)

Próximos cursos

Categorías Relacionadas