Beschreiben von AS Java

Objectives

After completing this lesson, you will be able to:
  • Die Verarbeitung von Benutzeranfragen in AS-Java-basierten SAP-Systemen beschreiben
  • die Prozesse eines AS Java auflisten und deren Verwendung erläutern
  • die wichtigsten Werkzeuge für die Administration von AS Java auflisten und deren Verwendung beschreiben

Begriffsdefinition

AS Java implementiert einen Java EE Server. Die folgende Tabelle stellt die Releaseabhängigkeiten dar:

AS Java Releaseabhängigkeiten

AS JavaEnterprise EditionJDKSAP JVM
7.50Java EE 58 (1.8.0)8.1
7.20, 7.30, 7.31, 7.40Java EE 56 (1.6.0)6.1
7.10, 7.11, 7.20Java EE 55.0 (1.5.0)5.1
7.00, 7.01, 7.02, 7.03J2EE 1.31.4.24.1
6.40J2EE 1.31.4.24.1

Zur Erläuterung:

AS Java

Application Server Java, Laufzeitumgebung von SAP, stellt die Infrastruktur für Java-Anwendungen bereit

Enterprise Edition

Offiziell Java Platform, Enterprise Edition: Spezifikationen für die Entwicklung und den Betrieb unternehmensspezifischer Anwendungen

JDK

Java Development Kit: Software Development Kit, das von Sun/Oracle Java-Anwendungen entwickelt wurde

JRE

Java-Laufzeitumgebung: Java-Anwendungen der Laufzeitumgebung

SAP JVM

SAP Java Virtual Machine: Zertifiziertes JVM/JDK, das von SAP für SAP-Anwendungen bereitgestellt wird

Anfrageverarbeitung im AS Java

Die Bearbeitung einer Benutzeranfrage im AS Java, wie in der folgenden Abbildung dargestellt, umfasst verschiedene Prozesse auf allen drei Schichten (Präsentations-, Anwendungs- und Datenbankschicht).

Die Standardbenutzeroberfläche für AS Java ist der Web-Browser. Eine Benutzeranfrage für AS Java ist in der Regel ein HTTP(S)-Request, der vom ICM entgegengenommen wird. Die Verarbeitungsanfragen werden vom ICM-Prozess an einen der Serverprozesse seines Applikationsservers weitergeleitet.

Im Serverprozess findet die eigentliche Verarbeitung statt, wobei der Benutzer, der die Anfrage gesendet hat, in der Regel den gleichen Serverprozess bei der nächsten Anfrage erneut zugewiesen bekommt.

Die Server-Prozesse des AS Java werden auch als Knoten bezeichnet. Alle Prozesse von AS Java bilden zusammen mit dem Datenbankschema den Java-Cluster. Im Gegensatz zu den Workprozessen von AS ABAP sind die Serverprozesse von AS Java multi-threaded. Das bedeutet, dass ein Serverprozess aus vielen Threads besteht und in jedem Thread eine Anfrage abgearbeitet werden kann. Ein Serverprozess kann also viele Benutzeranfragen parallel verarbeiten.

Zur Bearbeitung der Benutzeranfrage ist es oft notwendig, Daten aus dem Java-Schema der Datenbank zu lesen oder in dieses zu schreiben. Hierzu ist jeder Serverprozess über einen Verbindungspool (DB-Pool) mehrfach mit dem Java-Schema der Datenbank verbunden.

Am Ende der Verarbeitung gelangt das Verarbeitungsergebnis des Serverprozesses über den ICM an den Web-Browser zurück.

Die Puffer dienen zur schnelleren Bearbeitung der Benutzeranfragen. Auf diese Weise müssen diese Daten nicht immer wieder aus der Datenbank gelesen werden, sondern können sehr schnell aus den Puffern abgerufen werden. Jeder Serverprozess verfügt über einen eigenen Puffer.

Die Serverprozesse sind in verschiedene funktionale Module unterteilt, die als Manager und Services bezeichnet werden. Die Manager bilden die Java Enterprise Runtime. Die Java Enterprise Runtime stellt grundlegende Kernfunktionen von AS Java bereit. Alternativ werden diese als Kernel bezeichnet.

