Seit dem Release 7.04 stehen sog. ConfigUnits zur Verfügung, um Informationen über Versionen und Kombination von Anwendungen gebündelt zu beschreiben.
Im Abschnitt „ConfigUnits“ der TAA-Registry können voreingestellte Kombinationen van Anwendungsversionen abgelegt werden. Diese ConfigUnits können dann herangezogen werden, um (technische) GeVos mit bestimmten Versionen von bestimmten Anwendungen auszuführen.
Die Kommandozeilenoptionen von taa32go und fledge wurden zur Benutzung von ConfigUnits erweitert. Solange keine ConfigUnit angegeben wird, werden die aktuellen Einstellungen der einzelnen Anwendungen benutzt.
Auch bei der Erstellung von Requests werden ConfigUnits anstelle von Auflistungen einzelner Anwendungen und zugehöriger Versionen benutzt. Dazu wird die zu nutzende ConfigUnit aus der Registry ausgelesen oder aus Angaben der startenden Anwendung abgeleitet.
Eine ConfigUnit wird durch einen (maximal zwölfstelligen) Namen identifiziert. Unter diesem Namen wird ein Eintrag im Abschnitt ConfigUnits der TAA-Registry erstellt. Zur Erstellung einer solchen ConfigUnit bietet IEdge einen neuen Befehl.
Der einzelne Eintrag in dem Registry-Abschnitt ConfigUnits besteht aus einem komprimierten Binärwert. In diesem Binärwert ist eine Auflistung von Anwendungen abgelegt, und zu jeder Anwendung
So kann bspw. in einer ConfigUnit die Anwendung ZENTKO aufgelistet sein mit dazu der Versionsangabe 023, dem Anwendungskürzel ZK und dem Firmenkürzel AL. In neueren Versionen von ConfigUnits können durchaus weitere Angaben zur Anwendungskontext gespeichert werden.
Wenn zu einer bestimmten Anwendung der Name einer ConfigUnits abgeleitet werden soll, so geht die Infrastruktur wie nachfolgend beschrieben vor:
Zunächst wird überprüft, ob es zu dieser Anwendung einen Eintrag CurrentCfg in der Registry gibt, bspw.
[HKEY_LOCAL_MACHINE\SOFTWARE\TAA\Appl\Privat] „CurrentCfg“=„myCfg_001“
Falls ein solcher Eintrag nicht vorhanden ist, wird ein Eintrag CurrentCfg im allgemeinen Config-Abschnitt gesucht. Falls auch dieser nicht gesetzt ist, wird die ConfigUnit aus dem Kürzel der Anwendung, gefolgt von einem Underscore und der Version der Anwendung konstruiert, bspw. „SN_021“.
Durch die Angabe „-cfg“ bei taa32go oder fledge kann beim Start eines (technischen) GeVos eine in der Registry voreingestellte ConfigUnit spezifiziert werden, die dann, abweichend von den sonstigen Registry-Einstellungen, die zu nutzenden Anwendungskontexte vorgibt. Beispiel:
taa32go test hg-test udef -e0 -cfg sn_021 -w2
Sollte keine ConfigUnit explizit angegeben sein, so wird eine ConfigUnit ermittelt aus der Anwendung des startenden Bausteins. Falls diese ConfigUnit auch in der Tat im ConfigUnits-Abschnitt eingetragen ist, so wird mit dieser ConfigUnit operiert, ansonsten ohne ConfigUnit, also mit den aktuellen Einstellungen.
Die bei einem (technischen) GeVo benutzte ConfigUnit wird als Eigenschaft zum GeVo aufbewahrt und bei Bedarf weiter berücksichtigt.
In den Daten eines Requests werden, im Gegensatz zum Verfahren bei der Erstellung anderer Kontextdaten, mit Rücksicht auf die auf dem Host verfügbaren Informationen, keine Auflistungen der benutzten Anwendungen und dazu gehörigen weiteren Angaben, wie Versionen, aufgenommen. Stattdessen wird in den Daten eines Requests nur die ConfigUnit gespeichert. Die Angabe zur ConfigUnit wird zunächst aus den Eigenschaften des den Request erstellenden GeVos abgeleitet. Sollte hier keine ConfigUnit vorliegen, so wird die ConfigUnit aus Einstellungen zum Anwendungssystem des per Request zu startenden Bausteins abgeleitet.
Das Werkzeug IEdge bietet die Möglichkeit, die aktuellen Anwendungseinstellungen als ConfigUnit zu sichern. Dazu wird IEdge mit dem Befehl SaveCfg aufgerufen, unter Angabe des gewünschten Namens für die zu erstellende ConfigUnit. Beispiel:
iedge savecfg sn_023
Zu beachten ist dabei, dass, sollte der Schlüssel ConfigUnits durch IEdge noch angelegt werden müssen, dies an der ersten beschreibbaren Stelle in der TAA-Registry geschieht. Dadurch ist es möglich, dass der Schlüssel ConfigUnits umgebungsspezifisch, also bspw. unter Env\ALREWT, angelegt wird, was normalerweise nicht wünschenswert wäre. Um sicherzustellen, dass die ConfigUnits an der richtigen Stelle landen, sollte also vorher der Schlüssel ConfigUnits angelegt worden sein, und ggf. vorhandene umgebungsspezifische Schlüssel entweder entfernt oder mit Schreibschutz versehen werden.
Wenn die gleichen Anwendungseinstellungen unter unterschiedlichen Namen als ConfigUnit angelegt werden sollen, kann dies auch durch Kopieren und Umbenennen der ConfigUnit geschehen. Die Infrastruktur wird bei Zugriff auf eine solche Kopie feststellen, dass die Namensgebung nicht mit dem ursprünglichen Namen zusammenpasst, und wird die ConfigUnit dann dementsprechend anpassen, aber akzeptieren.
Wenn ein (technischer) GeVo unter Berücksichtigung einer ConfigUnit läuft, ist dies im TAA-Explorer, resp. Contextbrowser dadurch zu erkennen, dass zum GeVo eine Eigenschaft $cfgUnit mit dem Namen der ConfigUnit geführt wird.