Let me share with you a case of a client who has several sites around the world and is looking for an integration solution.
The need was as follows:
- Exchange data in an asynchronous manner between the different sites.
- Easily manage provisioning and deployment.
- An efficient system that allows auditing and above traceability.
- Intelligent routing of data (regional & international).
To meet this need, I did a PoC and I proposed the following architecture:
As you can see, i placed different bricks which are available in JBoss Fuse 6.2, which responds to each of the requirements:
- A-MQ as flexible messaging that delivers information safely, reliably and deployed as a network of brokers respecting the infrastructure constraints.
- Fabric8 for provisioning, versioning, deployment of application (camel routes).
- Camel has been used to for intelligent routing; I will detail more this point in the next article.
- Insight for real time tracking that sits on elasticsearch cluster which’s accessible over the nice console hawtio.
In this post, I will detail more the last point about real time tracking.
We have added the insight console, elasticsearch node and camel profile to the three containers:
With the necessary permissions on the firewall, we can see the elasticsearch cluster created in the console hawtio:
At this moment, we can follow the lifecycle of each data around the three sites. For this, hawtio offers everything needed in his magnificent console:
Camel Events shows all Camel exchanges:
Camel shows a text box into which you can put an Exchange ID. We have a sequence diagram detailing the time spend at all components:
I hope that this post will give you an idea about the different possibilities that are offered by all these jewels.
The next post will detail more, how we have used camel & fabric8 registry to answer to the intelligent routing requirement.
Stay tuned by subscribing to the newsletter 😉