Batch Processing in Apigee X

We're asked about Batch Processing capabilities in Apigee.

Does Apigee provide capabilities for supporting Batch API calls? Ideally Apigee would receive a batch request and then call the backend API separately for each request contained in the batch. Apigee would then collect the individual responses and return a single batch response to the client.
Sample batch APIs: https://www.odata.org/documentation/odata-version-3-0/batch-processing/

Our response was: Apigee doesn’t support batch request processing. Correct design would be to have the ESB or Message Broker to batch process.

Could someone confirm the same or otherwise with inputs.

@kurtkanaskie 

@dchiesa1 

@Sai Saran Vaidyanathan

@dknezic 

@ganadurai 

@Swetha7 

Solved Solved
0 2 295
1 ACCEPTED SOLUTION

I think your response is correct. If you have a "batch" of 3-5 requests, then I suppose you could use Apigee's builtin JavaScript policy with the httpClient to invoke the various backend systems.  There are some older posts here on the community site that discuss this, and even discuss how to limit the number of concurrent requests made by the JS policy, with working sample code. 

But, if you have the general requirement to handle scatter/gather patterns, where you might need to invoke N backend systems and then collapse all of the responses into one, that is something that is better handled by an integration tool.  There is a nice option from Google, called App Integration, that does support batch processing and many other integration capabilities. It is an adjunct to Apigee, a complementary product, that you would need to license and pay for, separately. 

View solution in original post

2 REPLIES 2

I think your response is correct. If you have a "batch" of 3-5 requests, then I suppose you could use Apigee's builtin JavaScript policy with the httpClient to invoke the various backend systems.  There are some older posts here on the community site that discuss this, and even discuss how to limit the number of concurrent requests made by the JS policy, with working sample code. 

But, if you have the general requirement to handle scatter/gather patterns, where you might need to invoke N backend systems and then collapse all of the responses into one, that is something that is better handled by an integration tool.  There is a nice option from Google, called App Integration, that does support batch processing and many other integration capabilities. It is an adjunct to Apigee, a complementary product, that you would need to license and pay for, separately. 

Thanks for the response Dino, appreciate it. Would you mind pointing me out for the below:

There are some older posts here on the community site that discuss this, and even discuss how to limit the number of concurrent requests made by the JS policy, with working sample code.