- Introducción
- El origen del UML: Unified Modeling Language
- El Proceso Unificado
- MDA: Model Driven Architecture
- Introducción
- El objeto
- La abstracción
- Clases de objetos
- Encapsulación
- Herencia
- Especialización y generalización
- Clases abstractas y concretas
- Polimorfismo
- Composición
- La especialización de los elementos: la noción de estereotipo en UML
- Modelado de Requisitos: Diagrama de los casos de uso
- - Casos de uso
- - Actor
- - Escenario
- - Representación textual de los casos de uso
- Modelado de la dinámica
- - Diagrama de secuencia
- - Diagrama de comunicación
- - Marcos de interacción
- Modelado de objetos
- - Conocer los objetos del sistema por descomposición
- - Representación de clases
- - Las asociaciones entre objetos
- - Relación de generalización/especialización entre clases
- - Diagrama de objetos o instancias
- - Diagrama de estructura compuesta
- Introducción
- Empaquetado y diagrama de empaquetado
- Asociaciones entre empaquetados
- Modelado de objetos
- - La noción de estado
- - El cambio de estado
- - Elaboración del diagrama de estados-transiciones
- - El diagrama de timing
- Modelado de las actividades
- - Las actividades y los encadenamientos de actividades
- - Las particiones o calles
- - Las actividades compuestas
- - El diagrama de vista de conjunto de las interacciones
- Modelado de la arquitectura del sistema
- - El diagrama de componentes
- - El diagrama de despliegue
- Introducción
- Los perfiles
- Estereotipos
- Tagged values
- Introducción
- Instalación
- Interface
- Crear un Proyecto
- Guardar un proyecto
- Diagrama de clases
- - Crear Y editar un diagrama de clases
- - Crear y editar elementos
- - Agregar atributos y operaciones
- - Crear generalización
- - Crear asociación
- Análisis textual
- - Crear diagrama de análisis textual
- - Determinar clases y elementos
- - Crear clases candidatas
- Diagrama de componentes
- - Crear un componente
- - Crear una interface
- MÓDULO 2. JAVA CORE ADVANCED
- Inmutabilidad y concurrencia
- Concurrencia
- Creación de una clase inmutable en Java
- ¿Qué es la inyección de dependencias?
- Inyección de dependencias en Java
- Inyección de dependencias en Spring
- Inversión de control
- - Contenedor de Inversión de Control (inyección de dependencia)
- Inyección de dependencias mediante constructor
- Inyección de dependencias mediante "Setter"
- Garbage Collection
- Beneficios de la recolección de basura de Java
- Destrucción de objetos
- - Destrucción de objetos
- Patrones de creación
- Patrones estructurales
- Patrones de comportamiento
- Introducción
- Arquitectura de Java
- - Java Virtual Machine (JVM)
- - Garbage Collector
- - Seguridad de código
- Arquitectura de JVM
- Enumeración
- Anotación
- - Tipos de anotaciones estándar
- Serialización
- Introducción
- - Clases para trabajar con thread
- Ciclo de vida de un thread
- - Ejemplo de uso de hilos
- Métodos de la clase Thread
- Sincronización
- Sincronización en Java
- - Método sincronizado de Java
- - Bloque sincronizado
- Comunicación entre subprocesos
- La necesidad de sincronización en Java
- Introducción
- Clase InetAddress
- Socket
- Clase URL
- Clase URLConnetion
- Imágenes
- Trabajar con imágenes
- Leer/Cargar una imagen
- Dibujar una imagen
- Creación de una imagen
- Java Beans
- Enterprise Java Beans
- Tipos de beans
- Especificaciones
- Mejores prácticas de codificación de Java MÓDULO 3. DESARROLLO WEB CON JAVA EE / JAKARTA EE
- Introducción a Jakarta EE
- ¿Por qué Jakarta EE?
- Aplicaciones Jakarta EE y la nube
- El lenguaje Java
- Especificaciones estandarizadas
- Arquitectura de una aplicación Jakarta EE
- Contenedores y Docker en el ecosistema Jakarta EE
- Cloud-native Jakarta EE: Desplegando en la nube
- Primeros pasos
- Introducción Servlets en Jakarta EE
- Ciclo de vida de un servlet
- Ejemplo
- Introducción de Jakarta WebSocket
- Crear la aplicación Jakarta WebSocket
- Crear el punto final del servidor Jakarta WebSocket
- Configuración de dependencias en el archivo POM
- Configuración del entorno para RESTful Web Services
- Creando un servicio REST: Hola Mundo
- Lectura y extracción de datos desde una URL
- Soporte JSON en Jakarta EE
- Procesamiento avanzado de JSON con Jakarta EE
- Uso avanzado de punteros JSON
- Aplicación de parches JSON para modificar datos
- Integración con bases de datos usando JPA y JSON
- Introducción a Bean Validation
- Uso de restricciones integradas
- Uso de la validación de grupo
- Creación de restricciones personalizadas
- Validación de bean en cascada
- Creación de aplicaciones con restricciones de Jakarta
- Inyección de dependencias
- La especificación Jakarta CDI
- Patrones de diseño con CDI
- Introducción a Jakarta XML Web Services
- Creación de un servicio web con JAX-WS
- Definición de nodos finales en JAX-WS
- Implementación de un servidor JAX-WS en Eclipse
- RESTful Web Services: Fundamentos y mejores prácticas
- Diseño de APIs RESTful
- Documentación de APIs con Swagger/OpenAPI
- Instalación y configuración de Jersey
- Configuración de contenedores web y servidores
- Creación de un API REST con Jakarta EE
- Implementación de autenticación y seguridad en Jakarta REST
- Introducción a los Enterprise Java Beans (EJB)
- Tipos de Enterprise Beans y cuándo utilizarlos
- Beneficios y limitaciones de los EJB
- Creación de Enterprise Beans en aplicaciones modernas
- Introducción a la persistencia de datos en Jakarta EE
- Gestión de transacciones y su ciclo de vida
- Gestor de entidades y su importancia en aplicaciones web
- Uso de Jakarta Persistence API (JPA) en bases de datos modernas
- Introducción a la mensajería en Jakarta EE
- Arquitectura y objetivos de Jakarta Messaging
- Compatibilidad con Java SE y Jakarta EE
- Implementación de una cola de mensajes con Jakarta Messaging
- Seguridad en aplicaciones Jakarta EE
- Protección del acceso administrativo y de la base de datos
- Seguridad en servicios REST y autenticación JWT
- Implementación de OAuth 2.0 en Jakarta EE
- Reactive Programming con Jakarta EE
- Microprofile: Microservicios con Jakarta EE
- Serverless y Jakarta EE
- Integración con tecnologías de Big Data y Machine Learning