2.3. Architektur

Dieses Kapitel beschreibt den Aufbau von checkerberry db und die Beziehungen der Teilkomponenten zueinander.

Checkerberry db besteht aus drei Teilkomponenten (siehe Abbildung 2.3, „Architektur checkerberry db“). Die Kernfunktionalität ist in der Core-Komponente zusammengefasst. Sie bildet die Schnittstelle für die Tests, die mit JUnit3, JUnit4 oder TestNG erstellt werden können. Welches Testframework konkret verwendet wird, wird über den Test-Connector abstrahiert.

Die Anbindung der Core-Komponente an die Datenbank erfolgt über die Bridge-Komponente. Die Bridge-Komponente stellt zusätzlich eine optionale Komponente zur Verfügung, die das Auffinden von Dateien im Klassenpfad ermöglicht.

Während die Core-Komponente unabhängig von der Kundenumgebung ist, kapselt die Bridge-Komponente alle Funktionen, die auf die aktuelle Kundenumgebung zurückgreifen. Somit muss bei jeder Installation von checkerberry db eine eigene Bridge-Komponente implementiert werden (siehe Abschnitt 2.5, „Installation“). Der Implementierungsaufwand ist jedoch gering, da die Bridge-Komponente im Wesentlichen die Verbindung zur Datenbank herstellt, was über eine JDBC-Verbindung erfolgt. Des Weiteren existieren für die gängigsten Konfigurationen bereits Basis-Implementierungen z.B. im Spring/Hibernate-Umfeld.

Abbildung 2.3. Architektur checkerberry db

Architektur checkerberry db


Die Abbildung skizziert die Architektur von checkerberry db. Die dunkel eingefärbten Komponenten sind abhängig von der aktuellen Kundenumgebung und werden somit vom Kunden implementiert. Die erstellten Unit-Testklassen greifen über den Test-Connector auf die Core-Komponente von checkerberry db zu. Der Core umfasst das Laden von initialen Testdaten, die Verwendung aller Features und den Vergleich des Datenbankinhalts mit erwarteten Ergebnismengen. Die Core-Komponente verwendet für den Zugriff auf die Datenbank und das Dateisystem die implementierte Bridge-Komponente.