In one of my previous blogs I wrote a short introduction to SAP Analytics Cloud. While I briefly talked about data connections, that blog mostly focused on the workflow to create a data model and a simple dashboard. This blog post, on the other hand, will primarily focus on connecting to on premise data and the required software and infrastructure required to setup those connections.
Before getting into detail, it is important to understand the two mechanisms that SAC offers for connecting to on premise data: Importing Data and Live Connection. What is the difference? From a SAC perspective it makes a big difference which way data is consumed. Like many other front-end development tools, data can be manipulated once it is imported. SAC does this by offering a Data Model concept. Like a universe in BOBJ, SAC Data Models are utilized by importing data from varying data sources and creating a Data Model that meets the needs for the dashboard. These models can be edited and reused depending on the needs required by the business. Also, the Data Models are housed within SAC under Menu > Browse > Models:
That means that data blending and preparation is completed within SAC. Like universes in BOBJ, the importing and preparation is completed by the servers that are hosting the SAC. Thus, the SAC servers must be equipped with the appropriate resources to complete those tasks.
Live Data connections work differently. Instead of requiring data modeling from SAC, the Live connection assumes all the required blending and preparation is completed within the data source. Essentially bypassing the SAC modeling concept, all the resources required for data preparation is performed by the data source system. Also, if any change is completed in the source system query/model, that is reflected on the SAC dashboard also. This contrasts with the importing mechanism in SAC. If a field is added in the original data source, then a developer will be required to also edit the Data Model in SAC.
Now that we have a bit of an overview regarding the two mechanisms SAC offers regarding connecting to on premise data sources, let’s dive deeper into the required software and infrastructure required to setup those connections.
The biggest obstacle facing connecting SAC to on premise data is security. How does your on-premise data travel through the internet to connect to SAC? The key for this transfer is the utilization of the SAP Analytics Cloud Agent and the SAP Cloud Connector. The Cloud Agent and Cloud Connector are utilized in order to provide a secure way of transferring data from an internal network to SAC. For simple deployments, the SAP Analytics Cloud Agent Deployment Kit is available from the SAP Marketplace. Once downloaded and unzipped, it is recommended that you read the Readme.txt file that is included as a part of the files provided. This file provides instructions and prerequisites for installing the Cloud Agent Deployment Kit. The Readme.txt file looks like the following:
In normal installations, you can right click the setup.ps1 file and select Run with PowerShell. That will prompt a command line interface that will require information from the user. I will note that when I installed it the first time nothing popped up. That was because I was running PowerShell 2.0 on the machine. If you notice the prerequisites from the screenshot above, PowerShell 3.0 is required. So, if you right click the setup.ps1 file and select Run with PowerShell and nothing happens, that would be one of the first things that I check.
As part of the installation, a Setup-Guide.html file will be created in the file directory that has the SAC Agent Deployment kit (usually it is under Program Files\SAP\SACAgentKit). That file has the Administrator password to connect to the deployment (located at https://localhost:8443). That html document also has the necessary steps required to configure the Agent and connector to the SAC instance. I will mention that as part of the configuration, you will need information from your SAC system. Most of the information that you will need is under the Menu > System > Administration > Datasource Configuration section in SAC.
Once installation and configuration are complete, developers can now utilize the SAP Cloud Connector in order to Acquire Data from on premise data sources. I will note that depending on the on-premise data source, additional steps may be required. For instance, if importing data from BW, the SAP Java Connector (JCO) needs to be installed.
Live connections to data sources are becoming more common with most front-end development tools. Live connections enable access to data in real time. In SAC, live data connection configuration differs depending on the type of source that is being used. The most common means of enabling a live data connection to SAC is using Cross-Origin Resource Sharing (CORS). This is the mechanism that is used for S/4HANA, BW, and Universes. CORS configuration allows for the source system to accept requests from SAC. Essentially, what the data source system is doing is whitelisting the SAC environment in order to accept requests. This configuration varies depending on the source system that is being configured. A key example of this is in S/4HANA where the SAP Analytics Cloud host (the tenant) must be added in the HTTP Whitelist Scenario under TCode /NUCONCOCKPIT. An example of that can be seen below:
An additional note to point out is that CORS is not the only thing that needs to be configured. It all depends on the data source itself. For example, in order to set up a live connection to an SAP Universe (BOBJ), SSL must be configured if a reverse proxy is not going to be used. Also, the SAP BOE Live Data Connect component needs to be installed on the BOBJ system.
SAP Analytics Cloud offers a variety of ways to connect to on premise data. Each with its own pros and cons. There are a couple of factors to consider for connecting to on premise data sources. From the data source perspective, the key differentiator is the location of the data models. If utilizing the data import mechanism, the data models will be housed in SAC. On the other hand, utilizing the live connection means that the data models will be housed in the respective data source system. This is one of the instances where there really is not one right answer on how to handle the data source acquisition. It all depends on the requirements of the business and business constraints that are company specific. The important thing is to have a plan that enables the appropriate management of data connections and data models. For documentation on setting up connections to SAC you can go to https://www.sapanalytics.cloud/guided_playlists/.