Verschachtelte Arbeitsbereiche

Mit Hilfe von verschachtelten Arbeitsbereichen können Anwendungen Eigenschaften für bestimmte Tasks definieren und diesen zuordnen, ohne sie gleichzeitig für alle Teilen der Anwendung verfügbar zu machen.

Wenn eine Anwendung einen Arbeitsbereich erstellt, dann wird dem erstellenden Thread ein Arbeitsbereichskontext zugeordnet. Falls der Anwendungsthread einen weiteren Arbeitsbereich erstellt, dann wird der neue Arbeitsbereich im vorhandenen Arbeitsbereich verschachtelt und wird gleichzeitig zum aktuellen Arbeitsbereich. Alle Eigenschaften, die im ursprünglichen übergeordneten Arbeitsbereich definiert sind, sind für den verschachtelten Arbeitsbereich sichtbar. Die Anwendung kann zusätzliche Eigenschaften im verschachtelten Arbeitsbereich definieren, die nicht zum übergeordneten Arbeitsbereich gehören.

Die Verschachtelung der Arbeitsbereiche ist für die Anwendung, die mit einem verschachtelten Arbeitsbereich arbeitet, nicht wirklich sichtbar. Der aktuelle Arbeitsbereich erscheint als fortlaufende Gruppe von Eigenschaften, in der alle Eigenschaften der übergeordneten Arbeitsbereiche enthalten sind. In der folgenden Abbildung enthält der übergeordnete Arbeitsbereich einige Eigenschaften und der verschachtelte Arbeitsbereich enthält weitere Eigenschaften. Vom übergeordneten Arbeitsbereich aus sind die Eigenschaften im verschachtelten Arbeitsbereich nicht sichtbar. Im verschachtelten Arbeitsbereich jedoch sind die Eigenschaften in beiden Arbeitsbereichen sichtbar.
Abbildung 1. Neue Eigenschaften in verschachtelten Arbeitsbereichen definieren
Grafische Darstellung eines verschachtelten Arbeitsbereichs

Die Verschachtelung kann sich auf die Einstellungen der Eigenschaften auswirken. Die Eigenschaften können aus den Arbeitsbereichen gelöscht werden oder direkt in den Arbeitsbereichen, in denen sie festgelegt wurden, geändert werden. Die verschachtelten Arbeitsbereiche können jedoch auch dazu verwendet werden, Informationen in der Eigenschaft temporär zu überschreiben, ohne dass die Eigenschaft selbst dazu geändert werden muss. Abhängig von den Modi, die den Eigenschaften im übergeordneten Arbeitsbereich zugeordnet sind, können die Modi und die Werte der Schlüssel des übergeordneten Arbeitsbereichs innerhalb des verschachtelten Arbeitsbereichs überschrieben werden.

Der Modus, der einer Eigenschaft bei seiner Erstellung zugeordnet wird, legt fest, ob die Eigenschaft von verschachtelten Arbeitsbereichen überschrieben werden kann. Aus der Perspektive eines verschachtelten Arbeitsbereichs können die Eigenschaftenmodi im übergeordneten Arbeitsbereich in folgende Gruppen unterteilt werden.
  • Modi, die es einem verschachtelten Arbeitsbereich erlauben, den Modus oder den Wert eines Schlüssels lokal zu überschreiben. Die Modi, die ein Überschreiben erlauben sind Folgende:
    • Normal
    • Fixed normal
  • Modi, die es einem verschachtelten Arbeitsbereich nicht erlauben, den Modus oder den Wert eines Schlüssels lokal zu überschreiben. Die Modi, die ein Überschreiben nicht erlauben sind Folgende:
    • Read-only
    • Fixed read-only

Wenn ein übergeordneter Arbeitsbereich eine Eigenschaft mit einem Modus definiert, der das Überschreiben erlaubt, dann kann ein verschachtelter Arbeitsbereich einen neuen Wert für einen Schlüssel oder einen neuen Modus für die Eigenschaft definieren. Der neue Wert oder Modus ist anschließend für die Arbeitsbereiche sichtbar, die in diesem Arbeitsbereich verschachtelt sind. Änderungen am Modus unterliegen den Einschränkungen, die im Abschnitt "Modus ändern" beschrieben sind. Wenn ein übergeordneter Arbeitsbereich eine Eigenschaft mit einem Modus definiert, der kein Überschreiben erlaubt, dann kann kein verschachtelter Arbeitsbereich einen neuen Wert für den Schlüssel definieren.

Ein verschachtelter Arbeitsbereich kann Eigenschaften aus übergeordneten Arbeitsbereichen löschen, allerdings sind diese Änderungen nur so lange gültig, wie der verschachtelte Arbeitsbereich existiert. Nach Beendigung des verschachtelten Arbeitsbereichs werden alle Eigenschaften, die dort hinzugefügt wurden, entfernt, und alle Eigenschaften, die im verschachtelten Arbeitsbereich gelöscht wurden, werden wiederhergestellt.

Die folgende Abbildung zeigt das Überschreiben von Eigenschaften eines übergeordneten Arbeitsbereichs. Der verschachtelte Arbeitsbereich definiert für zwei Eigenschaften, die im übergeordneten Arbeitsbereich festgelegt wurden, neue Werte. Die anderen beiden Eigenschaften können nicht überschrieben werden. Der verschachtelte Arbeitsbereich definiert außerdem zwei neue Eigenschaften. Vom übergeordneten Arbeitsbereich aus sind die Eigenschaften, die im verschachtelten Arbeitsbereich definiert oder geändert wurden, nicht sichtbar. Vom verschachtelten Arbeitsbereich aus sind die Eigenschaften in beiden Arbeitsbereichen sichtbar, wobei für die geänderten Eigenschaften die Werte sichtbar sind, die im verschachtelten Arbeitsbereich definiert wurden.
Abbildung 2. Vorhandene Eigenschaften in verschachtelten Arbeitsbereichen ändernGrafische Darstellung von Eigenschaften, die in einem verschachtelten Arbeitsbereich überschrieben werden

Symbol, das den Typ des Artikels anzeigt. Konzeptartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwa_nested
Dateiname:cwa_nested.html