Grazie per aver inviato la tua richiesta! Uno dei nostri team membri ti contatterà a breve.
Grazie per aver inviato il tuo prenotazione! Uno dei nostri team membri ti contatterà a breve.
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
Recensioni (1)
La conoscenza fornita ha coperto tutti gli aspetti di cui avremmo potuto aver bisogno per le nostre attuali implementazioni di Apache Camel.
Leon - Vos Management & Logistical Development B.V.
Corso - Apache Camel
Traduzione automatica