SAP Business Objects embeds Angular

Im heutigen Blogbeitrag soll es um die Einbettung von Angular in SAP Business Objects WebIntelligence gehen. Anlass ist ein aktuelles Projekt, welches wir für einen unseren Kunden erfolgreich durchgeführt haben. Manch geneigter Leser möchte sich nun die Frage stellen: „Warum denn überhaupt Angular? Warum in WebIntelligence einbetten?“. Die Antwort darauf ist relativ simpel. Die Anforderungen des Kunden waren, dass das Frontend der Reporting-Applikation in einem modernen, flachen und ansprechenden Design abgebildet wird. Darüberhinaus gab es einzelne Spezialanforderungen (wie beispielsweise eine Guided-Tour für optimale User Experience) als auch den Wunsch in der Gestaltung maximal flexibel und nicht an die Möglichkeiten einer Standardsoftware gebunden zu sein. Dabei bleibt zu erwähnen, dass SAP Fiori nicht Teil des Lösungsraum war und deshalb nicht zur Nutzung verfügbar war.

Eine zentrale Herausforderung bei der Gestaltung der Zielarchitektur war der Zugriff auf die bereits existierende Datenbasis unter gleichzeitiger Nutzung der Content-Security, die ihrerseits ebenfalls bereits existierte. Bei der Suche nach Möglichkeiten fand sich sehr schnell die RESTful API von Business Object WebIntelligence. Wie sich herausstellte eignete sich diese auch optimal für die Nutzung und wurde für das Projekt als Mittel der Wahl ausgewählt. Die Restful-API selbst besteht aus verschiedenen, nach Funktionen aufgeteilten, Submodulen. Die wichtigsten APIs sind neben anderen:

  • Configuration API – Mit ihrer Hilfe lassen sich Konfigurationsparameter des Applikationsserver abrufen (z.B. Formateinstellungen).
  • Universe API – Mit Hilfe der Universe API lassen sich Universen des BI Semantic Layers verwalten.
  • Spreadsheet API – Die Spreadsheet-API ermöglicht die Arbeit mit MS Excel-Dateien (z.B. Eine Liste an Dokumenten abfragen, eine Excel-Datei uploaden usw.)
  • Query API – Mit der Query-API lassen sich Universen des BI Semantic Layers abfragen. –> Und das war auch genau die Aufgabenstellung die wir erreichen wollten.

Eine Gesamtübersicht finden Sie unter folgendem Link: https://help.sap.com/viewer/58f583a7643e48cf944cf554eb961f5b/4.2/en-US

Der Ablauf im Detail

Der Zugriff auf die Daten eines Reports erfolgt durch sogenannte Queries, welche die Daten entweder per JSON oder XML zurückgeben. Diese Queries werden temporär für jeden User im Arbeitsspeicher des Applikationsserver angelegt. Bei der Anlage wird dann die ID der angelegten Query zurückgegeben. Mit Hilfe dieser ID lassen sich die Queries dann entsprechend abfragen und liefern die Daten zurück. Das ist bis zu dieser Stelle schön und gut, aber die Datenversorgung funktioniert natürlich nur, wenn man sich als valider Nutzer mit entsprechenden Rechten gegenüber des Systems authentifiziert hat. Und hier kommt dann der Logon-Mechanismus ins Spiel der wiederum in einer Authentifizierungs-API abgebildet ist. Die Authentifizierungs-API bietet dabei grundsätzlich verschiedene Logon-Mechanismen an: secEnterprise, secLDAP, secWinAD, secSAPR3, trusted.

Folgende Ablaufgrafik erläutert den Prozess nochmals im Detail.

Da der Ablauf immer nach dem gleichen Schema geschieht, haben wir einen Provider unserer Angular-Applikation entwickelt, der nach der Konfiguration in der Lage ist, den Login-Mechanismus durchzuführen, Queries nach einem bestimmten Schema anzulegen und diese dann abzufragen. Somit wird der Entwickler sehr schnell in die Lage versetzt Angular-Anwendungen für WebIntelligence zu entwickeln. Sollten Sie Interesse an diesem „Connector“ haben, kontaktieren Sie uns bitte.

Der Datenzugriff steht – Wie geschieht das Hosting

Bei einer SAP Business Objects – WebIntelligence ist die Installation eines Web-Servers obligatorisch. So auch in unserem Fall. Diesen haben wir für das Hosting der Applikation genutzt und dann über einen Open-Document Link innerhalb Web-Intelligence verfügbar gemacht. Über diesen Link geschieht bei unserem Kunden nun der Zugriff auf die Applikation.

Sie haben auch bereits ähnliche Erfahrungen gemacht, auch die Anforderung Daten über eine Angular-Applikation von WebI abzurufen oder generelle Fragen zu einer der im Beitrag genannten Technologien? Wir freuen uns auf einen Austausch mit Ihnen!

Steffen Stähle

Digitaler Transformer aus Leidenschaft - Ist der festen Überzeugung, dass die Unternehmens-IT sich in den nächsten Jahren drastisch ändern wird und deshalb immer auf der Suche nach Optimierungspotential um Arbeitsabläufe mit modernen Technologien und Architekturen noch effizienter zu gestalten.