Die grundlegende Architektur von AS ABAP und AS Java erläutern

Objectives

After completing this lesson, you will be able to:
  • die Hauptbestandteile der Anwendungsschicht von AS-ABAP- oder AS-Java-basierten SAP-Systemen auflisten
  • die Architektur der Anwendungsschicht für ein AS-ABAP-basiertes SAP-System erläutern
  • die Architektur der Anwendungsschicht für ein AS-Java-basiertes SAP-System beschreiben

SAP-Systemarchitektur

Hinweis

Hardware-Hersteller verwenden den Begriff Applikationsserver oft zur Bezeichnung einer Hardware. Software-Hersteller – wie die SAP – bezeichnen damit eine Softwarelösung. Dies kann zu Verwechslungen führen! Beispielsweise kann die Eingabeaufforderung Bitte den Anwendungsserver neu starten zwei völlig unterschiedliche Bedeutungen haben.

Eine (SAP-)Instanz bzw. ein (SAP-)Applikationsserver ist eine administrative Einheit, in der Komponenten eines SAP-Systems, die einen oder mehrere Dienste anbieten, zusammengefasst werden. Die Dienste, die ein Applikationsserver anbietet, werden gemeinsam gestartet und gestoppt. Alle Komponenten eines Applikationsservers werden über ein gemeinsames Instanzprofil parametrisiert. Jeder Applikationsserver verfügt über eigene Pufferbereiche im RAM. Ein Applikationsserver läuft auf einem Host. Es können aber auch mehrere Applikationsserver auf einem einzigen Host laufen. Ein Applikationsserver wird durch die (dreistellige) SAP-System-ID (SID) und eine (zweistellige) Instanznummer gekennzeichnet.

Hinweis

Die Begriffe (SAP-)Instanz und Applikationsserver werden häufig synonym verwendet, allerdings spricht man ausschließlich von der Central-Services-Instanz.

Beispiele für SAP-Systeme sind: SAP S/4HANA Server, SAP ECC, SAP CRM, SAP BW und SAP Enterprise Portal.

AS ABAP und AS Java – Architekturübersicht

Die Datenbank für ein SAP-System kann auf einem separaten Host installiert und betrieben werden, der von den Anwendungsservern des SAP-Systems getrennt ist. Zu jedem SAP-System gehört (meist) genau eine Datenbank. In der Regel hat die Datenbank die gleiche SAP-System-ID (DB-SID) wie das SAP-System (SAP-SID).

Folgende Faktoren haben Einfluss auf das Applikationsserver-Design eines SAP-Systems:

  • Release des SAP-Systems (wegen Architekturänderungen im Laufe der Release)

  • Typ des SAP-Systems (AS-ABAP-basiert oder AS-Java-basiert)

  • Entscheidung des SAP-Kunden (Skalierbarkeit, Hochverfügbarkeit)

Diese Installationsoptionen sind:

  • AS-ABAP-basiertes SAP-System: Vollständige Infrastruktur, in der ABAP-basierte Anwendungen entwickelt und verwendet werden können.

  • AS-Java-basiertes SAP-System: Vollständige Infrastruktur für die Entwicklung und Verwendung von Java-EE-basierten Anwendungen.

Prozesse des SAP-Systems

Das SAP-Laufzeitsystem besteht aus einer großen Anzahl parallel laufender, kooperierender Prozesse. Hierbei wird zwischen der Laufzeitumgebung für ABAP (AS ABAP) und der Laufzeitumgebung für Java (AS Java) unterschieden.

AS-ABAP-Architektur und Prozesse

In älteren SAP-Releases (SAP_BASIS 750 und niedriger) gab es die Möglichkeit, einen Enqueue-Workprozess zu konfigurieren. Er verwaltet die Sperrtabelle im Arbeitsspeicher des Hosts. Die Sperrtabelle enthält die logischen Datenbanksperren der ABAP-Laufzeitumgebung des SAP-Systems. Für ein SAP-System wird nur ein Enqueue-Workprozess benötigt. In neueren SAP-Releases (SAP_BASIS 700 und höher) kann eine Central-Services-Instanz verwendet werden. Als Enqueue-Server ist der Enqueue ein Prozess der Central-Services-Instanz und kein Dispatcher-Workprozess.

Zusammengefasst verwaltet der Dispatcher eines AS ABAP verschiedene Arten von Workprozessen: Dialog-, Hintergrund-, Verbuchungs- und Spool-Workprozesse. Diese Workprozesse übernehmen verschiedene Aufgaben bei der Ausführung betriebswirtschaftlicher Abläufe im SAP-System.

