Beschreiben der Architektur von SAP-Systemen

Objectives

After completing this lesson, you will be able to:
  • die Begriffe SAP Business Suite und SAP S/4HANA erläutern und deren Unterschied zum Datenmodell beschreiben
  • Die Client/Server-Architektur von SAP-Systemen beschreiben

Anwendungen und SAP-Systeme

In verschiedenen Anwendungen können durchaus dieselben SAP-Systeme integriert sein. Eine Anwendung ist also eine Art logische Klammer um eine Menge von SAP-Systemen.

Die alte, bestehende SAP-Welt ist die SAP Business Suite, bestehend aus den Anwendungen SAP ERP, SAP CRM, SAP SRM, SAP SCM und SAP PLM.

Nachfolger der SAP Business Suite sind (unter anderem) SAP S/4HANA und SAP BW/4HANA.

Informationen zu Anwendungen

SAP S/4HANA

SAP S/4HANA (SAP Business Suite für SAP HANA) ist die neueste Sammlung von betriebswirtschaftlichen Anwendungen von SAP. Dadurch, dass dieses Produkt viele Geschäftsprozesse bietet, die bereits für den Einsatz auf der innovativen Datenbank SAP HANA optimiert sind, kann Ihr Unternehmen schnell von der Auswertungsgeschwindigkeit profitieren, die mit SAP HANA möglich ist.

SAP S/4HANA bietet mit SAP Fiori eine innovative Technologie zur Gestaltung von Benutzeroberflächen an, die Sie dabei unterstützt, Ihren Mitarbeitern einfacher und schneller Zugriff auf jeweils für sie relevante Funktionen zu geben.

Der Einsatz von SAP HANA ermöglicht es Ihrem Unternehmen, neue Anwendungen im Umfeld von Big Data und im Internet der Dinge zu erstellen.

SAP BW/4HANA

SAP BW/4HANA ist eine Weiterentwicklung von SAP Business Warehouse (SAP BW), die vollständig optimiert und auf SAP HANA zugeschnitten wurde. Es handelt sich um die Data-Warehouse-Lösung der nächsten Generation von SAP und ein neues Produkt (kein Rechtsnachfolger einer bestehenden SAP-Business-Warehouse-Lösung), das vollständig auf einer der modernsten In-Memory-Plattformen basiert – SAP HANA.

Notiz

Weitere Informationen finden Sie unter https://www.sap.com/products/bw4hana-data-warehousing.html.

SAP entwickelt weiterhin branchenführende Data-Warehousing-Technologien mit SAP Data Warehouse Cloud, SAP SQL Data Warehousing und SAP BW/4HANA, um das intelligente Unternehmen zu ermöglichen. SAP Data Warehouse Cloud ersetzt keine On-Premise-Lösung von SAP Data Warehousing, sondern ergänzt das bestehende Data-Warehouse-Portfolio von SAP.

SAP ERP

SAP Enterprise Resource Planning (SAP ERP) ist eine marktführende Lösung zur Optimierung von Geschäftsprozessen in Ihrem Unternehmen und zur Optimierung Ihrer IT-Landschaft durch Reduzierung der IT-Komplexität. Die Anwendung unterstützt geschäftskritische, durchgängige Geschäftsprozesse für Finanzen, Human Capital Management, Anlagenmanagement, Vertrieb, Beschaffung und weitere wichtige betriebliche Funktionen. SAP ERP unterstützt zudem branchenspezifische Prozesse, da es über branchenspezifische Geschäftsfunktionen verfügt, die selektiv über das Switch Framework aktiviert werden können. Dadurch wird der Anwendungskern stabil gehalten.

Notiz

Weitere Informationen finden Sie unter https://www.sap.com/products/erp.html.

SAP CRM

SAP Customer Relationship Management (SAP CRM) bietet den Marketing-, Vertriebs- und Kundendienstmitarbeitern eine umfassende Plattform für eine vollständige Customer Intelligence, mit der Kunden und kundenbezogene Prozesse effektiv verwaltet werden können. SAP CRM ermöglicht die Kundeninteraktion über mehrere Kanäle, einschließlich Smartphones, Internet und Social Media, und bietet außerdem eine dedizierte Kommunikationsinfrastruktur, über die alle Benutzer jederzeit und an jedem Ort miteinander verbunden werden können.

Hinweis

Weitere Informationen finden Sie unter https://www.sap.com/products/crm.html.

SAP SCM

