Das Basis-System im Gesamtsystem 

In den folgenden Abschnitten zeigen wir Ihnen drei verschiedene Sichten auf das R/3-System. Anhand dieser Sichten zeigen wir, welche Rolle das R/3-Basis-System im Gesamtsystem spielt.

Logische Sicht

Die folgende Abbildung zeigt die logische Sicht auf das R/3-System in Form eines Blockdiagramms.

Die logische Sicht auf das R/3-System hebt sich von einer hardware- oder softwaretechnischen Sicht dahingehend ab, daß die gezeigten Komponenten nicht unbedingt Hardware- oder Software-Einheiten zugeordnet werden können. Die Abbildung zeigt, wie sich das R/3-Basis-System als zentrale Plattform in das gesamte R/3-System einfügt. Die folgende Aufzählung faßt die Aufgaben der drei im R/3-Basis-System enthaltenen logischen Komponenten kurz zusammen:

Kernel & Basisdienste

Die Komponente Kernel & Basisdienste dient als hardware-, betriebssystem- und datenbankunabhängige Laufzeitumgebung aller R/3-Anwendungen. Diese Laufzeitumgebung ist hauptsächlich in C/C++ geschrieben. Einige systemnahe Teile sind aber auch in der SAP-eigenen Programmiersprache programmiert. Im einzelnen erfüllt die Komponente Kernel & Basisdienste dabei folgende Aufgaben:

ABAP Workbench

Die Komponente ABAP Workbench ist eine vollständige Entwicklungsumgebung für in ABAP geschriebenen Anwendungen. Sie dient der Erstellung oder Erweiterung, dem Test und der Organisation von Anwendungsprogrammen. Die Entwicklungsumgebung ist vollständig in das R/3-Basis-System integriert und ist wie andere R/3-Anwendungen selbst in ABAP geschrieben.

Präsentationskomponenten

Die Präsentationskomponenten dienen der Interaktion des R/3-Systems mit dem Benutzer (Ein- und Ausgabe) und der Integration von Desktop-Anwendungen (z.B.Textverarbeitung, Tabellenkalkulation etc.) in das R/3-System.

Softwaretechnische Sicht

Die folgende Abbildung zeigt die softwaretechnische Sicht auf das R/3-System. Die softwaretechnische Sicht beschreibt aus welchen Softwarekomponenten das R/3-System zusammengesetzt ist. In der softwaretechnischen Sicht umfassen alle SAP GUI Komponenten und Applikationsserver eines R/3-Systems das R/3-Basis-System.

Das R/3-Basis-System ist ein mehrstufiges Client/Server-System. Die einzelnen Softwarekomponenten sind auf einzelne Softwareschichten verteilt und arbeiten je nach Schicht als Client oder Server für die Komponenten der darunter bzw. darüberliegenden Schichten. In der Grundvariante umfaßt das R/3-System Softwareschichten:

Datenbankschicht

Ein zentrales Datenbanksystem, das alle Daten des R/3-Systems verwaltet, bildet die Datenbankschicht. Das zentrale Datenbanksystem besteht aus den Komponenten Datenbank Management System (DBMS) und der eigentlichen Datenbank (Datenbestand). SAP stellt selbst kein eigenes Datenbanksystem zur Verfügung. Das R/3-System unterstützt stattdessen folgende Datenbanksysteme anderer Hersteller: ADABAS D, DB2/400 (auf AS/400), DB2/Common Server, DB2/MVS,INFORMIX, Microsoft SQL Server, ORACLE und ORACLE Parallel Server.

Die Datenbank enthält nicht nur die betriebswirtschaftlichen Daten (Stammdaten und Bewegungsdaten) der Anwendungsprogramme, sondern ist die zentrale Datenablage für das gesamte R/3-System. Insbesondere enthält die Datenbank also auch Steuerungs- und Customizingdaten, die das Verhalten des R/3-Systems festlegen, sowie die Anwendungsprogramme selbst. Anwendungsprogramme bestehen aus Programmtexten, Bildschirmdefinitionen, Menüs, Funktionsbausteinen usw. Diese Komponenten werden in einem speziellen Teil der Datenbank abgespeichert, der R/3-Repository genannt wird, und heißen deshalb auch Repository-Objekte. Repository-Objekte werden mit der ABAP Workbench bearbeitet.

Applikationsschicht

