NOSOTROS CRONOGRAMA FRANQUICIA BLOG CONTACTO ACCESO SISTEMA ACADEMICO

DESARROLLO - PROGRAMACIÓN - METODOLOGÍAS

Microservicios en Java con Spring Boot

Código: JAV-P-100


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.

 Propuesta de Valor: DESARROLLO - PROGRAMACIÓN - METODOLOGÍAS

 Duración: 40 Horas

Áreas de Conocimiento:
DESARROLLO Y PROGRAMACIONTECNOLOGIAS EMERGENTES Y DISRUPTIVAS

Exportar Contenido a PDF

   AUDIENCIA


  • 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.

   PRE REQUISITOS


  • 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.

   OBJETIVOS


Objetivos del curso son;

  • 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 de tres capas mediante Spring Boot.
  • Diseñar aplicaciones monolíticas 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.

   CERTIFICACIÓN DISPONIBLE



  • Certificación emitida por COGNOS.

   CONTENIDO



1. DIFERENCIAS ENTRE ARQUITECTURAS MONOLITICAS Y DISTRIBUIDAS.

1.1. COMPARACION DEL TIPO DE LLAMADAS( INVOCACIONES)
1.2. COMPARACION DE LA DISPONIBILIDAD DE LOS SERVICIOS
1.3. OPCIONES DE DEPURACION
1.4. OPCIONES DE TESTING
1.5. EFECTOS DE LA REFACTORIZACION
1.6. DIFERENCIAS EN LA ESCALABILIDAD DEL SISTEMA
1.7. DIFERENCIAS EN EL CONTROL DE TRANSACCIONES
1.8. COMPARACION DE LOS MODELOS DE SEGURIDAD
1.9. FLEXIBILIDAD DEL SOFTWARE
1.10. ESCENARIOS DE COMUNICACION
1.11. TRANSICION DE LA APLICACION A UNA ARQUITECTURA BASADA EN MICROSERVICIOS


2. COMO DISEÑAR UNA APLICACION BASADA EN UNA ARQUITECTURA BASADA EN MICROSERVICIOS.

2.1. CONSIDERACIONES PARA ADOPTAR UNA ARQUITECTURA BASADA EN MICROSERVICIOS
2.2. MODELOS DE COMUNICACION PARA MICROSERVICIOS: SINCRONA Y ASINCRONA
2.3. ESTRATEGIAS PARA LA TRANSICION DESDE UNA ARQUITECTURA MONOLITICA A UNA ARQUITECTURA BASADA EN MICROSERVICIOS:
2.4. ACCESO A BASES DE DATOS DESDE UNA ARQUITECTURA BASADA EN MICROSERVICIOS
2.5. ENRUTAMIENTO Y VERSIONADO
2.6. LIBRERIAS Y SEGURIDAD
2.7. EJECUCION EN CONTENEDORES Y EL PATRON SERVICE MESH


3. DOMAIN DRIVEN DESIGN

3.1. ¿QUE ES DOMAIN DRIVEN DESIGN?
3.2. LENGUAJE COMUN (UBIQUITOUS LANGUAGE)
3.3. BOUNDED CONTEXTS
3.4. PATRON CQRS (COMMAND AND QUERY RESPONSIBILITY SEGREGATION)
3.5. PATRON EVENT SOURCING


4. CREACION DE MICROSERVICIOS EN JAVA: SPRING BOOT

4.1. INTRODUCCION A SPRING BOOT
4.2. CREACION DE UNA APLICACION BASICA CON SPRING BOOT
4.3. TEST DRIVEN DEVELOPMENT
4.4. CREACION DE UNA APLICACION DE TRES CAPAS CON SPRING BOOT
4.5. LOGICA DE NEGOCIO
4.6. CAPA DE PRESENTACION (REST API)
4.7. FRONTEND
4.8. CAPA DE DATOS
4.9. APLICACION DE UNA ARQUITECTURA BASADA EN EVENTOS CON RABBITMQ Y SPRING AMQP.
4.10. SOLICITUD DE DATOS ENTRE MICROSERVICIOS
4.11. SEPARACION DEL INTERFAZ DE USUARIO DE LOS MICROSERVICIOS
4.12. DESCUBRIMIENTO DE SERVICIOS Y BALANCEO DE CARGA
4.13. DESCUBRIMIENTO DE SERVICIOS MEDIANTE EUREKA
4.14. BALANCEO DE CARGA MEDIANTE RIBBON
4.15. SPRING CLOUD SIDECAR PARA ARQUITECTURAS HETEROGENEAS
4.16. ENRUTAMIENTO CON EL PATRON API GATEWAY MEDIANTE ZUUL
4.17. CLIENTES DE REST.
4.18. CREACION Y EJECUCION DE TESTS MEDIANTE CUCUMBER.
4.19. LOGGING CON ELK.
4.20. TRAZABILIDAD MEDIANTE SPRING CLOUD SLEUTH Y ZIPKIN.
4.21. CONTROL DE TRANSACCIONES EN MICROSERVICIOS.
4.22. ESCALABILIDAD, EJECUCION EN CONTENEDORES Y EL PATRON SERVICE MESH.



   BENEFICIOS



  • Al finalizar el curso los participantes Comprenderán las diferencias entre arquitecturas de aplicaciones monolíticas y basadas en microservicios.

   INVERSIÓN



La inversión incluye: Material de estudio, certificados e impuestos de ley.

  • En los cursos presenciales proveemos de una computadora por persona y refrigerios.
  • En los cursos virtuales las plataformas interactivas y acceso al aula virtual de recursos.