Ponte en Contacto

Temario del curso

1. Introducción a Apache Camel Avanzado

  • Objetivos del curso e descripción general de la arquitectura
  • Revisión de los fundamentos de Apache Camel
  • Repaso de los Patrones de Integración Empresarial (EIP)
  • Novedades en las versiones recientes de Apache Camel
  • Mejores prácticas para proyectos de integración empresarial

2. Arquitectura y conceptos avanzados de Apache Camel

  • Internos de CamelContext
  • Componentes, puntos finales, productores y consumidores
  • Gestión del ciclo de vida de la ruta
  • Plantillas de rutas y configuraciones de rutas
  • Inyección de dependencias con Spring Boot y CDI
  • Diseño modular de aplicaciones

3. Patrones avanzados de integración empresarial

  • Ruteador basado en contenido
  • Ruteador dinámico
  • Lista de destinatarios
  • Tira de enrutamiento (Routing Slip)
  • Divisor y agregador
  • Reordenador
  • Multidifusión y extracción de cable (Wire Tap)
  • Dispersión-reunión (Scatter-Gather)
  • Patrón Saga
  • Consumidor idempotente
  • Comprobante de reclamación (Claim Check)
  • Patrón de circuito abierto (Circuit Breaker)

4. Técnicas avanzadas de enrutamiento

  • Resolución dinámica del punto final
  • Enrutamiento condicional y anidado
  • Políticas de ruta
  • Plantillas de rutas
  • Creación dinámica de rutas
  • Recarga de rutas
  • Estrategias de balanceo de carga
  • Patrón EIP de llamada a servicio (Service Call)

5. Transformación de datos y procesamiento de mensajes

  • Formatos de datos (JSON, XML, CSV, YAML, Avro)
  • Marshalling y unmarshalling
  • Integración de beans
  • Procesadores y procesadores personalizados
  • Convertidores de tipo
  • Transformaciones XSLT
  • Lenguajes JSONPath, XPath y Simple
  • Soporte para Groovy y scripting

6. Trabajar con grandes volúmenes de datos y streaming

  • Procesamiento en streaming
  • Caché de secuencias
  • Gestión de archivos grandes
  • Procesamiento por lotes
  • Integración con archivos y FTP
  • Técnicas de optimización de memoria
  • Procesamiento de mensajes de alto volumen

7. Integración asíncrona y distribuida

  • Enrutamiento asíncrono
  • Procesamiento paralelo
  • Componentes SEDA y VM
  • Directo frente a Direct-VM
  • Pools de hilos y concurrencia
  • Procesamiento de mensajes distribuido
  • Consideraciones sobre la retroalimentación (back-pressure)

8. Manejo de errores y confiabilidad

  • Cláusula de excepción
  • Canal de cartas muertas (Dead Letter Channel)
  • Controlador de errores predeterminado
  • Controlador de errores de transacciones
  • Estrategias de reintento
  • Políticas de reenvío
  • Transacciones compensatorias
  • Construcción de integraciones tolerantes a fallos

9. Transacciones y confiabilidad de mensajes

  • Transacciones locales y distribuidas
  • Transacciones XA
  • Entrega exacta una vez (Exactly-once delivery)
  • Implementación de idempotencia
  • Entrega garantizada de mensajes
  • Gestión de transacciones con Spring

10. Ajuste y optimización del rendimiento

  • Cuellos de botella de rendimiento
  • Técnicas de optimización de rutas
  • Selección eficiente de componentes
  • Optimización de productores y consumidores
  • Estrategias de caché
  • Ajuste de pools de hilos
  • Evaluación comparativa (Benchmarking) de aplicaciones Camel

11. Integración de Apache Camel con sistemas de mensajería

  • Integración JMS
  • ActiveMQ
  • RabbitMQ
  • AMQP
  • Apache Kafka
  • MQTT
  • Colas de mensajes frente a transmisión de eventos
  • Patrones de mensajería confiable

12. Integración de REST y servicios web

  • DSL REST (REST DSL)
  • Consumidores y productores REST
  • Integración SOAP
  • Apache CXF
  • Orquestación de API REST
  • Integración OpenAPI
  • Versionado de API

13. Integración de bases de datos y orígenes de datos

  • Componente JDBC
  • Componente SQL
  • Integración JPA
  • Gestión de transacciones
  • Pollings a bases de datos
  • Escenarios ETL
  • Conceptos de captura de cambios de datos (Change Data Capture)

14. Integración en la nube y microservicios

  • Apache Camel con Spring Boot
  • Descripción general de Camel K
  • Descripción general de Camel Quarkus
  • Conceptos de despliegue en Kubernetes
  • Integraciones en contenedores
  • Patrones de integración nativos para la nube

15. Seguridad en Apache Camel

  • Autenticación y autorización
  • Configuración SSL/TLS
  • Servicios REST seguros
  • Gestión de secretos
  • Cifrado de datos
  • Integración con OAuth y JWT

16. Monitoreo, registro de eventos (logging) y observabilidad

  • Comprobaciones de salud de Camel (Camel Health Checks)
  • Recolección de métricas
  • Monitoreo JMX
  • Integración Micrometer
  • Descripción general de OpenTelemetry
  • Registro estructurado (Structured logging)
  • Trazabilidad distribuida

17. Pruebas de aplicaciones Apache Camel

  • Pruebas unitarias con Camel Test
  • Puntos finales simulados (Mock endpoints)
  • Pruebas de integración
  • Pruebas de aplicaciones Spring Boot
  • Descripción general de Testcontainers
  • Mejores prácticas para pruebas automatizadas

18. Solución de problemas y depuración

  • Diagnóstico de problemas de enrutamiento
  • Depuración de rutas
  • Análisis de registros
  • Diagnósticos de rendimiento
  • Problemas comunes de integración
  • Resolución de problemas de despliegue

19. Escenarios de integración del mundo real

  • Integración de aplicaciones empresariales
  • Flujos de trabajo de procesamiento de archivos
  • Arquitecturas impulsadas por eventos
  • Mediación de API
  • Estrategias de migración de sistemas
  • Ejemplos de integración híbrida

20. Mejores prácticas y directrices de diseño

  • Diseño de rutas mantenibles
  • Plantillas de rutas reutilizables
  • Gestión de configuración
  • Estándares de documentación
  • Consideraciones de gobernanza
  • Recomendaciones para el despliegue en producción

21. Taller práctico y resumen

  • Construcción de una solución completa de integración empresarial
  • Aplicación de múltiples Patrones de Integración Empresarial (EIP)
  • Integración de mensajería, bases de datos y servicios REST
  • Ejercicio de ajuste de rendimiento
  • Revisión de conceptos clave
  • Preguntas y respuestas
  • Siguientes pasos y recursos adicionales de aprendizaje

Requerimientos

  • Buen conocimiento de los fundamentos de Apache Camel
  • Experiencia en programación e integración con Java
  • Experiencia con patrones y técnicas de integración

Público objetivo

  • Desarrolladores
  • Arquitectos de integración
  • Administradores de sistemas
 21 Horas

Número de participantes


Precio por participante

Reseñas (1)

Próximos cursos

Categorías Relacionadas