Mind the Gap Die semantische Lücke zwischen Objekten und Relationen.

Slides:



Advertisements
Ähnliche Präsentationen
Dauermagnete Bei magnetischen Materialien unterscheidet man Eisenkerne bzw. Weicheisenstücke und Dauermagnete bzw. Hart-magnetische Materialien. Dauermagnete.
Advertisements

TAGUNG DER DEUTSCH-LUSITANISCHEN JURISTENVEREINIGUNG O processo penal português Panorâmica introdutória Der portugiesische Strafprozess ein einführender.
Ach wie gut, daß niemand weiß Der Schutz von Wissen
Herzlich Willkommen bei SIMPLE STABLE BULDING
Adjektivendungen Tabellen und Übungen.
ZWILLING Neuheiten 2008.
Das Hexenkochbuch Nicht Rattenschwänze, Spinnenbein
 Präsentation transkript:

Mind the Gap Die semantische Lücke zwischen Objekten und Relationen

Inhalt Das Problem Lösungsansätze Vor- und Nachteile Abschluß

Das Problem Objektorientierte Programmiersprachen wurden für die Erstellung von Software konzipiert Relationale Datenbanken wurden zum Speichern und Verwalten von großen Datenmengen konzipiert

Zwei Datenmodelle treffen aufeinander Objektorientiertes (Netzwerk) Modell Relationales Datenmodell

Gegenüberstellung Objektorientiertes Modell Relationales Datenmodell VerhaltensorientiertStrukturorientiert UnstrukturiertTabellarisch MethodenRelationale Algebra ImperativDeskriptiv ObjektidentitätWertsemantik Einzelne ObjekteMengenverarbeitung ReferenzenFremdschlüssel

Der Brückenschlag Wie komme ich an meine Daten? Wie verbinde ich Daten und Algorithmen? Wie bekomme ich die Daten in meine Objekte?

Inhalt Das Problem Lösungsansätze Vor- und Nachteile Abschluß

Lösungsansätze JDBC von Hand (DAO, …) Leichtgewichtige Frameworks (PriDE, …) JDO-Produkte (LiDO, Kodo, Jakarta Object Relational Bridge (OJB)…) Proprietäre Frameworks (TopLink, Hibernate, Castor, …)

JDBC VorteileNachteile Stabiler StandardGeringer Abstraktionsgrad Hohe FlexibilitätHoher Programmieraufwand Leicht zu erlernenViel Know-How nötig Hohe PerformanceBedingt portabel (SQL) (Nur relationale DB)

Leichtgewichtiges Framework (PriDE) 42 Klassen 240kb Java Source (70kb jar-File) Keine externen Abhängigkeiten (außer JDBC-Treiber) Basierend auf DAO-Pattern Expression Builder Connection Management

Leichtgewichtiges Framework (PriDE) VorteileNachteile Gute Unterstützung für Routineaufgaben Kein Nachladen von referenzierten Objekten Leicht zu erlernenKein Objekt-Caching Hohe FlexibilitätBedingt portabel (SQL) Leicht erweiterbar(Nur relationale DB) Hohe Performance

JDO Sun Standard – JSR 12 (Version 1.0.1– ) (Version 1.0– ) Version 2.0 in Arbeit (seit 08/2003) Viele verschiedene Produkte: Solarmetric (Kodo JDO), LIBeLIS (LiDO), Poet (FastObjects), Hemisphere (JDOGenie), Progress (ObjectStore), Versant (enJin), Jakarta OJB, XORM, TJDO,...

JDO Orthogonale Persistenz ( Persistence by reachability) Via Bytecode-Enhancement Anfragesprache: JDOQL Verschiedene Persistenzmedien möglich Mappingbeschreibung ist proprietär

JDO VorteileNachteile StandardisiertSehr junger Standard Orthogonale PersistenzRelativ junge Produkte Nachladen referenzierter Objekte Relativ hoher Lernaufwand Objekt-Caching Verschiedene Persistenzmedien möglich

TopLink VorteileNachteile Ausgereiftes ProduktProprietär Namhafter HerstellerRelativ hoher Lernaufwand Orthogonale Persistenz(Nur relationale DB) Nachladen referenzierter Objekte Objekt-Caching Unterstützung für verschiedene Datenbanken

Inhalt Das Problem Lösungsansätze Vor- und Nachteile Abschluß

Persistenzframeworks können Entwicklungsaufwand einsparen Der Einarbeitungsaufwand muss bedacht werden Die Konzepte müssen passen Die perfekte Lösung gibt es nicht Man kann die Datenbank nicht ignorieren