Cics für die Zukunft fit gemacht

12.05.2005
Von Frank Braun
Eine einfachere Integration dank Web-Services und mehr Hilfe bei der Anwendungsentwicklung verheißt das aktuelle Release des Cics-Transaction-Servers von IBM.

Seit 36 Jahren ist IBMs Transaktionsmonitor "Customer Information Control System" (Cics) nun schon im Einsatz - und bei weitem nicht in die Jahre gekommen. Er hat bis heute seinen festen Platz in den großen IT-Installationen der Finanzdienstleister, Versicherungen, Industrieunternehmen und der öffentlichen Verwaltung. Auf unterschiedlichen Plattformen einsetzbar, bietet Cics vor allem unter dem Betriebssystem z/OS einen hohen Durchsatz, Skalierbarkeit, Sicherheit und eine an die 100-Prozent-Marke heranreichende Verfügbarkeit.

Nur der Name bleibt

Doch was seinerzeit als Software auf Basis der IBM/370-Architektur entstand, hat mit der aktuellen Version 3.1 bestenfalls noch den Produktnamen gemein. So steuert Cics nicht mehr nur den Ablauf prozeduraler Anwendungen, sondern lässt sich über Web-Services vollständig in Geschäftsprozesse integrieren, um so Teil einer Service-orientierten Architektur (SOA) zu werden. Gemäß dem SOA-Konzept können Cics-Anwendungen als Web-Service-Provider oder -Requester agieren und über HTTP/1.1 oder "Websphere MQ" kommunizieren, wobei die Transportschicht für die Anwendung transparent ist. Neben zusätzlichen Ressourcendefinitionen vom Typ "Urimap", "Pipeline" und "Webservice" sowie überarbeiteten Funktionen für ein System-Management zeigt sich der Wandel von Cics auch in den Systemdiensten "Monitoring", "Statistics" sowie "Problem Determination", die sich nun auch zur Verwaltung und Überwachung der Web-Services einsetzen lassen. Zur Entwicklung von Web-Services-Anwendungen bietet das aktuelle Release zudem zusätzliche "Exec-Cics"-Kommandos.

Vom Pipelining und Chunking

Weitere Modifikationen betreffen den "Cics TS HTTP Listener", der nun weitgehend konform mit der HTTP/1.1-Spezifikation ist. Er unterstützt so genannte Persistent Connections (permanente Verbindungen) durch "Pipelining", mit dem sich mehrere Requests abschicken lassen, ohne auf eine Bestätigung warten zu müssen, sowie mit "Chunking", bei dem eine Nachricht für den Transport in mehrere Teilstücke zerlegt wird. Die genannte Ressourcendefinition Urimap assoziiert einen Uniform Resource Identifier (URI) mit den entsprechenden Verarbeitungsprozessen in Cics. Dient Cics als Web-Service-Provider, wird die URI mit den Ressourcendefinitionen Pipeline und Webservice verknüpft. Fungiert Cics als HTTP-Server, so ersetzt die Funktion den "Analyzer Exit", ein Programm zur Ermittlung der zuständigen Cics-Anwendung, mit der sich die HTTP-Anforderung ausführen lässt. Eine weitere Neuerung ermöglicht es, von einer HFS-Datei "Doctemplates" einzulesen, mit denen sich HTML-Seiten definieren lassen.

Um Codeseiten besser kon- vertieren zu können, nutzt der Transaktionsmonitor den z/OS-Support "Unicode Conversion Services". Hiermit lassen sich Schriftzeichen zwischen den Schriftsätzen UTF-8, UTF-16, Ascii sowie EBCDIC übersetzen.

Kapazitätsbeschränkungen fallen

Die Codepage-Konvertierung kann der Anwender in Cics entweder über "Exec Cics Web Commands", im Analyzer-Programm oder in der Urimap definieren. Viele Cics-Anwender warten bereits seit Jahren auf den Wegfall der Kapazitätsbeschränkung von 32K bei der Verwendung von Datenpuffer, der so genannten Commarea. Version 3.1 räumt nun endlich mit dieser für den Anwendungsentwickler hinderlichen Einschränkung auf. So lässt sich dank der Einführung von Containers und Channels sowie in Verbindung mit einem neuen API-Befehlssatz die bisherige 32K-Grenze beim Datenaustausch überwinden. Dabei entspricht der Container in etwa einer Commarea mit einer eindeutigen Bezeichnung, ein Channel enthält als Gruppe spezifische Angaben von 1 bis n Containern. Speicherzuordnung und Belegung, Adressierung und Lifetime der Container werden durch Cics verwaltet. Container sind nicht persistent.

Dank des optimierten Datentransports ist es künftig möglich, bei der Rückgabe nur die veränderten Daten zu übertragen. Eine dynamische Datenkonvertierung ist zudem im Rahmen der neuen API Commands vorgesehen. Dadurch ist eine programmgesteuerte, flexible Zeichensatzumsetzung je nach Anforderung möglich. Zusätzlich werden die neuen Jcics-Klassen "Channel", "Container" und "ContainerIterator" für Java-Programme in Cics eingeführt. Der erweiterte Datenübergabebereich lässt sich des Weiteren für den direkten Programmaufruf per "Link" und "XCTL" sowie bei einem asynchronen Transaktionsaufruf mit "Start" und "Return" verwenden.