Der Administrator eines SAP-Systems kann über Profilparameter die Anzahl der verschiedenen Workprozesse konfigurieren.

Neben den Workprozessen bietet das AS-ABAP-Laufzeitsystem weitere Services (dies sind keine Workprozesse) für die interne und externe Kommunikation an:

  • Der ABAP Message Server (MS) dient der Kommunikation zwischen den verteilten Dispatchern innerhalb des AS ABAP und bildet damit die Voraussetzung für die Skalierbarkeit bei mehreren, parallel arbeitenden Applikationsservern. Er wird pro SAP-System genau einmal konfiguriert und ist gegebenenfalls Teil der Central-Services-Instanz.

  • Der Enqueue-Server (ES) verwaltet die Sperrtabelle mit den logischen Datenbanksperren der ABAP-Laufzeitumgebung des SAP-Systems. Er ist pro SAP-System einmal vorhanden und ist Teil der Central-Services-Instanz.

  • Der RFC-Gateway-Leser (GW) ermöglicht die Kommunikation zwischen SAP-Systemen oder zwischen SAP-Systemen und externen Anwendungssystemen. Er existiert einmal pro Dispatcher.

  • Der Internet Communication Manager (ICM) ermöglicht die Kommunikation mit dem SAP-System über Web Protokolle, wie zum Beispiel HTTP, HTTPS und SMTP. Der ICM nimmt Anfragen vom Client entgegen und leitet diese zur Verarbeitung in das SAP-System weiter. Der ICM kann auch HTTP-Anfragen, die aus einem SAP-System kommen, an einen Webserver weitergeben und die Antwort wieder dem SAP-System zur Verfügung stellen. Es gibt einen ICM-Prozess pro Dispatcher.

Notiz

Die Verwendung einer zentralen Serviceinstanz ist seit AS ABAP 7.00 möglich. Die Verwendung einer Central-Service-Instanz ist seit AS ABAP 7.50 obligatorisch, wenn mehr als ein Anwendungsserver installiert ist, und ab AS ABAP 7.51 in jedem Fall obligatorisch. Bei der Neuinstallation eines SAP-Systems wird in jedem Fall eine Central-Service-Instanz installiert.

Notiz

Um eine Übersicht über die Applikationsserver einer AS-ABAP-Installation anzuzeigen, rufen Sie die Transaktion SM51 auf.

Eine Übersicht über die Workprozesse des SAP-Systems erhält man mithilfe der Transaktion SM50. Diese Transaktion zeigt auf dem Einstiegsbild nur die Workprozesse an, die auf der Instanz konfiguriert sind, auf der Ihre Anmeldungssitzung läuft.

Der AS ABAP Message Server stellt dem AS ABAP einen zentralen Nachrichtendienst für die interne Kommunikation zur Verfügung (zum Beispiel Verbuchungsstart, Anfrage und Freigabe von Sperren, Auslösen von Hintergrundanfragen). Der Message Server hält außerdem die Information bereit, welche Applikationsserver des SAP-Systems aktuell verfügbar sind.

Die ABAP-Dispatcher der einzelnen Applikationsserver kommunizieren miteinander über den Message Server, der genau einmal pro SAP-System installiert wird.

Bei der Anmeldung am AS ABAP mit SAP GUI for Windows oder mit SAP GUI for Java über Logongruppen führt der Message Server eine Lastverteilung der Benutzer auf die vorhandenen Instanzen durch. Diese Lastverteilung zum Zeitpunkt der Anmeldung wird auch Logon-Load-Balancing genannt. Nach der Lastverteilung durch den Message Server kommuniziert das SAP GUI direkt mit dem Dispatcher. Der Benutzer bleibt so lange an diesem Applikationsserver angemeldet, bis er sich wieder abmeldet.

Notiz

Eine Übersicht der Benutzer, die auf dem Applikationsserver angemeldet sind, auf dem man selbst angemeldet ist, erhält man mithilfe der Transaktion SM04.

Um zu sehen, an welchem Anwendungsserver Sie angemeldet sind, wählen Sie SystemStatus...

Ab AS ABAP 7.40 kann man über die Transaktion SM04 auch die systemweit angemeldeten Benutzer sehen.

Bei Zugriff auf den AS ABAP über Webprotokolle, wie zum Beispiel HTTP über den Browser, nimmt der Internet Communication Manager (ICM) die Anfrage entgegen. Dieser leitet die Anfrage an den Dispatcher seines Applikationsservers weiter.

Kommunikation von anderen SAP-Systemen über Remote Function Call (RFC) wird vom Gateway-Leser (GW) entgegengenommen.

Die folgende Abbildung zeigt die Architektur eines AS-ABAP-basierten SAP-Systems:

