Bevor neue Programme eingespielt werden, müssen alle Betriebsmittel
der Anwendung, die aus diesen Programmen gebildet wird, vor Zugriff
geschützt werden.
Eine Anwendung (Application) im Sinne eines TP-Monitors ist ein
abstraktes Gebilde, da es nicht ein einzelnes Programm gibt, das
aufgerufen wird und nach der Verarbeitung terminiert, sondern aus
vielen Transaktionen (Transaction) besteht, die in einer
bestimmten Reihenfolge gestartet werden. Hinter jeder Transaktion
(Transaction) steht ein Programm, das beim Start einer
Transaktion als erstes in den Speicher geladen und ausgeführt wird
(Program). Welches Programm eine Transaktion als erstes aufruft,
wird bei der Transaktion im Attribut firstProgram definiert.
Dies Programm ist der Einstiegspunkt für die Programmkette, die im
Rahmen einer CICS-Transaktion ausgeführt wird.
Um eine Transaktion zu definieren, ist noch anzugeben, ob sie
dynamisch geroutet werden darf (dynRoute) und welcher CICS-Gruppe
(CicsGroup) sie zugeordnet wird (group).
Die restlichen Attribute können mit Default-Werten oder optional
angegeben werden.
Zu einer Anwendung gehören aber typischerweise noch andere
Betriebsmittel, wie Dateien (File), die entweder als Dateien
eines Dateisystems oder auch als Datenbanktabellen realisiert sein
können. Diese Unterscheidung wird mit dem Attribut fileType
getroffen.
Bildschirmmasken, die Anwender-Schnittstelle des CICS, werden
Map genannt und sind ebenfalls Bestandteil der Anwendung.
Über eine transiente Daten-Queue (Tdq) stellt eine Transaktion
ihren Transaktionskontext der Nachfolge-Transaktion zu Verfügung. Es
werden zum Beispiel Eingaben, die in einer Maske gemacht wurden, der
nächsten Transaktion übergeben, damit der Anwender diese Eingaben
nicht noch einmal machen muß. Ebenso kann man mit einer TDQ Ergebnisse
aus einer Datenbankanfrage an Folgetransaktionen weitergeben, ohne die
Anfrage nochmals zu starten.
Für den Fall, daß eine Anwendung bereits installiert war und zum
Beispiel nur neue Versionen der Ressourcen eingespielt werden, müssen
die Betriebsmittel einer Anwendung vor Zugriff geschützt
werden, solange sich die Anwendung in einem inkonsistenten
Betriebsmittelzustand befindet. Jede Klasse muß daher eine Methode
haben, die den Zugriff auf die entsprechenden Ressourcen sperrt
(lock()).
Außerdem braucht man die momentane Version (version) aller
Betriebsmittel, um Kompatibilitätsprobleme frühzeitig zu erkennen.
Wird eine Anwendung erstmalig installiert, muß eine geeignete Region gefunden werden, die alle Voraussetzungen für die jeweilige Anwendung erfüllt. Der Region-Name wird in regionName eingetragen. Für das eigentliche Einspielen der Anwendung, das Kopieren von Band oder CD-ROM, werden die Betriebssystem-eigenen Werkzeuge verwendet. Hier kann der CICS Domain Manager keine Hilfestellung leisten, da sich die Übernahme-Verfahren in die Produktivumgebung abhängig vom Betreiber stark unterscheiden. Um die Definitionen für eine Anwendung anzulegen, wird bei einer Anwendung eine Datei oder ein Skript mitgeliefert, mit dem zum Beispiel über die Schnittstellen DEFINE in CICS/ESA und CICS for OS/2 oder das CICS/6000-Kommando cicsadd alle Definitionen auf einmal eingetragen werden können, ohne daß der Administrator jede einzelne Definition mit der Hand vornehmen muß. Die benötigten Verbindungen, zum Beispiel für Datenbankzugriffe, müssen wie in eingetragen werden. Sind alle Definitionen getroffen, wird die Anwendung aktiviert. Das kann global für die gesamte Anwendung oder auch selektiv für jede einzelne Definition mit activate() geschehen. Jetzt könnte die Anwendung bereits lokal gestartet werden. Um Anwendern, die sich mit einem Client anmelden oder die an entfernten Terminals sitzen, den Zugriff auf die Anwendung zu erlauben, sind noch Eintragungen in den Terminal-owning Regions (TOR) notwendig, damit von dort die Anwendung 'remote' gestartet werden kann. Man benötigt also mindestens für Transaktionen und Programme jeweils eine Klassem, die eine Remote-Definition realisiert. RemTransaction und RemProgram sollen diese Klassen heißen und einen Verweis auf die Definition in der Application-owning Region (AOR) enthalten. (transactionDef und programDef). Als globale Informationen sollten noch die zuständigen Administratoren für das Sicherheitssystem (RACF, DCE, usw.) und für die Datenbanksysteme zur Verfügung stehen.