Zusammen mit Schnittstellen und Bibliotheken werden die Services als Java EE Engine Components bezeichnet. Die Java EE Engine Components stellen den Anwendungen Programmierschnittstellen (APIs) zur Verfügung, über die die Anwendungen auf Funktionen des AS Java zugreifen können.

Im Falle eines HTTP-Requests nutzt der ICM-Prozess einen Java EE Handler, um den Request an einen Serverprozess dieses Applikationsservers weiterzuleiteten.

Der Cluster Manager des Serverprozesses nimmt den Request entgegen und leitet ihn an den HTTP Provider Service weiter. Im Web Container Service wird dann die Präsentationslogik der Anwendung verarbeitet. Der Web Container Service stellt die Verarbeitung von Servlets und JavaServer Pages (JSP) zur Verfügung. Die betriebswirtschaftliche Ablauflogik der Anwendung wird in Form von EJB Beans im EJB Container Service verarbeitet. Falls bei der Beantwortung der Anfrage Daten aus der Datenbank benötigt werden, wird über den JDBC Connector Service eine Verbindung zur Datenbank hergestellt, und die Daten werden dort angefragt. Wurden die gleichen Tabelleninhalte bereits einmal von diesem Serverprozess abgefragt, kann der Inhalt im Tabellenpuffer auf Anwendungsebene abgefragt werden (falls für die Tabelle Pufferung erlaubt ist).

Über den gleichen Weg wird dann die Antwort an den Web-Browser über HTTP zurückgeliefert.

Transaktionale Verarbeitung im AS Java

So wie im AS ABAP ist auch für Transaktionen im AS Java das ACID-Konzept umgesetzt. Im AS Java ist der Transaction Service für das Verwalten von Transaktionen verantwortlich. Über den Transaction Service sind die beiden Java-EE-Standards Java Transaction API (JTA) und Java Transaction Service (JTS) implementiert. Über die JTA-Schnittstelle können Anwendungen (Anwendungsentwickler) den Java Transaction Service nutzen.

Im Java-EE-Standard wird bei der Umsetzung der Transaktionslogik vieles der jeweils genutzten Datenbank überlassen. Daher entspricht eine Transaktion auf Anwendungsebene oft genau einer Datenbanktransaktion im Java-EE-Standard. Das folgende Video veranschaulicht die Korrelation am Beispiel einer JSP-Anwendung.

Im AS Java werden Änderungen und Eingaben auf der Benutzungsoberfläche (im Web-Browser) nicht sofort in der Datenbank persistiert. In dem Moment, in dem der Benutzer seine Eingaben sichert, wird die Java-Transaktion sofort abgeschlossen, und die Daten werden in einer Datenbanktransaktion persistiert. Eine Java-Transaktion besteht also aus einer Datenbanktransaktion.

Persistenz

Für den AS Java hat SAP das Open SQL für Java Framework geschaffen. Damit stehen dem Java-Anwendungsentwickler verschiedene datenbankunabhängige Programmiertechniken und gleichzeitig wichtige Funktionen zur Verfügung, die Performance und Fehleranalyse verbessern.

Soll das Java-Programm portierbar sein, das heißt, auch auf einer anderen als der ursprünglich genutzten Datenbankplattform laufen, so hat der Entwickler die Wahl zwischen Open SQL/JDBC, Open SQL/SQLJ, EJB (Enterprise JavaBeans) und JDO (Java-Datenobjekte). Verwendet der Entwickler Native SQL im Programm, so verliert er die Portierbarkeit und kann den Tabellenpuffer von Open SQL für Java Framework nicht nutzen.

Sperrverwaltung

Im Java-EE-Standard wird das Sperrkonzept der Datenbank genutzt. Wenn der Anwendungsentwickler also darauf achtet, datenbankunabhängige Datenbankzugriffe zu realisieren, so wird die Anwendung zwar portierbar sein, sich aber semantisch unterschiedlich auf verschiedenen Datenbankplattformen verhalten. Aus diesem Grund und auch zur Verbesserung der Antwortzeiten wurde von SAP analog zum AS ABAP das Konzept des Enqueue-Service eingeführt.

Will ein Benutzer Daten ändern, fordert der ausführende Serverprozess eine Sperre an (dazu muss der Anwendungsentwickler diese Anforderung ausdrücklich programmieren).

Administration des AS Java

