El Máster en Tecnologías de Desarrollo con JAVA te sumerge en un mundo donde la demanda de desarrolladores Java está en pleno auge, impulsada por la expansión de las aplicaciones móviles y soluciones empresariales. Este máster te capacita para dominar desde lo esencial en Java Core Essentials hasta los aspectos más avanzados como la concurrencia y el diseño de patrones. A través de módulos especializados, adquirirás habilidades para desarrollar aplicaciones web con Jakarta EE y crear componentes robustos con tecnologías Servlet y JSP. Además, te introducirás en el desarrollo de aplicaciones para Android, una habilidad altamente valorada hoy en día. Al elegirnos, te unirás a una plataforma online que te ofrece flexibilidad, acceso a recursos actualizados y la oportunidad de aprender a tu ritmo. Prepárate para destacar en un sector dinámico y en constante evolución, donde el conocimiento de Java es sinónimo de oportunidades y crecimiento profesional.
El Máster en Tecnologías de Desarrollo con JAVA está dirigido a profesionales y titulados del sector tecnológico que buscan profundizar sus habilidades en programación avanzada. Este programa es ideal para quienes desean dominar Java Core, Java EE y el desarrollo de aplicaciones Android, abarcando temas como programación orientada a objetos, patrones de diseño y seguridad en plataformas Jakarta EE.
Objetivos
– Dominar la instalación y configuración de Java Development Kit en diversos entornos. – Implementar soluciones con programación orientada a objetos en Java. – Crear aplicaciones web usando servlets y JSP con administración de sesiones. – Diseñar y desarrollar aplicaciones móviles Android con Android Studio. – Integrar bases de datos en aplicaciones Java EE para la gestión eficaz de la persistencia. – Aplicar patrones de diseño avanzados en la construcción de aplicaciones Java. – Gestionar hilos y sincronización para mejorar el rendimiento en aplicaciones Java.
Salidas Profesionales
– Desarrollador de software especializado en Java – Ingeniero de aplicaciones web con Java EE/Jakarta EE – Programador de aplicaciones móviles para Android – Arquitecto de software con enfoque en patrones de diseño y JavaBeans – Especialista en integración de sistemas y servicios web – Consultor en seguridad y gestión de datos en plataformas Java – Administrador de entornos de desarrollo en Java
- 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
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
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
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
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
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
Titulación
Doble Titulación: – Titulación de Máster en Tecnologías de Desarrollo con JAVA con 1500 horas expedida por EDUCA BUSINESS SCHOOL como Escuela de Negocios Acreditada para la Impartición de Formación Superior de Postgrado, con Validez Profesional a Nivel Internacional – Titulación de Curso Superior en Java con 400 horas y 16 ECTS expedida por UTAMED – Universidad Tecnológica Atlántico Mediterráneo.