EJB 2.0 Persistenz

Autor:
Dirk M. Sohn
Orientation in Objects GmbH
Dirk M. Sohn
Dirk M. Sohn
Datum:Januar 2003

Abstract

Vortrag zur Persistenzschicht der Enterprise JavaBeans 2.0 Spezifikation. Auswirkungen auf das Design von J2EE Anwendungen werden aufgezeigt. Mit der Version 2.0 haben die EJBs einen für die Praxis ausreichenden Reifegrad erreicht. Die Portabilität hat sich seit der letzten Version mit EJBQL und den Selektoren wesentlich verbessert.

Versionen

Zum Starten der HTML-Präsentation hier klicken.

Eine PDF-Version können Sie sich hier herunterladen.

Inhalt

EJB 2.0 Persistenz

Agenda

Aktuelle Herausforderungen

Stolpersteine

Low Level Services

High Level Services

Enterprise Java Beans (= EJB)

Verteilung der Rollen

Persistenz Bean-managed

Persistenz Container-managed (CMP)

Agenda

Warum ist eine Entity keine Session Bean?

Eine Entity ist eine Session Bean?

Eine Entity ist keine Session Bean

Warum ist eine Entity keine Session Bean?

Vorteile Entity Beans

Agenda

Finder

Finder

Coarse grained

Coarse grained (cont)

Agenda

Kompatibilität

Agenda

EJB 1.1 Persistenzmanager

CMP EJB 1.1 - öffentliche Attribute

EJB 2.0 Persistenzmanager

CMP 2.0 - abstrakte Zugriffsmethoden

CMP 2.0 - Code

CMP 2.0 - ejb-jar.xml

CMP 2.0 - jbosscmp-jdbc.xml

CMP 2.0 - Feinheiten

CMP - Mögliche Optimierungen

Agenda

Local Interfaces - Vorgeschichte

EJB 1.1 - Variante Remote Entity

EJB 1.1 - Variante Dependent Value Class

EJB 2.0 - Variante Local Entity

Container & Bean

Local Entity <-> Dependent Value Class

Unterschiede zu Remote Interfaces

Remote vs. Locale Interface

By Reference - By Value

Agenda

Beziehungen vor EJB 2.0 (1)

Beziehungen vor EJB 2.0 (2)

Beziehungen mit EJB 2.0

Beziehungen

Beziehungen - Anwendungsbereich

Beziehungen - Beispiel

Beziehungen - Code (1)

Beziehungen Code (2)

Manipulation von Relationen

Beziehungen ejb-jar.xml

Beziehungen jbosscmp-jdbc.xml

Component Interfaces als CM(X)-Felder

<ejb-ref> vs. <ejb-local-ref>

Beziehungen - Referentielle Integrität

Fail Fast Iteration (1)

Fail Fast Iteration (2)

Achtung: Anti Pattern "Clotted Server"

Agenda

Finder in EJB 1.1 und jBoss

jaws.xml - Deployment descriptor

Abfragesprache EJB QL

Anmutung EJB QL

FROM-clause

FROM-clause mit Bean Schema

FROM-clause mit "Beziehungen"

Pfadausdrücke - Typen

Pfadausdrücke richtig / falsch

SELECT-clause

Remote oder Local ale Ergebnis?

EJB-QL Funktionen

Beispiele für EJB QL

EJB-QL Probleme

Agenda

Finder

EJB QL im Deployment descriptor

Selektoren

Selektoren Code

Agenda

BMP / CMP bei EJB 2.0

Wege zur Vermeidung von BMP

Harmonischer Umgang CMP / BMP

Nutzen von BMP

Agenda

Naive Vorstellung - Facade

Naive Vorstellung - Facade

Naive Vorstellung - Facade

Naive Vorstellung - Facade

Pattern: Bulk Reader

Bulk Reader mit Home Operation

Service Facade

Service Facade

Session Facade

Weitere Kontextänderungen für Patterns

Noch ein J2EE Pattern: Keine EJBs

Fast Lane Reader

Agenda

Ankündigungsdaten J2EE 1.4 / EJB 2.1

Generelle Aussichten EJB 2.1 (JSR 153)

EJB 2.1 Aussichten Persistenz

Wünsche an EJB 2.2

J2EE 1.3-Server 03.05.2002

Vielen Dank für Ihre Aufmerksamkeit

Zum Geschaeftsbreich Competence Center
Artikel
Geronimo- Der Application Server der Apache Foundation