Я работаю над компонентом (назовем его X), который объединяет 3 службы (назовем их A, B, C) друг с другом. Он встраивает очередь сообщений. Поток выглядит так:
- Служба A создает сообщение для очереди в X.
- X принимает сообщение, на основе содержащихся в нем данных выполняет некоторые вычисления и с результатом вызывает службу B (веб-служба на основе мыла), затем на основе данных ответа вызывает службу C (веб-служба на основе остальных данных) 2.1. На основании имеющихся в нем данных вызывается служба B (SOAP WS). 2.2. Судя по ответу 2.1. он вызывает службу C (REST WS)
- После некоторых вычислений в C, C вызывает X (REST WS), а затем X вызывает A (REST WS).
Есть вероятность, что по дороге будет еще одна консульская служба.
Будет ли выгодно основывать компонент X на Apache Camel? Если да, какие функции Camel были бы полезны?