SAP NetWeaver Application Server ABAP (AS ABAP)
Der SAP NetWeaver Application Server ist das zentrale Fundament für den gesamten SAP Software Stack. Er bietet eine Plattform sowohl für andere NetWeaver Komponenten (Portal, XI, usw.) als auch für ABAP- und Java Applikationen.
Was ist der AS ABAP?
Der SAP NetWeaver Application Server ABAP ist eine spezifische Variante des SAP NetWeaver Application Servers, die auf der Programmiersprache ABAP (Advanced Business Application Programming) basiert. ABAP ist eine von SAP entwickelte und eingesetzte Programmiersprache, die für die Entwicklung von Anwendungen innerhalb des SAP-Ökosystems verwendet wird.
Der AS ABAP stellt die komplette Technologie und Infrastruktur zur Ausführung von ABAP-Anwendungen zur Verfügung. Zusätzlich bietet der AS ABAP ausgewählten SAP-Java-Anwendungen die Möglichkeit, im Workprozess zu laufen (VM Container). Der Server ist direkter Nachkomme der SAP Basis, die wiederum den abgetrennten technischen Anteilen des SAP R/3 entspricht
Logische Sicht
Die logische Sicht auf den NetWeaver AS ABAP unterscheidet sich von einer Hardware- oder Software-technischen Sicht. Die gezeigten Komponenten können nicht unbedingt Hardware- oder Software-Einheiten zugeordnet werden. Diese Abbildung zeigt diese logische Sicht in der Form eines Blockdiagramms:
Die Aufgaben der logischen Komponenten
Kernel & Verwaltungsdienste
Die Komponente „Kernel & Verwaltungsdienste“ ist die betriebssystem-, hardware- und datenbankunabhängige Laufzeitumgebung aller ABAP-Anwendungen. Diese ABAP-Laufzeitumgebung ist dabei hauptsächlich in C/C++ geschrieben. Allerdings sind einige systemnahe Teile auch in ABAP selbst programmiert.
Die erste Aufgabe, die durch diese Komponente erfüllt wird, ist das Ausführen von Anwendungen. Alle ABAP-Anwendungen laufen auf Softwareprozessoren dieser Komponente. Ebenso wird die Verwaltung von Benutzern und Prozessen durchgeführt. Die Komponente übernimmt die sonst üblichen Aufgaben eines Betriebssystems. Benutzer kommen mit dem eigentlichen Betriebssystem des Computers nicht in Berührung.
Jeder NetWeaver AS AP ist verknüpft mit einem Datenbanksystem. Dieses besteht aus dem Datenbank Management System (DBMS) sowie der Datenbank. Die ABAP-Anwendungen greifen nicht direkt, sondern ausschließlich über die Verwaltungsdienste auf das Datenbanksystem zu.
Auch die Kommunikation wird durch Kernel und die Verwaltungsdienste übernommen. Somit können ABAP-Anwendungen mit anderen SAP-Systemen und externen Systemen kommunizieren. Des Weiteren kann von außerhalb auf die betriebswirtschaftliche Funktionalität zugegriffen werden, da die Komponente alle notwendigen Dienste bereitstellt. Zudem kann mithilfe dieser Komponente der laufende Betrieb überwacht und gesteuert werden.
ABAP Workbench
Die Komponente ABAP Workbench ist eine vollständige Entwicklungsumgebung für die in ABAP geschriebenen Anwendungen. Mit dieser Komponente werden Anwendungsprogramme erstellt, erweitert, getestet und organisiert. Sie ist komplett in den NetWeaver AS ABAP integriert und ist wie andere ABAP-Anwendungen selbst in ABAP geschrieben.
Präsentationskomponenten
Mithilfe der Präsentationskomponenten gelingt die Interaktion der ABAP-Anwendungen mit dem Benutzer (Ein- und Ausgabe) und der Integration von Desktop-Anwendungen in den NW AS.
Software-technische Sicht
Diese Abbildung zeigt die Software-technische Sicht auf ein SAP-System. Der NetWeaver AS ABAP umfasst in einem ABAP-basierten SAP-System alle SAP GUI Komponenten und die ABAP-Applikationsserver.
Ein SAP-System ist ein mehrstufiges Client/Server-System, wobei die einzelnen Software-Komponenten auf einzelne Software-Schichten verteilt sind. Diese Komponenten arbeiten je nach Schicht als Server oder Client für die Komponenten der darunter bzw. darüberliegenden Schichten. In der Grundvariante besteht das SAP-System aus den drei folgenden Software-Schichten.
Datenbankschicht
Die Datenbankschicht, auf welche der NetWeaver AS zugreift, besteht aus einem zentralen Datenbanksystem. Dieses setzt sich aus dem Datenbank Management System (DBMS) und der eigentlichen Datenbank (Datenbestand) zusammen.
In der Datenbank sind die betriebswirtschaftlichen Daten der ABAP-Anwendungsprogramme enthalten und sie ist die zentrale Datenablage für den NetWeaver AS ABAP. In der Datenbank sind auch die Steuerungs- und Customizingdaten enthalten, die das Verhalten des NetWeaver AS festlegen. Ebenso enthält sie die ABAP-Anwendungsprogramme selbst. Ihre Komponenten werden in einem speziellen Teil der Datenbank abgespeichert, dem Repository – einem speziellen Teil der Datenbank – gespeichert. Daher werden diese auch Repository-Objekte genannt. Diese Objekte werden mit der ABAP Workbench bearbeitet.
Applikationsschicht
Die Software-Komponenten der Applikationsschicht eines NetWeaver AS ABAP setzen sich aus einem oder mehreren ABAP-Applikationsservern und einem Message Server zusammen. Jeder Applikationsserver stellt eine Reihe von Diensten zum Betrieb des NW AS zur Verfügung. Zwar ist ein einziger Applikationsserver ausreichend, um einen NW AS zu betreiben, allerdings werden die Dienste meistens auf mehrere Applikationsserver verteilt. Dadurch stellt nicht jeder Applikationsserver jeden Dienst zur Verfügung.
Über den Message Server läuft die Kommunikation zwischen den Applikationsservern. Aufträge zwischen den Applikationsservern können mithilfe des Message Servers innerhalb eines NW AS weitergeleitetet werden. Weiterhin kann der Message Server zudem die Anmeldung von Benutzern beeinflussen, da er Informationen über die Gruppierung von Applikationsservern und die aktuelle Lastverteilung innerhalb der Gruppen enthält.
Präsentationsschicht
Die Präsentationsschicht bildet die Schnittstelle zu den Benutzern. Durch ihre Software-Komponenten – die SAP GUI – bietet sie eine leicht bedienbare graphische Oberfläche. Benutzer können dort Daten eingeben oder Antworten in Form von Texten oder Grafiken erhalten. Diese Daten sendet die Präsentationsschicht an die Applikationsschicht bzw. empfängt sie von dieser. Während ihrer Laufzeit ist eine SAP-GUI-Komponente immer fest mit einer Benutzeranmeldung an den NetWeaver AS ABAP verknüpft.
Benutzersicht
Die folgende Abbildung zeigt die Sicht eines SAP-GUI-Benutzers auf ein SAP-System:
Der Benutzer kann diejenigen Komponenten des SAP-System sehen, die als Fenster auf dem Bildschirm erscheinen. Diese Fenster werden von der Präsentationsschicht des NetWeaver AS ABAP erstellt. Bevor sich ein Benutzer beim SAP-System anmeldet, startet er zunächst SAP Logon, welches auf dem jeweiligen Frontend installiert ist. Im SAP Logon kann er eines der zur Verfügung stehenden SAP-Systeme auswählen. SAP Logon verbindet sich dann mit dem Message Server des NetWeaver AS ABAP im ausgewählten SAP-System. Danach erhält er von diesem die Adresse eines geeigneten ABAP-Applikationsservers. Am Ende startet SAP Logon einen SAP GUI, der mit dem jeweiligen Applikationsserver verbunden ist. Danach wird SAP Logon für diese Verbindung nicht mehr benötigt.
Als erstes öffnet die SAP GUI das Anmeldebild und nach erfolgreicher Anmeldung das SAP-Einstiegsbild in einem Fenster auf dem Bildschirm. Jedes Fenster wird innerhalb der SAP GUI durch einen Modus repräsentiert. Der Benutzer kann nach seiner Anmeldung bis zu fünf weitere Modi öffnen, die sich untereinander fast wie unabhängige SAP-Anmeldungen verhalten. Es können in den verschiedenen Modi also parallele Anwendungen unabhängig voneinander ausgeführt werden.
Benutzer können innerhalb eines Modus Anwendungen ausführen, die wiederum weitere Fenster öffnen. Diese Fenster sind dann nicht unabhängig, sondern gehören zu diesem Modus und können modal oder amodal sein.
Des Weiteren können Benutzer mit dem Programm SAP Logon weitere SAP GUIs für das gleiche oder auch andere zur Verfügung stehende SAP-Systeme öffnen. Sowohl die einzelnen SAP GUIs als auch die entsprechenden Anmeldungen eines Benutzers sind vollständig unabhängig voneinander. Dadurch können bspw. auf einem einzigen Desktoprechner die Präsentationsschichten mehrerer SAP-Systeme durch SAP GUIs präsentiert sein.
Aufbau des AS ABAP
Alle ABAP-Applikationsserver bilden die Applikationsschicht der mehrstufigen Architektur eines ABAP-basierten SAP-Systems. ABAP-Anwendungen werden von diesen Applikationsserver ausgeführt. Sie kommunizieren dabei mit den Präsentationskomponenten, mit der Datenbank und über den Message Server auch untereinander.
Jeder ABAP-Applikationsserver enthält mehrere Workprozesse. Der Typ und die Anzahl von diesen Workprozessen werden. Außerdem ist Teil jedes Servers ein Dispatcher, ein Gateway und das Shared Memory. Jede dieser Komponenten erfüllt dabei eine wichtige Funktion.
Workprozesse
Workprozesse sind die Komponenten, die eine Anwendung (bzw. jeweils einen Dialogschritt) ausführen. Für jeden Workprozess besteht eine Verbindung zu einem Speicherbereich, in dem sich der Kontext der gerade ausgeführten Anwendung befindet. Dieser Kontext besteht aus den aktuellen Daten des laufenden Programms und muss für jeden Dialogschritt dieses Programms verfügbar sein. Weitere Informationen über Workprozesse gibt es hier.
Dispatcher
Das Bindeglied zwischen den Workprozessen und den, an dem ABAP-Applikationsserver angemeldeten Benutzern, ist der Dispatcher. Jedes Mal, wenn eine Benutzerinteraktion dazu führt, dass ein Dialogschritt ausgeführt werden soll, nimmt der Dispatcher diesen Auftrag vom SAP GUI entgegen. Danach leitet er ihn an einen freien Workprozess weiter. Bildschirmausgaben, die aus der Ausführung des Dialogschritts resultieren, gelangen auf dem gleichen Weg wieder zum Benutzer zurück.
Gateway
Das Gateway ist die Vermittlungsinstanz für die Kommunikationsprotokolle des NetWeaver AS ABAP (RFC, CPI/C). Das Gateway kann sowohl mit anderen ABAP-Applikationsservern des gleichen NW AS als auch mit anderen SAP-Systemen sowie mit externen (nicht-SAP) Anwendungen kommunizieren.
Shared Memory
Das Shared Memory ist der gemeinsame Hauptspeicher. Diesen verwenden alle Workprozesse eines ABAP-Applikationsservers, um Kontexte zu speichern oder um selten geänderte Daten lokal zu puffern. Dort stehen alle Ressourcen, die von den Workprozessen genutzt werden, zur Verfügung. Über die Speicherverwaltung des NetWeaver AS ABAP wird sichergestellt, dass die Workprozesse immer den aktuellen Kontext adressieren. Über ein Mapping-Verfahren wird der erforderliche Kontext aus dem gemeinsamen Hauptspeicher in den Adressraum des bearbeitenden Workprozesses projiziert. Tatsächliche Kopiervorgänge werden dadurch auf ein Minimum reduziert.
Datenbankanbindung
Wenn ein NetWeaver AS ABAP gestartet wird, meldet jeder ABAP-Applikationsserver seine Workprozesse an die Datenbankschicht an. Dadurch erhält er für jeden Workprozess genau einen fest definierten Kanal. Für die gesamte Laufzeit des NW AS ist jeder Workprozess ein Benutzer (Client) des Datenbanksystems (Server). Es erfolgen während der gesamten Laufzeit des Systems keine Ummeldungen. Zudem kann ein Datenbank-Kanal nicht von einem Workprozess zum anderen weitergereicht werden. Daher kann ein Workprozess Datenbankänderungen immer nur im Rahmen genau einer Datenbank-LUW (Logical Unit of Work) ausführen.
Fazit
Durch die Verteilung des SAP-Systems auf drei Ebenen wird die Systemlast verteilt. Dies führt zu einer besseren Systemleistung. Die Architektur des SAP-Systems ermöglicht es, die Anwendungsschicht und die Datenbankschicht auf separaten Hosts zu installieren. Ebenso können diese so über das Netzwerk kommunizieren. Dies reduziert die Belastung des Datenbanksystems, das den zentralen Datenspeicher für SAP NetWeaver AS ABAP enthält, erheblich.
Durch den SAP NetWeaver ABAP erhalten Sie die komplette Technologie und Infrastruktur zur Ausführung von ABAP-Anwendungen. Er bietet dabei die Plattform sowohl für andere NetWeaver Komponenten (Portal, XI, usw.) als auch für ABAP-Applikationen.