SAP BI 4.2 SP05 : Decoupling of BI Platform RESTful web services from WACS
1.Introduction to SAP BI Platform RESTful web services:
The SAP Business Intelligence platform RESTful web service SDK lets you access the BI platform using the HTTP protocol. You can use this SDK to log on to the BI platform, navigate the BI platform repository, access resources, and perform basic resource scheduling. Both XML and JSON request and response formats are supported.
This Blog explains the RESTful web services can also be supported on Tomcat application server.
2.Decoupling of BI Platform RESTful web services from WACS:
Currently, Rest SDK runs as service in WACS and can be deployed only on WACS server. Need to make RestSDK run as independent service which should be scalable and should run on Tomcat server.
As user I should be able to run this on latest Tomcat server (Tomcat version 8.5.7 and 9 both) being supported for SP05.
From BI 4.2 SP05 onwards, SAP BI platform architecture now supports both the WACS server and the Tomcat server for configuring and using RESTful Web service APIs.
By Default RESTful web services will be deployed in the BI 4.2 SP05 full build and patch build.
RESTful web services will continue to run on WACS as well.
Customers will have option to point the REST URL either to WACS or Tomcat. This ensures backward compatibility.
3.How to configure the RESTful web services on Tomcat URL:
In default installations of the BI platform, the base URL is defined as http://<servername>:6405/biprws
- Log on to the Central Management Console (CMC) as an administrator.
- In the CMC, click Applications.
A list of applications are displayed.
- Right-click RESTful Web ServiceProperties .
The Properties dialog box appears.
- In the Access URL text box, type the name of the base URL for RESTful web services.
For example, type http://<servername>:<portnumber>/biprws.
Replace the Restful Web services URL port from 6405 to 8080. Ie., WACS server port to Tomcat Application server port.
(if the Tomcat Application server is running on 8080 port)
4. How to set the RESTful Web services parameter values as part of server configuration:
If you are using a non-WACS server such as Tomcat, you can set the RESTful Web service parameter values as part of server configuration.
To configure the RESTful web services for Apache Tomcat application server, follow the procedure given below:
- Stop the Tomcat server.
- Access the file propertiesin the following file-path: <tomcat-location>\webapps\biprws\WEB-INF\config\custom.
- Specify the values of following parameters in the file based on your custom requirements and save the file.
- Restart the Tomcat server.
Note: The default version of biprws.properties is available at <tomcat-location>\webapps\biprws\WEB-INF\config\default and your configuration for above listed parameters in custom file path overrides the default settings once you restart the server.
Just one small question.
Does this change mean we don't need to make sure WACS is running and enabled if we want to use BI Admin's Cockpit and other applications that need RESTFUL Web services from BI 4.2 SP5?
Thanks for your feedback.
Yes. Once the RESTful web services URL is updated with the Tomcat server and Port. All Applications will be automatically use the Tomcat one including BI Admin cockpit.
two questions :
Thanks for your questions.
Just that the content won’t be split because it is not necessary.
2. deployment will be same and there is no difference. it comes automatically when we install the product.
Is restful part of BOE.war or a separate webapp on tomcat ?
Restful web services are part of BOE.war file and will be deployed as part of full build and patch build installations.
if they are part of BOE.war - will restful work in slit deployments (web server static content and tomcat with dynamic ) ?
Yes. Split deployment is supported for BIPRWS.war file.
They are apparently not part of the BOE.war if there is a BIPRWS.war file.
Also, any recommendations on these values?
This does not work for us.
When I try to launch WEBI using FIORI Launchpad, I get below error.
it works well if I use RWS deployed on WACS server.
Also, can you please guide more about the values which should be added for below parameters :
Not sure if below answers your question:
I have updated the environment from 4.1 SP07 to 4.2 SP05.
Did you install the Release to customer build downloaded from service Market place?
Did you change the Tomcat Port in the CMC-->Applications-->RESTful URL?
I have downloaded it from SAP ONE Support Launchpad -> Downloads,
We have a different server which contains web tier on which tomcat is installed.
I have specified Tomcat Port No and hostname in the CMC–>Applications–>RESTful URL and I get the above error when I open a webi report.
Please log a support ticket Incident - that's route 1 for troubleshooting + you get an SLA.
I am experiencing the same issue. I am able to login to /BILaunchpad via Tomcat URL but when I try to access any reports I get the "Not Found (RWS 00005)" error.
I upgraded from 4.2 SP4 to SP5, tomcat is on a different server and CMS on different server. I updated the RESTful URL to use tomcat host and port.
I left the default version of biprws.properties as is.
http://<tomcat_host>:8080/biprws -- I am able to access this URL ok in the browser.
I am experiencing the same issue. Did you find any resolution to this?
please contact technical support via an Incident !
I was going to open incident but first I thought I should post question here to see if someone else was having issues or had some suggestions.
I got help and resolution from Bharath on this issue.
Thanks Ashok for the great blog, I need your help, we decoupled Webservices from WACS and using tomcat as you described, now im trying to expose new “BILaunchpad” url to internet through proxy (apache) , I couldn’t find any document about it, I tried doing it by exposing “/biprws”, however no luck. I already have /BOE/BI and /BOE/CMC links working fine externally, i did similar config for “/biprws” as "/BOE" in apache config file.
In a distributed environment where the Tomcat web application node is in the DMZ and the processing and management nodes are inside the LAN, what servers should be installed on the web application node inside of the DMZ? The RESTful service? Or can this service be installed inside the lan?
The RESTful service is installed on the web application node, so needs to be accessible to the users. It connects back to the processing/management servers in the DMZ
Hi Hayden, I did get this resolved by:
Is It planned to support other WAS than tomcat? We are running netweaver 7.5 And we would like to use webdispatcher to load balance restful webservices due HA And performance reasons.
Thanks for your question. yes we are planning incrementally to support all other WAS. we are planning for websphere first and later NW.
Thanks for this great post. Can you speak to load balancing the REST service on tomcat in a multi-clustered environment? Also, does the biprws webapp use PlatformServices.proprties for clustering information or is there further configuration required?
Thanks in advance,
what happens if your tomcat is behind a proxy that says "send everything to tomcat on port 8080" ?
And if after that tomcat redirects 8080 to 8443 ?
For me, cockpit doesn't work anymore if you access BO via the proxy (as it should be)...
tomcat can't just redirect 8080 to 8443, so please clarify what exactly and how exactly is configured and what is not working and how ?
\\<tomcat_server\tomcat\webapps\biprws\WEB-INF\config\custom there is a file called biprws.properties file
Entry - CMS_Default=@clustername?
No one has documented this.
Thanks for the update. we will document this.