Skill Chart

 

Intro – Herausforderung & Lösung

 

Unser Ziel ist eine qualitativ hochwertige Beratung und Entwicklung. Spezielle Herausforderungen erfordern spezielle Kenntnisse, Fähig- und Fertigkeiten unserer Teammitglieder. Diese Qualifikationen sind in unserer Belegschaft nicht gleich verteilt, vielmehr haben sich für unterschiedliche Kenntnisbereiche unterschiedliche SpezialistInnen entwickelt, was uns die Möglichkeit bietet einen großen Bereich an Kundenanforderungen abzudecken. Um einen strukturierten Überblick zu behalten und unser Team passgenau bei unseren Kunden vorstellen zu können, arbeiten wir seit Jahren mit Profilen. Profile erfassen für jede Arbeitskraft die individuellen Fähigkeiten, Informationen zu vergangenen und aktuell laufenden Projekten, sowie auch Beratungs- und Entwicklungsschwerpunkte.

Insbesondere der wachsende Headcount macht eine toolunterstützte Pflege und Suche der Profile unabdingbar. Neuste SAP-Technologien bieten die optimale Basis für eine maßgeschneiderte OctaVIA-Lösung. Hierfür wird OpenUI5 als Frontend und SAP CAP als Backend-Technologie eingesetzt. Das Ziel: Entwicklung einer Webanwendung, die eine komfortable Pflege und Verwaltung der Profile ermöglicht, sowie die Profilsuche so zu optimieren, dass binnen weniger Augenblicke passende Mitarbeiter/-profile nach entsprechenden Suchkriterien gefunden werden können.

 

SAP CAP und deren Anwendung

 

Das Cloud Application Programming Model (CAP) ist ein Framework von SAP, welches SAP eigene wie auch Open Source Bibliotheken, Programmiersprachen und Tools bereitstellt. Mit Hilfe von SAP CAP können ohne weiteres Fullstack-Applikationen entwickelt werden, ein separates Projekt für das Frontend ist somit nicht zwingend nötig. Als Laufzeitumgebung setzen wir Node.js ein. Um Fehler möglichst schon zum Entwicklungszeitpunkt zu minimieren, wird zudem auf TypeScript gesetzt. SAP CAP bietet aber auch Support für Java als Laufzeitumgebung. Wir setzen unser Frontend mit OpenUI5 um und nutzen SAP CAP, für die Implementierung des Backends. Von der Initialisierung des Projekts, bis hin zum fertig modellierten RESTful und OData fähigen Backend Server, welcher an eine SQLite3 Datenbank oder ein S/4HANA System angeschlossen werden kann, sind es nur ein paar Handgriffe. Da SAP CAP dem domain-driven Design folgt, ist die Implementierung einzelner, wiederkehrender Aufgaben wie zum Beispiel CRUD-Anfragen senden und empfangen sowie die Einbindung von Core-Data-Services unnötig.

 


Abbildung 1: SAP CAP Übersicht, Quelle: https://blogs.sap.com/2022/03/20/introducing-cap-to-sap-commissions/

 

Hierzu ein Auszug der Funktionen:

 

Automatisches Bereitstellen von verschiedenen Diensten:

 

 

Umgang mit wiederkehrenden Aufgaben:

 

 

Best Practices:

 

 

OpenUI5

 

OpenUI5 ist ein HTML5 Framework, welches die Entwicklung moderner Web-Anwendungen ermöglicht. Insbesondere der Einsatz und Support für mobile Endgeräte und allen gängigen Browsern ist hervorzuheben. OpenUI5 baut, wie andere Web-Frameworks auch, auf HTML, CSS und JavaScript auf. OpenUI5 folgt dem Model-View-Controller Designpattern (MVC) und bietet TypeScript Unterstützung an.

