Fórmate como programador(a) BackEnd con Java de Oracle, para trabajar en distintos entornos de programación.
Recibe toda la info sin compromiso.
Telepresencial, online, inCompany.
200 horas, 3-5 meses.
Impartido desde cero
Los mejores profesores
Hecho para trabajar
Adquirir los conocimientos de un programador Java de Oracle, para trabajar en distintos entornos de programación, y como implantar aplicaciones en entornos Windows y Web.
La mejor oferta formativa para formarte como programador Full Stack, con certificaciones oficiales de Oracle y Microsoft reconocidas en todo el mundo.
Java es actualmente uno de los lenguajes de programación más populares de todo el mundo; desarrolladores y programadores hacen uso de él a diario.
Según la organización sin fines de lucro Code.org en el año 2020 habrá unos 400 mil estudiantes en carreras relacionadas con la informática mientras que la demanda de empleos en el sector será de 1,4 millones.
Por lo tanto, si quieres dedicarte de forma profesional al desarrollo y a la programación web, este curso de Java es una opción excelente para especializarte en este lenguaje de programación.
Siguiendo el currículum oficial de Oracle, te presentamos un curso totalmente actualizado y práctico.
Componentes de hardware y software de una aplicación empresarial. Sistemas ERP y arquitectura modular. Entornos integrados de desarrollo.
Tipos de lenguaje: compilados e interpretados. Fundamentos del lenguaje: variables, métodos y clases. Herencia de código. Uso de base de datos. Patrones de diseño MVVM y MVC.
Evolución de las metodologías de desarrollo. Metodología ágil Scrum. Participantes y artefactos en Scrum. Principios de diseño.
Fundamentos de Java y clases
Trabajaremos con el JDK de Java de última generación y los entornos de desarrollo IntelliJ y VS Code. Crearemos aplicaciones sencillas usando Maven y Spring Boot. Comenzaremos con sencillos ejemplos de aplicaciones de consola para mostrar el uso de
variables, métodos, operaciones aritméticas, operaciones lógicas, bucles, estructuras if y switch, etc. Se verán ejemplos de uso de arrays.
Instalación del entorno del desarrollo para Java. Creando aplicaciones con Maven y Spring Boot. Estructura de un programa de Java. Modularidad y bloques de código. Variables y métodos. Operaciones. Arrays. Estructuras de programación. Conceptos de diseño. Clases y objetos. Campos, propiedades y métodos de clase.
Herencia e interfaces
Diseñaremos varias clases para varias utilidades.En cada tipo de clase se explicarán las reglas de diseño a aplicar. Veremos que las enumeraciones son un tipo particular de clase. Veremos cómo reutilizar código partiendo de una clase de ejemplo usando por un lado composición y por otra herencia. Se formalizarán reglas de diseño para aplicar herencia: uso de constructores y reescritura de métodos. Veremos un ejemplo de significado del polimorfismo. Se explicará el uso de las interfaces tanto para
representar comportamientos, como para establecer contratos. Veremos cómo las expresiones lambda derivan del uso de interfaces como contratos.
Diseño de clases: Constructores e inicializadores, reglas de diseño de clases. Clases internas. Accesibilidad. Enumeraciones. Herencia vs composición. La superclase Object. Reescritura y sobrecarga de métodos. Clases y métodos abstractos. Polimorfismo. Interfaces como tipo y como contratos. Interfaces funcionales y expresiones lambda. Gestión de excepciones.
Clases predifinidas y modularización
Repasaremos las clases Integer, Float, Character, etc. Como alternativa de los tipos primitivos. Veremos ejemplos de manipulación de strings: búsqueda, sustituciones y transformaciones. Usaremos la clase Pattern para aplicar expresiones regulares. Veremos cómo localizar una aplicación para varios idiomas usando la clase Locale y ficheros de propiedades. Veremos cómo manipular fechas y horas con las clases Date y Calendar vs la nueva API LocalDate-LocalTime. Usaremos genéricos para hacer más adaptable el código de nuestras clases e interfaces. Veremos cómo crear aplicaciones modulares que usen librerías externas. Veremos cómo configurar bien el fichero POM de Maven para automatizar la compilación y despliegue de la aplicación.
Clases envolventes de los tipos primitivos. Strings. Expresiones regulares. Localización y globalización. El API Date-Time. Clases para formato de números y fechas. Los patrones de diseño Singleton y Builder. Factory y Observer. Tipos genéricos. Modulación de librerías. Opciones de configuración con Maven.
Uso de frameworks y anotaciones
Veremos qué son realmente las anotaciones y su importancia para crear un framework. Se usará para ello técnicas de reflexión.
Crearemos un framework sencillo para entender cómo funciona Spring Boot y otros frameworks. Usaremos Spring Boot a alto nivel para crear proyectos de Java. Veremos la técnica de inyección de dependencias y el uso de objetos Bean en Spring Boot. Integraremos pruebas unitarias y opciones de depuración.
Anotaciones y reflexión. El concepto de los frameworks. El framework Spring Boot. Uso de beans e inyección de dependencias en Spring Boot. Depuración y pruebas unitarias.
Colecciones y streams
Veremos ejemplos de cada tipo de colección: listas, pilas, colas, conjuntos y mapas. Se repasarán colecciones especializadas,
incluyendo las que usan referencias débiles para controlar la recolección de basura. Veremos las operaciones funcionales que ofrece la clase Stream para consultar y transformar colecciones. Por último veremos cómo crear ficheros de configuración usando la colección Properties, y como crear ficheros de preferencias.
Jerarquía de colecciones. Listas, pilas y colas. Conjuntos. Mapas. Programación funcional con Stream. Colecciones para recolección de basura. Configuraciones y preferencias.
Operaciones de E/S
Hablaremos del sistema de directorios y ficheros. Primero usaremos la clase File para manipular ficheros. Después usaremos las clases del paquete nio. Veremos un ejemplo de almacenaje de objetos usando secuenciación con InputStream y OutputStream. Veremos cómo usar serialización para almacenar objetos. Por último veremos cómo secuenciar datos a consola usando la clase Console.
El sistema de ficheros. La clase File. El API Java NIO. Secuenciación y el modelo de flujos. Escritura y lectura de ficheros. Serialización y deserialización. La clase Console.
Programación asíncrona
Veremos en qué consiste la programación asíncrona. Primero usaremos la clase Thread y la interfaz Runnable para ver cómo trabajan los hilos de ejecución. Después usaremos los nuevos tipos del API de Concurrencia para crear grupos de hilos, pararlos, planificarlos y sincronizarlos. Veremos cómo usar barreras, semáforos y otras clases para bloquear y sincronizar hilos. Los flujos reactivos son un modelo de secuenciación de datos muy potente. Veremos en qué consisten.
Hilos simples: Thread y Runnable. Planificación y sincronización de hilos. El API de Concurrencia: Executors. API asíncrona: CompletableFuture Clases para bloqueos de hilos. Técnicas concurrentes. Modelo de flujos reactivos con el API Flow.
Bases de datos
Veremos en qué consiste una base de datos y el lenguaje SQL. También trabajaremos con bases de datos de Mongo DB. Desde Java primero trabajaremos con una base de datos usando la tecnología JDBC. Veremos cómo conectarnos a una base de datos, hacer
consultas, realizar altas, bajas y actualizaciones. Aplicaremos el patrón DAO con JDB analizando las variantes que podemos aplicar. Spring Boot ofrece el API JDBCTemplate para simplificar el uso de bases de datos SQL. Por último veremos cómo trabajar con Java Persistente y la librería Hibernate, que utilizan un modelo objeto-relacional.
El API JDBC. Consultas a bases de datos. Operaciones de altas y bajas. DataSources. El patrón DAO. Transacciones. Spring JDBCTemplate Spring Data JPA e Hibernate.
Aplicaciones web con Spring Boot
Veremos en qué consiste una aplicación Web y el protocolo HTTP. Con Spring Boot veremos cómo se pueden crear aplicaciones web autoejecutables o ejecutables a través de un servidor web. Primero trabajaremos con controladores que gestionen solicitudes web para retornar datos. Crearemos un servicio de tipo REST. Veremos como usar la librería HTTPClient para que una aplicación cliente realice solicitudes web a nuestra apliación. Veremos como implementar un websocket.
El modelo Cliente/Servidor. El protocolo HTTP/1.1 y HTTP/2. Aplicaciones Spring Boot autoejecutables. Controladores para gestionar solicitudes. Servicios REST basados en controladores. Spring Data Rest. API HTTPClient. API WebSocket.
Spring Boot - Plantillas y servidores externos
Añadiremos páginas web a las aplicaciones de Spring Boot. Se podrán usar varios motores de generación de páginas. Nos entraremos en Thymeleaf. Diseñaremos páginas con formularios web e integraremos bases de datos. Veremos cómo gestionar los datos y validarlos. Crearemos una aplicación de tipo WAR que debe ser ejecutada por un servidor Apache Tomcat.
Páginas HTML. Motor de renderizado JSP. Motor de renderizado Thymeleaf. Uso de formularios web. Uso de controladores y modelos. Validación de formularios. Uso de servidores web externos. Aplicaciones web de tipo WAR.
Técnicas avanzadas con Spring Boot
Spring Boot ofrece técnicas avanzadas para enriquecer las aplicaciones web. Comenzaremos aplicando seguridad de acceso a nuestra aplicación. Mediante flujos reactivos podremos enviar datos de forma asíncorna a los clientes. Implementaremos un servicio que use mensajería.
Spring Security. Seguridad OAuth. Flujos reactivos: Mono y Flux Servicios de mensajería.
Frameworks JEE
Daremos un repaso a las tecnologías web antiguas de Java. Aunque se quedan obsoletas ante Spring Boot conviene conocerlas. El framework JEE hace uso de páginas JSP y componentes Servlets. El API Spring MVC se construye sobre JEE.
l API Servlet y JSP. Uso de etiquetas. Servicios RestFul. El API Spring MVC.
Seminario de certificación para prepararte para la certificación oficial de programación Java SE 11. Te preparamos para el examen de Oracle Java SE 11 Developer (1Z0-819).
Todas las experiencias de nuestros alumnos son clave y conocerlas nos ayuda para seguir dando el máximo de nosotros.
Una parte fundamental de nuestro compromiso para la mejora continua son las encuestas de satisfacción acerca de la calidad formativa.
Cuando se termina una convocatoria telepresencial, pedimos a los alumnos la valoración de forma anónima del curso en términos generales, material ofrecido y evaluación del profesor. También se podrá compartir cualquier sugerencia que nos ayude a mejorar la calidad de nuetras acciones formativas.
La puntuación media de este curso según las encuestas de satisfacción es de 4.9 sobre 5 (basada en 67 encuestas).
Con cualquiera de las modalidades podrás comenzar directamente.
Echa un vistazo a las últimas opiniones que hemos recibido a través de Google.
Ven a vernos y estudiamos cómo podemos ayudarte a conseguir tus objetivos laborales en el área TIC, nuestra oficina está en Barcelona cerca de la parada del metro "Mercat Nou" (entre Sants y Ciudad de la Justicia).
Si quieres asegurarte que podemos atenderte al momento, concierta una cita a través del número de teléfono 932 201 110.
FUNDAE
Si estás trabajando, deberías de saber que las empresas disponen de un crédito para la formación de sus trabajadores que pueden hacer efectivo mediante la aplicación de bonificaciones a la Seguridad Social una vez realizada la formación.
La bonificación se obtiene a través de la Fundación Estatal para la Formación (FUNDAE, antes Fundación Tripartita) y desde Profesional Online nos encargamos de todos los trámites sin coste.
Algunas de las empresas que confían en nosotros: