Effizienzsteigerung durch Mapping- Tools bei der Integration von RDBMS in Java-Anwendungen

Ähnliche Dokumente
6 Implementierung komplexer Systeme. 6.2 Datenbank-Anbindung

Datenbanken Grundlagen und Design

Enterprise JavaBeans Überblick

Eclipse und EclipseLink

Kapitel 14. Objekt-relationales Mapping (ORM) mit Hibernate bzw. Java Persistance API (JPA) Prof. Dr. Wolfgang Weber Vorlesung Datenbanken

Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java. Oliver Kalz

XML in der Oracle Datenbank

Hibernate Das Praxisbuch für Entwickler

Objektorientierte Datenbanken

10. Datenbank Design 1

OO Programmiersprache vs relationales Model. DBIS/Dr. Karsten Tolle

ORACLE Business Components for Java (BC4J) Marco Grawunder

SODA. Die Datenbank als Document Store. Rainer Willems. Master Principal Sales Consultant Oracle Deutschland B.V. & Co. KG

4. Objektrelationales Mapping Grundlagen der Programmierung II (Java)

TopLink. das performante und flexible Persistenz- Framework

Übungsaufgabe Transaktion als Middleware

Datenmodellierung im Zeitalter agiler Softwareentwicklung

Datenbankbasierte Lösungen

Persistenz. Ralf Gitzel

Projektgruppe. Thomas Kühne. Komponentenbasiertes Software Engineering mit OSGi

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15

Aufbau Datenbanksysteme

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 15

Kap. 5.3: SAP-Datenmodell, Metadatenverwaltung

Kap. 9 Datenmodellierung und verwaltung

Datenmanagement in Android-Apps. 16. Mai 2013

Übung B. JPA Java Persistence API. Prof. Dr. Andreas Schmietendorf 1. Übung B (Exkurs)

Objektorientierte Datenbanken

Aufbau eines Kennzahlensystems in der Logistik mit Oracle BI

Einsatz von Applikationsservern. Untersucht am Beispiel des Sybase Enterprise Application Server

Oracle9i Designer. Rainer Willems. Page 1. Leitender Systemberater Server Technology Competence Center Frankfurt Oracle Deutschland GmbH

Performance Tuning

RavenDB, schnell und skalierbar

Datenbanken. Datenbanken. Grundlagen und Design. Grundlagen und Design. Frank. Geisler. 4. Auflage

Referent: Marko Modsching. Vortrag: JPA mit Hibernate. Datum: Deutsche Software Engineering & Research GmbH

Skalierbare Webanwendungen

Übung3. Test der Möglichkeiten des JDBC-Interfaces. Prof. Dr. Andreas Schmietendorf 1. Übung 3

inews: XML in der Praxis Konvertierung von Objekten nach XML und zurück Dr. St. Seefeld / INGTES AG

Masterkurs Verteilte betriebliche Informationssysteme

Java-Objekte mit SQL verheiraten

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13

Objekt-relationales Mapping und Performance-Tuning

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

NoSQL Datenbanken EIN ÜBERBLICK ÜBER NICHT-RELATIONALE DATENBANKEN UND DEREN POTENTIALE IM ALLGEMEINEN UND IN DER INDUSTRIE

7. XML-Datenbanksysteme und SQL/XML

Enterprise Java Beans

Integration der IBM DB2 UDB 9.5 (Viper) als Messagestore in das Demaq-Ausführungssystem

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen.

Zwischenbericht Diplomarbeit Entwicklung einer Laufzeitumgebung für Komponenten mit Ressourcenanforderungen

Björn Heinemann Leiter Entwicklung Energiewirtschaft

Inhaltsverzeichnis Vorwort zur vierten Auflage Vorwort zur dritten Auflage Vorwort zur zweiten Auflage Vorwort zur ersten Auflage Hinweise zur CD

Programmierung von verteilten Systemen und Webanwendungen mit Java EE

Willkommen. Datenbanken und Anbindung

<Insert Picture Here> Generierung von ADF-Applikationen aus Metadaten des Oracle Designer

