Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

J2EE Conformance von JDBC 2.0 - Middleware und EJB Applikation Server Detlef KünzelSystemberater +49 (0)89 96271 224.

Ähnliche Präsentationen


Präsentation zum Thema: "J2EE Conformance von JDBC 2.0 - Middleware und EJB Applikation Server Detlef KünzelSystemberater +49 (0)89 96271 224."—  Präsentation transkript:

1 J2EE Conformance von JDBC 2.0 - Middleware und EJB Applikation Server Detlef KünzelSystemberater Detlef.Kuenzel@merant.com +49 (0)89 96271 224

2 Agenda n Java 2 Enterprise Edition n JDBC 2.0 Einführung n Datenbankintegration mit JDBC 2.0 n Enterprise Java Beans in Zusammenhang mit JDBC 2.0

3 Java 2, Enterprise Edition n Applikationsmodel l Beschreibt, wie man eine J2EE Applikation entwickelt n Plattform Spezifikationen l Definiert J2EE Anforderungen n Kompatibilitäts Testtool l Überprüfung ob konform mit J2EE Plattform n Referenz Implementierung l Zusammenarbeit mit J2EE Plattform

4 J2EE Architektur

5 Java 2 Plattform und JDBC n Java 2 Standard Edition l JDBC 2.0 core Spezifikation n Java 2 Enterprise Edition l Enterprise Java Beans 1.1 l JDBC 2.0 Optional Package l Java Servlets l Java Server Pages l Zertifizierung Verfahren mit J2EE Reference Implementierung

6 JDBC 2.0 Einführung Neue Features java.sql JDBC Core ( java.sql ) l Scrollable-Cursors Unterstützung l Neue Datentypen l Batch Updates javax.sql JDBC Optional Package ( javax.sql ) l Java Naming and Directory Interface (JNDI) l Connection Pooling l Verteilte Transaktionen l RowSets

7 Scrollable Result Sets Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL ResultSet srs = stmt.executeQuery("SELECT COF_NAME, PRICE srs.afterLast(); while (srs.previous()) { String name = srs.getString("COF_NAME"); float price = srs.getFloat("PRICE"); System.out.println(name + " " + price); } srs.absolute(4); srs.relative(-2);...

8 JNDI Architecture

9 Connection Pooling: Object Diagram Standard JDBC ConnectionInterfaces

10 Was sind Verteilte Transaktionen ? n Transaktionen auf mehrere, auch heterogenen Datenbanken n Alle beteiligte Datenbanken sind immer in einem konsistenten Zustand n Früher immer von einem Transaktions-Monitor gesteuert n Unabdingbar für unternehmens- kritische Applikationen n XA, 2 Phase-Commit, Long Transaction sind (fast) Synonyme EJB Server DBMS 1 Java Virtual Machine Java Applet DBMS 2 RM I 2PC

11 XA Transactions Object Diagram Standard JDBC ConnectionInterfaces

12 JDBC 2.0: Distributed XA Transactions n Wenige Code-Änderungen: l Kein Connection.commit() l Kein Connection.rollback() l Kein Connection.setAutoCommit() n Stattdessen in dem DataSource object verwaltet n JDBC Treiber muß folgende JDBC XA Interfaces implementieren: l javax.sql.XADataSource l javax.sql.XAConnection n In SequeLink Java Edition seit Dezember 1999

13 Welche Applikationserver unterstützen verteilte Transaktionen? n IBM - Websphere ab Version 3.5 n IONA - I-Portal Applicationserver n Gemstone - Gemstone/J n bei anderen klären ob XADataSource- Interface unterstützt wird

14 DataDirect SequeLink Java Edition n Ein universeller JDBC-Treiber für alle Datenbanken, dadurch maximale DB- Unabhängigkeit n Kombiniert Performance von Typ 4-Lösung mit Flexibilität von Typ 3 n Einsetzbar in beliebigen Java-Konfigurationen, da 100% Pure Java zertifiziert n Beste Möglichkeit für Java/OS 390 n Verwendet von Javasoft im Rahmen der J2EE Zertifizierungsverfahren

15 Enterprise Java Bean SessionBeans modellieren Prozesse und Abläufe Zugriff auf Datenbanken z.B. Abfrage des Kontostandes Einem Client zugeordnet anonym Transiente Objekte kurzlebig, für eine Sitzung überleben Systemabsturz nicht EntityBeans Repräsentieren Geschäftsabläufe verknüpft mit Datenbanken z.B. Daten eines Bankkontos Von mehreren Clients nutzbar besitzt Identität Persistente Objekte langlebig überleben Systemabstürze

16 Transaktionssteuerung durch JavaBeans n Explizit (SessionBeans) l ist nicht J2EE konform wird aus Performensgründen jedoch häufig angewendet n Implizit (EntityBeans) l Bean managed u Zustandssicherung durch Bean u Bean-Provider codiert DB-Aufruf (als Teil der Bean-Business-Logic) l Container managed u Zustandssicherung durch Container u Container generiert DB-Aufrufe (Deployment Deskriptor spezifiziert zu sicheren Bean-Attributen)

17 Transaction Attribute Summary für implizite Steuerung

18 Beans und Transaktionen Beispiel Session Bean: SB_KundenPflege Methoden: Anlegen() Aendern() Suche() Entity Bean: EB_Kunde Methoden: ejbStore() ejbLoad() Deployment Descriptor: SB_KundenPflege: TX_SUPPORTS Deployment Descriptor: EB_Kunde: TX_MANDATORY

19 Beispiel Code (in EJB) // Create multi-component, multi-distributor order // in Bean-Demarcated Session Bean Context ctx = new InitialContext(); ds1 = (DataSource) ctx.lookup("jdbc/ inventoryDB1"); ds2 = (DataSource) ctx.lookup("jdbc/ inventoryDB2"); ut = ctx. getUserTransaction(); ut. begin(); con1 = ds1.getConnection( user1, password1); con2 = ds2.getConnection( user2, password2);

20 Beispiel Code (2) stmt1 = con1. createStatement(); stmt2 = con2. createStatement();... Transaktion hier... // if order can be completely filled, create the order, otherwise // rollback if (flag) ut. commit(); else ut. rollback();

21 Vielen Dank ! Detlef KünzelSystemberater Detlef.Kuenzel@merant.com +49 (0)89 96271 224


Herunterladen ppt "J2EE Conformance von JDBC 2.0 - Middleware und EJB Applikation Server Detlef KünzelSystemberater +49 (0)89 96271 224."

Ähnliche Präsentationen


Google-Anzeigen