Contattataci

Struttura del corso

1. Introduzione ad Apache Camel avanzato

  • Obiettivi del corso e panoramica architetturale
  • Riepilogo dei concetti fondamentali di Apache Camel
  • Ricapitolazione sui pattern di integrazione aziendale (EIP)
  • Novità nelle ultime versioni di Apache Camel
  • Best practice per i progetti di integrazione enterprise

2. Architettura di Apache Camel e concetti avanzati

  • Il funzionamento interno di CamelContext
  • Componenti, endpoint, produttori e consumatori
  • Gestione del ciclo di vita delle rotte
  • Template e configurazioni delle rotte
  • Iniezione di dipendenze tramite Spring Boot e CDI
  • Progettazione modulare delle applicazioni

3. Pattern avanzati per l’integrazione enterprise

  • Router basato sul contenuto
  • Router dinamico
  • Elenco di destinatari
  • Slip di instradamento
  • Splitter e aggregatore
  • Riorganizzatore sequenze
  • Multicast e Wire Tap
  • Scatter-Gather
  • Pattern Saga
  • Consumatore idempotente
  • Claim Check
  • Pattern Circuit Breaker

4. Tecniche avanzate di instradamento

  • Risoluzione dinamica degli endpoint
  • Instradamento condizionale e annidato
  • Politiche di instradamento
  • Template per le rotte
  • Creazione dinamica delle rotte
  • Ricarica in tempo reale delle configurazioni delle rotte
  • Strategie di bilanciamento del carico
  • EIP per la chiamata a servizi esterni

5. Trasformazione dei dati e elaborazione dei messaggi

  • Formati di dati (JSON, XML, CSV, YAML, Avro)
  • Marshalling e unmarshalling dei dati
  • Integrazione con oggetti Java (Bean)
  • Processor standard e processor personalizzati
  • Conversione automatica dei tipi di dati
  • Trasformazioni XSLT
  • Utilizzo di JSONPath, XPath e del linguaggio Simple per l’elaborazione testuale
  • Supporto allo scripting tramite Groovy<\/li>

6. Lavorare con dati di grandi dimensioni e flussi continui

  • Elaborazione in modalità streaming
  • Caching dei flussi di dati per ridurre il carico
  • Gestione di file molto grandi
  • Elaborazione batch dei dati
  • Integrazione con sistemi di archiviazione e FTP
  • Tecniche per ottimizzare l’uso della memoria
  • Elaborazione di grandi volumi di messaggi in modo efficiente

7. Integrazione asincrona e distribuita

  • Instradamento asincrono dei messaggi
  • Elaborazione parallela
  • Componenti SEDA e VM
  • Divergenze tra Direct e Direct-VM
  • Gestione dei pool di thread e della concorrenza
  • Elaborazione distribuita dei messaggi
  • Riflessioni sul controllo del flusso in sistemi ad alto carico

8. Gestione degli errori e affidabilità dei sistemi

  • Gestione delle eccezioni tramite clause apposite
  • Canali per la gestione delle comunicazioni non riuscite (Dead Letter Channel)
  • Gestore predefinito degli errori
  • Gestore specifico degli errori in contesto transazionale
  • Strategie di ripetizione automatica delle operazioni
  • Regole per il riavvio delle attività in caso di fallimento
  • Esecuzione di azioni compensative dopo un errore
  • Progettazione di sistemi resilienti alle anomalie

9. Transazioni e affidabilità nella comunicazione

  • Transazioni locali e distribuite
  • Supporto ai protocolli XA per le transazioni
  • Consegna dei messaggi esattamente una volta sola
  • Implementazione di logiche idempotenti nei sistemi
  • Garantire la consegna affidabile dei messaggi
  • Gestione transazionale in ambienti Spring

10. Ottimizzazione delle prestazioni e tuning delle applicazioni

  • Riconoscimento dei colli di bottiglia prestazionali
  • Tecniche per ottimizzare la struttura delle rotte
  • Scelta degli elementi tecnologici più adatti
  • Ottimizzazione del comportamento sia dei produttori che dei consumatori di messaggi
  • Strategie di caching efficaci
  • Configurazione ottimale dei pool di thread
  • Misurazione e benchmark delle applicazioni basate su Camel

11. Integrazione con sistemi di messaggistica

  • Integrazione tramite JMS
  • Utilizzo di ActiveMQ
  • Connessione a RabbitMQ
  • Comunicazione basata su protocollo AMQP
  • Integrazione con Apache Kafka
  • Gestione delle comunicazioni tramite MQTT
  • Diferenze tra code di messaggio e flussi di eventi
  • Pattern per garantire la comunicazione affidabile