Die Views können in XML-, JSON-, JavaScript- (bzw. TypeScript) oder auch HTML-Datei erstellt werden. Diese beschreiben das User Interface (UI), enthalten also die für den Browser notwendigen Definitionen, wie die Benutzeroberfläche angezeigt werden soll. Das von uns gewählte XML-Format für die Views, erlaubt eine striktere Trennung zwischen UI und Programmlogik. Diese Trennung erleichtert die Arbeit der Entwickler durch eine bessere Lesbarkeit und Wartbarkeit des Codes, da die Funktionalität der Benutzeroberfläche abgekoppelt ist von dem Erscheinungsbild. Die Programmlogik wird in sogenannte Controller ausgelagert. Controller verbinden Views mit den Datenmodellen und sind in JavaScript/TypeScript Dateien definiert. Als Datenmodelle werden unter anderem OData, JSON und XML unterstützt. Die Kommunikation mit dem Backend ist dabei denkbar einfach: via OData-Datenbindung werden automatisch Anfragen an das Backend gesendet und die Antworten in die gebundenen Elemente geladen.

 

Abbildung 2: Übersicht der Architektur von Open UI5, Quelle: https://sdk.openui5.org/topic/ec699e0817fb46a0817b0fa276249f8

 

Abbildung 3: Open UI5 Anbindung der Datenmodelle an die View, Quelle: https://sdk.openui5.org/topic/68b9644a253741e8a4b9e4279a35c247

 

 

SAPUI5 vs. OpenUI5

 

Der zentrale Unterschied zwischen SAPUI5 und OpenUI5 ist die Lizenzierung. OpenUI5 ist ein Open Source Projekt unter der Apache 2.0 Lizenz. OpenUI5 und SAPUI5 bieten generell dieselbe API an. Lediglich einige vorgefertigte Formulare, Diagramme, Steuerelemente und Analysetools gibt es nur bei SAPUI5 out-of-the-box. Die Grundfunktionalitäten sind bei beiden jedoch dieselben. 

 

Anwendung am Beispiel der OctaVIA eigenen Umsetzung 

 

Ausgangslage für unser Beispiel ist das folgende Szenario: Für ein Kundenprojekt benötigen wir Expertise aus den Themengebieten SAP CAP, SAPUI5 und S/4HANA.

Also starten wir unseren Mitarbeiterprofilmanager und navigieren zur Profilsuche:

 

Abbildung 4: Profilsuche: Auflistung aller Mitarbeiter nach Namen und Profiltypen. Die Profilvollständigkeitsanzeige gibt an, wie weit das jeweilige Profil gepflegt wurde. 

 

In der Profilsuche kann nach gewissen Kriterien gefiltert werden. So kann beispielsweise nach einzelnen oder mehreren Kompetenzen (Skills) und deren Ausprägungen gesucht werden (umfangreiches Wissen, mehrjährige Erfahrung oder Experte). Eine Suche nach einzelnen Mitarbeitern/bestimmten Profilen ist ebenfalls möglich. Auf der rechten Seite sind die Profilvollständigkeitsanzeigen zu sehen. Diese geben an, wie weit das jeweilige Profil gepflegt wurde. Bei einer Profilvollständigkeitsanzeige von 100% wird gewährleistet, dass dieses Profil vollständig und . Die Profilvollständigkeit berechnet sich u.a. daraus, ob in den Projekten alle Felder ausgefüllt sind, die letzte Profiländerung nicht älter als 6 Monate ist, Kategorien wie Branchenerfahrung, Zertifikate und Fremdsprachen gepflegt sind. Ein vollständig gepflegtes Profil erlaubt einen Export des Profils direkt aus der Web-Anwendung in ein Word-Dokument.

 

 

Abbildung 5: Skills-Filter: in dieser Multi-Combo-Box können die gesuchten Skills selektiert werden. Dazu kann ein einzelner Skill ausgewählt werden. oder mehrere über die Checkboxen. Eine Textsuche wird unterstützt. Die Eingabe der Anfangsbuchstaben eines Wortes, oder das gesamte Wort, reduziert die Anzeige in der Multi-Combo-Box auf die passenden Skills. 

 

In unserer Anfrage sind die Skills SAPUI5, SAP CAP und S/4HANA gefordert, der Skills-Filter hilft eine Vorauswahl zu treffen.

 

Abbildung 6: Skills-Filter: Nach Eingabe der gewünschten Skills, werden nur noch die Mitarbeiterprofile angezeigt, welche den Suchkriterien genügen, also alle Profile , welche die ausgewählten Skills enthalten. Somit kann effizient eine Vorauswahl getätigt werden. 

 

 

