The Path to Hybrid SAP Analytics: Did you know that you can connect SAP Analytics Cloud and SAP BI Platform in under 20 minutes?
While many organisations are moving to cloud-only solutions for data storage and analytics, it’s important to remember that there are still a number of reasons which make this impossible in certain cases, from security to infrastructure, to budget. For these organisations, a hybrid system is the only feasible solution, combining cloud analytics with on premise data.
In a hybrid world where cloud and on-premise systems co-exist, it is vital to have connectors that inter-relate such areas. Increasingly, companies have a best-of-breed hybrid analytics scenario in place with SAP BusinessObjects as their enterprise BI Platform on-premise and SAP Analytics Cloud for augmented analytics, self-service and planning, as a cloud-based solution. For this case, it is necessary to include connectors to SAP BW or SAP HANA sources where data is transported live to the cloud (without storing it) to comply with security standards.
To facilitate the hybrid SAP Analytics scenario, SAP has made a connector available that connects directly to SAP BusinessObjects Universes, an intermediate layer, which can be ultimately sourced by BW or HANA as well. This saves a significant amount of admin time and can be configured in as little as 20 minutes!
In the on-premise area, a traditional business end-user interface for Universes is SAP WebIntelligence. When using WebIntelligence with universes, data is queried and subsequently appears in the form of objects that can be easily dragged & dropped to the design canvas, not only for quick data discovery but also for reporting and dashboarding.
In this article, we'll show how to connect and use SAP Analytics Cloud with SAP BusinessObjects Universes as a source, typically secured in an on-premise system behind a firewall.
Connecting SAP Analytics Cloud and SAP BusinessObjects
Once the configuration is complete, there is no direct connection between the cloud and our on-premise system; instead, it is the user's laptop (or in a production environment, the on-premise server) that pulls the data from their own systems and visualizes it in real-time without storing it. This is one of the advantages of Cross Origin Resource Sharing (CORS) architecture that might convince the most fervent Cloud sceptics as users only see information if they have permission. Data is not stored outside of the organization.
You can find background information here: https://www.clariba.com/blog/20200120-using-sap-analytics-cloud-with-on-premise-data-infrastructure-francesc-manresa
In general terms, this is an excellent architectural overview that describes our objective today:
Prerequisites & steps
The software prerequisites are:
SAP Analytics Cloud: Neo or cloud foundry version
SAP BI: 4.2 SP6 or higher and HTTPS enabled
The steps described below are:
Install
Configure on-premise
Set up a connection in SAP Analytics Cloud
Build a model
Create a story
Install
The Live Universe Data Connector (LDC/LUC), version 3.1, must be downloaded from https://support.sap.com/
The LDC installer must be unzipped, placed in any folder in the SAP BI server, e.g., C:/LDC, and LDC.exe must be clicked once, so the configuration files are initialized:
Eventually, this will be running as a service, so we need to create the service for LDC by typing "LDC.exe /install LDC" from the command line:
Configure on-premise
Ldc.properties: We need to populate these key entries as in this example:
boe.restsdk.url =http://servername.com:6405/biprws (same as in CMC > Applications > Restful)
boe.authenticationmode=secEnterprise
connector.https.port=443 (different from 8443 Tomcat one)
connector.https.keystore.file=.keystore (keystore file name from Tomcat, to be copied also here)
connector.https.keystore.password=mykeystorepassword (keystore password from above file)
connector.http.port=80 (different from 8080 Tomcat one)
cors.allowed.origins.urls=https://company-1.eu10.hcs.cloud.sap, https://company-2.eu10.hcs.cloud.sap (allowed cloud tenants that can access SAP BI)
TIPS: Do not add the final "/" in addresses and use comma+space as a separator.
Start LDC service: Start and set to run automatically:
Security enablement: Create an Enterprise user just for LDC in SAP BI, with specific privileges:
Full Control in WebI
View and data access for Universes and their Connections
TIP: It needs to be a straightforward user profile with few internal dependencies to avoid error messages during access, so it is generally better to create it from scratch.
Tests:
Get "HTTP ERROR 404 Not Found" as a response from https://servername.com:443 as this means LDC is running
Access BILaunchPad with the newly created user and check you can create and refresh a WebI document from My Favorites
Set up a connection in SAP Analytics Cloud
From one of our allowed tenants, with the requisite permissions, go to Connections, create a new one and save it, using this information:
SAP Universe - LIVE
Connection Name
443
Credentials from the Enterprise user defined above
If the connection is accepted, it will let us save:
Build a model
From the same tenant, with developer permissions, we create a model in the popular e-fashion universe:
SAP Universe – LIVE
Connection: ConnectionName-efashion
Credentials defined above
Universe: e-fashion
Then with the objects which appear, we create a query that makes sense:
Press OK to refresh it in SAP Analytics Cloud. If we see Sample values and measure names, we have succeeded:
Create a story
From here, we can create a quick Story to give us visibility of the data, on top of the previous model:
After saving, if we log out and log in, the visualization will request credentials again, proving data has not been stored in SAP Analytics Cloud.
On a fun note, (just for hackers!), we can see a hidden temporary file in BI LaunchPad which might contain a copy of the query definition previously defined in SAP Analytics Cloud, encapsulated in some sort of auxiliary WebI before sending its data via HTTP:
Keys to success
This test has been fast and successful because:
It uses the latest LDC 3.1 version. Previous versions require a more complex installation with a dedicated tomcat or tomcat upgrade from the bundled version. This one can be installed in a default SAP BI 4.2 SP6 version or higher, which includes most of our customers.
It uses basic enterprise authentication vs. the complex SAML SSO authentication.
It relies on an existing VPN/Intranet or a public SAP BI address without configuring a complex reverse proxy.
LDC version 3.1 provides a more robust Tomcat free architecture and an easy installation. We hope you can reproduce the procedure described here for fast demo purposes.
Looking to the future
Version LDC 3.1 is also bringing a new exciting feature, mainly the highly anticipated WebI as a source feature, which will be described in separate article. Using WebI as a source will leverage your BI developments investment even more.
Users will be able to use the WebI data models already created within the WebI documents, which will dramatically reduce the time spent in SAP Analytics Cloud development.
The outcome is a hybrid solution which works as effectively and efficiently as a cloud-only equivalent, while maintaining the added security that comes with restricting data transit and storage to the home network.
As we have seen, in practice, the visual part of SAP Analytics Cloud is quite straightforward, and it is on the data management side, where 90% of the effort is needed. Keep an eye out because the upcoming release of LDC versions for BI 4.3 will definitely be worth checking out. We'll keep you up to date with another article when the time comes, so watch this space!