Sto indagando su Camel per collegare vari servizi. Capisco i concetti fondamentali, ma ero curioso di dettagli di implementazione più specifici. Questa applicazione dovrebbe avere un front-end client browser che comunica utilizzando le chiamate Ajax REST nell'ESB.
Immagina che l'utente finale invii informazioni personali e dati della carta di credito all'ESB per registrarsi all'assicurazione auto. Tutte le informazioni vengono inviate e l'ESB dovrebbe tornare con il risultato che l'applicazione è stata elaborata. Le diverse rotte lungo il bus includevano, verificando le informazioni personali e quindi elaborando le informazioni della carta di credito e quindi memorizzandole in un database e quindi restituendo con successo. Immaginiamo quindi che ci siano service1-personal, service2-creditcard e service-3-database. Tra questi punti, vorrei inviare un messaggio asincrono usando Camel e MQ / Queue e il servizio1 può consumare il messaggio e il servizio2 consumerà il risultato di tale messaggio, ecc.
Ho due domande e una di queste è quella importante.
In che modo il browser avvia il messaggio e invia i dati iniziali dell'applicazione? Dovrebbe semplicemente pubblicarlo come un modulo / REST? E poi, il client dovrebbe aspettare in modo asincrono e sondare il risultato? Controlla l'ultimo messaggio di service3 con il risultato dell'applicazione? O potrebbe essere fatto in modo sincrono? Qual è l'approccio migliore? Dovrebbero essere utilizzati i websocket e l'ESB può inviare una risposta una volta completata l'applicazione?
Inoltre, qualcuno ha dettagli più dettagliati sull'approccio migliore per farlo con il cammello. Ad esempio, sai quali percorsi o tipo EIP usare come descrivo qui? Sai come sarà la configurazione XML del cammello? Dì con l'utilizzo di Camel MQ / Spring DSL?