Proxy Chaining vs Service Callouts

Not applicable

Hi All,

We are currently designing a Micro Services Based API solution which would require orchestrating API responses, in order to provide Coarse-Grained Business feature API's. Reading thorough Documentation there seems to be multiple options. Wanted to understand from the group about the scenario's where in one would be preferred over other & also the primary difference between 1 & 2.

0 4 2,193
4 REPLIES 4

Proxy chaining and Service Callouts are not mutually exclusive 🙂

'Proxy Chaining' is the nickname for using a LocalTargetConnection. This can be set in a TargetEndpoint or in a ServiceCallout.

To answer your question fully, I would like to know if the requests you are trying to orchestrate are all Apigee API requests, or requests to Target Backend systems.

If it is between Apigee proxies, Proxy Chaining is the way to go. If it it multiple Backend systems I would use vanilla Service Callouts. Alternatively you can use Javascript's HTTP Client or NodeJS to make some of these calls in parallel.

If you would like to discuss this further, please provide a bit more info around the targets of the requests, and if you would like them to be executed sequentially or in parallel.

Many thanks, Sean

Thanks for the response @Sean Davis.

My use case is the latter one. We primarily want to orchestrate multiple backend calls to build one business API. An example could be Product Details API call being served by multiple Micro Services like price, inventory, review etc.

Wanted to understand if business users (Non Tech) can also build the Service callouts or will it always require a Developer intervention?

@Nitin Tyagi,

All OOTB policies including ServiceCallout are XML based policy. As long as one can work with XML, it should be fine. Having said that one has to execute test cases and ensure that expected logic is working as expected.

@Nitin Tyagi, As per my understanding you are talking about composite APIs where for an incoming request; we need to make calls to multiple backend services and then mash up all those responses in to a single response object prior sending it to client.

This can be implemented using Javascript policy or NodeJS which requires expertise in JavaScript. Hence you need a developer for implementing this solution.