The Myth of a Load Balancer – PI/Web Service Scenario
This blog attempts to make its readers understand the concept of Integration/Communication using Web Services between systems across different Landscape in the presence of a LOAD Balancer. Please note that this blog does not provide any details on the functionality of a LOAD Balancer.
It should be noted that the below provided content is a sample demonstration of how the configuration needs to be adjusted in the presence of Load Balancer. The Hints/Information provided in this post relate to a specific scenario and should only be inculcated/reproduced by the reader based on his understanding of the similarity of the intended scenario and the TYPE of LOAD Balancer (if implied) being used.
However, the implied concept in this post can be used to configure other similar scenarios.
LOAD Balancer – What, Why Where ? 😕
A Load Balancer is a network device whose main function is to achieve optimal resource utilization and maximum throughput while ensuring minimum response time and overload in any Network for a particular Landscape. This service is usually a combination of a dedicated software/hardware.
There are various techniques implemented as a service to balance the load across the network.
For more Information on LOAD Balancer, Please refer the below wiki link
There are various types of Load Balancers which can be used, both in an SAP and NON – SAP environment. For Ex: SAP Web Dispatcher/F5 etc..
To explain the content broadly, we shall take a simple Web Service communication between a Client (ERP) and a Server (SAP NetWeaver PI system).
- Information on functionality of Web Service communication between a client and a server.
- Familiarity with the process of generating a Logical Port and a Service.
- Logic of WSDL URL generation and End Point URL generation.
- Concept of FQHN – Fully Qualified Host Name and its usage in an SAP environment in reference to WSDL URL and End Point URL generation for a secure HTTP communication.
- Concept of Reverse Proxy in an SAP environment and its usability.
~ Scenario: Client ERP ; Server PI ; Load Balancer in the Server side Landscape
Server PI: Sender WS adapter configuration
1. A typical Sender side WS adapter channel should be maintained with Technical Transport Settings pointing to the PI system.
2. The Target Host Name should be available in the form of a Fully Qualified Host Name. Please refer the below figure for a better clarity on the same.
The relevant Scenario Configuration parameters should be carefully noted.
3. Once this is activated, the WSDL URL/File should be generated by the Sender Agreement of the relevant channel. Ideally, in this case the WSDL URL is generated on the FQHN.
4. This WSDL URL/File is used to generate a Logical Port in the consumer system (ERP) which will be used to send messages from the ERP system towards the PI system.
The Scenario looks perfect and should be good to go.
But wait a minute, Is everything considered as a part of the communication ?
Q. Is the Load Balancer considered while accounting for this communication ? 🙁
Q. The connection from the ERP towards the Landscape of the PI system is fine. The connection reaches the Load Balancer but how does this Load Balancer adapt to send the connection ahead. Has it recognized the FQHN of the PI system ? 😕
No. More often than not, the load balancer is not configured to adapt to the External Host Names. The alternative is to maintain the Reverse Proxy Settings such that the incoming connection from the Load Balancer towards the PI system is handled in the internal IP address format of the PI system. This provides the Load Balancer with the leverage to complete the communication cycle till the PI system.
How do we do that ?? 🙂
Open the SOAMANAGER of the Provider system – In this case the PI system.
Navigate to Technical Administration -> SAP Client Settings -> Reverse Proxy Settings as shown in the below snapshots.
Provide a specific Proxy Name and most importantly, a Substitute Host Name which should be the Internal IP address of the PI system. Also provide the HTTPS Port and maintain the other required parameters as illustrated in the below snapshot.
This would cause the Load Balancer to identify the PI system and forward the incoming connection to the PI system.
Important: It should be noted that the above provided information is extremely scenario centric and any adaptation should be inferred based on the similarity of the intended scenario and the logistic of the above scenario.