Der Primary Application Server (PAS) ist der als erster installierte Applikationsserver des SAP-Systems. Für den Fall, dass ein AS-ABAP-basiertes SAP-System über keine Central-Services-Instanz verfügt, gehören zum PAS auch der Enqueue-Workprozess und der Message Server.

Der PAS befindet sich auf Dateisystemebene unter /usr/sap/<SID>/D<instance_number>.

Notiz

In älteren Releases befand sich der PAS unter /usr/sap/<SID>/DVEBMGS<instance_number>.

An der Central-Services-Instanz kann man sich nicht als Dialog-User anmelden. Die Central-Services-Instanz wird nicht als Applikationsserver bezeichnet.

Die Central-Services-Instanz befindet sich auf Dateisystemebene unter /usr/sap/<SID>/ASCS<instance_number>.

Alle weiteren Applikationsserver eines SAP-Systems werden als Additional Application Server (AAS) bezeichnet.

Ein AAS befindet sich auf Dateisystemebene unter /usr/sap/<SID>/D<instance_number>.

Werden PAS und Datenbank (und – falls vorhanden – auch die Central-Services-Instanz) auf demselben Host installiert, so spricht man auch von einem zentralen System.

Mit AS ABAP 7.10 wurden die folgenden Änderungen an der Architektur und der Nomenklatur eingeführt:

  • Die ehemalige Zentralinstanz wurde in Primary Application Server (PAS) umbenannt.

  • Die ehemalige Dialoginstanz wurde in Additional Application Server (AAS) umbenannt.

Optional können ein integrierter SAP Web Dispatcher und ein integriertes RFC GW als Teil der Central-Services-Instanz installiert werden.

Der zuerst installierte Applikationsserver wird oftmals als Primary Application Server oder kurz PAS bezeichnet. Weitere Applikationsserver in einem System werden als Additional Application Server oder kurz AAS bezeichnet.

AS-Java-Architektur und -Prozesse

AS Java – Prozesse

Notiz

Die gesamte Java-Umgebung (alle Prozesse sowie das Datenbankschema) wird auch als Java-Cluster und die einzelnen Prozesse (ICM und Server) werden als Knoten des Java-Clusters bezeichnet.

Einen Überblick über gestartete Java-Prozesse (Java-Dispatcher und Java-Server-Prozesse) erhalten Sie über die Systeminformationen der Java-Laufzeitumgebung (http://<Host name>:<Java dispatcher HTTP port of the Instance>/sap/monitoring/SystemInfo,z.B. http://smhost.wdf.sap.corp:59000System Information ).

Analog zum AS ABAP stellt der Message Service des AS Java einen zentralen Nachrichtendienst für die interne Kommunikation zur Verfügung. Der Java-Message-Service hält auch die Information bereit, welche Applikationsserver und Knoten des AS Java verfügbar sind. Jeder Knoten des Java-Clusters kann direkt mit dem Message-Service kommunizieren.

Logische Sperren hält im AS Java der Enqueue-Service. Jeder Knoten des Java-Clusters kann direkt mit dem Enqueue-Service kommunizieren.

Beim Zugriff auf den AS Java mit dem Browser werden Anfragen vom ICM entgegengenommen und von den Serverprozessen verarbeitet.

Die folgende Abbildung zeigt die Architektur eines AS-Java-basierten SAP-Systems mit AS Java 7.10 und höher:

Der PAS befindet sich auf Dateisystemebene unter /usr/sap/<SID>/J<instance_number>.

Die Central-Services-Instanz befindet sich auf Dateisystemebene unter /usr/sap/<SID>/SCS<instance_number>.

Ein AAS befindet sich auf Dateisystemebene unter /usr/sap/<SID>/J<instance_number>.

Werden PAS und Datenbank (und auch die Central-Services-Instanz) auf demselben Host installiert, so spricht man auch von einem zentralen System.

Mit AS Java 7.10 wurden die folgenden Änderungen an der Architektur und der Nomenklatur eingeführt:

  • Die ehemalige Zentralinstanz wurde in Primary Application Server (PAS) umbenannt.

  • Die ehemalige Dialoginstanz wurde in Additional Application Server (AAS) umbenannt.

  • Der Java-Dispatcher wurde durch den ICM-Prozess ersetzt.

  • Der SDM-Prozess entfällt.

  • Die (Java-)Central-Services-Instanz umfasst einen Gateway-Prozess.

Die Applikationsserver eines SAP-Systems untersuchen

Unternehmensszenario

Als SAP-Systemadministrator möchten Sie sich einen Überblick über die Applikationsserver Ihres SAP-Systems verschaffen.