Contents

Popular
 Contents

The Service Callout policy allows calling an external service (third party API) from your API flow. Using a Service Callout policy, you can configure an API proxy to make multiple API calls to deliver relevant geo location data, customer reviews, items from a partner’s retail catalog, and so on. The service can be either an HTTP service or a JMS service. The target(s) to be invoked can be configured using Targets section.

Configuration

The configuration encapsulates different alternatives for the back end server that is used to perform the required information. The load balancing strategy allows multiple identical services hosted on different servers or different types of servers. It is possible to load balance between a HTTP service and a JMS service.

Load Balancing Strategy

Two types of Load Balancing strategies are Round Robin and Weighted Round Robin.

Round Robin

This default algorithm forwards a request to each Target Server in the order in which the servers are listed in the Target Configuration ID. You can select the configured target from the Target Configuration ID drop-down and you may add more targets to the list by clicking the Add  button.


Figure 1: Round Robin Load Balancing Strategy

Weighted Round Robin

The Weighted Round Robin algorithm enables you to configure proportional traffic loads for your Target Servers. It distributes requests to your Target Servers following the weight set for them. The targets which are chosen in Round Robin strategy reflect under Weighted Round Robin where you can set the respective weight values as required. You may add more targets which are existing by clicking the Add  button; the newly added targets reflect under Round Robin strategy also.


Figure 2: Weighted Round Robin Load Balancing Strategy

Examples

Using Authorization Services

Consider a case where an API needs to invoke a third party service for authorization. In such cases, the authorization service can be invoked using a service call out. the response from the call out can be parsed using the Assign Variables Policy and the resultant variables can be used to send error or carry forward with invoking the target service.

 

Icon
Before the call out, the data that needs to be sent to the target service needs to be stored in variables using the Assign Variable Policy and request to the target server needs to be built using the Build Message Policy.

Using JMS Targets

JMS targets are invoked as a JMS requestor. Each request to the JMS system is sent with a property RequestorID and a Header JMSCorrelationID. These properties must be retained in the response message sent on the response destination.

When used with Fiorano ESB, JMSReplier micro service can be used to act as the JMS targets.

Icon

Refer to the Examples section for a Use Case where this policy has been used.

Adaptavist ThemeBuilder EngineAtlassian Confluence