- 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
- Java y arquitectura de capas
- Comunicación Capa Web+Capa Negocio
- Tecnología Enterprise Java Beans
- Evolución de la especificación EJB
- Ventajas de la tecnología EJB
- Introducción a los beans de sesión o "sessión beans"
- Tipos de acceso: local, remoto o servicio web
- Patrones, Java y EJB
- Tipos de bean de sesión
- Invocación remota de un bean de sesión
- Sesión con estado o stateful Session Bean
- La Clase Bean
- Los bean sin estado o Stateless Session Bean
- Introducción a los beans de entidad
- Características generales de la API de Persistencia en Java
- Diferencias con los beans de sesión
- Requisitos para clases de entidad
- Unidades de persistencia
- Entity Manager
- Laboratorio: EJB de estado
- Las claves principales de las entidades
- Variedad de relaciones entre entidades
- Relaciones entre entities
- Operaciones en cascada
- Estrategias de recuperación de relaciones
- Laboratorio: EJB de entidad
- Jerarquías de clases
- Estrategias de persistencia para jerarquías de clases
- Introducción
- Interfaz Query y los objetos derivados de ella
- Laboratorio: Persistencia POJO
- Introducción
- Dominios de Mensajes
- El API de JMS. Tipos de destinos
- Productores y Consumidores de Mensajes
- Beans dirigidos por mensajes o Message Driven Bean (MDB)
- Diseño de una clase para un MDB:
- Laboratorio: Crear Servicio Mensajería
- Introducción. Interceptores y Entity Listener
- Interceptor
- Deployment Descriptor
- Entity Listener
- Introducción
- Container Managed Transaction
- Bean Managed Transaction
- Introducción
- Manejo de excepciones en el contenedor
- Excepciones manejadas por el bean
- Manejo de excepciones por el cliente
- Introducción
- Interfaz TimerService
- Interfaz Timer
- Introducción
- Autorización declarativa
- Autorización programática
- Responsabilidades del administrador
- MÓDULO 2. JAVA CORE ADVANCEDUNIDAD DIDÁCTICA 1. INMUTABILIDAD Y CONCURRENCIA
- MÓDULO 3. DESARROLLO WEB CON JAVA EE / JAKARTA EEUNIDAD DIDÁCTICA 1. INTRODUCCIÓN A JAKARTA EE
- MÓDULO 4. DESARROLLO DE COMPONENTES WEB CON TECNOLOGÍAS SERVLET Y JSP. PARTE I
- MÓDULO 5. DESARROLLO DE COMPONENTES WEB CON TECNOLOGÍAS SERVLET Y JSP. PARTE II
- MÓDULO 6. DESARROLLO DE COMPONENTES DE NEGOCIO CON TECNOLOGÍA EMPRESARIAL JAVABEANS
- MÓDULO 7. DESARROLLO Y PROGRAMACIÓN DE APLICACIONES PARA ANDROIDMÓDULO 1. JAVA CORE ESSENTIALSUNIDAD DIDÁCTICA 1. INTRODUCCIÓN A JAVA
- MÓDULO 2. JAVA CORE ADVANCEDUNIDAD DIDÁCTICA 1. INMUTABILIDAD Y CONCURRENCIA
- 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
- 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
- Patrones de creación
- Patrones estructurales
- Patrones de comportamiento
- Introducción
- Arquitectura de Java
- Arquitectura de JVM
- Enumeración
- Anotación
- Serialización
- Introducción
- Ciclo de vida de un thread
- Métodos de la clase Thread
- Sincronización
- Sincronización en Java
- 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 EEUNIDAD DIDÁCTICA 1. INTRODUCCIÓN A JAKARTA EE
- Introducción a Jakarta EE
- ¿Por qué Jakarta EE?
- Aplicaciones Jakarta EE y la nube
- El lenguaje Java
- Especificaciones estandarizadas
- 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
- Declarar la dependencia de la API Jakarta WebSocket en el archivo POM de un proyecto
- Configuración
- Hola mundo EndPoint
- Lectura de información de URL
- Soporte JSON
- Procesamiento JSON
- Puntero JSON
- Parche JSON
- Enlace 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
- Servicio web Jakarta
- Implementación del servidor JAX-WS en Eclipse
- ¿Qué es REST?
- Instalación de Jersey
- Contenedor web
- Configuración requerida para proyectos web de Gradle y Eclipse
- Enterprise Java Beans (EJB)
- Características
- El contexto
- Transacciones
- El gestor de entidades
- Introducción a Jakarta Messaging
- ¿Qué es una aplicación de mensajería de Jakarta?
- Seguridad en aplicaciones Jakarta EE
- El camino de Java EE MÓDULO 4. DESARROLLO DE COMPONENTES WEB CON TECNOLOGÍAS SERVLET Y JSP. PARTE I
- Introducción
- Definir la tecnología servlet
- Definir la tecnología JavaServer Pages
- JSTL
- Definir la tecnología EJB
- Definir la tecnología Struts
- Definir la tecnología Java Server Faces
- Definir la tecnología Java Message Service
- Definir la tecnología JDBC
- Laboratorio: Creación de proyecto Web
- Introducción HttpServlet
- Buffering
- Método Service
- Cabeceras
- Elementos del path de la petición
- Desarrollar un servlet HTTP sencillo
- Configuración de un servlet
- Laboratorio: Solicitud de un Servlet
- Introducción
- Envío por POST
- Envío por GET
- Internacionalización
- Class ServletOutputStream
- Desarrollar un Servlet con getParameterValues
- Laboratorio: Recogida de parámetros
- Introducción ciclo de vida de un Servlet
- Ciclo de vida de Servlet Suspendido
- Parámetros de inicialización de un Servlet
- Controladores de error
- Seguridad
- Laboratorio: Ciclo de vida de un servlet
- Introducción
- Describir la finalidad y las funciones del contexto servlet
- Eventos ServletContext
- Introducción
- Arquitectura Aplicaciones J2EE
- Modelo Tres Capas
- Modelo Cuatro capas
- Diseño de componentes
- Introducción
- Marco de trabajo MVC
- Desarrollar una clase action de Struts
- ActionMapping
- Laboratorio: Creación de propiedades en el archivo ApplicationResource
- Introducción
- La clase HttpSession:
- Desarrollar servlets utilizando la administración de sesiones
- Describir la implementación de cookies de la administración de sesiones
- Laboratorio: Creación y uso de Cookies
- Introducción
- Ejecución de filtros
- Introducción
- Tipos de drivers
- Diseñar una aplicación web para integrarla con un DBMS
- Ejemplo de aplicación web que recupere información de una base de datos
- API de Java Naming and Directory Interface (JNDI)
- Los servicios de Nombre y Directorio
- Laboratorio: Paginación de registros MÓDULO 5. DESARROLLO DE COMPONENTES WEB CON TECNOLOGÍAS SERVLET Y JSP. PARTE II
- Introducción a la tecnología de páginas JSP
- Elementos de Script JSP
- Laboratorio: Directivas JSP
- Introducción
- Diseñar una aplicación web con etiquetas personalizadas
- Etiquetas con atributos
- Etiquetas con contenido en el cuerpo
- Utilizar etiquetas JSTL en una página JSP
- Base de datos
- Laboratorio: Contador de visitas con Custom Tags
- Introducción
- Crear una clase ActionForm
- Creación De Un Proyecto Mvc Con Struts
- Laboratorio: Internacionalizar una aplicación
- Introducción
- Tipos de Campos de Entrada Soportados
- Otras Útiles Etiquetas de Presentación
- Ejemplo de utilización de las etiquetas más importantes
- Crear diseños utilizando la infraestructura Struts Tiles
- Laboratorio: Librería de etiquetas Logic
- Analizando Oportunidades con los Servicios Web
- Laboratorio: Analizando Servicios Web
- Diseñando Buenas Prácticas y Patrones para los Servicios Web
- Laboratorio: Buenas prácticas para desarrollar servicios web SOAP
- Manejando Excepciones en los Servicios Web
- Laboratorio: Excepciones WebServices
- Seguridad en los Servicios Web
- Laboratorio: Seguridad Servicios MÓDULO 6. DESARROLLO DE COMPONENTES DE NEGOCIO CON TECNOLOGÍA EMPRESARIAL JAVABEANS
- Java y arquitectura de capas
- Comunicación Capa Web+Capa Negocio
- Tecnología Enterprise Java Beans
- Evolución de la especificación EJB
- Ventajas de la tecnología EJB
- Introducción a los beans de sesión o "sessión beans"
- Tipos de acceso: local, remoto o servicio web
- Patrones, Java y EJB
- Tipos de bean de sesión
- Invocación remota de un bean de sesión
- Sesión con estado o stateful Session Bean
- La Clase Bean
- Los bean sin estado o Stateless Session Bean
- Introducción a los beans de entidad
- Características generales de la API de Persistencia en Java
- Diferencias con los beans de sesión
- Requisitos para clases de entidad
- Unidades de persistencia
- Entity Manager
- Laboratorio: EJB de estado
- Las claves principales de las entidades
- Variedad de relaciones entre entidades
- Relaciones entre entities
- Operaciones en cascada
- Estrategias de recuperación de relaciones
- Laboratorio: EJB de entidad
- Jerarquías de clases
- Estrategias de persistencia para jerarquías de clases
- Introducción
- Interfaz Query y los objetos derivados de ella
- Laboratorio: Persistencia POJO
- Introducción
- Dominios de Mensajes
- El API de JMS. Tipos de destinos
- Productores y Consumidores de Mensajes
- Beans dirigidos por mensajes o Message Driven Bean (MDB)
- Diseño de una clase para un MDB:
- Laboratorio: Crear Servicio Mensajería
- Introducción. Interceptores y Entity Listener
- Interceptor
- Deployment Descriptor
- Entity Listener
- Introducción
- Container Managed Transaction
- Bean Managed Transaction
- Introducción
- Manejo de excepciones en el contenedor
- Excepciones manejadas por el bean
- Manejo de excepciones por el cliente
- Introducción
- Interfaz TimerService
- Interfaz Timer
- Introducción
- Autorización declarativa
- Autorización programática
- Responsabilidades del administrador MÓDULO 7. DESARROLLO Y PROGRAMACIÓN DE APLICACIONES PARA ANDROIDUNIDAD DIDÁCTICA 1. INTRODUCCIÓN E HISTORIA DE ANDROID
- Introducción a Android
- Futuro de Android
- Descarga e instalación de Android Studio y SDK de Android
- Actualización de Android Studio
- Instalar / actualizar componentes del SDK de Android
- Estructura de proyectos en Android Studio
- Componentes de aplicación
- Primera aplicación: Hola Usuario
- Layouts
- Botones
- Texto e imágenes
- Checkbox y Radiobutton
- Listas desplegables (Spinner)
- ReciclerView
- Cardview
- Controles personalizados
- Fragments
- Action bar
- Action Bar por defecto
- Tool Bar
- Page Filter y Tabs
- Widget estático
- Widget dinámico
- Personalización previewImage en widget
- Shared Preferences
- Persistencia de datos con Room
- Aplicación lista de compra
- Ficheros en Android
- Tratamiento de XML en Android: Introducción
- Tratamiento de XML en Android: SAX
- Tratamiento de XML en Android: DOM
- Content Providers
- Toast
- Barra de estado
- Diálogos
- Snackbar
- Servicios web y APIS con Retrofit2
- App con Dog API
- Localización geográfica
- Google Maps
- Youtube
- Firebase: Base de datos en tiempo real
- App de Login con Firebase
- Registrar la APK (o App Bundle)
- Registrar cuenta de desarrollador
- Perfil de app en Google Play
- Subir el archivo (APK o AAB)
- Últimos detalles
