In diesem Blogartikel möchte ich näher auf die unterschiedlichen SAC Verbindungstypen innerhalb von SAP Analytics Cloud eingehen.
SAP hostet SAC in eigenen Rechenzentren und der Kunde hat die Möglichkeit zu bestimmen, aus welchem Rechenzentrum die Cloud bezogen werden soll. Im Wesentlichen wird zwischen zwei Anwendungsszenarien unterschieden: Live-Verbindungen mit einem SAP-System und Importverbindungen (aus SAP- oder Drittsystemen), bei denen die Daten in der Cloud gespeichert werden. Da bei der Modell-Erstellung drei unterschiedliche Verbindungsmöglichkeiten existieren, werden sie in diesem Artikel gleichermaßen unterteilt.
Innerhalb von SAC gibt es drei unterschiedliche Möglichkeiten, Daten in das System zu importieren:
Bevor ich die Verbindungstypen vorstelle, soll zunächst die Komponente Modell (Model) genauer untersucht werden. Diese stellt im Kontext von SAP Analytics Cloud die Datenbasis dar. Die drei vorgestellten Verbindungstypen werden als Modell gespeichert. Grundsätzlich kann ein Modell als Datenquelle für ein Dashboard in SAP Analytics Cloud gesehen werden, da es die Daten zusammenfasst und bereitstellt. Ebenfalls kann ein einmal angelegtes Modell mehrfach in verschiedenen Dashboards genutzt werden.
Als lokale Datei wird eine Excel- oder CSV-Datei verstanden, die in SAC importiert werden kann. Diese Verbindung kann sinnvoll sein, wenn Daten kurzfristig visualisiert werden sollen und eine Integration (zum Beispiel in das eigene SAP BW) zu viel Zeit beansprucht. Eine weitere Möglichkeit stellen Planungsdaten oder Daten aus Dritt (/non SAP)-Systemen dar, zu denen keine Verbindung möglich ist. Weiterhin ist dieser Anwendungsfall für Anwender aus dem Fachbereich interessant, die weniger technisch versiert sind. Eine Aktualisierungsfunktion ist möglich und kann somit auf Knopfdruck neue Daten integrieren.
Ein weiterer interessanter Anwendungsfall ergibt sich für Poweruser, die von der IT angelegte Modelle mit einer Live-Daten-Verbindung und einer lokalen Excel File verknüpfen bzw. blenden wollen. Wie eingangs erwähnt, werden diese Daten in der Cloud gespeichert.
Eine Datenimportverbindung stellt eine importierte Verbindung aus einem System dar. Dies kann beispielsweise eine BEx Query oder eine HANA calculation view aus einem SAP-System sein, die auf ausgewählte Filter/Variablen, Kennzahlen und auch Dimensionen begrenzt ist. Somit bezieht sich die Verbindung auf einen Ausschnitt einer Query und die Daten werden aus dem System in die Cloud gespeichert. Sie fragen sich sicherlich, wie aktuelle Daten in das Modell geladen werden können? Es gibt in den Modellen eine Datenverwaltung, in der Sie regelmäßige Aktualisierungen (Importjobs) einplanen können. Zusätzlich ist eine Aktualisierung auf Knopfdruck möglich.
Hinweis zu den beiden Importverbindungen: Die Daten werden in der Cloud gespeichert. Bei sensiblen Daten ist meist eine Abstimmung innerhalb des Unternehmens notwendig.
Wie der Name bereits andeutet, bezieht sich diese Verbindung auf eine Anbindung zu einem System in Echtzeit. An dieser Stelle werden Daten direkt aus dem System bezogen. Variablen können zu Beginn gefiltert werden, wodurch die Menge der zu übertragenden Daten verringert wird. Die Performance hängt stark von der Query Performance ab. Bei einer SAP BEx Query kann somit der reine Aufruf, als auch die Anpassungen von Kennzahlen und Dimensionen sowie die Filterung die Performance beeinflussen. Die Folge sind lange Ladezeiten. Änderungen innerhalb der Datenbasis haben durch diesen Verbindungstypen unmittelbare Auswirkungen auf die angezeigten Daten im Dashboard.
Hinweis zu diesem Verbindungstypen: Bei der Live-Verbindung verlassen keine Daten Ihr Unternehmensnetzwerk. Es werden lediglich Metadaten mit der Cloud ausgetauscht.
Für die Verbindungstypen liegen unterschiedliche Berechtigungskonzepte vor, die ich Ihnen im Folgenden vorstelle.
Bei den Berechtigungen gibt es zwei Unterscheidungen: Speicherung von Daten in der Cloud und Live-Anbindungen.
Wie bereits erwähnt, können sowohl lokale Dateien, importierte Daten aus einem SAP-System oder Daten aus unterstützten Drittsystemen in die Cloud geladen werden. SAP Analytics Cloud verwendet dazu ein eigenes Berechtigungskonzept. So können Berechtigungen für:
vergeben werden. Hat ein Anwender Zugriff auf ein Dashboard, bedeutet dies nicht, dass er die eingebundenen Daten (Modelle) sehen kann. Erst durch die Freischaltung des entsprechenden Modells können Daten dargestellt werden. Im Idealfall befinden sich das Dashboard und die eingesetzten Modelle in einem Ordner und werden so gebündelt freigegeben. Wenn Sie Daten hochladen, sind Sie primär der Eigentümer (Owner) dieser Dateien und vergeben die Berechtigungen. Importieren Sie Dateien (zum Beispiel aus einer BEx-Query), findet bei der Erstellung eine Berechtigungsprüfung gegen Ihre SAP-Berechtigungen im SAP BW statt. Sobald die Daten allerdings in der Cloud liegen, greift das Konzept von SAC und die systemseitige Prüfung ist hinfällig. SAC stellt neben einfachen Schreibe- und Leseberechtigungen für Models und Dashboards weitreichende Berechtigungsmöglichkeiten zur Verfügung (z.B. Benutzung von Filter, Anpassungen von Datenverbindungen etc.).
Bei einer Live-Verbindung zum SAP-System greift zusätzlich zu den Story-Berechtigungen in SAC die Berechtigungsprüfung des Systems, aus dem zur Echtzeit Daten gelesen werden sollen. Sobald eine Verbindung aufgebaut wird, wird der Anwender in einem Popup nach seinen Anmeldedaten gefragt. Im Hintergrund läuft dann die Prüfung des Systems.
An dieser Stelle kann keine generelle Empfehlung ausgesprochen werden, da das jeweilige Anwendungsszenario genauer betrachtet werden muss:
In jedem konkreten Anwendungsfall muss entschieden werden, inwiefern Daten in der Cloud gespeichert werden dürfen und was aus Modellierungsgesichtspunkten Sinn ergibt. SAC ersetzt nämlich kein Data Warehouse.
Ich möchte an dieser Stelle nicht über den Einsatz und die Sicherheit von Clouddiensten diskutieren, sondern lediglich eine Anregung dazu liefern. Für die eingesetzten Systeme werden oftmals unterschiedliche Technologien verwendet, welche in der Cloud gehostet werden. Diese Technologien können dann für die Vermittlung von Dateien dienen, wodurch die (Zwischen-)Speicherung ebenfalls in der Cloud stattfindet. Letztendlich ist es eine Auslegung der Strategie. Kritische Daten sollten allerdings weiterhin gesondert betrachtet werden.
Auf der anderen Seite können Daten in der Cloud schneller zur Verfügung stehen und eine bessere Performance aufweisen.
Benötigen Sie Daten in Echtzeit, dann macht eine Live-Daten-Verbindung Sinn. Reicht es allerdings aus, dass Daten in einem regelmäßigen (z.B. wöchentlichen) Rhythmus aktualisiert werden, kann auf eine Datenimportverbindung zurückgegriffen werden, bei der eine automatische Aktualisierung eingeplant wird.
Bei der Live-Daten-Verbindung können die Berechtigungen sehr feingranular durch das SAP-System validiert werden. Bei der Nutzung von Modellen oder Dashboards in der Cloud kommt zwangsläufig das Berechtigungskonzept von SAC zum Einsatz. In Verbindung mit einer Live-Connection haben Anwender nicht die Möglichkeit, gesperrte Inhalte anzuzeigen.
Sollte allerdings aus Modellierungsgründen auf eine Datenimportverbindung gesetzt werden, müssen einheitliche Berechtigungskonzepte ausgearbeitet werden. Eine Lösung könnte sein, dass die IT-Abteilung zentral Modelle anlegt und freigibt. Ich habe aber bisher die Hoffnung, dass SAP bei den Datenimportverbindungen nachlegen wird und eine serverseitige Prüfung integriert. Somit würde die Berechtigungsprüfung für Daten in der Cloud größtenteils entfallen.
Das Berechtigungskonzept für importierte Daten (in diesem Fall bezogen auf lokale Dateien) erachte ich als sinnvoll. Dadurch wird auch für lokale Daten eine Berechtigungsprüfung ergänzt und nicht jede Person im Unternehmen kann automatisch auf diese Daten zugreifen, solange die Daten und Auswertung noch nicht kommuniziert werden sollen.
Bei der Live-Daten-Verbindung stehen keine Filterungsmöglichkeiten während der Modellerstellung zur Verfügung. Es ist lediglich möglich, die Query durch die Auswahl von Variablen zu filtern.
Sollte die Query-Performance eine größere Rolle spielen, kann diese durch eine Importverbindung verbessert werden. Dazu können ausgewählte Filter/Variablen, Kennzahlen und auch Dimensionen die Query einschränken. Weiterhin ist es möglich, Berechnungen und auch Transformationen in die Cloud auszulagern, wodurch die Query weiter reduziert werden kann. An dieser Stelle verweise ich allerdings auf den Punkt der Aktualität der Daten.