Die zusätzliche Eingrenzung auf das Skill-Level Experte, verdichtet das Suchergebnis auf zwei – auf die kundenspezifische Anfrage – passende Mitarbeiter. Die Skill-Level teilen sich in umfangreiches Wissen (ein Stern), mehrjährige Erfahrung (zwei Sterne) und Experte (drei Sterne) auf.

 

Abbildung 7: Skill-Level: Bei der Auswahl des Skill-Levels werden zusätzlich zu den einzelnen Skills, diejenigen Profile gefiltert, die mindestens so viele Sterne haben wie gewünscht. Alle anderen Profile werden ausgeblendet. 

 

Profildetailanzeige:

 

In der Profildetailanzeige lassen sich Profile pflegen, exportieren sowie Neue anlegen. Die Profilpflege ist in vier Registerkarten aufgeteilt: Stammdaten, Kategorien, Skills und Projekte.

In der Registerkarte Stammdaten sind Detailinformationen zu der jeweiligen Arbeitskraft einsehbar. Hier können lediglich die Berufserfahrung und der akademische Titel bearbeitet werden. Die restlichen Daten werden automatisch via OData-Binding geladen, z.B. aus Microsoft Azure.

 

Abbildung 8: Profildetailansicht – Stammdaten: Hier sind die Stammdaten eines Mitarbeiters zu sehen.

 

Im Reiter Kategorien sind Branchenerfahrungen, Entwicklungsmethoden, Zertifizierungen, Beratungsschwerpunkte und Fremdsprachen aufgelistet. Diese können auch direkt gepflegt und für jeden Profiltyp angepasst werden.

 

 

Abbildung 9: Profildetailansicht – Kategorien: In diesem Reiter werden die verschiedenen Metadaten eines Profils verwaltet, wie die Branchenerfahrung eines Mitarbeiters, besondere Entwicklungsmethoden, welche Zertifizierungen dieser abgeschlossen hat, welche Fremdsprachen der Mitarbeiter beherrscht.

 

In der Registerkarte Skills sind alle Fähig- und Fertigkeiten dargestellt. Diese können direkt in der Oberfläche gepflegt werden.

 

Abbildung 10: Profildetailansicht – Skills: in diesem Reiter sind die Fähigkeiten mit dazugehörigem Kenntnisstand aufgelistet. 

 

Im Reiter Projekte sind alle abgeschlossenen und aktuell laufende Projekte gelistet. Diese können direkt bearbeitet und gepflegt werden.

 

Abbildung 11: Profildetailansicht – Projekte: im Projektreiter ist die Möglichkeit zur Projektpflege gegeben. Hier können neue Projekte angelegt, vorhandene aktualisiert und erweitert werden.

 

Profilexport

Wir haben uns für einen generischen Profilexport entschieden, der es erlaubt ein Word Template automatisch zu befüllen. Voraussetzung ist die einmalige Erstellung eines Word Layouts. Dieses Template wird im Backend hinterlegt und bei jedem Export automatisch mit den passenden Daten bestückt. Dies garantiert die Einheitlichkeit der Profile und erspart jeglichen manuellen Eingriff.

 

Abbildung 12: Word-Template: Mit Syntax des npm-Paketes docx-templates erstelltes Word-Template.

 

Hier als Beispiel das erstellte Profil von obigem User Max Mustermann:

Abbildung 13: Exportiertes Word-Dokument: Das von der Export-Funktion erzeugte Word-Dokument. 

 

Fazit

 

Die Entscheidung ein Profilmanager als Webanwendung mit den Technologien von SAP CAP und OpenUI5 umzusetzen, stellt sich als gute Wahl dar. Die beiden Technologien greifen gut ineinander und erleichtern die Entwicklung, da auch komplexere Prozesse gut abzubilden sind. Der Einsatz von TypeScript, welchen SAP CAP und OpenUI5 unterstützen, bringt einen großen Mehrwert bei der Entwicklung, da viele Fehler vor der Laufzeit abgefangen werden können. Auch wenn die Dokumentationen von SAP CAP und OpenUI5 sehr umfangreich und detailliert sind, konzentrieren diese sich sehr auf JavaScript, was die Entwicklung in TypeScript teilweise erschwert.

 

 

Forschung & Entwicklung

