BOI Software Entwicklung und Vertrieb GmbH

Tel: +43 (0) 732 / 736423 - 0

Spazgasse 4

Email: office@boi.at

4040 Linz, Austria

www.boi.at

Die SHS/ESA Technologie

Die SHS/ESA Technologie

Die SHS/ESA-Technologie erlaubt das zentrale Speichern von Daten im Hauptspeicher und den Zugriff auf diese zentral geladenen Daten.

Als zentrale Speicherbereiche werden ESADatenräume (z/OS) bzw. Shared Memory (Unix, Linux, Windows) verwendet (als allgemeiner TABEX-Begriff wird SHS-Datenbereich verwendet.)

Das garantiert, dass nur eine Kopie einer Tabelle in allen Anwendungen verwendet wird. Außerdem muss kein Datenbankzugriff erfolgen.

So kann performant und ohne zusätzlichen Speicherverbrauch auf Daten zugegriffen werden.

ESA ist die Abkürzung für die Enterprise System Architecture von IBM:

Abb.: Architektur

Mit der Einführung der S390/ESA-Architektur durch IBM wurde der Einsatz von Datenräumen neben den Addressräumen möglich. TABEX wurde dahingehend erweitert, dass es Tabellen in den SHS-Datenraum laden konnte.

So wurde die Performance durch die Verwendung der Zugriffe auf dieselben im Speicher geladenen Tabellen aus allen Regions wesentlich gesteigert.

TABEX/4 nutzt weiters die Möglichkeit, dass nach der Einführung der 31-bit-Adressierung neben den Adressräumen für die Anwendungen auch virtuelle Datenräume bis 2 Gigabyte bereitgestellt werden.

Folgende Möglichkeiten ergeben sich durch die Verwendung der SHS-Technologie in TABEX:

  • Lesende Zugriffe mit High-Performance-Calls
  • Das Befüllen bzw. Reorganisieren von Datenräumen kann ohne Auswirkung auf Anwendungen durchgeführt werden (unterbrechungsfreier Switch zwischen Lade- Datenraum und Arbeitsdatenraum nach Datenänderung oder Reorganisation)
  • keine Synchronisation erforderlich
  • Getrennte Datenräume für die verschiedenen integrierten Gesellschaften (Mandantenfähigkeit) analog zu IMS und DB2. Zur Mandantentrennung werden unterschiedliche Suchpfade und Projektkennungen verwendet.
  • Mehrere ESA-Datenräume können parallel aktiv sein und mit unterschiedlichen Tabellen befüllt werden. Durch anwendungsspezifische Pfadangaben (diese definieren den Suchpfad) und Projektkennungen kann die Reihenfolge der Suche z.B. für Instanzen, Mandanten, verschiedene Umgebungen etc. gesteuert werden.
  • Durch die Adressierung jeder Tabelle mittels Name, Datum und File-ID ist neben der Versionierung auch die Abbildung der IT-Organisation durch organisatorische Zugriffssteuerung des Kunden möglich. Über die zusätzliche Projektkennung sind unterschiedliche Instanzen oder Teststufen möglich. Es wird sichergestellt, dass immer auf die richtige Version der Tabellen zugegriffen wird.
  • Ein spezieller Datenraum kann verwendet werden, um Daten zwischenzuspeichern, die nicht von einem Rollback betroffen sein sollen. Dieser wird z.B. genutzt, damit Anwendungen Vertragsnummern, die bei ihrer Bearbeitung zu Abstürzen führen, im nächsten Lauf ausgesteuert werden können. Wichtig dabei ist, dass eine Vertragsnummer in diesem Fall nicht durch ein Rollback verloren geht (dies wäre bei DB2-Speicherung der Fall) bzw. dass die Performance der Anwendung durch Schreiben der Vertragsnummern in eine Datei nicht negativ beeinflusst wird.

Zur Organisation von SHS-Datenbereichen können Subsysteme verwendet werden. Unter einer 4-stelligen Subsystem-ID können bis zu 16 Datenbereiche angelegt werden. In z/OS muss dazu im Betriebssystem ein Subsystem eingetragen werden. Ein diesem Subsystem zugeordneter Holder-Task hält die Datenräume.

Es gibt numerische (0 bis 9) und alphanumerische SHS-Datenbereiche (A bis Z). Die numerischen ESA-Datenräume bieten in z/OS erhöhte Sicherheit, da sie mit 'storage key' '0' angelegt, und daher nur von autorisierten Programmen geändert werden können.

SHS-Datenbereiche mit speziellen Funktionen sind die Datenbereiche S und 0.

  • S ist als Statistik-Datenbereich definiert. In diesem werden Zugriffszähler gespeichert. Aktivierung, Deaktivierung und Auswertung der Statistikzähler können mit dem Utility TABN04 durchgeführt werden.
  • 0 ist der Work-Datenbereich. Dieser wird verwendet, um beim Neuladen bzw. Nachladen von Daten einen unterbrechungsfreien Zugriff auf die Daten zu gewährleisten.

