Oracle Corporation

Microservicios en Java con Spring Boot

30 hours
950,00 €
Classroom or Live Virtual Class
Classroom or Live Virtual Class

Description

El presente curso está diseñado con el objetivo de trasladar a los participantes una base sólida en la creación de arquitecturas de aplicaciones basadas en microservicios  en Java mediante Spring Boot.

Durante el curso se afrontará un proyecto como ejemplo en el que se aplicarán las principales prácticas relacionadas con arquitecturas basadas en microservicios, como Domain Driven design o Test Driven Development.

Los asistentes aprenderán a utilizar el popular framework Spring Boot para implementar y conectar entre sí cada uno de los microservicios, así como para implementar los principales patrones asociados a dicha arquitectura, como event sourcing con RabbitMQ y Spring AMQP, API Gateway con Zuul o Descubrimiento de Servicios mediante Eureka, balanceo de carga mediante Ribbon, Circuit Breakers con Hystrix, entro otros.

Este curso ha sido diseñado por PUE para atender la demanda de formación específica en microservicios en Java que muchas empresas y profesionales nos han trasladado. No es, por tanto, un curso oficial de Oracle University.

Audience and prerequisites

Este curso está dirigido a personas con conocimientos de programación en Java interesados en añadir los conocimientos necesarios para afrontar proyectos basados en arquitecturas de microservicios con garantías de éxito.

Es recomendable tener conocimientos previos de programación en Java SE y Java EE para un correcto aprovechamiento de la presente formación. Aunque no se trata de un requisito imprescindible para realizar el curso, será recomendable por parte del alumno hacer un esfuerzo en obtener estas nociones para poder seguir el ritmo del curso con garantías.

 

Objectives

Una vez finalizado el curso, el alumno habrá adquirido los conocimientos y habilidades para:

  • Comprender las diferencias entre arquitecturas de aplicaciones monolíticas y basadas en microservicios.
  • Diseñar aplicaciones mediante una arquitectura basada en microservicios.
  • Comprender la importancia del enfoque Domain Driven Design en dichas arquitecturas.
  • Aplicar Test Driven Development en el proceso de desarrollo.
  • Diseñar aplicaciones monolíticas mediante Spring Boot.
  • Diseñar aplicaciones de tres capas mediante Spring Boot.
  • Transicionar desde una aplicación monolítica a una arquitectura basada en microservicios.
  • Implementar una arquitectura basada en eventos mediante RabbitMQ y Spring AMQP.
  • Separación del Interfaz de usuario de los microservicios
  • Implementar descubrimiento de servicios mediante Eureka y balanceo de carga mediante Ribbon.
  • Enrutar la comunicación entre microservicios aplicando el patrón API Gateway mediante Zuul.
  • Crear y ejecutar tests de integración mediante Cucumber
  • Comprender cómo implementar logging mediante ELK.
  • Comprender cómo implementar trazabilidad mediante Spring Cloud Sleuth y Zipkin.
  • Comprender conceptos fundamentales sobre transacciones en una arquitecyura basada en microservicios, como la consistencia eventual y compensación.
  • Definir los principales beneficios de la ejecución de microservicios en contenedores como Docker, Kubernetes, Openshift.

Certification included

Este curso ha sido diseñado por PUE para atender la demanda de formación específica en microservicios en Java que muchas empresas y profesionales nos han trasladado. No es un curso oficial de Oracle University, por lo que no tiene una certificación oficial asociada.

Topics

Módulo 1: Diferencias entre arquitecturas monolíticas y distribuidas.

  • Comparación del tipo de llamadas( invocaciones)
  • Comparación de la disponibilidad de los servicios
  • Opciones de Depuración
  • Opciones de Testing
  • Efectos de la Refactorización
  • Diferencias en la Escalabilidad del sistema
  • Diferencias en el Control de transacciones
  • Comparación de los modelos de Seguridad
  • Flexibilidad del software

Módulo 2: Cómo diseñar una aplicación basada en una arquitectura basada en microservicios.

  • Consideraciones para adoptar una arquitectura basada en microservicios
  • Modelos de comunicación para microservicios: síncrona y asíncrona
  • Escenarios de comunicación
  • Estrategias para la transición desde una arquitectura monolítica a una arquitectura basada en microservicios:
  • Acceso a Bases de Datos desde una arquitectura basada en microservicios
  • Enrutamiento y Versionado
  • Librerías y Seguridad
  • Ejecución en Contenedores y el patrón Service Mesh

Módulo 3: Domain Driven Design

  • ¿Qué es Domain Driven Design?
  • Lenguaje común (Ubiquitous Language)
  • Bounded Contexts
  • Patrón CQRS (Command and Query Responsibility Segregation)
  • Patrón Event sourcing

Módulo 4: Creación de microservicios en java: Spring Boot

  • Introducción a Spring Boot
  • Creación de una aplicación básica con Spring Boot
  • Test Driven Development
  • Creación de una aplicación de tres capas con Spring Boot
  • Lógica de negocio
  • Capa de presentación (REST API)
  • Frontend
  • Capa de Datos
  • Transición de la aplicación a una Arquitectura basada en microservicios
  • Aplicación de una Arquitectura basada en eventos con RabbitMQ y Spring AMQP.
  • Solicitud de datos entre microservicios
  • Separación del Interfaz de usuario de los microservicios
  • Descubrimiento de servicios y Balanceo de carga
  • Descubrimiento de servicios mediante Eureka
  • Balanceo de carga mediante Ribbon
  • Spring Cloud Sidecar para arquitecturas heterogéneas
  • Enrutamiento con el patrón API Gateway mediante Zuul
  • Clientes de REST.
    • Implementación de Circuit Breakers con Hystrix
      • Integración de Hystrix con Zuul API Gateway
      • Integración de Hystrix con Clientes REST
    • Clientes REST con Feign.
  • Creación y ejecución de tests mediante Cucumber.
  • Logging con ELK.
  • Trazabilidad mediante Spring Cloud Sleuth y Zipkin.
  • Control de transacciones en microservicios.
  • Escalabilidad, ejecución en contenedores y el patron Service Mesh.

Open calls

Informative note

PUE is recognised as an official training center by Oracle with the figure Oracle Approved Education Center (OAEC).

PUE also has the recognition of being part of Oracle's WDP - Workforce Development Program. The aim of the WDP initiative is to help academic institutions to prepare students as future specialists in the most demanded technologies in the labor market.

The training provided by PUE in its calendar courses is part of the WDP initiative and is aimed at students who, both unemployed and working professionals, wish to access in the most advantageous possible way to courses in Oracle technologies (data bases, Java, etc.) officially and recognized.