Was ist SAP R / 3?
SAP R / 3 ist eine dreistufige Architektur, die aus drei Schichten besteht
- Präsentation
- Anwendung
- Datenbank
In einfachen Worten, es ist eine Client-Server-Architektur.
- R bedeutet Echtzeitsystem
- 3 steht für - 3-Tier-Architektur.
Benutzer-PC: - Benutzer können auf zwei Arten auf das SAP-System zugreifen: -
- Über SAP GUI
- Über den Webbrowser
Es heißt Frontend. Auf dem PC des Benutzers ist nur das Front-End installiert, nicht die Anwendungs- / Datenbankserver.
Das Front-End leitet die Benutzeranforderungen an den Datenbankserver und die Anwendungsserver weiter.
Anwendungsserver: - Der Anwendungsserver wurde für die Verarbeitung von Geschäftslogik entwickelt. Diese Arbeitslast wird auf mehrere Anwendungsserver verteilt. Mit mehreren Anwendungsservern kann der Benutzer die Ausgabe schneller abrufen.
Der Anwendungsserver befindet sich an einem entfernten Standort im Vergleich zum Standort des Benutzer-PCs.
Datenbankserver: - Der Datenbankserver speichert und ruft Daten gemäß SQL-Abfragen ab, die von ABAP- und Java-Anwendungen generiert wurden.
Datenbank und Anwendung können sich am selben oder an einem anderen physischen Standort befinden.
Verschiedene SAP-Schichten verstehen
Präsentationsschicht :
Die Präsentationsschicht enthält die Softwarekomponenten, aus denen sich SAPgui (grafische Benutzeroberfläche) zusammensetzt. Diese Schicht ist die Schnittstelle zwischen dem R / 3-System und seinen Benutzern. Das R / 3-System verwendet SAPgui, um eine intuitive grafische Benutzeroberfläche für die Eingabe und Anzeige von Daten bereitzustellen.
Die Präsentationsschicht sendet die Benutzereingaben an den Anwendungsserver und empfängt Daten zur Anzeige von diesem. Während eine SAPgui-Komponente ausgeführt wird, bleibt sie mit der Terminalsitzung eines Benutzers im R / 3-System verbunden.
Anwendungsschicht:
Die Anwendungsschicht besteht aus einem oder mehreren Anwendungsservern und einem Nachrichtenserver. Jeder Anwendungsserver enthält eine Reihe von Diensten, die zum Ausführen des R / 3-Systems verwendet werden. Theoretisch benötigen Sie nur einen Anwendungsserver, um ein R / 3-System auszuführen. In der Praxis sind die Dienste auf mehr als einen Anwendungsserver verteilt. Der Nachrichtenserver ist für die Kommunikation zwischen den Anwendungsservern verantwortlich. Es leitet Anforderungen von einem Anwendungsserver an einen anderen innerhalb des Systems weiter. Es enthält auch Informationen zu Anwendungsservergruppen und dem aktuellen Lastausgleich in diesen. Diese Informationen werden verwendet, um einen geeigneten Server zuzuweisen, wenn sich ein Benutzer am System anmeldet.
Datenbankebene:
Die Datenbankschicht besteht aus einem zentralen Datenbanksystem, das alle Daten im R / 3-System enthält. Das Datenbanksystem besteht aus zwei Komponenten - dem Datenbankverwaltungssystem (DBMS) und der Datenbank selbst. SAP hat eine eigene Datenbank mit dem Namen Hana erstellt, ist jedoch mit allen wichtigen Datenbanken wie Oracle kompatibel. Alle R / 3-Daten werden in der Datenbank gespeichert. Beispielsweise enthält die Datenbank die Steuerungs- und Anpassungsdaten, die bestimmen, wie Ihr R / 3-System ausgeführt wird. Es enthält auch den Programmcode für Ihre Anwendungen. Anwendungen bestehen aus Programmcode, Bildschirmdefinitionen, Menüs, Funktionsbausteinen und verschiedenen anderen Komponenten. Diese werden in einem speziellen Abschnitt der Datenbank gespeichert, der als R / 3-Repository bezeichnet wird, und werden dementsprechend als Repository-Objekte bezeichnet. R / 3-Repository, Objekte werden in der ABAP-Workbench verwendet.
Grundlegendes zu den Komponenten der dreistufigen SAP R / 3-Architektur: -
ABAP + Java-Systemarchitektur
- Nachrichtenserver: Er verwaltet die Kommunikation zwischen verteilten Dispatchern im ABAP-System .
- Dispatcher-Warteschlange: In dieser Warteschlange werden verschiedene Arbeitsprozessarten gespeichert.
- Dispatcher: Verteilt Anforderungen an die Arbeitsprozesse.
- Gateway: Ermöglicht die Kommunikation zwischen dem SAP-System und zwischen dem SAP-System und externen Systemen .
- ABAP-Arbeitsprozesse: - Es führt Dialogschritte in R / 3-Anwendungen separat aus. Die Arten von Arbeitsprozessen sind wie folgt angegeben: -
- Memory-Pipes: Ermöglicht die Kommunikation zwischen ICM- und ABAP-Workprozessen.
- Nachrichtenserver: Er verarbeitet Java-Dispatcher und Serverprozesse. Er ermöglicht die Kommunikation innerhalb der Java-Laufzeitumgebung.
- Server in die Warteschlange stellen: Behandelt logische Sperren, die vom ausgeführten Java-Anwendungsprogramm in einem Serverprozess festgelegt werden.
- Zentrale Dienste: Der Java-Cluster erfordert eine spezielle Instanz der zentralen Dienste zum Verwalten von Sperren und zum Übertragen von Nachrichten und Daten. Java-Cluster besteht aus einer Reihe von Prozessen, die zusammenarbeiten, um ein zuverlässiges System aufzubauen. Instanz ist eine Gruppe von Ressourcen wie Speicher, Arbeitsprozesse usw.
- Java Dispatcher: Empfängt die Clientanforderungen und leitet sie an den Serverprozess weiter .
- SDM: Mit Software Deployment Manager werden J2EE-Komponenten installiert.
- Java Server-Prozesse: Es kann eine große Anzahl von Anforderungen gleichzeitig verarbeiten.
- Threading: Mehrere Prozesse werden separat im Hintergrund ausgeführt. Dieses Konzept wird als Threading bezeichnet.
- ICM: Ermöglicht die Kommunikation zwischen dem SAP-System und dem HTTP-, HTTPS- und SMTP-Protokoll. Dies bedeutet, dass Sie durch Eingabe der System-URL im Browser auch über den Browser auf SAP zugreifen können.
Eine weitere Komponente ist JCO. JCO wird verwendet, um die Kommunikation zwischen Java-Dispatcher und ABAP-Dispatcher zu handhaben, wenn das System als ABAP + Java konfiguriert ist.
Wie funktioniert der SAP-Anmeldevorgang?
Schritt 1) Sobald ein Benutzer über die GUI auf das SAP-System klickt, wird die Benutzeranforderung an den Dispatcher weitergeleitet. Schritt 2) Die Anforderung wird zuerst in den Anforderungswarteschlangen gespeichert . Der Dispatcher folgt der First-in-First-out- Regel. Es findet freien Arbeitsprozess und wird, falls verfügbar, zugewiesen.
Schritt 3) Gemäß Benutzeranforderung wird dem Benutzer ein bestimmter Arbeitsprozess zugewiesen. Wenn sich der Benutzer beispielsweise beim System anmeldet, wird dem Benutzer der Dialog-Arbeitsprozess zugewiesen. Wenn der Benutzer einen Bericht im Hintergrund ausführt, wird dem Benutzer ein Hintergrundarbeitsprozess zugewiesen. Wenn einige Änderungen auf Datenbankebene vorgenommen werden, wird der Aktualisierungsarbeitsprozess zugewiesen. So wird gemäß der Aktion des Benutzers ein Arbeitsprozess zugewiesen.
Schritt 4)Sobald dem Benutzer der Dialogarbeitsprozess zugewiesen wurde, werden die Benutzerberechtigungen und die aktuelle Einstellung des Benutzers in den Arbeitsprozess im gemeinsam genutzten Speicher übernommen, um auf Benutzerdaten zuzugreifen. Sobald der Dialogschritt ausgeführt wird, werden die Benutzerdaten aus dem Arbeitsprozess ausgerollt. Auf diese Weise wird der gemeinsam genutzte Speicher bereinigt und die Daten anderer Benutzer können im gemeinsam genutzten Speicherbereich gespeichert werden. Dialogschritt bedeutet die Bildschirmbewegungen. Wenn ein Benutzer in einer Transaktion von einem Bildschirm zum anderen springt, wird der Prozess als Dialogschritt bezeichnet.
Schritt 5)Der erste Arbeitsprozess findet die Daten im Puffer. Wenn Daten im Puffer gefunden werden, müssen keine Daten aus der Datenbank abgerufen werden. Dadurch wird die Antwortzeit verbessert und dieser Prozess wird als Treffer bezeichnet. Wenn die Daten nicht im Puffer gefunden werden, werden die Daten in der Datenbank gefunden, und dieser Prozess wird als Fehlschlag bezeichnet. Die Trefferquote sollte immer höher sein als die Fehlerquote. Es verbessert die Leistung des Systems.
Schritt 6) Andere angeforderte Daten werden aus der Datenbank abgefragt. Sobald der Vorgang abgeschlossen ist, wird das Ergebnis über den Dispatcher an die GUI zurückgesendet.
Schritt 7) Am Ende werden die Daten des Endbenutzers aus dem gemeinsam genutzten Speicher entfernt, damit der Speicher anderen Benutzern zur Verfügung steht. Dieser Vorgang wird als Roll-out bezeichnet.