I'm working on a component (lets call it X) that integrates 3 services (lets call them A, B, C) with each other. It embedds a message queue. The flow looks like that:
- Service A produces a message for the queue in X.
- X consumes a message, based on the data in it does some computation and with the result calls service B (soap based web service), then based on the response data calls service C (rest based web service) 2.1. Based on the data in it calls service B (SOAP WS). 2.2. Based on the response from 2.1. it calls service C (REST WS)
- After some computations in C, C calls back X (REST WS) and then X calls A (REST WS)
There is a chance that there will be one more service consulated on the way.
Would it be profitable to base the component X on Apache Camel? If yes, which features of Camel would be useful?