Mit der Einführung des "Openapi Program Support" in Cics hat sich die Programmverarbeitung im Open Transaction Environment (OTE) für Cobol, PL/I, Assembler, C und C++ verbessert, in dem sich nun Workloads schneller abarbeiten lassen. Um die bisher gemessenen hohen Verarbeitungszeiten für Funktionsaufrufe von objektorientierten Anwendungen zu senken, hat IBM die Option "Extra Performance Linkage" (XPLink) unter z/OS eingeführt. Durch sie soll sich laut Hersteller die Ausführung von C- und C++-Programmen unter Cics deutlich beschleunigen lassen. Für mehr Sicherheit sollen zudem Erweiterungen beim Connection-Management sorgen. So wird nun neben dem Secure Sockets Layer 3.0 (SSL) auch das Transport Layer Security (TLS) Protokoll 1.0 unterstützt. Dieses schließt den Advanced Encryption Standard (AES) ein, der eine 128-Bit- und 256-Bit-Verschlüsselung aufweist.

Aufgefrischtes Cicsplex

Überarbeitet wurde das grafische Werkzeug zur Verwaltung und Steuerung multipler Cics-Systeme "Cicsplex SM" (CPSM). Über ein separates Cics und mit dem HTML Frontend Tool Web User Interface (WUI) lassen sich Cics-Systeme gruppieren sowie gemeinsam benutzte Ressourcen definieren und kontrollieren. Sowohl die Administrations- als auch die Verwaltungs- und Setup-Funktionen wurden nun mit der neuesten Ausgabe des Tools vereinfacht oder er- weitert.

CPSM enthält die Komponente "Business Application Services" (BAS), mit der sich systemweite Ressourcendefinitionen erstellen und über ein zentrales Verzeichnis verwalten lassen. Von Vorteil für das Deployment einer Anwendung ist es dabei, dass sich die zugehörigen unterschiedlichen Definitionen für Ressourcen gemeinsam managen lassen, unabhängig davon, wo sie sich befinden. Eine weitere CPSM-Komponente ist "Real Time Analysis" (RTA). Sie erlaubt die zentrale Überwachung eines Cics-Komplexes und kann dabei Ausnahmesituationen und auftretende Probleme erkennen und behandeln. Bestimmte Fehlerindikatoren können als Auslöser für ein automatisches Recovery vorgegeben werden. So kann beispielsweise eine Datenbankverbindung automatisch wiederhergestellt werden, wenn nach einem ausbleibenden Datenbankzugriff ein bestimmter Schwellwert überschritten wurde. Die ebenfalls in CPSM integrierte Komponente "Workload Management" (WLM) soll zudem eine ausgewogene Lastverteilung sicherstellen. Vordefinierte Messgrößen gewährleisten eine gleichmäßige Verteilung des gesamten Transaktionsaufkommens.

Zum Lieferumfang von Cics gehört unter anderem eine kostenlose Lizenz der Entwicklungsumgebung "Websphere Studio Enterprise Developer" (WSED). Mit ihr lassen sich nicht nur Cics- und Websphere-Anwendungen, sondern auch solche in Cobol, PL/I, Java und J2EE entwickeln. Ferner bietet IBM mit dem "Cics Information Center" eine interaktive Dokumentation. Anwender sollen in ihr alle relevanten Informationen und Hilfen zum Transaktionsmonitor finden. Sie lässt sich von der Website des Herstellers herunterladen und läuft auf den Plattformen Windows 2000 Server, Windows XP Professional, Linux Redhat Enterprise 3.0 , Linux Suse Enterprise 8 sowie AIX 5.2 und 5.3. Die Integration anderer Produktbeschreibungen und eine individuelle Anpassung der Dokumentationsumgebung sind möglich. Neue Suchalgorithmen, ein konsistentes Look and Feel sowie eine verbesserte Navigation versprechen jetzt mehr Benutzerkomfort.

Neue Konnektoren

Parallel zur Neuauflage des Transaktionsmonitors hat IBM Version 6.0 der Connectivity-Software "Cics Transaction Gateway" (CTG) auf den Markt gebracht. Sie basiert auf der Java 2 Platform, Enterprise Edition (J2EE) und nutzt jetzt die Spezifikation der "J2EE Connector Architecture" 1.5 (JCA 1.5). Über sie lassen sich auf verteilten Plattformen Cics-Anwendungen mit solchen auf dem Java-Applikations-Server "Websphere" der IBM verbinden. Im Einzelnen verfügt CTG künftig dank JCA über performante, skalierbare und sichere Inbound-Konnektoren und gestattet den Zugriff auf die Commarea und 3270-basierende Cics-Anwendungen. Ferner werden auch andere Java-, C-, C++-, Cobol-APIs unterstützt, und es lassen sich Verbindungen zwischen Cics-Mainframe-Anwendungen und verteilten Plattformen, zum Websphere-Server sowie zu SNA-Servern unter den Betriebssystemen AIX, Windows und Linux auf z-Series einrichten.

Der Mainframe mit seiner bewährten Basistechnik und seinen traditionellen Subsystemen wurde schon mehrfach totgesagt. Doch stellt gerade die aktuelle Version von Cics die Zuverlässigkeit, vielseitige Einsetzbarkeit und Hochleistungsfähigkeit dieser Umgebung eindrucksvoll unter Beweis. Von früheren veralteten, starren und proprietären Eigenschaften ist heute nicht mehr viel übrig. Als moderne und sichere Verarbeitungsumgebung lässt sich der Transaktionsmonitor für klassische, zentrale Geschäftsprozessanwendungen und Web-Applikationen gleichermaßen nutzen. Allerdings muss der Anwender für die hohe Leistung, die Hochverfügbarkeit sowie implementierte Multifunktionalität auch tiefer in die Tasche greifen. Dass Cics hohe Hard- und Betriebssystem-Kosten verursacht, schränkt den sonst positiven Eindruck leicht ein. (as)