12. Integrazione con servizi REST e web service

  • Linguaggio specifico per le operazioni REST (REST DSL)
  • Consumatori e produttori di richieste HTTP RESTful
  • Integrazione con protocollo SOAP
  • Utilizzo di Apache CXF nella comunicazione web service
  • Orchestrazione di API REST in ambienti complessi
  • Integrazione con OpenAPI
  • Gestione delle versioni delle API

13. Integrazione con database e fonti dati

  • Componente JDBC per le comunicazioni database
  • Utilizzo del componente SQL per operazioni strutturate sui dati
  • Integrazione tramite JPA
  • Gestione delle transazioni nei contesti di persistenza
  • Pollig periodico dei database alla ricerca di nuovi dati
  • Scenari tipici di estrazione, trasformazione e caricamento (ETL)
  • Nozioni di base sul Change Data Capture

14. Integrazione cloud e microservizi

  • Integrazione di Apache Camel con Spring Boot
  • Panoramica su Camel K per lo sviluppo serverless
  • Descrizione di Camel Quarkus come framework leggero per microservizi
  • Concetti chiave riguardanti il deployment in Kubernetes
  • Sviluppo di soluzioni integrate all’interno di container
  • Pattern adatti all’ambiente cloud-native

15. Sicurezza in Apache Camel

  • Meccanismi di autenticazione e autorizzazione
  • Configurazione dei protocolli SSL/TLS per la crittografia
  • Sicurezza nei servizi REST implementati
  • Gestione centralizzata delle credenziali riservate
  • Crittografia dei dati trasmessi o memorizzati
  • Integrazione con protocolli OAuth e JWT per l’autenticazione

16. Monitoraggio, logging e observabilità

  • Possibilità di verifica dello stato operativo tramite i Health Checks di Camel
  • Raccolta delle metriche operative in tempo reale
  • Monitoraggio mediante interfacce JMX
  • Integrazione con Micrometer per la misurazione dei dati
  • Panoramica sulle potenzialità di OpenTelemetry per la tracciabilità
  • Logging strutturato e facilmente analizzabile
  • Tracciamento distribuito delle attività nei sistemi complessi

17. Test delle applicazioni Apache Camel

  • Esecuzione di test unitari grazie a strumenti specifici per Camel
  • Utilizzo di endpoint mock durante i test
  • Verifica delle integrazioni attraverso test più complessi
  • Test automatici in ambienti Spring Boot
  • Descrizione e vantaggi dell’utilizzo di Testcontainers nei test software
  • Linee guida consigliate per l’automatizzazione delle attività di verifica

18. Risoluzione dei problemi e debugging avanzato

  • Identificazione tempestiva di anomalie nelle logiche di instradamento
  • Debug pratico delle rotte attive nel sistema
  • Analisi strutturata dei log generati dall’applicazione
  • Rilevamento e diagnostica rapida di colli di bottiglia prestazionali
  • Considerazioni su difficoltà comuni riscontrate nell’integrazione sistemica
  • Soluzioni efficaci per i problemi relativi al deployment in produzione

19. Scenari reali di integrazione

  • Esempi pratici di integrazione tra applicazioni enterprise
  • Flussi operativi basati sulla elaborazione automatica dei file
  • Realizzazione di architetture reattive e guidate dagli eventi
  • Razionalizzazione delle interfacce API attraverso la mediazione
  • Strategie efficaci per il trasferimento dei dati tra sistemi diversi
  • Realizzazioni concrete di integrazioni ibride tra piattaforme diverse

20. Best practice e linee guida progettuali

  • Design delle rotte in modo da garantirne la manutenibilità nel tempo
  • Creazione di template riutilizzabili per le rotte
  • Gestione ordinata e centralizzata delle configurazioni
  • Standard operativi riguardanti la documentazione tecnica
  • Riflessioni strategiche sulla governance dei progetti integrati
  • Suggerimenti pratici per un deployment sicuro in produzione

21. Workshop pratico e riepilogo finale

  • Realizzazione completa di una soluzione integrativa enterprise
  • Applicazione congiunta di numerosi pattern standard dell’integrazione
  • Collegamento dei sistemi di messaggistica, delle basi dati e dei servizi REST
  • Esercizio mirato all’ottimizzazione effettiva delle prestazioni
  • Riepilogo conciso dei punti più importanti trattati durante il corso
  • Sessione di domande e risposte con l’istruttore
  • Suggerimenti sulle prossime tappe dello sviluppo professionale e le fonti didattiche da consultare

Requisiti

  • Conoscenze di base solide di Apache Camel
  • Esperienza nella programmazione Java e nelle attività di integrazione
  • Precedente familiarità con i pattern e le tecniche di integrazione

Destinatari del corso

  • Sviluppatori
  • Architetti di integrazione
  • Amministratori di sistema
 21 ore

Numero di Partecipanti


Prezzo per partecipante

Recensioni (1)

Corsi in Arrivo

Categorie relative