SAP Supply Chain Management (SAP SCM) ermöglicht Unternehmen die Anpassung ihrer Supply-Chain-Prozesse an eine sich ständig ändernde Wettbewerbsumgebung. SAP SCM wandelt herkömmliche Logistikketten aus linearen, sequenziellen Prozessen in offene, konfigurierbare Liefernetzwerke um. In diesen Netzwerken können kundenorientierte, bedarfsgesteuerte Unternehmen die Dynamik von Nachfrage und Angebot in einer weltweit verteilen Umgebung intelligenter und schneller erkennen sowie entsprechend reagieren.

Hinweis

Weitere Informationen finden Sie unter https://www.sap.com/products/supply-chain-management.html.

SAP SRM

SAP Supplier Relationship Management (SAP SRM) bietet eine Beschaffungsplattform, die Organisationen aller Branchen bei der Verbesserung ihrer zentralen Bezugsquellenfindung und Kontraktverwaltung hilft. Außerdem bietet die Lösung Unterstützung bei der Interaktion mit Lieferanten über mehrere Kanäle. SAP SRM beschleunigt und optimiert den gesamten durchgängigen Beschaffungsprozess durch Unterstützung integrierter Prozesse und Durchsetzung der Vertragseinhaltung, was zu rentablen Einsparungen führt.

Hinweis

Weitere Informationen finden Sie unter https://www.sap.com/products/e-procurement.html.

SAP PLM

Mit SAP Product Lifecycle Management (SAP PLM) können Unternehmen alle produktbezogenen Informationen sowohl während des Produkt- und Anlagenlebenszyklus als auch in der erweiterten Lieferkette verwalten, verfolgen und steuern. SAP PLM fördert Kreativität und befreit Produktinnovationen von organisatorischen Einschränkungen.

Von SAP ECC zu SAP S/4HANA Server

Die meisten herkömmlichen relationalen Unternehmens-Datenbanktabellen basieren auf Zeilenspeicher, da dies als optimales Speicherdesign für eine OLTP-Anwendung (Online Transaction Processing) betrachtet wird. Eine OLTP-Anwendung erfordert schnelle Aktualisierungen auf Datensatzebene. In der Regel werden hier alle Spalten im Datensatz für die Verarbeitung benötigt.

SAP HANA unterstützt OLTP-Anwendungen, die Zeilenspeicher verwenden, vollständig, unterstützt aber auch spaltenbasierten Speicher, der das optimale Speicherdesign für Online-Analytical-Processing-Anwendungen (OLAP-Anwendungen) darstellt. OLAP-Anwendungen arbeiten in der Regel mit Tabellen mit großen Datenmengen, die schnell durch Ad-hoc-Querys aggregiert werden müssen.

Die Datenbank von SAP HANA unterstützt sowohl Zeilentabellen als auch Spaltentabellen in derselben Datenbank. Moderne Anwendungen, wie z.B. SAP S/4HANA, kombinieren Transaktionen und Analysen, sodass SAP HANA mit seinem Zeilen- und Spaltenspeicher die ideale Datenbank für die Erstellung dieser Anwendungen ist.

Spaltentabellen sind für analytische Anwendungen effizient, bei denen Anforderungen für eine Auswahl von Daten nicht planbar sind. Querys von analytischen Anwendungen, die an die Datenbank gesendet werden, erfordern häufig nur eine Teilmenge der gesamten Daten in der Tabelle. In der Regel werden nur wenige Spalten aus der Tabelle und auch nur eine begrenzte Anzahl von Einträgen aus den Spalten benötigt. Mit Spaltentabellen werden nur die erforderlichen Spalten in den Hauptspeicher geladen, sodass vermieden wird, den Speicher mit Spalten zu füllen, die nie verwendet werden. Außerdem werden die Daten effizient angeordnet – alle Werte einer Spalte werden nacheinander angezeigt. Diese kontinuierliche Reihenfolgeplanung der Spaltenwerte wird von der CPU bevorzugt, die die Werte effizient scannen kann, ohne unerwünschte Werte überspringen zu müssen.

Mit Spalten-basierter Speicherung scannt SAP HANA Spalten mit Daten so schnell, dass zusätzliche Indizes in der Regel nicht erforderlich sind, auch wenn sie unterstützt werden. Dies trägt dazu bei, die Komplexität zu reduzieren, indem vermieden wird, dass separate Indizes ständig angelegt, gelöscht und neu erstellt werden müssen.

Spaltentabellen können mühelos geändert werden, z.B. indem zusätzliche Spalten hinzugefügt oder Spalten gelöscht werden, ohne Daten zu löschen und erneut zu laden.

Spaltentabellen sind für die parallele Verarbeitung optimiert, da jeder CPU-Kern in einer separaten Spalte arbeiten kann.