Persistenz. Workplace Solutions. Persistenz. ÿ RDBMS und OO ÿ Strukturkonflikt ÿ Object-RDBMS-Mapping. Abbildung Objekte auf RDBMS

Ausgemustert? Der Einfluss von EJB 3.0 auf J2EE Design Patterns. Java Forum Stuttgart, 5. Juli 2007 Stefan M. Heldt

Matthias Schubert. Datenbanken. Theorie, Entwurf und Programmierung relationaler Datenbanken. 2., überarbeitete Auflage. Teubner

Application Server Application Server: Motivation Application Server: Begriff

Neue Features Oracle Database 12.2 Wann denn endlich?

JavaSpaces. Markus Helbig, Christian Holder, Marco Jilg, Dominik Krautmann, Richard Waschhauser

IUG DRESDEN ERSTELLUNG VON ROBUSTEN NATURAL SERVICES Software AG. All rights reserved. For internal use only

Datenbanken Unit 9: OLAP, OLTP und objektrelationale Datenbanken

Rapid Java wie mit Forms

Kapitel 10. JDBC und SQLJ. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1

PostgreSQL im praktischen Einsatz. Stefan Schumacher

O/R Mapper. O/R Mapper anhand von NHibernate & Entity Framework Thomas Mentzel März 2010

Oracle und Hochverfügbarkeit Verschiedene Ansätze im Vergleich. Dierk Lenz Herrmann & Lenz Services GmbH DOAG Regio München/Südbayern 14.

Grundlagen zu Datenbanken zu Beginn der Jgst. 13

Cloud Computing in SAP Umgebungen

Konzeption und Implementierung eines Datenbank-Agenten für die Bereitstellung von Daten aus dem Verkehr

Von ODBC zu OLE DB. Neue Möglichkeiten der Datenintegration. Harald Gladytz, Team Vertrieb ESRI Niederlassung Leipzig

Development auf der Plattform SAP HANA

Architekturen. DB-Anwendungen: Aufgaben. Aufteilung der Funktionen. ƒ Datenbankanwendungen

Softwareentwicklung mit Enterprise JAVA Beans

Vesant JDO Genie für transparente Persistenz mit relationalen Datenbanken.

Datenbanken - Grundlagen und Design

Inhalt. 1 Einleitung Warum dieses Buch? Der rote Faden Danksagung URL zum Buch 4. TEIL I Einführung 5

Konzeptueller Entwurf

Thomas Matzner Berater für Systemanalyse Couchbase. Java User Group München

Daten Bank. 6. Vorlesung

EclipseLink: JPA 2.0 und noch mehr

Kapitel 1: Einführung 1.1 Datenbanken?

Vorwort zur 5. Auflage Über den Autor... 16

6.9 Java Server Pages

Einleitung 19. Teil I Einführung in Datenbanksysteme 25. Kapitel 1 Wozu Datenbanksysteme da sind 27

anwendungen programmieren Datenbank entwerfen & Implementierung Analyse bis zur SQL- NoSQL-Datenbanken Uwe Klug Mit einer Einführung in 2.

Der grobe Aufbau der verwendeten 3 ü Schicht ü Architektur

OR-Mapping. WS2008/2009 DBIS/Dr. Karsten Tolle

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java

Vorlesung Software aus Komponenten

Die folgende Tabelle stellt die Grundbegriffe der objektorientierten und der relationalen Welt gegenüber:

Release-News: Technische Lösungen

Datenbanken und SQL. Springer Vieweg. Eine praxisorientierte Einführung mit Anwendungen in Oracle, SQL Server und MySQL.

3. Stud.IP-Entwickler-Workshop 2. Juni 2006 Workshop 1a: Gib mir 5: Lohnt sich der Umstieg auf PHP5 und MySQL5? André Noack

Zünde den Turbo-Boost! (LOB-Migration beschleunigt)

Kapitel 8: Datenbankanbindung. SoPra 2008 Kap. 8: Datenbankanbindung (1/40)

Java Pet Store vs..net Pet Shop. Seminar Software-Entwurf Jörg Eggermann

Techniker Krankenkasse, Hamburg: 10 Jahre produktives Java Enterprise

