API orchestration and aggregating results

Hi There,

We are evaluating Camunda and have few questions here and it would be great if you can respond ASAP.

Q1 - Can Camunda perform API orchestration (without a single human task), where we are looking for a simple synchronous service. The service will be going to call 3 or 4 APIs and based upon the response of API1 it will be going to call API2 and so on …finally I need to aggregate the results of all APIs. Is it possible? Can you please share any document relevant to it? Have seen [StephenOTT - API orchestration tool] response in API Orchestration query but have followed the other articles where I’m not able to see the aggregation of the results and only with only API orchestration. It would be great if you can explain step by step.

Thanks in advance.
Regards,
Bala

Hello Bala

I think @StephenOTT has pretty much explained how you could use Camunda to perform API orchestration - this is a pretty common use case.

You use service tasks to call your API’s (via Java delegates or the external task pattern). You save the result of the API call inside a process variable, and then you then use gateways to evaluate the result of the AIP call - and decide on your next action - fx another API call which you then save to another process variable and so forth.

Once you have called all API’s you will have a number of process variables (or a list of with the results of the API calls) and you could then have a final service task which performs the required aggregation by running through the process variables which the results for each API call (or a list if you want a more dynamic support).

The aggregation task could create a new process variable which holds the overall result of the API orchestration or what ever you require to do with the aggregation.

I hope that helps.

BR
Michael

Thank you Michael for your quick response. Do you have a sample/Github example for the same? It would be great if you can provide it. Thanks !!