Technische
Universität München, Institut für Informatik
Softwareentwicklungsprojekt bei sd&m Research:
Implementierung eines Metamodells zur Objekt/Relationalen
Abbildung für das Quasar Database Interface (QDI)
Thematische Einordnung:
Das Quasar-Projekt (QUAlity Software ARchitecture) hat das Ziel, im Rahmen einer
Musterarchitektur Lösungen für Kernfragen der Architektur betrieblicher Informationssysteme
bereitzustellen. Diese Lösungen können vollständig oder als Bausteine verwendet werden.
Die in Quasar vorgeschlagenen Lösungen haben ihren Ursprung in dem über viele Projekte
gereiften Architekturwissen von sd&m. Die ARCUS-Resultate und Erfahrungen aus Projekten
wie CAESAR oder DaRT sind Grundlage von Quasar, und auch aktuelle Entwicklungen wie EJB
und XML fließen ein.
Das QDI (Quasar Database Interface) ist ein Teil von Quasar. Das QDI ist eine Zugriffsschicht
für (relationale) Datenbanken. Es implementiert die Persistenz (Abspeicherbarkeit) von
Anwendungsobjekten. Es besteht aus den folgenden Elementen:
a) drei Schnittstellen zur Manipulation, Transaktionskontrolle und Abfrage
von Anwendungsobjekten,
b) zwei Beispielimplementierungen (Hauptspeicherdatenbank und JDBC-Umsetzung),
c) einer Liste von Design-Varianten, die sich auf der Basis der QDI mit
planbarem Aufwand implementieren lassen.
Der Focus des QDI liegt auf objektorientierten Anwendungen (die
Beispielimplementierungen sind in Java geschrieben) und relationalen
Datenbanken. Die QDI-Gedanken lassen sich aber auch auf andere Welten
gut übertragen. Spezielle Java-Funktionen (z.B. Refection), die in anderen
Sprachen fehlen, werden bewusst nicht verwendet.
Die drei Schnittstellen der QDI sind minimal: Die Manipulationsschnittstelle
enthält die drei Methoden insert, remove und update; die Transaktionsschnittstelle
die drei Methoden beginTransaction, commit und rollback; mit die Abfrageschnittstelle
formuliert man Suchbedingungen. Die QDI-Schittstellen sind so einfach, dass man jede
Anwendung mit geringem Aufwand persistent machen kann. Die Idee lautet: Man programmiert
die Anwendung, als gäbe es keine Datenbank - und fügt erst dann die wenigen QDI-Aufrufe ein.
Konkrete Aufgabenstellung:
Das Metamodell legt in der Zugriffsschicht fest, wie Anwendungsklassen auf
Datenbanktabellen abgebildet werden. Es enthält die Abbildungsvorschrift.
Das derzeit implementierte Metamodell des QDI kann nicht alle Varianten der
Objekt/Relationalen Abbildung ausdrücken und ist nur für das QDI zugeschnitten.
Peng Li untersucht dies in seiner Diplomarbeit und erstellt ein neues
durchgehendes Metamodell für die gesamte Quasar-Architektur.
Aufgabe des Praktikums ist der Austausch des bestehenden Metamodells des
QDI durch das verbesserte Metamodell. Dazu sind folgende Umstellungen erforderlich:
Umbau / Neubau der SQL-Generierung
Austausch der bisherigen Metamodell-Realisierung durch die neue
Diese Praktikumsaufgabe ist anspruchsvoll. Sie setzt gute Kenntnisse von
relationalen Datenbanken und SQL voraus.
Besonderheit:
Dieses Systementwicklungsprojekt findet bei sd&m Research statt
Betreuer:
Andreas Rausch, e-mail:
rausch@informatik.tu-muenchen.de, Tel.: 289-22362, Zi. S 2214
Gerd Beneken,
e-mail:gerd.beneken@sdm-research.de,
Tel.: 089/63812-487,
sd&m Research,
Thomas-Dehler-Str. 18 ,
D-81737 München