DieSoftware-Komponenten der Applikationsschicht bestehen aus einem oder mehreren Applikationsservern und ein Message Server. Jeder Applikationsserver stellt eine Reihe von Diensten zum Betrieb des R/3-Systems zur Verfügung. Im Prinzip genügt ein einziger Applikationsserver, um ein R/3-System zu betreiben. In der Praxis werden die Dienste meistens auf mehrere Applikationsserver verteilt, so daß nicht jeder Applikationsserver jeden Dienst zur Verfügung stellt. Der Message Server realisiert die Kommunikation zwischen den Applikationsservern. Über den Message Server können Aufträge zwischen den Applikationsservern innerhalb eines R/3-Systems weitergeleitetet werden. Weiterhin enthält der Message Server Informationen über die Gruppierung von Applikationsservern und die aktuelle Lastverteilung innerhalb der Gruppen und kann so die Anmeldung von Benutzern entsprechend beeinflussen.

Präsentationsschicht

Die Präsentationsschicht enthält Software-Komponenten die R/3-spezifisch SAP GUI (Graphical User Interface) genannt werden. Die Präsentationsschicht bildet die Schnittstelle zu den Benutzern. Durch ihre SAP GUI-Komponenten bietet sie eine intuitiv bedienbare graphische Oberfläche über die Benutzer Daten eingeben oder Antworten in Form von Texten oder Graphiken erhalten. Die Präsentationsschicht sendet diese Daten an die Applikationsschicht bzw. empfängt sie von dieser. Eine SAP GUI Komponente ist während ihrer Laufzeit immer fest mit einer Benutzeranmeldung an das R/3-System verknüpft.

In weiteren Ausbaustufen können weitere Schichten, wie z.B. ein Internet Transaction Server (ITS), hinzukommen.

Softwaretechnische Sicht und Hardwaresicht

Die softwaretechnische Sicht hat zunächst einmal nichts mit der Verteilung auf die Hardware zu tun. Sowohl in vertikaler Richtung (Schichten) als auch in horizontaler Richtung (Komponenten) sind viele verschiedene Szenarien möglich. In vertikaler Richtung gibt es die möglichen Extreme, daß alle Schichten auf einem einzigen Rechner installiert sind oder jede Schicht mindestens einen eigenen Rechner beansprucht. In horizontaler Richtung ist die Verteilung der Datenbankkomponenten vom jeweiligen Datenbankssystem abhängig. Die Komponenten von Applikationsschicht und Präsentationsschicht sind über beliebig viele Rechner verteilbar, wobei auch mehrere Applikationsserver auf einem Rechner installiert sein können. Bei einer häufig vorzufindende Konfiguration laufen das Datenbanksystem und ein Applikationsserver, der spezielle Dienste für die Datenbank zur Verfügung stellt, auf einem Rechner gemeinsam, während alle weiteren Applikationsserver auf eigene Rechner verteilt sind. Die Komponenten der Präsentationsschicht laufen meistens auf den Desktoprechnern jedes einzelnen Benutzers.

Vorteile der mehrstufigen Architektur

Die softwaretechnische Aufteilung des R/3-Systems auf drei Schichten sorgt durch die Verteilung der Systemlast auf die verschiedenen Schichten für kurze Antwortzeiten.

Da das Datenbanksystem die zentrale Datenablage für das gesamte R/3-System enthält, wird es beim Betrieb des System stark belastet. Deshalb ist es sinnvoll, die Ausführung von Anwendungsprogrammen nicht auf dem Rechner stattfinden zu lassen, auf dem auch das Datenbanksystem installiert ist. Die Architektur des R/3-Systems ermöglicht es, durch die Trennung von Applikationsschicht und Datenbankschicht diese auf verschiedenenen Rechnern zu installieren, die über ein Netzwerk kommunizieren.

Es ist sinnvoll die Verarbeitung von Benutzereingaben und die Aufbereitung der Datenausgabe von der eigentlichen Programmausführung zu entkoppeln. Dies liefert die Architektur des R/3-Systems durch die Trennung von Präsentations- und Applikationsschicht, die zur Entlastung der Applikationsserver führt. SAP GUI und Applikationsserver sind so aufgebaut, daß möglichst wenig Daten zwischen den beiden Schichten hin und her bewegt werden müssen, so daß die Komponenten der Präsentationsschicht auch auf Rechnern bedient werden können, die weit entfernt von den Rechnern stehen, auf denen die Applikationsschicht installiert ist, und die über langsame Leitungen miteinander verbunden sind.

