Wenn Sie mehrere gleichzeitige Entwicklungs- oder Testumgebungen in demselben System unterstützen, wurden Ihre Anwendungen möglicherweise mit nicht qualifizierten Tabellennamen geschrieben. Wenn nicht qualifizierte Tabellennamen verwendet werden, können mehrere Entwickler mehrere Kopien desselben Datenbankschemas mit unterschiedlichen Qualifikationsnamen gleichzeitig ausführen.
Durch die Verwendung von nicht qualifizierten Tabellennamen können sich mehrere Test- und Entwicklungsumgebungsschemata in demselben Subsystem befinden.
Ein strukturierter Ansatz ist erforderlich, um eine derartige Umgebung zu verwalten und mehrere Instanzen einer Anwendung für die Datenbank und ihre zugeordneten Pakete auszuführen.
In Umgebungen, die Datenbanken von DB2 for Linux, UNIX, and Windows verwenden, kann eine gesamte Datenbank für eine Entwicklungs- oder Testumgebung bestimmt sein.
Wenn hingegen mehrere Anwendungsinstanzen dieselbe Datenbank
in einer Umgebung mit DB2 for Linux, UNIX,
and Windows gemeinsam nutzen oder mehrere Entwicklungs- oder Testumgebungen in einem einzeln Subsystem mit DB2 for z/OS vorhanden sind, kann eine Namenskonvention unabhängige Umgebungen im selben System unterstützen.
In der folgenden Liste werden Empfehlungen für die Verwendung von mehreren Schemata in einer Datenbank beschrieben:
- Die Tabelle oder andere Datenbankobjekte, das Schema und die Pakete müssen isoliert sein, um die Unabhängigkeit der Pakete sicherzustellen. Erstellen Sie identische Tabellenschemata mit unterschiedlichen Qualifikationsmerkmalgruppen, um Tabellenisolation sicherzustellen.
- Wenn ein Paket gebunden ist, kann das Standardschema mit der Option QUALIFER festgelegt werden. Eine Entwicklungsumgebung verfügt möglicherweise über mehrere Pakete mit demselben Paketnamen, aber anderen Qualifikationsmerkmaleinstellungen.
Zusätzlich zur Option QUALIFER müssen andere Konventionen verwendet werden, um mehrere Pakete mit demselben Paketnamen zu unterstützen. Sie können zwei Optionen verwenden: Objektgruppen-IDs oder Paketversionssteuerung.
- Objektgruppen-IDs
- Paketobjektgruppen stellen eine Gruppierung von Paketen dar. Mithilfe von Objektgruppen können mehrere gleichnamige Pakete im selben System vorhanden sein.
Objektgruppen können als Container angesehen werden, wo Eindeutigkeit verwaltet wird.
Wenn sich gleichnamige Pakete in unterschiedlichen Objektgruppen befinden, können die Pakete auf demselben System vorhanden sein. Durch die Verwendung von Objektgruppen können viele Anwendungsentwickler an verschiedenen Versionen einer Anwendung arbeiten, können der Test und die Produktion auf demselben Server unterstützt werden und ist ein schrittweise ausgeführter, vollständig verfügbarer Rollout einer Anwendungsversion möglich.
Im Fall von separaten Objektgruppen müssen Anwendungen die Variable CURRENT PACKAGESET (bzw. CURRENT PACKAGE PATH bei DB2 for Linux, UNIX, and Windows oder bei DB2 for z/OS) festlegen. Die Variable kann mit einer WebSphere-Datenquelleneinstellung festgelegt werden.
Sie verwenden das pureQuery-Dienstprogramm Configure mit der Option -collection, um die Objektgruppen-ID festzulegen.
Tipp: Wenn Sie das Dienstprogramm Configure für eine pureQueryXML-Datei verwenden, wird der Datei eine Objektgruppen-ID hinzugefügt.
Wollen Sie die Objektgruppen-ID in einer konfigurierten Datei mit der Option -collection des Dienstprogramms Configure ändern, müssen Sie zudem den Wert der Configure-Option -setPreStatusOfAllPackages auf REQUIRED setzen bzw. den Wert der Configure-Option -cleanConfigure auf TRUE setzen.
- Paketversionen
- Paketversionssteuerung kann dieselben Ergebnisse erzielen. Wie bei
separaten Objektgruppen können Pakete mit unterschiedlichen Versionen koexistieren, selbst wenn sie sich in derselben Objektgruppe befinden.
Paketversionen haben den Vorteil, dass für sie in der WebSphere-Datenquelle bzw. -Anwendungslogik keine besondere Einstellung erforderlich ist.
Bei Paketversionssteuerung gibt ein Konsistenztoken in der pureQueryXML-Anwendungsdatei die richtige Paketversion an.
Sie verwenden das pureQuery-Dienstprogramm Configure mit der Option -pkgVersion, um die Paketversion festzulegen.