Beim Neuladen wird dabei zuerst der Work-Datenbereich mit den neuen Daten geladen. Ist dieser Ladevorgang abgeschlossen, erfolgt das Aktivieren des neuen Datenbestandes durch Switch (Namensaustausch) zwischen Work-Datenbereich und aktivem Datenbereich (z.B. Datenbereich 1).

Wird der Work-Datenbereich für mehrere numerische Datenbereiche verschiedener Größe verwendet, muss er vor dem Ladevorgang in der jeweiligen Größe neu erstellt werden. Auch wenn die Datenbereiche gleich groß sind, empfehlen wir das Neuanlegen vor jedem Ladevorgang, bei dem ein Switch ausgeführt wird, da durch den Switch auch die Belegungszuordnung für das 'paging' übertragen wird.

Beispielablauf TABN04-Utility für z/OS:
- Neuerstellen des Workdatenbereiches
S,TABXESA,CRE0FOR1,,TBX1,0
- Verbindung zum Workdatenbereich von Subsystem TBX1 herstellen
*,TBX1,0
- Initialisieren des Workdatenbereiches
I
- Laden der Tabellen (ein oder mehrere Ladebefehle)
L,....
...
L,....
- Aktivieren Work-Datenbereich als Datenbereich 1
A,1

Das Nachladen einzelner Tabellen kann mit TABN04, Befehl N direkt in den Datenbereich erfolgen. Die 'alte' Tabelle wird nach dem Laden der neuen Tabelle mit einem Delete-Flag versehen, der Speicher aber physisch nicht freigegeben.


Beispielablauf TABN04-Utility:
- Nachladen einer Tabelle in Datenbereich 1
X,TBX1,1
N,.....


Muss der Datenbereich reorganisiert werden, ist wieder der Work-Datenbereich zu verwenden. Man kann z.B. TABN04-SHSOCC verwenden, um über Job-Steuerung abhängig von der Datenbankbelegung in % das Reorganisieren aufzurufen.

Beispielablauf Reorganisieren für z/OS:
- Neuerstellen des Workdatenbereiches
S,TABXESA,CRE0FOR1,,TBX1,0
- Verbindung zum Work-Datenbereich von Subsystem TBX1 herstellen
*,TBX1,0
- Initialisieren des Workdatenbereiches
I
- Kopieren des aktiven Datenbereiches in den Work-Datenbereich
E,1
- Reorganisieren des Work-Datenbereiches
R
- Aktivieren Work-Datenbereich als Datenbereich 1
A,1


Um zu steuern, in welcher Reihenfolge die SHS-Datenbereiche nach den aufgerufenen Tabellen
durchsucht werden, sind folgende SHS-Pfadangaben zu setzen:

  1. Subsystem-ID
  2. maximal 10 Datenbereiche in der gewünschten Suchreihenfolge
  3. Projektkennung um zwei oder mehrere Umgebungen in einem Datenbereich abzubilden.

Dazu können gleichnamige Tabellen unter verschiedenen Kennungen in den
Datenbereich geladen werden. Über die Projektkennung wird festgelegt, nach welchen Kennungen in welcher Reihenfolge gesucht wird.
Je nach Systemumgebung gibt es verschiedene Möglichkeiten, die SHS-Pfadangaben zu spezifizieren:

  • als Konstanten oder als Variablen aus einem Programm übergeben, das mit fixem Namen von der TABEX-Zugriffsschnittstelle aufgerufen wird.
  • als Umgebungsvariablen mit fixem Namen festlegen
  • beim Start des Zugriffssystems angeben (CICS)
  • im Anwendungsprogramm per Funktionsaufruf setzen

Details zu Datenbereichen im Allgemeinen und den Pfadangaben finden Sie in BOIDOC-201.
Details zu Ladebefehlen des SHS-Utilities TABN04 finden Sie in BOIDOC-206.

Für jedes Subsystem muss eine Holder-Task (TABEX-Utility TABN14) laufen, die die Verwaltung der Subsysteme und Datenräume übernimmt. Diese ist für den 24-Stundenbetrieb ausgelegt und sollte NIE gestoppt werden. Wird die Holder-Task niedergefahren, sind die geladenen Datenräume nicht mehr verfügbar.

Abb.: Verwaltung der Datenräume

 

Die Administration der Datenräume wird mit der TABEX-Utility TABN14 durchgeführt:

  • Starten und Stoppen eines Subsystems
  • Löschen eines Datenraumes
  • Reorganisieren eines Datenraumes
  • Starten und Stoppen der Holder-Task BOI

Migrationspakete

Die BOI GmbH bietet Migrationspakete für die Ablöse der Tabellen-managementsysteme SPITAB, TABSYS und VTAS an.

 

» Migrationspakete

Success Stories

AirPlus International setzt seit 20 Jahren auf TABEX.

 

Durch die Einführung der TABEX/4 JAVA APPLICATION ENGINE konnte die lückenlose Protokollierung der Business-Abläufe auch in Java-Anwendungen ohne großen Aufwand umgesetzt werden.

 

» diese Success Story lesen

» weitere Success Stories