Dadurch, daß die Softwarekomponenten eines R/3-Systems beinahe beliebig auf verschiedene Hardware-Einheiten verteilt werden können, wird eine hohe Skalierbarkeit erreicht. Insbesondere in der Applikationsschicht kann ein R/3-System leicht durch die Installation weiterer Applikationsserver an steigende Anforderungen angepasst werden.

Konsequenzen für die Anwendungsprogrammierung

Die Trennung von Anwendungs- und Präsentationsschicht hat eine wichtige Konsequenz für die Programmierung von Anwendungsprogrammen. Bei der Ausführung eines Anwendungsprogramms, das mehrere Benutzeraktionen am Bildschirm erfordert, wechselt die Kontrolle über das Anwendungsprogramm ständig zwischen den Schichten. Während ein Bildschirm eingabebereit ist, ist der entsprechende SAP GUI der Präsentationsschicht aktiv. Die Applikationsschicht ist in dieser Zeit nicht für das Anwendungsprogramm aktiv. Die Applikationsserver sind dadurch für andere Aufgaben frei. Nach einer Benutzereingabe am Bildschirm ist die Applikationsschicht wieder für das Anwendungsprogramm aktiv. In dieser Zeit ist die Präsentationsschicht inaktiv. Der SAP GUI ist zwar für den Benutzer aktiv und zeigt das Bildschirmbild noch an, ist in dieser Zeit aber nicht eingabebereit. Erst wenn das Anwendungsprogramm einen weiteren Bildschirm vorbereitet und an den SAP GUI geschickt hat, wird dieser wieder aktiv, wechselt die Bildschirmanzeige und wartet auf Eingaben.

Als Konsequenz dieser Technik wird die Programmlogik eines Anwendungsprogramms zwischen zwei aufeinanderfolgenden Bildschirmbildern zu einem Dialogschritt zusammengefaßt.

 

Benutzersicht

Die folgende Abbildung zeigt die Benutzersicht auf das R/3-System:

Für einen Benutzer sind die Komponenten des R/3-System unmittelbar sichtbar, die sich ihm als Fenster auf dem Bildschirm präsentieren. Diese Fenster werden von der Präsentationsschicht des R/3-Systems erstellt und sind auch Bestandteile des R/3-Basis-Systems.

Vor der Anmeldung eines Benutzers an das R/3-System startet er zuerst ein Hilfsprogramm namens SAP Logon, das auf dem jeweiligen Frontend installiert ist. Im SAP Logon kann er eines der zur Verfügung stehenden R/3-Systeme auswählen. Das Programm SAP Logon verbindet sich mit dem Message Server des ausgewählten R/3-Systems und erhält von diesem die Adresse eines geeigneten (wenig ausgelasteten) Applikationsservers. Schließlich startet SAP Logon einen SAP GUI, der mit diesem Applikationsserver verbunden ist. Das Programm SAP Logon wird für diese Verbindung nicht mehr benötigt.

Der SAP GUI öffnet erst das Anmeldebild und nach erfolgreicher Anmeldung das R/3-Einstiegsbild in einem R/3-Fenster auf dem Bildschirm. Innerhalb des SAP GUI wird das R/3-Fenster durch einen Modus repräsentiert. Der Benutzer kann nach seiner Anmeldung innerhalb eines SAP GUI bis zu fünf weitere Modi, also R/3-Fenster, öffnen, die sich untereinander fast wie unabhängige R/3-Anmeldungen verhalten. In den verschiedenen Modi können also parallele Anwendungen unabhängig voneinander ausgeführt werden.

Innerhalb eines Modus, kann der Benutzer Anwendungen ausführen, die selbst weitere Fenster (z.B. Dialogfenster, Graphikfenster usw.) öffnen. Diese Fenster sind dann nicht unabhängig, sondern gehören zu diesem Modus. Sie können modal (das ursprüngliche Fenster ist nicht eingabebereit) oder amodal (beide Fenster sind eingabebereit und wechselwirken miteinander) sein.

Der Benutzer kann mit dem Programm SAP Logon weitere SAP GUIs für das gleiche oder auch andere zur Verfügung stehende R/3-Systeme öffnen. Die einzelnen SAP GUIs und die entsprechenden R/3-Anmeldungen eines Benutzers sind vollständig unabhängig voneinander. Somit können zum Beispiel auf einem einzigen Desktoprechner die Präsentationsschichten mehrerer R/3-System durch SAP GUIs vertreten sein.