← Especialidades formativas

Especialidad formativa

Análisis, arquitectura y despliegue de software en java

IFCD0184 75 h
Ver contenido del curso

Qué aprenderás

Diseñar, análizar y desplegar aplicaciones Java mediante patrones de diseño, arquitecturas y pipelines CI/CD, integrando criterios de sostenibilidad y eficiencia energética.

Contenido del curso

01

Patrones de Diseño y Principios Arquitectónicos

  • OBJETIVO
  • Aplicar patrones de diseño y principios SOLID para mejorar mantenibilidad, realizar análisis cuantitativo de calidad de código e identificar y corregir code smells con impacto ambiental.
  • CONOCIMIENTOS/ CAPACIDADES COGNITIVAS Y PRÁCTICAS
  • Comprensión de los fundamentos de diseño de software
  • Conocimiento de principios SOLID y su aplicación en Java
  • Conocimiento acerca de criterios para evaluar calidad de código (acoplamiento, cohesión, complejidad)
  • Implementaciones haciendo uso de buenas prácticas de diseño orientado a objetos
  • Identificación de patrones de diseño esenciales
  • Uso de patrones creacionales: Factory, Builder, Singleton...
  • Uso de patrones estructurales: Adapter, Decorator, Proxy
  • Uso de comportamiento: Strategy, Observer, Chain of Responsibility
  • Conocimientos generales sobre patrones de software
  • Utilización de herramientas para el análisis de código
  • Introducción a herramientas para métricas de código (complexity, coverage, smells)
  • Realización de refactoring guiado por patrones
  • Conocimientos de sostenibilidad: impacto ambiental del código ineficiente
  • HABILIDADES DE GESTIÓN, PERSONALES Y SOCIALES
  • Concienciación acerca del impacto ambiental del código ineficiente
  • Valoración de la importancia de evaluar la calidad del código producido
02

Arquitecturas y Escalabilidad

  • OBJETIVO
  • Diseñar arquitecturas escalables y resilientes, otimizar consumo de recursos en sistemas distribuidos e implementar técnicas de profiling para mejorar eficiencia.
  • CONOCIMIENTOS/ CAPACIDADES COGNITIVAS Y PRÁCTICAS
  • Comparación de las características de distintas arquitecturas
  • Realización de Comparativas: monolitos vs microservicios vs serverless
  • Diseño de APIs RESTful y gestión de versionado
  • Conocimientos sobre event-driven architecture con Java Message Service (JMS)
  • Identificación e implementación de arquitecturas limpias y sostenibles
  • Implementación de Hexagonal/Ports & Adapters
  • Implementaciones CQRS y Event Sourcing
  • Eficiencia energética en diseño de arquitecturas distribuidas
  • Valoración de las alternativas para balancear calidad y rendimiento
  • Conocimiento de técnicas de profiling en Java (CPU, memoria, I/O)
  • Optimización de recursos computacionales
  • Diseño para escalabilidad horizontal/vertical
  • HABILIDADES DE GESTIÓN, PERSONALES Y SOCIALES
  • Evaluación de la eficiencia energética en arquitecturas distribuidas
  • Apreciación de la importancia de optimizar los recursos computacionales
03

CI/CD y Automatización en Java

  • OBJETIVO
  • Construir pipelines CI/CD para proyectos Java complejos, automatizar procesos de testing y despliegue y, reducir huella ecológica en operaciones DevOps.
  • CONOCIMIENTOS/ CAPACIDADES COGNITIVAS Y PRÁCTICAS
  • Comprensión de la automatización de los procesos de integración continua
  • Uso de Pipelines con Jenkins/GitHub Actions o similar para proyectos Java
  • Automatización de tests: unitarios, integración, carga
  • Análisis estático de código (SonarQube, Checkstyle)
  • Comprension de la automatización de los procesos de despliegue continuo
  • Empaquetado con Docker/Jib
  • Configuración de Orchestration básica con Kubernetes
  • Conocimientos de Blue-green deployments y canary releases
  • Identificaciónd e prácticas sostenibles en CI/CD
  • Optimización de recursos en pipelines
  • Monitorización de consumo energético en despliegues
  • Implementaciones que usen prácticas eco-friendly en infraestructura cloud
  • HABILIDADES DE GESTIÓN, PERSONALES Y SOCIALES
  • Valoración de la automatización como estrategia para la mejora de la eficiencia en las pruebas de software
  • Adopción de prácticas respetuosas con el medio ambiente en entornos de computación en la nube

Especialidad formativa

¿Quieres esta formación para tu organización?