Transkript:

Effizienzsteigerung durch Mapping- Tools bei der Integration von RDBMS in Java-Anwendungen ARS NOVA Software GmbH Klaus Kiehne Java Forum, 28. Juni, 9:45-10:30 1

Inhalt Aufgaben und Fähigkeiten Einsatz- und Auswahlkriterien Auswirkungen auf die Architektur Auswirkungen auf die Entwicklung Performanzoptimierung mit Mapping-Tools Hinweise für das Projektmanagement Zusammenfassung 2

Aufgabe eines Mapping-Tools... Java-Anwendung JDBC/SQL RDBMS Ohne Mapping-Tool: rs = c.createstatement().executequery( select n, p, a from P ); Person p = new Person(rs.getString(1), rs.getstring(2), rs.getint(3)); rs.close(); rs = c.createstatement().executequery( select nr,str from address where + id = + p.a); Address a = new Address(rs.getInt(1), rs.getstring(2)); rs.close(); 3

Effiziente Implementierung! Java-Anwendung Mit Mapping-Tool: Person p = tool.getobject(person.class); Address a = p.getaddress(); Mapping Tool RDBMS JDBC/SQL 4

Charakterisierende Eigenschaften von Mapping-Tools Abbildung von Geschäftsobjekten auf Entitäten Unterstützung von Transaktionen und Sperrstrategien automatische Generierung von SQL-Statements Wahrung der Objektidentität Optimierung von Objektzugriffen durch Caching verzögertes Lesen von Objekten (read on demand) konsistentes Löschen verknüpfter Objekte Unterstützung mehrschichtiger, verteilter Anwendungen 5

Generelle Kriterien für den Einsatz eines Mapping-Tools Die Persistenz soll mittels RDBMS gelöst werden Die Anwendung besitzt ein Geschäftsobjektmodell Geschäftsobjekte bilden Hierarchien von Klassen Vielfältige Beziehungen zwischen Geschäftsobjekten Die Anwendung bearbeitet Geschäftsobjekte Eine nicht triviale Auswertungslogik Die Änderbarkeit oder Erweiterbarkeit des Geschäftsobjektmodells wird benötigt Konzentration auf Anwendungslogik vs. Infrastruktur 6

Auswahlkriterien für ein Produkt (1) Ist der Mapping-Mechanismus mächtig genug? Unterstützung von 1:1-, 1:n-, n:m-beziehungen Unterscheidung von Aggregation und Assoziation Unterstützung selbst definierter Basistypen Alternativen für die Abbildung von Klassenhierarchien z.b. Java: Unterstützung von Interfaces als Attributtyp Wie sieht das Transaktionskonzept aus? Gibt es Eingriffsmöglichkeiten zur Optimierung? Welche Locking-Strategien werden unterstützt? Werden die benötigten Architekturtypen unterstützt? 7

Auswahlkriterien für ein Produkt (2) Wie gut sind die Entwicklungswerkzeuge? Welchen Einfluß nimmt das Tool auf... die Implementierung der Geschäftsobjekte? die Anwendungsarchitektur? den Entwicklungsprozeß? Werden die betriebswirtschaftlichen Ziele unterstützt? Kosten (Entwicklungs- / Runtime-Lizenzen) vs. Nutzen Marktposition / Referenzprojekte Verfügbarkeit von Support Einarbeitungs- und Nutzungsaufwand 8

Architektur - Szenarien Client Anwendung Server RDBMS Mapping Tool JDBC/SQL Anwendung RMI Application- Server RDBMS Mapping Tool SQL 9

Architektur - Schichtenmodell Grafische Benutzeroberfläche Anwendungs- und Transaktionslogik Geschäftsobjektmodell Mapping Tool J D B C Komponentenbasiertes Schichtenmodell Kapselung des Mapping-Tools von der Anwendung 10

Architekturmodell mit EJB Client EJB Home EJB Object EJB Component EJB Server Container Mapping Tool Speicherung des Zustands eines Geschäftsobjektes (Entity Bean) mittels Mapping-Tool Granularität der EJB Komponenten ist u.u. abhängig vom Datenbankmapping J D B C 11

