Apache Camel - Architettura
L'architettura Camel è composta da tre componenti: motore di integrazione e router, processori e componenti. Ciò è illustrato nella figura seguente:
Lo stesso nucleo Camel è molto piccolo e contiene 13 componenti essenziali. Gli altri 80 componenti sono fuori dal nucleo. Questo aiuta a mantenere una bassa dipendenza da dove viene distribuito e promuove le estensioni in futuro. IlComponents il modulo fornisce un file Endpointinterfaccia con il mondo esterno. Gli endpoint sono specificati da URI, comefile:/order e jms:orderQueue che hai visto nell'ultimo capitolo.
Il Processorsviene utilizzato per manipolare e mediare i messaggi tra gli endpoint. Gli EIP che ho citato prima sono implementati in questo modulo. Attualmente supporta oltre 40 modelli come documentato nel libro EIP e altre unità di elaborazione utili.
Il Processors e Endpoints sono collegati insieme in Integration Engine and Routermodulo utilizzando DSL. Durante il cablaggio, è possibile utilizzare filtri per filtrare i messaggi in base a criteri definiti dall'utente. Come accennato in precedenza, hai diverse opzioni per scrivere queste regole. Puoi usare Java, Scala, Groovy o persino XML per questo.
Veniamo ora al componente più importante di Camel, che può essere considerato il nucleo: il CamelContext.