Wir setzen Forschung und Entwicklung eigenständig als auch mit externen Partnern (Universitäten, Kooperationspartner u. ä) um, wir realisieren neue Produkte und Leistungen, die unsere Kunden voranbringen.

Die OctaVIA AG nimmt Teil am Forschungsprojekt „itP³ intelligenter Projektplanungs-Prozess“.

Ziel des Forschungsprojektes ist Projektplanungs- und Projektausführungsprozesse mit digitalen Tools und künstlicher Intelligenz zu automatisieren, schnell präzise und verständliche Angebote zu erstellen und in der Projektumsetzung flexibel und mit hoher Qualität agieren zu können. Durch den vernetzten Informationsaustausch entsteht ein digitaler Zwilling der Projektsituation. Intelligente Algorithmen ermitteln automatisch relevante Zusammenhänge zwischen Arbeitspaketen und verknüpfen die aktuelle Situation mit Material einer bestehenden und stetig wachsenden Wissensbasis. Zentraler Gedanke des Projekts ist es den Planungsprozess, die Projektumsetzung und die Wissensbasis in einem Tool zu verbinden, so dass durch den digitalen Informationsaustausch alle drei Bereiche von deutlichen Effizienzsteigerungen profitieren.

Das Projekt wird vom Land Hessen im Programm Distr@l 2B mit einer halben Million Euro gefördert.

 

Anbindung von On-Premises Systemen an SAP Cloud Anwendungen

Einführung

 

Die Welt befindet sich stetig in einem Prozess des Wandels. Der Anspruch wächst, alles soll schneller, höher und weiter verlaufen als zuvor. Im Strom der Zeit mitzuhalten, erfordert sowohl von jedem einzelnen Menschen als auch von großen Unternehmen jene Bereitschaft der stetigen Weiterentwicklung. Im Folgenden betrachten wir nun einen spezifischen Aspekt, die wachsenden Digitalisierung, genauer. Denn auch hier ist ein stetiger Fortschritt unumgänglich. Immer mehr und mehr Daten rasen in schwindelerregendem Tempo von A nach B und wieder zurück, um irgendwann zu C und D zu gelangen. Gerade im Anbetracht dessen zwang uns alle die COVID- 19 Pandemie ein Stück weit in die Knie. Sie zeigte uns auf, dass von heute auf morgen eine noch schnellere Reaktion auf die Umstände verlangt wird als bisher.  

 

Viele Unternehmen waren plötzlich wie leergefegt, Homeoffice und viel Improvisation stand auf der Tagesordnung. Eine weiterentwickelte Digitalisierung, zum einen für die stetige Kommunikation als auch die Integration der dadurch vermehrt anfallenden Daten, die nun integriert werden sollten, spielt gerade in der heutigen Zeit eine große Rolle, um alles am Laufen zu halten und im Wettbewerb aller mitzuhalten. 

Laut dem Wallstreet Journal betreiben große Unternehmen im Schnitt 129 Anwendungen (Stand: 2018), kleinere Unternehmen bringen es immerhin auf durchschnittlich 73 Applikationen. Mehr und mehr dieser Anwendungen werden dabei nicht mehr (ausschließlich) On-Premises, sprich auf lokalen Maschinen bzw. in unternehmenseigenen Rechenzentren, betrieben, sondern werden in die Cloud ausgelagert. Die Herausforderung für die Unternehmen besteht nun darin, die Daten der verschiedenen Anwendungen so miteinander zu integrieren, dass ein Mehrwert aus Unternehmenssicht geschaffen werden kann.   

  

Die SAP ist Vorreiter in diesen Prozessen und bietet aus technologischer Sicht mit der SAP Business Technology Platform (BTP) den zentralen Baustein, um Daten und Prozesse anwendungsübergreifend miteinander zu integrieren. Dabei spielt es keine Rolle, ob die Systeme in der Cloud oder On-Premises laufen. 

 

Im Folgenden soll am Beispiel der Integration eines S/4HANA OData Services in eine SAP Fiori Cloud Anwendung die Möglichkeit der Datenintegration mittels BTP veranschaulicht werden. 

 

Architektur 

 

Die Systemarchitektur orientiert sich an der folgenden Abbildung: 

Abbildung 1: Systemarchitektur für die Anbindung eines On-Premises Systems an eine Cloud ApplikationBitte beachten: Die SAP Cloud Platform wurde im Januar 2021 umbenannt und wird nun als Business Technology Platform bezeichnet . 

 