Mapping-Tools und mögliche Auswirkungen auf die Geschäftsobjekte Zusätzliche Attribute für technische Felder (Schlüssel, Sortierkennzeichen) Anpassung der Objekthierarchien und Attributtypen an die Abbildungsmöglichkeiten des Mapping-Tools Spezielle Logik für effiziente Datenzugriffe, wo die Automatismen des Tools nicht ausreichen Persistente Attribute müssen sichtbar sein Alternativ: Instrumentierung mittels Preprocessor 12

Mapping-Tools und mögliche Auswirkungen auf das DB-Schema Zusätzliche Datenbankspalten (z.b. Klassenkennzeichen, Interfacekennzeichnung) Der Einsatz von DB-Constraints ist evtl. Abhängig von der Ausführungslogik (des Mapping-Tools) Eine zusätzliche Spalte für Optimistic Locking (bei OLC-Erkennung via Versionen) Einige der genannten Punkte sind auch ohne Mapping-Tool relevant 13

Performance-Optimierung mit Mapping-Tools (1) Anpassen der Anfragelogik: Gezieltes/verzögertes Lesen von Objekten (Einsatz von Wrapper/Proxies) Partielles/inkrementelles Lesen (z.b. für Listendarstellung) Virtuelle Listen für große Objektmengen Minimierung der Anzahl von DB-Anfragen durch Joins Minimierung der Häufigkeit von DB-Zugriffen durch Objekt-Caching oder gezieltes Vorauslesen Entlastung der Datenbank durch Vermeidung von zu komplexen Joins Eigene SQL-Anfragen für kritische Abfragen 14

Performance-Optimierung mit Mapping-Tools (2) Anpassen der Zuordnung: Objekte mit 1:1-Beziehung in eine Tabelle zuordnen Klassenhierachien auf eine Tabelle abbilden Nutzung geeigneter Datenstrukturen (z.b. Vector statt LinkedList) Anpassen der Datenbank: Definition geeigneter Indizes Trigger, Constraints, Stored Procedures RDBMS-spezifisches Tuning 15

Hinweise für das Projektmanagement (1) Frühzeitig Evaluation und Auswahl von Tools unter Berücksichtigung der angestrebten Architektur planen Ausbildung und Einarbeitung der Mitarbeiter planen Kosten für Lizenzen, Schulung und Support beachten Unterstützung durch den Hersteller sicherstellen 16

Hinweise für das Projektmanagement (2) Release-Wechsel nur bei konkretem Bedarf durchführen Mapping und DB-Schema in Konfigurationsmanagement aufnehmen SQL und RDBMS-Know-How bereitstellen 17

Zusammenfassung (1) Die effiziente Entwicklung der Objektpersistenz wird unterstützt. Die Entwicklungskosten werden reduziert. Plug and Play durch automatisches Mapping und Datenbankgenerierung. Die Optimierung kann später erfolgen. Ein lauffähiges Programm liegt schneller vor. Verfügbare Produkte sind sehr jung. Nicht alle Funktionen sind ausgereift. Evaluation empfohlen. Gute Mapping-Tools lassen sich nahtlos in den Entwicklungsprozeß einbinden. Ein Mapping-Tool kann Einfluß nehmen auf: Objektmodell, Datenbank, Architektur der Anwendung. Ein späterer Wechsel ist in der Regel aufwendig und teuer. 18

Zusammenfassung (2) Mit einem Mapping-Tool ist man länger unabhängig von einem konkreten Datenbankprodukt. Mit einem Mapping-Tool erzielt man Vorteile bei Änderbarkeit und Skalierbarkeit gegenüber einem adhoc-ansatz. Qualitätsgewinn durch systematische Zuordnung zwischen Objektwelt und Datenwelt die Nutzung von ausgereiften und flexiblen Mechanismen 19

Effizienzsteigerung durch den Einsatz von Mapping-Tools bei der Integration von RDBMS in Java-Anwendungen ARS NOVA Software GmbH Klaus Kiehne Java Forum, 28. Juni, 9:45-10:30 20