Der Nachteil zu Spaltentabellen sind die Kosten für die Neuerstellung vollständiger Datensätze aus den separat gespeicherten Spalten. Die Neuerstellung erfolgt in der Regel in transaktionalen Anwendungen, die den vollständigen Datensatz zum Aktualisieren, Kopieren oder Löschen benötigen. Es ist zwar möglich, transaktionale Anwendungen basierend auf Spaltentabellen zu erstellen, die Performance ist jedoch besser, wenn Sie zeilenbasierte Tabellen verwenden, in denen alle Spalten in einem Datensatz immer zusammengehalten werden und in einem Schritt gelesen werden können.

Heutzutage kommt es jedoch häufig vor, dass Anwendungen transaktionale und analytische Elemente kombinieren. In diesem Fall müssen Sie entscheiden, welche die am besten geeignete Speichermethode ist. Sie können keine Tabelle verwenden, die sowohl zeilenbasiert als auch spaltenbasiert ist.

SAP-Systeme, Application Server ABAP und Application Server Java

Die meisten SAP-Systeme basieren auf dem Application Server ABAP oder dem Application Server Java und nutzen diesen als Laufzeitumgebung.

Application Server ABAP und Application Server Java – Funktionen

Im folgenden Video erfahren Sie mehr über die Funktionen von Application Server ABAP und Application Server JAVA:

ABAP und Java

SAP-Systeme werden eingesetzt, um Geschäftsprozesse oder betriebswirtschaftliche Anwendungen abzubilden. Implementieren Sie diese Anwendungen möglichst unabhängig von der verwendeten Hardwareumgebung (Betriebssystem, Datenbank). SAP liefert hierfür zwei verschiedene Laufzeitumgebungen aus, eine ABAP-Laufzeitumgebung (Verwendungsart AS ABAP) und eine Java-Laufzeitumgebung (Verwendungsart AS Java).

Notiz

Wenn Sie ein SAP-S/4HANA-System verwenden, müssen Sie die SAP-HANA-Datenbank verwenden, und für die SAP-HANA-Datenbank ist ein Linux-Betriebssystem erforderlich.

ABAP

ABAP ist eine von der SAP entwickelte Programmiersprache. Viele betriebswirtschaftliche Anwendungen eines SAP-Systems sind in ABAP geschrieben. ABAP ist für die Entwicklung hochgradig skalierbarer betriebswirtschaftlicher Anwendungen optimiert. Die ABAP Workbench dient sowohl zur Eigenentwicklung vollständig neuer Anwendungen als auch zur Erweiterung und Modifikation von SAP-Standardanwendungen auf Kundenseite. Hierbei kann die gesamte Infrastruktur des AS ABAP genutzt werden. Die Infrastruktur unterstützt auch das Erstellen komplexester Anwendungen durch große Entwicklergruppen. Der Application Server ABAP stellt die Laufzeitumgebung für die in ABAP geschriebenen Programme zur Verfügung.

Neben der Laufzeitumgebung für ABAP-Programme liefert SAP auch eine Laufzeitumgebung für Java-Programme mit aus. Der AS Java ist ein Applikationsserver gemäß dem Standard Java Enterprise Edition (JEE).

Java

Die Programmiersprache Java wurde 1995 von Sun Microsystems Inc.™ eingeführt. Java ist eine objektorientierte und plattformunabhängige Programmiersprache, die in vielen Bereichen eine weite Verbreitung gefunden hat. Das Konzept von Java ermöglicht die Entwicklung einer Vielzahl von verschiedenen Anwendungstypen – von der klassischen Anwendung über in Webseiten eingesetzte Applets bis hin zu Client/Server-Anwendungen.

Java Platform Enterprise Edition (kurz Java EE, früher J2EE) ist ein Herstellerstandard für eine ganze Palette an Softwarekomponenten, die primär in der Programmiersprache Java erstellt werden. Mithilfe von Kompatibilitätstests für Jave EE stellt Sun/Oracle sicher, dass die Spezifikation der Java Platform, Enterprise Edition, eingehalten wird.

Diese Spezifikation dient dazu, einen allgemein akzeptierten Rahmen zur Verfügung zu stellen, um mit modularen Komponenten verteilte, mehrstufige Anwendungen zu entwickeln. Mit der Java EE-Spezifikation möchte Sun/Oracle sicherstellen, dass Webanwendungen, die der Spezifikation entsprechen, auf allen Java-EE-kompatiblen Servern ausgeführt werden. Die Anwendungslogik wird gemäß der Java-EE-Spezifikation in Enterprise JavaBeans (EJB) verpackt. Sie stellen Java-Programmkomponenten dar. Ein Container stellt den Komponenten implizit die Dienste der Laufzeitumgebung zur Verfügung.

Client/Server-basierte Architektur