Grundsätzlich werden die beiden Zonen „On-Premises Landscape“ und „Internet“ unterschieden. Während das On-Premises System – in unserem Fall ein S/4HANA – im geschützten Unternehmensnetzwerk läuft, befinden sich alle anderen Komponenten in der Cloud. 

Die wichtigsten Komponenten im Überblick: 

 

On-Premises Landscape Internet
  • On-Premises System: Das System im Unternehmensnetzwerk aus dem Daten bezogen werden sollen.

 

  • Cloud Connector: Der SAP Cloud Connector ist eine von der SAP  bereitgestellte Komponente, die im Unternehmensnetzwerk läuft. Lokale Systeme können mit Anwendungen in der Cloud verbunden werden, ohne, dass die Systeme selbst nach  außen hin geöffnet werden müssen. 
  • SAP Business Technology Platform: SAP Kernprodukt welches u.a. die Basis für Integrationsszenarien bietet.

 

  • Web App: Anwendung die in der Cloud läuft und Daten aus einem On-Premises System bezieht.

 

  • Destination: Mechanismus in BTP, über den Verbindungen sowohl Clouds als auch zu On-Premises Systemen konfiguriert werden können. 

 

  • Connectivity: BTP Service, der mit Cloud Connector im Unternehmensnetzwerk kommuniziert. 

 

 

 

Umsetzung mittels Business Application Studio 

 

In den folgenden Abschnitten zeigen wir die nötigen Bausteine, um Daten aus einem S/4HANA System in einer Cloud Applikation anzeigen zu lassen. Hierbei fokussieren wir uns auf die App sowie die Konfiguration der Datenquelle, geben jedoch im folgenden Abschnitt einen Überblick über die weiteren notwendigen Systeme. 

 

Voraussetzungen 

 

In Anlehnung an die in Abbildung 1 dargestellten Bausteine setzen wir voraus, dass folgende Systeme inkl. einer korrekten Konfiguration vorhanden sind: 

 

  • SAP Business Application Studio: Mit dem Business Application Studio (BAS)  steht dem Entwickler eine vollständige Cloud-basierte Entwicklungsumgebung zur Verfügung. Das BAS kann kostenlos getestet und jederzeit auf eine passende Bezahlvariante hochgestuft werden. Um das BAS nutzen zu können, muss zunächst ein „Dev Space“ angelegt werden. Ein Dev Space ist eine vorkonfigurierte Entwicklungsumgebung, welche alle Tools und Ressourcen bereitstellt, die für die Entwicklung benötigt werden. 

 

  • Cloud Connector: Der Cloud Connector  stellt das Bindeglied zwischen den On-Premises Systemen und der Cloud her. Die Software wird im Unternehmensnetzwerk installiert und kann im Anschluss an beliebig vielen BTP Subaccounts registriert werden. Damit über den Cloud Connector eine Verbindung zu einem On-Premises System hergestellt werden kann, muss dieses zunächst im Cloud Connector konfiguriert werden. Nach erfolgter Konfiguration kann das On-Premises System über den Virtual Host in der BTP Destination angesprochen werden.

 

 

Abbildung 2Am BTP Subaccount registrierter Cloud Connector. Der virtuelle Host ’s4h:443′ wird in der Destination Konfiguration verwendet. 

 

Konfiguration der Datenquelle 

 

Nach dem Start des BAS sollte als erstes die Datenquelle konfiguriert werden. Hierzu wird in der Menüleiste auf der linken Seite der Eintrag „Service Center: SAP System“ gewählt. Dann kann das System per „Add System“ hinzugefügt werden, siehe Abbildung 3. 

 

 Abbildung 3Konfiguration der Datenquelle im Business Application Studio 

 

Sobald die Verbindung, über den Cloud Connector zu dem On-Premises System, erfolgreich hergestellt wurde, kann direkt der Service Katalog angezeigt werden. Als nächstes wird nun, auf Basis der „API_BUSINESS_PARTNER“, ein neues Fiori Projekt erzeugt. 

 

Generierung der Fiori Elements App 

 

