My Oracle Support Banner

Load Balancer Configuration Tip When Using Oracle Payments for Authorization Processing Only (Doc ID 787966.1)

Last updated on JULY 23, 2024

Applies to:

Oracle Payments - Version 11.5.10.2 to 12.2 [Release 11.5 to 12.2]
Information in this document applies to any platform.

Goal

Important:

This document applies specifically to scenarios where Oracle Payments is used for authorization processing only.

If you're processing settlement transactions too through a Load Balancer, which requires execution of the "Submit Offline Transactions" program, applying patch 36644130:R12.IBY.C is mandatory.

Please refer to the following document instead:

Submit Offline Transactions When Using Load Balancer Failing With Error: Header Not Well-formatted: HTTP/1.1 400 Bad Request (Doc ID 3034487.1)

 

In this scenario, Oracle Payments is used for processing Authorizations only (i.e. no settlement activity is required).

Is there a recommended way of setting up load balancing when there are multiple middle tiers with Oracle Payments configured on all of them?

Lets say there are 3 middle tiers:
mt1.oracle.com
mt2.oracle.com
mt3.oracle.com

Also, there is a load balancer (LB) for those middle tiers:
LB.oracle.com

NOTE: The host and server details mentioned in this note represent a fictitious sample (based upon made up data used in the Oracle Demo Vision instance).  Any similarity to actual data is purely coincidental and not intended in any manner.


What happens if we set the profile option "IBY: ECAPP URL" and the payments parameter "Transmission Servlet Base URL" to the load balancer URL (i.e. http://LB.oracle.com:8000)?

With this setup, when making a payment call (i.e. Authorization Request) from a calling application (i.e. Oracle Receivables or Order Management invoking an IBY API through PL/SQL), the following will happen:


Hence, http://LB.oracle.com:8000/OA_HTML/ibyecapp will be translated to:

OR...

OR...


In other words, this could be either MT 1 or 2 or 3 depending on the LB routing.


Lets say LB re-directed the request to: http://mt1.oracle.com:8000/OA_HTML/ibyecapp

The Payments engine (i.e. ibyecapp) on MT1 will process the request and prepare a call to the servlet base url (i.e. location of the third party payment system servlet, ormaipp_xxx)
This call will be placed to the LB URL: http://LB.oracle.com:8000/oa_servlets/oramipp_xxx (as indicated in the payments parameter "Transmission Servlet Base URL").

Now the Load Balancer (LB) can potentially re-direct the request again to either MT1, 2 or 3!

Therefore we are making 2 hops over the load balancer for each payment request: first hop to ibyecapp and second hop to oramipp_xxx.

 

A visual representation of the connection sequence under this configuration is provided in the following graph:

 

 

 How can we avoid this second hop to the Load Balancer when processing Authorization requests?

 

Solution

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


In this Document
Goal
Solution
References


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.