Außerdem stehen Ihnen verschiedene Administrationswerkzeuge für AS Java zur Verfügung. Einige dieser Werkzeuge sind in der folgenden Abbildung aufgeführt.

Der SAP NetWeaver Administrator vereinigt die wichtigsten Administrations- und Monitoring-Werkzeuge für den AS Java in einer neuen, browserbasierten Benutzungsoberfläche. Für AS Java markiert der SAP NetWeaver Administrator den Übergang von verschiedenen Expertenwerkzeugen hin zu einer integrierten, einfachen und klaren Lösung. Außerdem vervollständigt der SAP NetWeaver Administrator die Integration der Datenquellen für das Monitoring. Um den SAP NetWeaver Administrator zu starten, können Sie im Web-Browser die folgende URL eingeben: https://<host name>:<port number>/nwa

  • <host name>:Der vollständig qualifizierte Servername des Servers, auf dem AS Java installiert ist.

  • <port number>:HTTPS-Port des ICM (Internet Communication Manager). Syntax: 5<Java instance number>01. Wenn die Nummer der Java-Instanz z.B. 91 ist, lautet die Portnummer 59101. Der Applikationsserver, mit dem Sie den SAP NetWeaver Administrator aufrufen, ist nicht relevant. Mit ihm kann das ganze AS Java-System administriert werden.

Der SAP NetWeaver Administrator gliedert sich in folgende Funktionsbereiche:

Funktionsbereiche des SAP NetWeaver Administrator

  • Verfügbarkeit und Performance (z.B. Systemübersicht, Ressourcenüberwachung, Prozessüberwachung)

  • Operationen (z.B. Anwendungsmanager, Starten und Stoppen)

  • Konfiguration (z.B. Lizenzen, AS Java-Systemeigenschaften, Protokollkonfiguration)

  • Fehleranalyse (z.B. SAP-Systeminformationen, Java Class Loader, Viewer)

  • SOA (z.B. Destinationen, JCo RFC Provider)

Hinweis

Um mit dem SAP NetWeaver Administrator arbeiten zu können, benötigt der Systembenutzer folgende Berechtigungen:

  • NWA_READONLY (Leseberechtigung)

  • NWA_SUPERADMIN (Schreibberechtigung zum Starten/Stoppen, Konfigurationsänderungen usw.)

Im AS Java bietet die User Management Engine (UME) die erforderlichen Funktionen für die Verwaltung von Benutzerstammsätzen. Auf der Basis der UME lassen sich Benutzer- und Berechtigungskonzepte für den AS Java einrichten und betreiben. Die UME verfügt über eine eigene Administrationskonsole für die Benutzerverwaltung (UME-Konsole, siehe obige Abbildung). Sie ermöglicht es dem Administrator, die Routineaufgaben in der Benutzerverwaltung durchzuführen, z.B. Anlegen von Benutzern und Gruppen, Rollenzuweisung und weitere Aktionen. Über Sicherheitseinstellungen können verbindliche Passwortvereinbarungen festlegt werden wie z.B. minimale Passwortlänge, Anzahl der Anmeldefehlversuche vor einer Benutzersperre.

Notiz

Der Visual Administrator ist eine grafische Benutzungsoberfläche (GUI), die die Administration aller Java-Clusterelemente (Java Dispatcher, Java Server) und aller auf ihnen laufenden Module ermöglicht. Er ermöglicht eine Remote-Überwachung und Remote-Konfiguration der Manager, Services, Schnittstellen und Bibliotheken von Java auf einer einzigen Oberfläche. Dieses Werkzeug ist ab AS Java 7.10 nicht mehr verfügbar. Der Visual Administrator wurde durch den SAP NetWeaver Administrator ersetzt.

Das Config Tool ermöglicht die Offline-Konfiguration der Clusterelemente von Java. Es ermöglicht das Hinzufügen und Konfigurieren der Eigenschaften der einzelnen Java-Clusterelemente.

Hinweis

Weitere Informationen finden Sie in der Online-Dokumentation auf dem SAP Help Portal (https://help.sap.com) und im SAP-Kurs ADM800: AS Java – Administration.

Sperrverwaltung

Unternehmensszenario

Sie möchten überwachen, welche Sperren in einem SAP-System auf Basis eines AS Java gehalten werden.

Sie lernen die Funktionsweise der Sperrverwaltung in AS Java kennen.