Persistente Objekte in Visual Age für Java Seite 1 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB Technische Universität Dresden Fakultät Informatik Präsentation der Zwischenergebnisse des Großen Belegs Persistente Objekte in Visual Age für Java Bearbeiter: Roman Lukomski [email protected] Persistente Objekte in Visual Age für Java Seite 2 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB Vortragsübersicht 1. Kurzübersicht „IBM Visual Age Persistence Builder“ 2. Vorgehensweise 3. Positive und negative Aspekte von „Persistence Builder“ (soweit bereits festgestellt) 4. Vorausblick auf den restlichen Verlauf des Beleges Persistente Objekte in Visual Age für Java Seite 3 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 1. Kurzübersicht „IBM Visual Age Persistence Builder“ • Bestandteil der Entwicklungsumgebung „IBM Visual Age“ (Enterprise Edition) • Toolset zur Erstellung von Enterprise JavaBeans sowie die Zuordnung dieser Beans zu Datenbanken) • maskenorientierte Hilfstools erlauben eine schnelle Zuordnung von Klassenattributen zu Datenbankeneinträgen • automatische Generierung von Quellcode für - Erstellung der Verbindung zu der Datenbank - Ausführung der notwendigen Datenbankabfragen - Transaktionskontrolle Persistente Objekte in Visual Age für Java Seite 4 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB • Persistence Builder unterstützt folgende relationale Datenbanken - DB2 - ORACLE - ODBC - JDBC • Unterteilung in drei grundlegende Bestandteile - Modellbrowser - Datenbankschemabrowser - Browser zur Verknüpfung von Klassenattributen zu DatenbankEinträgen • integrierte SQL-Abfrageoberfläche Persistente Objekte in Visual Age für Java Seite 5 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 2. Vorgehensweise grundsätzliche Vorgehensweisen: - auf existierenden Datenbanken aufbauend - Java Anwendungen um Persistenz erweitern - Entwicklung vom Beginn an Diese unterschiedlichen Vorgehensweisen werden durch zahlreiche Importierungs- / Exportierungsoptionen möglich gemacht. Komplette Datenbankstrukturen können eingelesen und als Datenbankschema gesichert werden. Aus dem Datenbankschema kann gegebenenfalls ein Klassenmodell generiert werden, sowie umgekehrt. Persistente Objekte in Visual Age für Java Seite 6 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 2.1 Definition des Modells (Beschreibung der persistenten Objekte) Persistente Objekte in Visual Age für Java Seite 7 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB Persistente Objekte in Visual Age für Java Seite 8 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 2.2 Definition des Schemas (Beschreibung des Datenbankaufbaus) 2.3 Zuordnung der Objektattribute zu den Datenbankeinträgen (Data maping) Zuordnung der Attribute: Persistente Objekte in Visual Age für Java Seite 9 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB Zuordnung bei der Vererbung: in eine einzelne Datenbanktabelle getrennte Zuordnung der Superklassenattribute und der Subklassenattribute Persistente Objekte in Visual Age für Java Seite 10 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB Zuordnung der Klassenbeziehungen Persistente Objekte in Visual Age für Java Seite 11 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 2.4 Codegenerierung Persistente Objekte in Visual Age für Java Seite 12 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 2.5 Codeanpassung - Implementierung der restlichen Klassen - Hinzufügen der „user code sections“ - manuelle Transaktionskontrolle aTransaktion.begin("myTransaktion") 3. Positive und negative Aspekte von „Persistence Builder“ (soweit bereits festgestellt) positiv: + einfacher Mechanismus + kein Verändern der Klassenarchitektur notwendig + Importieren/Exportieren von Datenbankschemas negativ: – „archaische“ Datenerfassung (maskenorientiert) – keine Anbindung an CASEWerkzeuge – unterschiedliche Behandlung von „user“ und „business“ Klassen – Onlinehilfe in Problemfällen kaum hilfreich Persistente Objekte in Visual Age für Java Seite 13 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 4. Vorausblick auf den restlichen Verlauf des Beleges - Ausimplementierung der Testanwendung - Anbindung an eine andere Datenbank (Aufwandsschätzung) sowie Untersuchung der erzeugten JavaBeans - Untersuchung der Eignung für die Realisierung von Persistenz in Frameworks (z.B. SalesPoint) - Überprüfung der Möglichkeiten eines externen Zugriffs auf die Datenstrukturen