Bevor verschiedene Client/Server-Konfigurationen in Zusammenhang mit SAP-Systemen behandelt werden, sollen die beiden Begriffe Client und Server definiert werden. Dazu haben Sie zwei Möglichkeiten:

  • In der hardwareorientierten Sicht bezeichnet der Begriff Server den zentralen Rechner in einem Netzwerk, der den Arbeitsstationen (Clients) Daten, Speicher und Ressourcen zur Verfügung stellt.

  • In der softwareorientierten Sicht werden Client und Server auf Prozessebene (Service) definiert. Ein Service ist in diesem Zusammenhang ein Dienst, der von einer Softwarekomponente angeboten wird. Eine solche Softwarekomponente kann aus einem Prozess oder einer Gruppe von Prozessen (z.B. Application Server ABAP) bestehen und wird dann als Server für den jeweiligen Dienst bezeichnet. Softwarekomponenten, die einen Dienst in Anspruch nehmen, werden entsprechend als Clients bezeichnet. Solche Clients können wiederum gleichzeitig Server für bestimmte andere Dienste sein.

Die folgende Abbildung verdeutlicht die beiden Ansätze für die Definitionen.

In Zusammenhang mit SAP-Systemen werden die Begriffe „Client" und „Server" zumeist aus softwareorientierter Sicht verwendet.

Client/Server-Konfigurationen von SAP-Systemen

Um eine betriebswirtschaftliche Anwendungssoftware betreiben zu können, werden häufig folgende Prozesse verwendet:

  • Präsentationsprozesse (zum Beispiel zur Aufbereitung der Bildschirmbilder)

  • Applikationsprozesse (zum Beispiel zum Ausführen von Anwendungsprogrammen)

  • Datenbankprozesse (zum Beispiel zur Verwaltung und Organisation der Daten der Datenbank)

Im Rahmen der Installation und Konfiguration eines SAP-Systems muss die Frage beantwortet werden, wie die benötigten Prozesse auf die zur Verfügung stehende Hardware verteilt werden. Je nach Anzahl der verwendeten Hardwareschichten sind Konfigurationen entweder einstufig oder mehrstufig. Ein Beispiel für eine betriebswirtschaftliche Anwendungssoftware ist das System SAP ECC.

Einstufige Konfigurationen werden typischerweise zu Test- oder Demonstrationszwecken (zum Beispiel SAP-System auf einem Laptop) eingesetzt. Wenn viele Benutzer an einem System dieser Konfiguration arbeiten wollen, werden die pro weiterem Benutzer anfallenden Kosten für zusätzliche Hardwareressourcen höher als die Kosten, die mit der Einführung weiterer Hardwareebenen (zum Beispiel Verlagerung der Präsentationsprozesse auf andere Maschinen) verbunden wären.

Die zweistufige Konfiguration mit verteilten Präsentationsprozessen kann eine gute Performance für eine deutlich höhere Anzahl von Benutzern aufrechterhalten, ohne die Hardwarekosten erheblich zu erhöhen. Die durch die Präsentationsprozesse bewirkte Last wird nun auf die verschiedenen Frontend-Rechner verteilt und beeinträchtigt nicht mehr die Performance des Datenbankrechners.

Ab einer gewissen Obergrenze von Benutzern kann allerdings der zentrale Rechner, auf dem sowohl die Applikations- als auch die Datenbankprozesse laufen, zum Engpass werden. Um die Leistungsfähigkeit des SAP-Systems zu erhöhen, können in diesem Fall die Prozesse der Anwendungsschicht auf mehrere Rechner verteilt werden. Das Einfügen einer speziellen Hardwareebene für die Anwendungsprozesse hat darüber hinaus den Vorteil einer leichteren Skalierbarkeit des SAP-Systems. Vergrößert sich die Zahl der SAP-Benutzer in einem SAP-System mit der Zeit und beeinträchtigt dies die Performance des SAP-Systems, kann dieses Problem in vielen Fällen bereits durch das Einbinden eines weiteren Rechners für Anwendungsprozesse behoben werden.

Eine alternative zweistufige Konfigurationsmöglichkeit ist die Installation von leistungsfähigen Desktop-Systemen, auf denen Präsentation und Anwendungen laufen (zweistufige Client/Server-Konfiguration). Solche Konfigurationen wären interessant für Anwendungen mit hohem Rechenaufwand (zum Beispiel Simulationen oder für Softwareentwickler), sind aber wegen des zusätzlichen Administrationsaufwands im SAP-Umfeld, außer zu Testzwecken, nicht realisiert.

In der SAP-S/4HANA- und SAP-Business-Suite-Umgebung sind komplexere Client/Server-Konfigurationen, die aus mehr als drei Schichten bestehen, theoretisch möglich und werden in der Praxis verwendet. Eine weitere Schicht könnte zum Beispiel ein Web-Server sein.