WACS Load Balancing for RESTful Web Services
*NOTE:
We do not support sticky sessions, meaning that because RESTWebservices is not configurable to create/write to cookies, the end client has no control over which WACS server is used (even after the first http request is sent). RESTWebservices is, by definition, stateless. Hence, it does not save any information.
- Four separate machines:
- SAP BOE
- Apache HTTP Server, available for download at the Apache Website
- Install BOE on VMBOESRVR machine (If you are doing a custom install, make sure that REST Webervice and WACS is selected)
- Custom install BOE on VMWEBAP1 machine. SELECT ONLY RESTWEBSERVICES!! Specify VMBOESRVR CMS information (make sure to specify a different SIA name for each separate host)
- Custom install BOE on VMWEBAP2 machine. SELECT ONLY RESTWEBSERVICES!! Specify VMBOESRVR CMS information (make sure to specify a different SIA name for each separate host)
- Go into VMBOESRVR CMC->Servers->Core Services and right click the new WebApplicationContainerServer. Select “Properties” (The steps below needs to be performed for SIA of both the WACS node)
- In this example proxy host can be either VMHTTPSRVR, if you have correctly modified your hosts files, otherwise enter the IP address of VMHTTPSRVR.
- If you do not specify the proxy host, WACS will not reverse proxy the request body, in this case for RESTWebservices, the returned xml feed.
http://<LOAD BALANCER SERVER>:<LOAD BALANCER LISTENING PORT>/biprws
- The ProxyPass statement maps any incoming requests to http://VMHTTPSRVR/biprws to the load balanced WACS instances defined in the <Proxy> tags
- Make sure to change the following if need be:
a. VMWEBAP1:6406 – Host name or IP address and listening port xxxx of WACS instance #1 from above.
b. VMWEBAP2:6406 – Host name or IP address and listening port yyyy of WACS instance #2 from above.
3. The Apache docs are more detailed and contain more configuration options. Further Apache HTTP Server documentation can be found at the Apache Documentation site.
NOTE: This basic Apache load balancer configuration uses round robin load balancing techniques
9. Test the configuration:
a. Ensure that all BOE servers (including WACS instances on separate machines) are running and enabled.
b. Start up Apache HTTP Server on VMHTTPSRVR. Make sure it started properly. If there are errors check logs and fix as needed.
c. You can check the status of the clustered WACS instances by going to: http://VMHTTPSRVR/balancer-manager
d. You can access the RESTWebservices at: http://VMHTTPSRVR/biprws
e. Try to use REST Client Plugin to logon and access the infostore through http://VMHTTPSRVR/biprws/logon/long
i. Check the links in the infostore to ensure correct reverse proxy forwarding.
Additional NOTE:
You can disable WACS of VMBOESRVR if it is not required to be accessed directly.
Thanks for this blog Sumitesh, very useful!
Anthony
Thank you Sumitesh. Indeed useful.
Is it a requirement to install WACS on additional servers? We often see installations with a clustered setup where we already have 2 (or more) WACS servers installed on the different nodes.
Thanks Jan. No, there is no such inherit requirement from the platform but rather it would depend on your system landscape. It can be useful if you have a requirement for load balancing (presence of WACS on different clustered nodes does not automatically do the load balancing for REST WebService requests) or even in a DMZ setup (of course coupled with other settings mentioned in the admin guide).
Regards
Sumitesh
Thanks Sumitesh!
Thanks Sumitesh!
I would love to see a follow-up to this post to show how to accomplish the same thing with end-to-end HTTPS/SSL.
This is a good post!
However, "SELECT ONLY RESTWEBSERVICES" doesn't seem to be enough, at least not for 4.1 SP06. The installation will be successfully, the WACS server will enter into "Running with Errors" state, and properties page of the WACS will show "Restful web service is not started" red text.
To resolve this issue, use the installer to add Platform Processing Services, per the following SAP KBA Note:
2182970 - Web Application Container Server is Running with Errors after installing a patch in BI 4.1 SP5
Hello,
Is it the ame procedure to configure WACS load balancing but with HTTPS load balacer?
Regards!