Java Persistenz-Strategien
Software & Support (Verlag)
978-3-935042-49-9 (ISBN)
- Titel ist leider vergriffen;
keine Neuauflage - Artikel merken
Das vorliegende Buch stellt eine Vielzahl möglicher Strategien vor. Es orientiert sich dabei an den in der Praxis relevanten Projektanforderungen: In vielen Enterprise-Anwendungen, in denen die Datenbankstruktur meist schon vorgegeben ist, stehen Techniken wie Java Connector Architecture (JCA), Persistenzmechanismen für EJB, CMP vs. BMP sowie Java Data Objects (JDO) im Vordergrund. Hingegen können insbesondere bei Neuentwicklungen, bei denen die Datenbankstruktur noch keiner Festlegung unterliegt, die verschiedenen Möglichkeiten der J2SE genutzt werden, näher an der Datenbank zu programmieren. Deshalb behandelt der J2SE-Teil des Buches die Themen JDBC sowie SQLJ, Java in der Datenbank und die Webanbindung von Datenbanken.
Der XML-Teil dieses Buches beschäftigt sich mit den Fragestellungen, die beim Zugriff auf XML-Datenbanken zu beachten sind. Weitere Themen sind objektorientierte Datenbanken sowie Besonderheiten, die bei der Realisierung der Persistenzschicht in mobilen Anwendungen mit der J2ME zu beachten sind. Das Buch setzt Grundkenntnisse in Java, XML und im Umgang mit Datenbanken voraus.
Die Themen:
- JDBC: Grundlagen und fortgeschrittene Techniken
- JDO: Transparente Datenbankzugriffe
- Persistenz im Web
- Persistenz und Enterprise JavaBeans
- Java Connector Architecture
- Alternative Architekturen: SQLJ, Java in der Datenbank, OO-Datenbanken, XML
Inhaltsverzeichnis
Vorwort
1Einführung
1.1Was ist Persistenz?
1.2Warum dieses Buch?
1.3Serialisierung – einfach, aber zu wenig
1.4Transaktionen
1.4.1Geschäftstransaktionen
1.4.2Verteilte Transaktionen
1.4.3Zusammenfassung
1.5Datenbanken
1.5.1Objektorientierte Datenbanken
1.5.2XML und Datenbanken
1.5.3Relationale Datenbanken
1.5.4Netzwerkdatenbanken und hierarchische Datenbanken
1.5.5Zusammenfassung
1.6Objektorientierter Zugriff auf relationale Datenbanken
1.7Beispiele und die CD zum Buch
2Domain Model
2.1Anwendungsumgebung
2.2Das Datenmodell
2.3Anwendungsfälle
2.4DB/Objektstruktur
2.5Installation der Beispiele
3JDBC
3.1JDBC-Übersicht
3.1.1JDBC-Grundlagen
3.2Datenbankverbindungen
3.2.1Konfiguration einer DataSource
3.2.2Client-Zugriff auf eine DataSource
3.2.3ConnectionPoolDataSource
3.2.4XADataSource für verteilte Transaktionen
3.3ResultSets
3.3.1Holdability
3.3.2Scrollable ResultSets
3.3.3Updatable ResultSets
3.3.4Zugriff auf generierte Schlüssel
3.3.5Mehrere ResultSets
3.4RowSets
3.4.1RowSet-Implementierungen
3.4.2Anlegen eines RowSets
3.4.3Verarbeitung von RowSets
3.5Transaktionen
3.5.1Isolationsstufen
3.5.2Savepoints
3.5.3Verteilte Transaktionen
3.6Datentypen
3.6.1Mapping von SQL- auf DB-Datentypen
3.6.2Benutzerdefinierte Datentypen
3.7UpdateBatching
3.7.1Batching von Statements
3.7.2Batching von PreparedStatements
3.7.3Herstellerspezifische Erweiterungen
3.8Metadaten
3.8.1DatabaseMetaData
3.8.2ResultSetMetaData
3.8.3ParameterMetaData
3.9Fehlerbehandlung
3.9.1SQLException
3.9.2SQLWarning
3.10JDBC-Treiber
3.10.1Treibertypen
3.10.2Treiberauswahl
3.10.3Treibereigenschaften
4Java Data Objects
4.1Motivation
4.2Überblick
4.2.1Bestandteile
4.2.2Enhancer – Erweiterung der Klasse
4.2.3JDO-Instanz – Die PersistenceCapable-Schnittstelle
4.2.4JDO-Objektzustände
4.3Datenobjekte entwickeln mit JDO
4.3.1JDO-Datei und persistenzfähige Klasse
4.3.2Prozess der Erweiterung
4.3.3Identität
4.4PersistenceManagerFactory und PersistenceManager
4.4.1PersistenceManagerFactory
4.4.2PersistenceManager
4.5Transaktionen
4.6JDO – Die Praxis
4.6.1Überblick
4.6.2Vererbung
4.6.3Die Datenobjekte
4.6.4Anwendungsfälle implementieren
4.6.5Persistenzmanager verwalten – Threadkoppelung
4.6.6Constraints und andere Tücken
4.6.7Ausnahmen
4.6.8Die Registry für persistente Klassen
4.7JDO Query Language
4.7.1JDOQL im Überblick
4.7.2Zeichenketten, Collections und Typumwandlung
4.8JDO und J2EE
5Persistenz im Web
5.1Überblick
5.2Architekturansätze im Webumfeld und deren Umsetzung
5.2.1MVC
5.2.2Front-Controller
5.2.3Data Access Object (DAO)
5.3Session-Koppelung von Datenzugriffskomponenten
5.3.1Session, Servlet-Kontext oder Thread-Koppelung?
5.3.2Funktionsweise eines Servlets
5.3.3Thread-Bindung von Servlets
5.3.4Reaktion auf Servlet und Context Ereignisse
5.4Details der Implementierungen
5.4.1Ausführen von Statements
5.4.2Connection Handling
5.4.3Primärschlüssel-Generierung und deren Nutzung
5.4.4Authentifizierung von Nutzern
5.4.5Aufbau einfacher Cache-Systeme zur Lastreduzierung
5.5Hinweise zum Beispiel
5.5.1Die Beispielstruktur
5.5.2Erstellung, Installation und Ausführung des Beispiels
6Persistenz und Enterprise JavaBeans
6.1Einführung
6.2Bestandteile eines Bean
6.3Ansprechen einer Datenbank aus EJBs heraus
6.4Transaktionen
6.4.1Bean Managed Transactions
6.4.2Container Managed Transactions
6.4.3SessionSynchronization Interface
6.4.4Design mit EJB-Transaktionen
6.5Persistenz mit Entity Beans
6.5.1Primärschlüssel
6.5.2Lebenszyklus von Entity Beans
6.5.3Bean Managed Persistence (BMP)
6.5.4Container Managed Persistence (CMP)
6.6Persistenzpatterns (nicht nur) für EJB
6.6.1Session Facade (Entfernte Zugriffsschicht)
6.6.2Wert-Objekte (Value Objects)
6.6.3Datenzugriffs-Objekte (Data Access Objects)
6.6.4Abhängige Objekte (Dependent Objects)
6.6.5Verzögertes Speichern (Deferred Store)
6.6.6Historisierung (Historized State)
6.6.7Faules Laden (Lazy Load)
6.6.8Middle Tier Cache
6.6.9Massenupdates (Entity Bulk Modification)
6.6.10Lange Transaktion
6.7EJB vs. JDO
7Java Connector Architecture
7.1Motivation
7.2Überblick
7.3JDBC, JDO und die Connector Architecture
7.4Begriffe
7.4.1Enterprise Information System (EIS)
7.4.2Connector Architecture
7.4.3EIS Resource
7.4.4Resource Manager (RM)
7.4.5Managed Environment
7.4.6Non-managed Environment
7.4.7Connection
7.4.8Application Component
7.4.9Container
7.5Architektur
7.5.1Überblick
7.5.2Systemlevelverträge
7.5.3Non-managed Environment
7.6Client APIs
7.6.1Common Client Interface (CCI)
7.6.2Hersteller-Client-API
7.7Bestandteile und Anmeldung eines Connectors
7.7.1Bestandteile
7.7.2Beschreibungsdatei
7.7.3Auslieferung (Deployment)
7.8Beispiel eines Connectors
7.8.1Überblick
7.8.2Connector für Bilder
7.8.3Adapter packen und installieren
7.8.4Beispielanwendung
8Alternative Architekturen und Techniken
8.1SQLJ
8.1.1Einführung
8.1.2Übersetzung
8.1.3Kontexte
8.1.4Iteratoren
8.1.5Dynamisches SQL
8.1.6Vergleich SQLJ – JDBC
8.2Java in der Datenbank
8.2.1Architekturüberblick
8.2.2Anwendungsbeispiele
8.2.3Java Stored Procedures
8.2.4Java-Klassen für benutzerdefinierte SQL-Datentypen
8.2.5Vergleich der Architekturen
8.3Objektdatenbanken
8.3.1ODMG-Standard
8.3.2Caché 5
8.3.3Java-Anbindung
8.3.4Bewertung
8.4J2ME
8.4.1Überblick
8.4.2Mobile Datenbanken
8.4.3Record Stores
8.4.4JDBC Optional Package
8.5Persistenz als Aspekt
8.6Transaktionen im Web-Services-Umfeld
9XML
9.1XML und Java
9.1.1DOM
9.1.2SAX
9.1.3JAXB
9.2XML und Datenbanken
9.2.1Arten von XML-Datenbanken
9.2.2Arten von XML-Dokumenten
9.2.3Entscheidungskriterien
9.3Generierung von XML
9.3.1SQL/XML
9.3.2Tools
9.4XML-Standards
9.4.1XML Schema
9.4.2XPath
9.4.3XQuery
9.5Produkte
9.5.1Relationale Datenbanken mit XML-Erweiterungen
9.5.2Native XML-Datenbanken
9.6Zusammenfassung
Literatur
Autoren
Index
Andreas Holubek arbeitet als VP Engineering für die arlanis Software AG und blickt auf eine langjährige Tätigkeit in Konzeption, Design und Programmierung von SW-Lösungen zurück. Bei arlanis ist er für die UDC Produktfamilie sowie für die SOA- und EAI-Strategien verantwortlich. Sein besonderes Interesse gilt der Datenintegration, serviceorientierten Architekturen und den verschiedenen Web-Service-Techniken.
Persistenz; Java; Datenbanken; JCA; JDBC; J2ME;
Reihe/Serie | Javamagazin |
---|---|
Sprache | deutsch |
Maße | 168 x 240 mm |
Gewicht | 755 g |
Einbandart | Paperback |
Themenwelt | Informatik ► Programmiersprachen / -werkzeuge ► Java |
Schlagworte | Datenbanken • Datenspeicher • HC/Informatik, EDV/Anwendungs-Software • J2ME • Java • Java 2 (Programmiersprache) • JCA • JDBC • Persistenz |
ISBN-10 | 3-935042-49-3 / 3935042493 |
ISBN-13 | 978-3-935042-49-9 / 9783935042499 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich