Die Veränderungen im Information Management System IMS v13 vom IBM Jetzt schlägt‘s 13 – Neues in der Mainframe-Datenbank

Autor / Redakteur: Robert Crawford/Ralph Beuth / Ulrike Ostler

IBM hat im Oktober 2012 die kommende Version seines „Information Management System“ (IMS) angekündigt, das Mainframe-Arbeitspferd für ein Transaction Processing und Database Management. Die Version 13 verspricht zwar, wie schon andere zuvor, die Gestalt beizubehalten. Trotzdem gibt es Neues. Hier ein Überblick.

Firma zum Thema

Das Foto entstammt dem IBM-Whitepaper "IBM IMS Tools Autonomics and Modernization: Putting Information to Work"
Das Foto entstammt dem IBM-Whitepaper "IBM IMS Tools Autonomics and Modernization: Putting Information to Work"
(Bild: IBM)

„Database Versioning“ gestattet Admins nun, an verschiedenen Strukturen einer Datenbank Identifikatoren anzubringen. Wenn dies sauber geschieht, können bestehende Programme sich weiterhin auf die alte Struktur beziehen, während neue Codes Vorteile aus den Veränderungen ziehen.

Derzeit unterstützt IMS drei Arten von Veränderung für Data Entry Databases (DEDB), HDAM, HIDAM, PHDAM und PHIDAM Datenbanken:

  • Wechsel der Abschnittslänge
  • Ein neues Feld am Ende eines Abschnitts
  • Neudefinition eines alten Feldes und Hinzufügen von Platz am Ende eines Abschnitts

Zur Unterstützung des Versioning sollen die DBD- und PSB-Makros über einen DBVER-Parameter verfügen. Zusätzlich erkennt die DATABASE-Section des DFSDFxxx System Definition Member, wenn das Versioning aktiv ist sowie die Default-Versions-Nummer, zudem kann das PSBGEN-Makro den System Default berücksichtigen.

Minimaler Aufwand für die Reorganisation

Programme, die eine Nondefault-Version einer Datenbank nutzen wollen, müssen zuvor den INIT DL/1 Call verwenden. Schließlich erfordert Versioning, dass alle betroffenen Datenbanken sich in einem aktiven IMS-Verzeichnis befinden.

An diesem Punkt bietet die IMS V13 Dokumentation keine Information über das Format oder die Länge einer Database-Versions-ID. Mit der eigenen Implementierung mag dies eine echte Wohltat für Unternehmen sein, die ihre Datenbank-Strukturen verändern möchten, ohne ältere Programme nachrüsten zu müssen. Dies mag zudem die Zahl geplanter Datenbank-Ausfälle bei der Reorganisation reduzieren.

Callout-Erweiterungen

IMS V13 besitzt ein neues asynchrones Callout-Feature, welches Programmierern erlaubt, „MQ“-Messages über das gewöhnliche IMS Terminal Interface zu schreiben mit: ALT IOPCB. Sofern es für die Anwendung wirklich transparent ist, dürfte dieses neue Feature Admins dazu befähigen, den Output für MQ umzuleiten ohne das zugrundeliegende Programm zu verändern.

Natürlich muss die MQ Interface Information irgendwo existieren. Um das sicherzustellen, fügt IMS V13 eigens MQSERIES-Zieldeskriptoren im Open Transaction Manager Access (OTMA) hinzu. Neben anderen Dingen listet der MQSERIES-Deskriptor den Queue Manager, ebenso wie Request und Reply in der Warteschlange.

Aufregender sind die Veränderungen beim synchronen Callout. Synchroner Callout erlaubt einer IMS-Transaktion, den ICAL-Function-Code zu nutzen und eine weitere IMS-Transaktion innerhalb derselben Arbeitseinheit zu aktivieren.

Time-out

So sehen die IBM-Mainframes der jüngsten Genereation aus - mit z/OS V2.1.
So sehen die IBM-Mainframes der jüngsten Genereation aus - mit z/OS V2.1.
(Bild: IBM)

Die entstehende Transaktion wird warten, bis sie eine Antwort-Message erhält oder ein Time-out-Wert erscheint. Der Time-out-Wert kann ein Systemfehler oder im ICAL-Call enthalten sein. Er impliziert, dass beide Transaktionen für IMS normaler Weise in Commit-In-Flight-Ressourcen enden müssen.

Zur Nutzung des synchronen Callout erstellt der Systemprogrammierer einen TYPE=IMSTRAN M OTMA-Deskriptor, auf den sich die Anwendung beziehen muss, wenn der ICAL eingesetzt wird. Der Deskriptor selbst verfügt über verschiedene Parameter, von denen einer definiert, ob die entstehende Transaktion wissen muss, ob die Zielaufgabe ohne Versenden einer Antwort-Message beendet wurde. Wenn der Parameter auf YES gesetzt ist, wird IMS Return- and Reason-Codes anstatt eines Time-out einsetzen.

Die Ziel-Transaktion kann sich im selben IMS, einem IMS in derselben Warteschlangen-Gruppe oder in einer durch ein Multi-Systems Coupling (MSC)-Link verbundenen Kontroll-Region befinden. Diese Fähigkeit ist für alle Arten abhängiger Regionen verfügbar.

32 KB pro Message-Abschnitt.

Für die neue Funktionalität gelten einige Beschränkungen. IMS bietet keine Message Routing und Control Exits für die synchronen Konversationen. Diese Funktion ist auch über DBCTL nicht verfügbar und die Ziel-Transaktion hat nur einen Read-only-Zugang zu den Hauptspeicherdatenbanken. IMS erzwingt zudem ein Längen-Limit von 32 KB pro Message-Abschnitt.

Synchroner Callout scheint der Anfang von so etwas Ähnlichem wie Transaction Routing für CICS zu werden, mit dem Gedanken, dass eine einzige IMS-Transaktion eine weitere in demselben Sysplex anruft oder mittels TCP/IP MSC-Links quer über den Kontinent schickt.

Es gilt noch weitere Details zu studieren und Implikationen herauszuarbeiten, die noch nicht ganz klar sind, bis IBM die vollständige V13-Dokumentation bereitstellt. Jedenfalls könnte dies ein sehr guter Weg sein, IMS in ein mehr distribuiertes Modell zu übertragen.

Plus und Minus

Weitere interessante Erweiterungen bei IMS 13:

  • IMS Universal Drivers: V13 führt Universal-Treiber für Java-Anwendungen ein, die Zugang zu IMS Datenbanken haben sollen. Gemäß dem Industriestandard gibt es einen Typ-2 -Adapter für lokalen Zugriff und einen Typ 4 für Remote.
  • Mehr PSTs: IBM hat die Anzahl der Program Specification Table (PST) Entries auf 4095 erhöht. Dies geht einher mit IBMs genereller Strategie, Anwender zur vertikalen Integration zu bewegen, welche mit den jüngeren Generationen von Mainframe-Prozessoren besser harmoniert.
  • IMS Service Oriented Architecture Protocol (SOAP) Gateway: Anwendungen können eine einmalige Tracking-ID schaffen, die es Monitoren und Systemprogrammierern erlaubt, den Überblick über Workloads zu behalten, während sie durch das System hindurchgehen. Dies kann in Debugging-Situationen sehr hilfreich sein oder auch dann, wenn Unternehmen ihr eigenes internes Tracking und Routing haben möchten.

Einige bisherige Funktionen fallen aber auch weg:

  • V12 war die letzte Version, die das SECURITY System Generation-Makro unterstützt hat. Nun sind diese Parameter in Systemparametern zu spezifizieren.
  • V13 wird die letzte Version sein, die das IMS Connect SSL-Feature unterstützt.
  • Schlussendlich listet IBM zur Kompatibilität Temporary Fixes auf, die während des Übergangs zum Einsatz kommen.

Über die Autoren:

Robert Crawford war 29 Jahre lang Systemprogrammierer. Bei seiner Spezialisierung auf CICS-Support arbeitete er mit VSAM, DB2, IMS und anderen Mainframe-Lösungen. Crawford arbeitete mit Assembler, Rexx, C, C++, PL/1 und Cobol. Gegen Ende seiner Karriere verantwortet er als Operations Architect den Aufbau einer Mainframe Strategie eines großen Versicherungsunternehmens. Er lebt und arbeitet mit seiner Familie im Süden von Texas.

Ralph Beuth ist freier Autor.

Artikelfiles und Artikellinks

(ID:38233100)