Es gibt viele Wege ein Fiori basiertes Projekt zu erzeugen. Wir konzentrieren uns hier auf den Weg der Generierung eines Fiori Projektes direkt über den Service Katalog. Wählen Sie im „Service Center“ das entsprechende SAP System. Unterhalb des SAP Systems werden nun die verfügbaren Services angezeigt:  

 

 Abbildung 4Erstellung eines Projektes auf Basis eines S/4HANA Services 

 

Führen Sie folgende Schritte aus: 

  1. Wählen Sie einen passenden Service, in diesem Beispiel „ZAPI_BUSINESS_PARTNER“. 
  2. Klicken Sie auf der rechten Seite auf „Service Actions“ → „Create Project from Service“. 
  3. Wählen Sie unter „Generators“ den Eintrag „SAP Fiori Application“ und klicken Sie auf „Start“. 
  4. Wählen Sie als „Floorplan“ den Eintrag „List Report Object Page“ und klicken Sie auf „Next“. 
  5. Wählen Sie eine passende „Main entity“, in diesem Beispiel „A_BusinessPartner“. 
  6. Wählen Sie eine passende „Navigation entity“, in diesem Beispiel „to_Customer“ und klicken Sie auf „Next“. 
  7. Füllen Sie die erforderlichen Projektattribute aus, orientieren Sie sich dabei gern an Abbildung 5 und klicken Sie auf „Finish“. 

 

Abbildung 5Konfiguration der Projektattribute 

 

Das Projekt inkl. dem erforderlichen Quellcode wird nun generiert. Falls das Projekt nicht automatisch zum Workspace hinzugefügt wird, führen Sie folgende Schritte aus: 

  1. Klicken Sie im Menü des BAS auf den Eintrag „File“ → „Open Workspace“.
  2. Wählen Sie das generierte Projekt und klicken Sie auf „Open“. 

Das Projekt kann nun direkt getestet werden. Führen Sie dazu folgende Schritte aus: 

  1. Klicken Sie mit der rechten Maustaste unterhalb des Projektordners auf den Ordner „webapp“ und wählen Sie den Eintrag „Preview Application“.
  2. Wählen Sie als NPM Script den Eintrag „Start“. 

Abbildung 6Starten der generierten Fiori Applikation 

 

Es sollte sich nun ein neues Browserfenster/-tab geöffnet haben. Falls dies nicht der Fall ist, überprüfen Sie bitte Ihren Popup Blocker. Standardmäßig ist die App so konfiguriert, dass keine Spalten in der „List Report Page“ angezeigt werden. Klicken Sie daher im oberen rechten Bereich der Seite auf das Zahnrad und wählen Sie beliebige Spalten aus: 

 

 

Abbildung 7Auswahl der Spalten in der generierten Fiori App 

 

Nach der Auswahl der Spalten klicken Sie bitte auf den Button „Go,“ um die Daten aus dem On-Premises S/4HANA System zu laden: 

 

Abbildung 8Darstellung der API_BUSINESS_PARTNER im ListReport 

 

Fazit 

 

Deutlich wurde nun, dass die Integration von On-Premises Daten in eine Cloud Anwendung grundsätzlich keine Raketenwissenschaft ist – vorausgesetzt die nötigen Systeme sind korrekt konfiguriert. 

 

Außerdem ist zu beachten, dass gerade, wenn es um fortgeschrittene Techniken wie „Principal Propagation“ geht, Expertenwissen gefragt ist. Principal Propagation bedeutet ein automatischer Login im On-Premises System, auf Basis des in der Cloud angemeldeten Benutzers.  

 

Möchten Sie Ihren persönlichen Use-Case analysieren? Sprechen Sie uns gern an. Wir begleiten Sie von Anfang bis Ende und sorgen dafür, dass Sie das Maximum aus Ihren Daten herausholen.

 


Anschrift Kassel
Tischbeinstraße 32
34121 Kassel

Anschrift Köln
Emil-Hoffmann-Straße 55-59
Bürogebäude 6
50996 Köln-Rodenkirchen

Allgemeiner Kontakt
Telefon +49 561 - 3 10 00 0
Telefax +49 561 - 3 10 00 31
» eMail-Kontakt zu uns

Öffnungszeiten
Montag bis Freitag
von 08:00 Uhr bis 17:00 Uhr

Kontakt