Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Modellierung der Zugriffslogik auf Datenbanktabellen Software Component Technology for Distributed Applications Andreas Fink.

Ähnliche Präsentationen


Präsentation zum Thema: "Modellierung der Zugriffslogik auf Datenbanktabellen Software Component Technology for Distributed Applications Andreas Fink."—  Präsentation transkript:

1 Modellierung der Zugriffslogik auf Datenbanktabellen Software Component Technology for Distributed Applications Andreas Fink

2 Inhalt Modellierung der Zugriffslogik auf Datenbanktabellen 1.Einleitung 2.Kapselung der Zugriffslogik in Patterns 2.1 Table Data Gateway 2.2Data Row Gateway 3.Object Relational Mapping mit Jakarta OJB 2.3Active Record

3 Was wir bereits kennen… Einleitung...Transaction Script...... Domain Model Patterns zur Kapselung der Application Logic + Datenzugriff in Transaction Script und Domain Model Funktionale Dekomposition der Anwendung, Kapselung der einzelnen Abläufe in Transaktionen Modellierung der Application Logic durch eine entsprechende Objekthierarchie innerhalb der Anwendung.

4 Was fällt uns dabei auf Viele einfache Zugriffe wiederholen sich nahezu identisch (Duplication of Code) Viele einfache Zugriffe wiederholen sich nahezu identisch (Duplication of Code) Das DB-Zugriffsystem wird unübersichtlich und schwer zu Testen / zu optimieren Das DB-Zugriffsystem wird unübersichtlich und schwer zu Testen / zu optimieren Jeder Entwickler muß mit SQL vertraut sein Jeder Entwickler muß mit SQL vertraut sein Tight Coupling zwischen Anwendungslogik und Datenbankstruktur (Veränderungen!?) Tight Coupling zwischen Anwendungslogik und Datenbankstruktur (Veränderungen!?) Insbesondere bei TS aber auch DM

5 Wie lösen wir das Problem Kapselung der Zugriffslogik in Objekten Tabellen als Objekte Tabellen als Objekte Rows als Objekte Rows als Objekte Active Records Active Records Data Mapper Data Mapper

6 Table Data Gateway Eine Klasse repräsentiert eine Tabelle Eine Klasse repräsentiert eine Tabelle Simples Interface Simples Interface Einfache Methoden für parametrisierte SQL-Aufrufe Einfache Methoden für parametrisierte SQL-Aufrufe Keine Business Logik Keine Business Logik Zustandslos Zustandslos Auch Mapping von Views möglich Auch Mapping von Views möglich

7 Row Data Gateway Bei häufiger Manipulation einzelner Zeilen (DM) Bei häufiger Manipulation einzelner Zeilen (DM) Finder Class vonnöten Finder Class vonnöten Nur einfache Aufrufe Nur einfache Aufrufe Keine Application Logic Keine Application Logic Virtuelle Rows für Views Virtuelle Rows für Views Automatisierte Code Generation ideal Automatisierte Code Generation ideal

8 Active Record Bei spezialisiertem Zeilenweisen Zugriff doch wieder Business Logic? Bei spezialisiertem Zeilenweisen Zugriff doch wieder Business Logic? Intuitives isomorphes Mapping für DM Intuitives isomorphes Mapping für DM Kompliziertere Spezialfunktionen Kompliziertere Spezialfunktionen Aber kein Separation of Concerns mehr Aber kein Separation of Concerns mehr Bei Strukturproblemen DataMapper anwenden Bei Strukturproblemen DataMapper anwenden

9 Object Relational Mapping Domain Model mit Klassenhierarchie Anwendungsfall Wie bilde ich Klassenbeziehungen: z.B. ProjectManager isA Employee automatisiert in Datenbankstruktur ab? Problem: z.B. Apache Jakarta OJB als kostenlose Alternative Oder kommerzielles Paket Antwort

10 3 Verfahrensalternativen Jede Klasse komplett auf eigene Tabelle (ordentlich aber unperformant) Jede Klasse komplett auf eigene Tabelle (ordentlich aber unperformant) Alle Klassen einer Hierarchie in eine Tabelle (unordentlich aber performant) Alle Klassen einer Hierarchie in eine Tabelle (unordentlich aber performant) Nur zusätzliche Properties in jeweils eigene Tabelle (ordentlich aber unperformant) Nur zusätzliche Properties in jeweils eigene Tabelle (ordentlich aber unperformant)

11 Implementierung in Jakarta OJB Es werden nur Möglichkeit 1 und 2 unterstützt Es werden nur Möglichkeit 1 und 2 unterstützt Abbildung erfolgt mit XML OJB-Descriptor auf Klassenproperties Abbildung erfolgt mit XML OJB-Descriptor auf Klassenproperties

12 Noch Fragen? Vielen Dank für die Aufmerksamkeit!


Herunterladen ppt "Modellierung der Zugriffslogik auf Datenbanktabellen Software Component Technology for Distributed Applications Andreas Fink."

Ähnliche Präsentationen


Google-Anzeigen