Enterprise JavaBeans Überblick
|
|
- Brit Hummel
- vor 5 Jahren
- Abrufe
Transkript
1 Enterprise JavaBeans Überblick 1. Überblick Komponententechnologien 2. Einführung 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5. Java Persistence: Entity Manager 6. Objekt-Relationales Mapping 7. Entity Bean Beziehungen 8. Test-Driven Development 9. Architektur der Web-Schicht 10. Queries 11. Value Objects 12. Session Facade 14. Ergänzungen zu Entity Beans UML Modellierung und EJBs 16. Session Beans Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 404 Enterprise JavaBeans Überblick: 13.4 Guidelines Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 405
2 Grundzüge schon bekannt aus (oder kommen noch einmal im) Seminarvortrag Transaktionen ACID Eigenschaften Atomic Ausführung komplett in allen Bestandteilen erfolgreich oder überhaupt nicht Consistent Konsistenter Zustand des zugrunde liegenden Systems vorher und nachher Betrifft meist die Datenspeicherung in einer Datenbank Isolated Keine Beeinflussung durch andere Prozesse oder Transaktionen Mehrere Transaktionen werden nacheinander durchgeführt Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 406 ACID Eigenschaften (fortgesetzt) Durable Bei Erfolg (Commit) werden Daten in einen persistenten Speicher geschrieben Überleben dort Hardware- und Software-Fehler Können ggf. aus Transaktions-Logs rekonstruiert werden Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 407
3 Java Transaction Service (JTS) Low-level API der Java EE-Spezifikation Hauptsächlich für Application Server Provider Ist die Java Implementierung des OMG CORBA Object Transaction Service (OTS) Transaktionsunterstützung auch für den Fall, wenn mehrere Parteien bei der Transaktion beteiligt sind Erlaubt es, einen Transaktions-Kontext an mehrere Server weiter zu geben: Verteilte Transaktionen Nicht für EJB Entwickler Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 408 Java Transaction Service (JTS) (fortgesetzt) Realisiert durch 2 Haupttypen von Locks Read Locks Nicht-exklusiv mehrere Transaktionen können denselben Lock gleichzeitig halten Write Locks Exklusiv Nur eine Transaktionen kann denselben Lock zu einer Zeit halten Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 409
4 Transaktionsunterstützung in Java EE Leicht zu benutzen Grundlegende Begriffe Resource Persistenter Speicher, in den geschrieben werden kann Datenbank, JMS Queue, JCA Connector,... Resource Manager Sind für Resource verantwortlich Datenbank Management System, Message Provider Produkt Transactional Object Die Komponente, die in der Transaktion beteiligt ist z.b. eine Session Bean, die die Transaktion durchführt Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 410 Transaktionsunterstützung in Java EE Grundlegende Begriffe (fortgesetzt) Transaction Manager Komponente oder System, verantwortlich, die Operationen der Transaktion von Transaktions-Komponenten durchzuführen JBoss ist ein Transaction Manager Verwendet eine Anwendung mehr als einen Resource Manager in einer Transaktion, dann benötigt man einen externen Transaction Manager Auch das kann JBoss sein Beispiel: Lesen aus einer Message Queue, schreiben in einen Datenbank, beides in einer Transaktion Verteilte, globale Transaktion Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 411
5 XA-Protokoll Standard-Interface zwischen Transaction Manager und Resource Manager Transaction Manager koordiniert die verteilte Transaktion Verwendet das XA-Protokoll, um mit Datenbank-Backends zu kommunizieren Datenbank muss XA-Protokoll verstehen, um verteilte Transaktionen unterstützen zu können Transaction Manager kommuniziert über XA-Protokoll mit Resource Managers Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 412 Two-pase commit Phase eins Preparations-Phase Prüfe Status jedes Resource Managers, ob sie ready to commit the transaction sind Alle müssen zustimmen Phase zwei Commit-Phase Alle haben in Phase eins zugestimmt Alle Resource Managers werden instruiert, commit durchzuführen Wenigstens einer hat nicht zugestimmt Alle Resource Managers werden instruiert, einen roll-back durchzuführen Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 413
6 Lokale Transaktion Nur ein Resource Manager ist involviert Mehrere Tabellen in 1 Datenbank Resource Manager des Datenbank kümmert sich darum Globale Transaktion Mehr als ein Resource Manager ist involviert Es wird ein globaler Transaction Manager zur Steuerung der verteilten Transaktion benötigt Verwendet Two-phase Commit Protokoll Resource Managers müssen XA-Protokoll unterstützen Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 414 Container Managed Transactions Nicht im Code sichtbar Container startet Transaktion, setzt sie fort, suspendiert sie, ignoriert sie oder beendet sie. Deklarative Steuerung durch Transaktions-Attribute Start mit Beginn einer Methode Endet frühestens mit Beendigung der Methode Benachrichtigung des Containers über Misserfolg setrollbackonly() Methode des EJBContext Werfen einer EJBException Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 415
7 Transaktionsattribute Transaktionsattribut NotSupported Required (default) Supports RequiresNew Mandatory Never Klient / andere Bean keine T1 keine T1 keine T1 keine T1 keine T1 keine T1 Transaktion der Bean Methode keine keine T2 T1 keine T1 T2 T2 Fehler T1 keine Fehler Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 416 Transaktionsattribute: Regeln Session Beans Für alle Geschäftsmethoden Entity Beans Nicht anwendbar Message-driven Beans Nur für die onmessage() Methode Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 417
8 Enterprise JavaBeans Überblick: 13.4 Guidelines Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 418 In welcher Hinsicht kann innerhalb einer Transaktion etwas schief gehen? Dirty read Lesen von Daten, die noch nicht committed wurden A modifiziert einen Satz B liest ihn bevor A committed A führt ein rollback durch B hat Daten gelesen, die es nie gegeben hat Non-repeatable read Daten wurden zwischen zwei Leseoperationen desselben Satzes verändert (zu fein-granulare Locks) A liest Satz, ohne commit; gibt Lock frei B modifiziert oder löscht denselben Satz und committed A setzt Bearbeitung fort und liest denselben Satz noch einmal Änderung oder existiert nicht mehr Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 419
9 In welcher Hinsicht kann innerhalb einer Transaktion etwas schief gehen? (fortgesetzt) Phantom read Neue Daten wurden zwischen zwei Leseoperationen einer Menge von Sätzen eingefügt A liest über eine Suche eine Menge von Sätzen, committed nicht B fügt einen oder mehrere Sätze hinzu, die die Suchbedingung erfüllen und committed A setzt die Bearbeitung fort, wiederholt den Lesevorgang unter derselben Suchbedingung und findet neue Sätze Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 420 Datenbank Locking-Strategien Read Locks Daten, die gelesen wurden, können nicht geändert werden, bevor die Transaktion abgeschlossen ist Keine non-repeatable Reads Write Locks Verwendet bei Updates. Verhindert das Ändern der Daten bevor die Transaktion abgeschlossen ist Erlaubt aber dirty reads Exclusive Write Locks Verwendt bei Updates. Verhindert das Lesen oder Ändern der Daten bevor die Transaktion abgeschlossen ist Verhindert dirty reads Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 421
10 Datenbank Locking-Strategien (fortgesetzt) Snapshots Schnappschuss eines eingefrorenen Views auf die Daten Verhindert dirty reads, non-repeatable reads und phantom reads Aber die Daten können nicht mehr aktuell sein Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 422 Isolation Levels Gelten nur für JDBC-Datenbanken Bestimmte Locking Strategien, um die o.g. Probleme zu beheben Können EJBs zugewiesen werden wie Transaktionsattribute der Bean als Default individuell für Methoden Sind Teil der sog. access-intent Strategie für EJBs Isolation Levels sind nicht Bestandteil der J2EE 1.3 Spezifikation Application Server spezifisch Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 423
11 4 Isolation Levels Read uncommitted Schwächste Isolation Alle obigen Probleme können auftreten, unabhängig von dem Isolation Level der anderen Transaktion Nicht für kritische Anwendungen einsetzen! Gute Performanz Read committed Nur committed Daten werden gelesen Keine dirty reads Non-repeatable reads und phantom reads können auftreten Gelesenen Daten sind immer konsistent Anwendung: Generieren von Berichten Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans Isolation Levels (fortgesetzt) Repeatable read Mehrfaches Lesen in derselben Transaktion liefert dieselben Daten Keine dirty reads oder non-repeatable reads Nützlich bei häufigen Updates Andere Transaktionen können unsere Daten nicht modifizieren Phantom reads können noch vorkommen Serializable Stärkste Isolation Alle ACID Eigenschaften werden eingehalten Alle Transaktionen sind voneinander unabhängig, werden nacheinander ausgeführt Für kritische Anwendungen Performanz kann schlecht werden Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 425
12 Enterprise JavaBeans Überblick: 13.4 Guidelines Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 426 Mögliche Probleme Ändern des Default-Verhaltens bei CMP funktioniert nicht (EJB 2.1) Änderung geht, aber Laufzeitverhalten wird durch strenges Locking zu negativ beeinflusst Transaktion mit hohem Isolation Level verbietet sich aufgrund von Denkzeit des Benutzers Lesen der Daten Denkzeit Update der Daten Sind Daten dann noch aktuell oder wurden Sie in einer anderen Transaktion bereits verändert? Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 427
13 Beispiel: Message Board Administration Moderator A liest Message X in einer Transaktion Moderator B liest Message X in einer Transaktion Moderator A editiert seine Kopie der Message lokal Moderator B editiert seine Kopie der Message lokal Moderator A schreibt Message in einer Transaktion zurück Moderator B schreibt Message in einer Transaktion zurück Alle Änderungen von Moderator A sind verloren Moderator B hat nicht mehr gültige Daten verändert Repräsentieren nicht mehr den aktuellen Zustand der Entity Bean Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 428 Optimistische Concurrency Control In EJB 3.0 erstmals sauber spezifiziert Bei Update Vergleich mit Zustand beim Lesen Statt alle Felder zu vergleichen zusätzliches Versionsfeld in jeder Tabelle Wird bei jedem Update automatisch inkrementiert Modifizierte Where-Klausel bei Update: Primärschlüssel und alter Wert des Versionszählers Durch EntityManager realisiert Repräsentiert den sich über die Zeit wandelnden Zustand der Entity Bean Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 429
14 Versionszähler Beispiel: Klasse zur Reservierung einer Cabin in einem Cruise Eins-zu-eins Beziehung zu public class CruiseCabin { private int id; private Cabin cabin; private Cruise cruise; private boolean isreserved; private long protected long getversion() { return version; } protected void setversion(long version) { this.version = version; } } Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 430 Versionszähler Mögliche Datentypen int, Integer short, Short long, Long Timestamp Wird bei jedem Update von dem Persistence Framework inkrementiert Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 431
15 Versionszähler Vor einem Commit mit einer veränderten Entity Bean wird zunächst geprüft, ob die Entity Bean im Speicher dieselbe Version wie der entsprechende Satz in der Datenbanktabelle besitzt Falls ja EntityManager führt Commit durch Inkrementiert Versionszähler Falls nein EntityManager wirft Exception Führt Rollback durch Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans Umsetzung in EJB 3.0 Beispiel Client-Code public Reservation bookpassage(string card, double price) throws IncompleteConversationalState ( if (customer == null cruise == null cabin == null) throw new IncompleteConversationelState(); try { Query query = entitymanager.createquery( "SELECT cc FROM CruisCabin cc WHERE " + "cc.cabin = :cabin AND cc.cruise = :cruise"); query.setparameter("cabin", cabin); query.setparameter("cruise", cruise); CruiseCabin cc = (CruiseCabin) query.getsingleresult(); if (cc.getisreserved()) throw new EJBException("Cabin is already reserved for cruise!"); cc.setisreserved(true);... Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 433
16 Beispiel Client-Code (fortgesetzt)... cc.setisreserved(true); Reservation reservation = new Reservation(customer, cruise, cabin, price, new Date()); entitymanager.persist(reservation); process.bycredit(customer, card, price); return reservation; } catch (Exception ex) { throw new EJBException(ex); } } Bei Versionsfehler javax.persistence.optimisticlockexception Rollback Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 434 Realisierung SQL-Anweisung UPDATE CRUISE_CABIN SET isreserved=true, version=version+1 WHERE id=1 AND version=101; Dabei kurzzeitiger Write-Lock für diesen Satz Besser als globaler Table Lock bei stärkster Isolation (Serializable) Fehler, falls Anzahl modifizierter Sätze = 0 Optimistisches Locking nicht passend bei hoher Rate paralleler Schreibzugriffe Hohe Anzahl von Rollbacks Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 435
17 Explizites Locking Methode lock() des EntityManagers entitymanager.lock(cabin, LockModeType.WRITE); Semantik der beiden Typen LockModeType.READ und LockModeType.WRITE: Transaktion T1 ruft lock(entity, LockModeType.READ) für ein versioniertes Objekt auf Dann stellt der EntityManager sicher, dass die folgenden Phänomene nicht auftreten können:... Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 436 Explizites Locking mit LockModeType.READ verhindert P1 (Dirty read): Transaktion T1 modifiziert eine Satz Transaktion T2 liest diesen Satz und erhält den modifizierten Wert, bevor T1 Commit oder Rollback aufgerufen hat Transaktion T2 committed irgendwann erfolgreich; es ist egal, ob T1 committed oder zurückrollt und ob das vor oder nach dem Commit von T2 geschieht P2 (Non-repeatable read): Transaktion T1 liest einen Satz Eine andere Transaktion T2 modifiziert oder löscht diesen Satz danach, jedoch bevor T1 committed Beide Transaktionen schließen irgendwann erfolgreich mit Commit ab Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 437
18 Explizites Locking Beide Lock Modes verhindern diese Phänomene P1 and P2 LockModeType.WRITE bei einem versionierten Objekt erzwingt zusätzlich ein Update (increment) für die Version Spalte Die Persistenz Implementierung muss EntityManager.lock() für nichtversionierte Objekte nicht unterstützen. Falls es das nicht unterstützt, muss es eine PersistenceException werfen Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 438 Enterprise JavaBeans Überblick: 13.4 Guidelines Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 439
19 Guidelines für Transaktionen Verwende kurze Transaktions-Zyklen Denkzeit des Benutzers sollte darin nicht vorkommen Session Facade Pattern unterstützt dies gut Default Wahl für das Transaktionsattribut sollte Required sein RequiresNew ist nützlich, wenn eine Bean-Methode unabhängig von anderen Transaktionen seine Transaktion (erfolgreich oder nicht erfolgreich) beenden sollte Session Beans, die das Interface SessionSynchronization implementieren, müssen eines der Transaktionsattribute Required, RequiresNew oder Mandatory besitzen Vermeide die Transaktionsattribute Supports und NotSupported Methoden laufen unter einem unspecified transaction context Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans Guidelines Guidelines für Anwendungs-Transaktionen Anwendungs-Beans sollten einen Rollback explizit auslösen EJBContext.setRollbackOnly() Eine Application Exception bewirkt kein Rollback durch den Container Anwendungs-Beans können überprüfen, ob von ihnen aufgerufenen Beans Rollback gesetzt haben EJBContext.getRollbackOnly() Sich nicht auf Exception verlassen setrollbackonly() kann aufgerufen werden, ohne eine Exception werfen zu müssen (sollte man aber nicht tun) Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 441
20 13.4 Guidelines Guidelines für Anwendungs-Transaktionen (fortgesetzt) Liefert ein Aufruf zu einer anderen Bean eine RemoteException: Hat die Bean ein Rollback veranlasst? Wurde sie überhaupt aufgerufen Dann besser: EJBContext.setRollbackOnly() aufrufen Geeignete Application Exception oder RemoteException werfen Nächste Ebene soll entscheiden, was zu tun ist! Will eine Bean ihr Transaktion unabhängig von dem Resultat einer aufgerufenen Bean behandeln Die andere Bean sollte RequiresNew oder NotSupported verwenden Kann aber zu Deadlock führen, wenn beide Transaktionen dieselbe Ressource verwenden wollen Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans Guidelines Guidelines für Anwendungs-Transaktionen (fortgesetzt) Hat man in einer Anwendungs-Bean Probleme mit Transaktions- Grenzen, so kann man Bean-managed Transaktionen einsetzen So kann man kleinteiligere Transaktionen erreichen Auch wenn viele Bücher das als schlecht hinstellen Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 443
Enterprise JavaBeans Überblick
Enterprise JavaBeans Überblick 1. Überblick Java EE 5 und Komponententechnologien 2. Einführung Java EE 5 Plattform 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5.
MehrEnterprise JavaBeans Überblick: 12. Session Facade Einleitung 12.2 Problem 12.3 Lösung. Prof. Dr. Björn Dreher Liste V Enterprise JavaBeans 460
Enterprise JavaBeans Überblick 1. Überblick Komponententechnologien 2. Einführung 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5. Java Persistence: Entity Manager 6.
MehrEnterprise JavaBeans Überblick
Enterprise JavaBeans Überblick 1. Überblick Java EE 5 und Komponententechnologien 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5. Java Persistence: Entity Manager 6.
MehrEnterprise JavaBeans Überblick
Enterprise JavaBeans Überblick 1. Überblick Java EE 5 und Komponententechnologien 2. Einführung Java EE 5 Plattform 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 6.
MehrEnterprise JavaBeans Überblick
Enterprise JavaBeans Überblick 1. Überblick Java EE 5 und Komponententechnologien 2. Einführung Java EE 5 Plattform 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5.
MehrKomponentenorientierte Software-Entwicklung. Seite 1 / 44
Seite 1 / 44 Wiederholung EJB-Module/-Projekte SessionBeans Stateless Beans Stateful Beans EntityBeans JPA-Grundlagen (EntityManager, Query-Abfragen) Vorschlag Projektaufbau / Package-Strukturierung Seite
MehrEnterprise JavaBeans Überblick
Enterprise JavaBeans Überblick 1. Überblick Java EE 5 und Komponententechnologien 2. Einführung Java EE 5 Plattform 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5.
MehrEnterprise JavaBeans Überblick
Enterprise JavaBeans Überblick 1. Überblick Komponententechnologien 2. Einführung 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5. Java Persistence: Entity Manager 6.
MehrEnterprise JavaBeans Überblick: 8. Test-Driven Development. 8.1 Einleitung 8.2 Beispiel 8.3 Anwendung mit Eclipse und dem JBoss Application Server
Enterprise JavaBeans Überblick 1. Überblick Komponententechnologien 2. Einführung 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5. Java Persistence: Entity Manager 6.
MehrTag 4 Inhaltsverzeichnis
Tag 4 Inhaltsverzeichnis Normalformen Problem Formen (1-4) Weitere Formen Transaktionen Synchronisationsprobleme Überblick Autocommit Locking Savepoints Isolation levels Übungen RDB 4-1 Normalformen Problematik
MehrEnterprise JavaBeans Überblick: 10. Queries Interface Query 10.2 EJB Query Language 10.3 Named Queries
Enterprise JavaBeans Überblick 1. Überblick Komponententechnologien 2. Einführung 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5. Java Persistence: Entity Manager 6.
MehrTransaktionen in Praxis. Dr. Karsten Tolle Vorl
Transaktionen in Praxis Dr. Karsten Tolle Vorl. 13.06.2017 Probleme bei Transaktionen Lost Update und Inconsistent Retrieval Sichtweise vom Benutzer Auszug aus SQL 92 1) P1 ("Dirty read"): SQL-transaction
MehrIsolationsstufen für Transaktionen. Dr. Karsten Tolle
Isolationsstufen für Transaktionen Dr. Karsten Tolle Probleme bei Transaktionen Gewährleistung der Isolation Sperren kein Lost Update Read 1 (Accounts[13]) Read 2 (Accounts[13]) Write 2 (Accounts[13],101.000)
MehrEnterprise JavaBeans (mit JBoss)
Enterprise JavaBeans (mit JBoss) Christian Hülsmeier 30.10.2004 Überblick Rekapitulation des vorhandenen Wissen Entity-Beans Session-Beans Deployment-Deskriptor Sichten / Client-Anwendungen Applikationsserver
MehrTag 4 Inhaltsverzeichnis
Tag 4 Inhaltsverzeichnis Normalformen Problem Formen (1-4) Weitere Formen Transaktionen Synchronisationsprobleme Überblick Autocommit Locking Savepoints Isolation levels Übungen RDB 4-1 Normalformen Problematik
MehrTransaktionen. Concurrency Management in MS SQL Server
Transaktionen Concurrency Management in MS SQL Server Transaktionen in SQL Server SQL Server bietet die Möglichkeit, eine Reihe von Datenbankoperationen (Änderungen) in einem logischen Vorgang zu gruppieren
MehrJ2EE-Praktikum. Enterprise JavaBeans Patterns. Peter Thiemann. J2EE-Praktikum, WS2005/2006. Universität Freiburg
J2EE-Praktikum Enterprise JavaBeans Patterns Peter Thiemann Universität Freiburg J2EE-Praktikum, WS2005/2006 Inhalt 1 Designmuster Sitzungsfassade Wertobjekte 2 Implementierungsmuster Geschäftsinterfaces
Mehr4.2 Workshop EJB. Entwicklung von EJB-Anwendungen
4.2 Workshop EJB Entwicklung von EJB-Anwendungen Welche Schritte werden benötigt, bis eine verteilte EJB-Anwendung einsatzbereit ist? Was muss alles implementiert werden? An welchen Stellen unterstützt
MehrJava Persistence API. Phillip Ghadir Oliver Tigges
Phillip Ghadir phillip.ghadir@innoq.com Oliver Tigges oliver.tigges@gmx.de Was wissen Sie in 45 Minuten? Wie man mit JPA entwickelt. Dass wir viele Eigenschaften von JPA ausgelassen haben. Dass Sie nicht
MehrFachhochschule Wiesbaden. Vortrag: Teil 1. EJB- Timer. Teil 2. Transaktionen. Version: 1.0
Frankfurt Wiesbaden am Main 07.01.2009 05.12.2008 Alaoui Soulimani, Achraf & Alaoui El Haddajy, Soulimani, Hicham Achraf Fachhochschule Wiesbaden Vortrag: Teil 1. EJB- Timer Teil 2. Transaktionen Version:
MehrÜbungsaufgabe Transaktion als Middleware
Übungsaufgabe Transaktion als Middleware und Java Persistence API Client/Server Abstraktes Komponentenmodell Entscheidende Punkte Erweiterung der Invoke-Methode Context-Verwaltung Transaktionsbehandlung
MehrPersistenz. Ralf Gitzel
Persistenz Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Grundkonzepte Entity Beans Meine erste Entity Entity-Manager Lernziele Übungsaufgabe 3 Grundkonzepte
MehrFakultät für Informatik & Wirtschaftsinformatik DB & IS II SS Transaktionen & ACID. Dr. Christian Senger Transaktionen & ACID 1
Transaktionen & ACID Dr. Christian Senger Transaktionen & ACID 1 PC Architekturen Kein Mehrbenuzterbetrieb Recovery? Benutzerabbrüche? PC Lokale Datenbank PC PC PC PC PC PC-System DBMS PC PC PC PC Internet
MehrQuery Result Caching. Optimierung des Datenbankzugriffs
Query Result Caching Optimierung des Datenbankzugriffs Andreas Hubmer 19.11.2012 Inhalt Problemstellung Tabellen-Cache DBProxy Objekt-Cache 1 st -/2 nd -Level Cache Query Cache 2 Problemstellung Application-
MehrEnterprise JavaBeans Überblick: 9. Architektur der Web-Schicht. 9.1 Einleitung 9.2 Front-Controller Servlet 9.3 Java Server Pages 9.
Enterprise JavaBeans Überblick 1. Überblick Komponententechnologien 2. Einführung 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5. Java Persistence: Entity Manager 6.
MehrEigenschaften von TAs: ACID-Prinzip
Transaktionsparadigma Definition: Transaktion ununterbrechbare Folge von DML-/DDL-Befehlen begin transaction --- end transaction begin: meist implizit mit ersten Datenbankzugriff end: commit (work) oder
MehrAnalyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java. Oliver Kalz
Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java Oliver Kalz Agenda Grundlagen Objektpersistenz Objektrelationales Mapping Performance Fazit
MehrEnterprise JavaBeans
Enterprise JavaBeans Sebastian Pipping 18. Dezember 2006 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License. Teil I J2EE J2EE Was ist J2EE? Was ist J2EE?
MehrMasterkurs Verteilte betriebliche Informationssysteme
Peter Man dl Masterkurs Verteilte betriebliche Informationssysteme Prinzipien, Architekturen und Technologien Mit 196 Abbildungen STUDIUM VIEWEG+ TEUBNER 1 Einführung in verteilte Systeme 1 1.1 Definitionen
MehrCORBA Lebensdauer von Objekten, Transaktionen MD 5/02
CORBA Lebensdauer von Objekten, Transaktionen Lebensdauer von Objekten in einem Programm...wird häufig von Programmiersprachen durch Sichtbarkeitsregeln gesteuert, z.b. in Java: void example() {... { String
Mehr5.2 Workshop EJB. Entwicklung von EJB-Anwendungen. Das JOnAS-System
5.2 Workshop EJB Entwicklung von EJB-Anwendungen Welche Schritte werden benötigt, bis eine verteilte EJB-Anwendung einsatzbereit ist? Was muss alles implementiert werden? An welchen Stellen unterstützt
MehrJava Persistence API mit Hibernate
Seminarunterlage Version: 6.02 Version 6.02 vom 4. April 2018 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen
MehrWorkshop Java Webentwicklung Einführung in Hibernate. Ulrich Stärk
Workshop Java Webentwicklung Einführung in Hibernate Ulrich Stärk Ablauf Montag bis Donnerstag 09:00 Uhr s.t. Beginn, bis ca. 17:00 Uhr 1 Stunde Mittagspause Donnerstag Experiment Aufzeichnung der Programmiertätigkeit
MehrEntwicklung von Web-Anwendungen auf JAVA EE Basis
Entwicklung von Web-Anwendungen auf JAVA EE Basis Java Enterprise Edition - Überblick Prof. Dr. Bernhard Schiefer Inhalt der Veranstaltung Überblick Java EE JDBC, JPA, JNDI Servlets, Java Server Pages
MehrEnterprise JavaBeans Überblick: 17. Enterprise Information System Schicht
Enterprise JavaBeans Überblick 1. Überblick Komponententechnologien 2. Einführung 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5. Java Persistence: Entity Manager 6.
MehrProjektgruppe. Thomas Kühne. Komponentenbasiertes Software Engineering mit OSGi
Projektgruppe Thomas Kühne Komponentenbasiertes Software Engineering mit OSGi Anforderungen der PG IDSE an ein Komponenten- Client Nativer Client Web Client Alternativen IDSE Nutzer Szenario Pipe IDSE
MehrUndo Tablespace statt Blockaden Blick in die Vergangenheit. Thomas Klughardt Senior System Consultant
Undo Tablespace statt Blockaden Blick in die Vergangenheit Thomas Klughardt Senior System Consultant Atomicity, Consistency und Isolation Das ACID Modell Transaktionen in Oracle Datenbanken arbeiten ACID
MehrDatenzugriffskomponente mit JPA 2.1
Datenzugriffskomponente mit JPA 2.1 (Grundlagen der Java Persistence Architecture) Vladislav Faerman Gliederung Einführung Konfiguration Objekt-Relationales Mapping (ORM) mit JPA Das zentrale Konzept der
Mehr1 Transaktionen in SQL. 2 Was ist eine Transaktion. 3 Eigenschaften einer Transaktion. PostgreSQL
1 Transaktionen in SQL Um Daten in einer SQL-Datenbank konsistent zu halten, gibt es einerseits die Möglichkeit der Normalisierung, andererseits sog. Transaktionen. 2 Was ist eine Transaktion Eine Transaktion
MehrPostgreSQL im praktischen Einsatz. Stefan Schumacher
PostgreSQL im praktischen Einsatz 2. Brandenburger Linux Infotag 2005 Stefan Schumacher , PGP Key http:/// $Header: /home/daten/cvs/postgresql/folien.tex,v 1.11 2005/04/25
MehrWillkommen. Datenbanken und Anbindung
Willkommen Datenbanken und Anbindung Welche stehen zur Wahl? MySQL Sehr weit verbreitetes DBS (YT, FB, Twitter) Open-Source und Enterprise-Version Libs in C/C++ und Java verfügbar Grundsätzlich ist ein
MehrTransaktionen in Praxis. Dr. Karsten Tolle Vorl
Transaktionen in Praxis Dr. Karsten Tolle Vorl. 12.12.2018 Probleme bei Transaktionen Lost Update und Inconsistent Retrieval Sichtweise vom Benutzer Auszug aus SQL 92 1) P1 ("Dirty read"): SQL-transaction
MehrDatenbanken Konsistenz und Mehrnutzerbetrieb III
Datenbanken Konsistenz und Mehrnutzerbetrieb III 1. Oracle Architektur! Komponenten des Oracle Servers! Zugriff über Netzwerk 2. Zugriffsrechte! Starten und Schließen der Datenbank! Nutzer und Rollen!
MehrJava-Persistenz-Architekturen. Freiberuflicher Entwickler und Autor. DOAG Konferenz 1.12.
Java-Persistenz-Architekturen Rudolf Jansen Freiberuflicher Entwickler und Autor http://www.rudolf-jansen.de info@rudolf-jansen.de DOAG Konferenz 1.12.2008 Inhalt JDBC JPA (Java Persistence API) Spring
MehrGregor Raschke 2008 HIBERNATE. Eine Einführung
1 HIBERNATE Eine Einführung Inhalt 2 Einleitung Beispielkonfiguration Die hibernate.cfg.xml Eine Beispieltransaktion Abfragemöglichkeiten JPA und Hibernate Ressourcen und Quellen Einleitung (1) - Geschichtliches
MehrRichard Oates Thomas Langer Stefan Wille Torsten Lueckow Gerald Bachlmayr. Spring & Hibernate. Eine praxisbezogene Einführung HANSER
Richard Oates Thomas Langer Stefan Wille Torsten Lueckow Gerald Bachlmayr Spring & Hibernate Eine praxisbezogene Einführung HANSER 1 Einleitung 1 1.1 Für wen ist dieses Buch? 1 1.2 Organisation des Buches
MehrZwischenbericht Diplomarbeit
Zwischenbericht Diplomarbeit Vergleichende Studie zu den Komponentenmodellen COM+, EJB und CCM Stefan Haubold (sh6@inf.tu-dresden.de) 1 Gliederung " Aufgabenstellung " COM+ " Enterprise JavaBeans (EJB)
MehrSoftwareentwicklung mit Enterprise JAVA Beans
Softwareentwicklung mit Enterprise JAVA Beans Java Enterprise Edition - Überblick Was ist J2EE Java EE? Zunächst mal: Eine Menge von Spezifikationen und Regeln. April 1997: SUN initiiert die Entwicklung
MehrObjektorientierte Datenbanken
OODB 8 Slide 1 Objektorientierte Datenbanken Vorlesung 8 Sebastian Iwanowski FH Wedel OODB 8 Slide 2 Offene Fragen vom letzten Mal: Kann man in einer JDOQL-Anfrage Elemente herausfiltern, deren Attribute
MehrCADSTAR MRP-Link. MRP-Link ist erstellt von:
CADSTAR MRP-Link MRP-Link ist erstellt von: CSK CAD Systeme Kluwetasch Zip: 2161 Town: Altenholz Street: Struckbrook 9 Tel: +9-31-32917-0 Fax: +9-31-32917-26 Web: http://www.cskl.de E-Mail: Kluwetasch@cskl.de
MehrInhaltsverzeichnis. Bernd Müller, Harald Wehr. Java Persistence API 2. Hibernate, EclipseLink, OpenJPA und Erweiterungen ISBN:
Inhaltsverzeichnis Bernd Müller, Harald Wehr Java Persistence API 2 Hibernate, EclipseLink, OpenJPA und Erweiterungen ISBN: 978-3-446-42693-1 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42693-1
MehrEclipse und EclipseLink
Eclipse und EclipseLink Johannes Michler Johannes.Michler@promatis.de PROMATIS, Ettlingen Zugriff auf Oracle Datenbanken aus Eclipse RCP Anwendungen via EclipseLink 18.09.2009 1 Gliederung Eclipse als
MehrSpring & Hibernate Eine praxisbezogene Einführung
Richard Oates, Thomas Langer, Stefan Wille, Torsten Lueckow, Gerald Bachlmayr Spring & Hibernate Eine praxisbezogene Einführung ISBN-10: 3-446-41213-1 ISBN-13: 978-3-446-41213-2 Weitere Informationen oder
MehrSpring & Hibernate HANSER. Eine praxisbezogene Einführung. Richard Oates Thomas Langer Stefan Wille Torsten Lueckow Gerald Bachlmayr
Richard Oates Thomas Langer Stefan Wille Torsten Lueckow Gerald Bachlmayr Spring & Hibernate Eine praxisbezogene Einführung 2., aktualisierte Auflage HANSER 1 Einleitung 1 1.1 Für wen ist dieses Buch?
MehrTransaktionen in der Praxis. Dr. Karsten Tolle
Transaktionen in der Praxis Dr. Karsten Tolle Praxisbeispiel in Java Connection con = null; try { con = DriverManager.getConnection("jdbc:db2:sample"); } catch (Exception e) { e.printstacktrace(); } con.setautocommit(false);
MehrMainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. Java Transaction Processing Teil 1
UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 Java Transaction Processing Teil 1 EJB Transaktionseigenschaften el0100 copyright W. G.
MehrModel-Driven Development in der Praxis. mit objectif. Herzlich willkommen
Model-Driven Development in der Praxis mit objectif Herzlich willkommen Die Themen: microtool stellt sich vor live Model-Driven Development die Grundlagen Model-Driven Development von Web-Anwendungen in
MehrKlausur Datenbanken II
Klausur Datenbanken II 8.3.2001 Name Vorname Semester Matrikelnr Aufgabe Punkte maximal 1 8 2 8 3 3 4 3 5 4 6 6 7 6 8 6 9 [Zusatz] [4] Summe 44 Punkte erreicht Bitte geben Sie die Lösungen möglichst direkt
MehrOR-Mapping. WS2008/2009 DBIS/Dr. Karsten Tolle
OR-Mapping Zwei Paradigmen treffen aufeinander Gegensätze OO vs. Relational: Stichwort: O/R Impedance Mismatch Person Tabellen mit Schlüssel und Fremdschlusselbeziehungen. Abt-Nr. beschäftigt Pk-Nr Name
MehrDie InnoDB Storage Engine. Handy aus?
Die InnoDB Storage Engine Kristian Köhntopp Handy aus? InnoDB: Vorteile, Nachteile Vorteile: Transaktionen MVCC Row Locks OLTP Concurrency Crash-Recovery Nachteile: Höherer Platzbedarf Höherer Speicherbedarf
MehrObjektorientierte Datenbanken
Objektorientierte Datenbanken Ralf Möller, FH-Wedel z Beim vorigen Mal: y Java Data Objects Teil 2, Queries z Heute: y Java Data Objects Teil 3, Objektidentität z Lernziele: y Grundlagen der Programmierung
MehrOO Programmiersprache vs relationales Model. DBIS/Dr. Karsten Tolle
OO Programmiersprache vs relationales Model Vorgehen bisher Erstellen eines ER-Diagramms Übersetzen in das relationale Datenmodell Zugriff auf das relationale Datenmodell aus z.b. Java ER rel. Modell OO
MehrZwischenbericht Großer Beleg
Zwischenbericht Großer Beleg Enterprise JavaBeans und JavaBeans Sean Eikenberg Zielstellung des GB / Gliederung? Zusammenhang zwischen EJB & JavaBeans ausarbeiten. Mögliche Vereinigung beider Technologien
MehrJDO Java Data Objects
JDO Java Data Objects Ralf Degner, Chief Consultant Ralf.Degner@poet.de Agenda POET Motivation Geschichte Einführung Architekturen FastObjects POET Gegründet 1993 Zwei Produktlinien esupplier Solutions:
MehrPersistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten)
Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten) O/R Mapping - Objekte (Attribute) - 1:1, 1:n, n:m Beziehungen - Vererbungen (- Interfaces)
MehrObjektorientierte Datenbanken
Objektorientierte Datenbanken Ralf Möller, FH-Wedel z Beim vorigen Mal: y Java Data Objects Teil 1 z Heute: y Java Data Objects Teil 2 z Lernziele: y Grundlagen der Programmierung persistenter Objekte
MehrMigration der Datenbankzugriffsschnittstelle in Client-/Server-Systemen
Migration der Datenbankzugriffsschnittstelle in Client-/Server-Systemen Christian Böhmer, isys Software GmbH Björn Grimm, Hochschule München 1 Migration der Datenbankzugriffsschnittstelle in Client-/Server-Systemen
Mehr12 Abstrakte Klassen, finale Klassen und Interfaces
12 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,
Mehr5. Übung zu Software Engineering
5. Übung zu Software Engineering WS 2009/2010 Henning Heitkötter Desktop-Anwendung AUFGABE 13 1 Schichtenarchitektur Strukturierung komplexer Anwendungen Anforderungen: Flexibilität, Robustheit, Wartbarkeit,
MehrKlausur Objektorientierte Datenbanken WS 2004/2005
Klausur Objektorientierte Datenbanken WS 2004/2005 Hinweise: Iwanowski 16.02.2005 Bearbeitungszeit: 60 Minuten Erlaubte Hilfsmittel: im Anhang, sonst keine Diese Klausur besteht aus 9 Aufgaben (Seiten
MehrErstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java
Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Präsentation zur Diplomarbeit von Übersicht Java 2 Enterprise Edition Java Servlets JavaServer Pages Enterprise JavaBeans Framework
MehrOPTIMISTIC & PESSIMISTIC LOCK Design Patterns PILLER NADIA SARBACH MATTHIAS
OPTIMISTIC & PESSIMISTIC LOCK Design Patterns PILLER NADIA SARBACH MATTHIAS Agenda 2 Persistenz und ihre Muster (3 ) Optimistic Offline Lock (6 ) (Optimistisches Sperren) Pessimistic Offline Lock (5 )
MehrAufgabensammlung zu Java Data Objects JDO
Aufgabensammlung zu Java Data Objects JDO Dr. Arno Schmidhauser Letzte Revision: November 2004 Email: arno.schmidhauser@bfh.ch Webseite: http://www.sws.bfh.ch/db Aufgabensammlung zu Java Data Objects JDO
MehrII.4.4 Exceptions - 1 -
n 1. Unterklassen und Vererbung n 2. Abstrakte Klassen und Interfaces n 3. Modularität und Pakete n 4. Ausnahmen (Exceptions) n 5. Generische Datentypen n 6. Collections II.4.4 Exceptions - 1 - Ausnahmen
MehrEJB 3.0 alles wird einfacher. Stephan Metzler, eurolink SWITZERLAND
Endlich ein POJO EJB 3.0 alles wird einfacher Referent:, eurolink SWITZERLAND Java EE 5 Über mich IT Consulting FH-Dozent Schwerpunkt J2EE / EJB Autor diverser Schulungsunterlagen Firmenschulungen Fachvorträge
MehrDie Sicht eines Sysadmins auf DB systeme
Die Sicht eines Sysadmins auf DB systeme Robert Meyer 21. Oktober 2016 Robert Meyer Die Sicht eines Sysadmins auf DB systeme 21. Oktober 2016 1 / 20 Inhaltsverzeichnis 1 Einleitung 2 IO unter Linux typische
MehrFujitsu BeanConnect TM V3.0 Software 0 FUJITSU LIMITED 2013
Fujitsu BeanConnect TM V3.0 Software 0 FUJITSU LIMITED 2013 Die Herausforderung: Hostanbindung Viele Unternehmen besitzen Mainframe- und Legacy-Anwendungen, so genannte Enterprise Information Systems (EIS),
MehrPlay Framework, MySQL, JPA, HQL, HTML, jquery,
Play Framework, MySQL, JPA, HQL, HTML, jquery, Wer Mit wem Resultat 1.Kunde Schalter: Bibliothekarin Bestimmt,welcher Archivar die Zeitschrift holen geht 2. Schalter: Bibliothekarin Archivar Kontrollübergabe
MehrEINFÜHRUNG IN DIE PROGRAMMIERUNG
EINFÜHRUNG IN DIE PROGRAMMIERUNG FORTGESCHRITTENE KONZEPTE Tobias Witt 26.03.2014 tobias.witt@hhu.de 25.12.01.30 Bürozeiten: 09 Uhr - 12 Uhr FEHLERBEHANDLUNG KLASSISCHER ANSATZ Fehlercode als Rückgabewert
MehrEnterprise JavaBeans Überblick
Enterprise JavaBeans Überblick. Überblick Komponententechnologien 2. Einführung 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5. Hinweise zum Projekt 6. Ergänzungen
MehrObjektorientierte Datenbanken
Objektorientierte Datenbanken Vorlesung 9 Sebastian Iwanowski FH Wedel Einführung in das objektrelationale Mapping: JDBC: Java Database Connectivity EJB: Enterprise Java Beans Motivation und Einführung
MehrGroßer Beleg. Vergleich Persistenzkonzepte Newtron Framework J2EE. Robert Vogel. 08/2002 Vergleich Persistenzkonzepte 1
Großer Beleg Vergleich Persistenzkonzepte Newtron Framework J2EE Robert Vogel 08/2002 Vergleich Persistenzkonzepte 1 Inhalt Persistenzkonzepte Newtron Vergleich Migrationsszenarien 08/2002 Vergleich Persistenzkonzepte
MehrWie kann man es verhindern das Rad immer wieder erneut erfinden zu müssen?
Generic Programming without Generics from JAVA5 Motivation Wie kann man es verhindern das Rad immer wieder erneut erfinden zu müssen? Ein Bespiel: sie haben bereits eine Klasse zur Multiplikation von Matrizen
MehrTransaktionsverwaltung
Transaktionsverwaltung VL Datenbanksysteme Ingo Feinerer Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Transaktionsverwaltung Transaktionen:
MehrDatenbankpraktikum, Gruppe F. JPA mit Hibernate. Alexander Stautner, Harald Zauner, Sascha Schreier
JPA mit Hibernate Alexander Stautner, Harald Zauner, Sascha Schreier Agenda Objektrelationales Mapping JPA / Hibernate Demo # 2 Objektrelationales Mapping Objektorientierte Welt Objekte Objektidentität
MehrTopLink. das performante und flexible Persistenz- Framework
TopLink das performante und flexible Persistenz- Framework Präsentiert von: Martin Jäkle Principal Sales Consultant Recent Magazine Ad Objekt Relationales Mapping Schreiben der Objekte in die Relational
MehrProbeklausur Datenbanktechnologie
Probeklausur Datenbanktechnologie Prof. Dr. Ingo Claßen Name: Vorname: MatrNr: Bewertung 1 25 2 15 3 10 4 10 Übung 40 Σ = 100 Punkte Punkte: Note: Notenspiegel 100 95 1,0 94 90 1,3 89 85 1,7 84 80 2,0
MehrVesant JDO Genie für transparente Persistenz mit relationalen Datenbanken.
Vesant JDO Genie für transparente Persistenz mit relationalen Datenbanken. Martin Wessel Senior Pre-Sales Consultant Versant GmbH mailto: Martin.Wessel@versant.net Copyright Versant Europe 2004. All products
MehrPersistenz Muster. Muster rund um den Datenbank Zugrif
Persistenz Muster Muster rund um den Datenbank Zugrif Einleitung Persistenz Muster beschreiben verschiedene Lösungen von Problemen rund um das Speichern und Lesen (Persistieren) von Objekten. o Sie zeigen,
MehrExceptions. CoMa-Übung VII TU Berlin. CoMa-Übung VII (TU Berlin) Exceptions / 1
Exceptions CoMa-Übung VII TU Berlin 7.11.013 CoMa-Übung VII (TU Berlin) Exceptions 7.11.013 1 / 1 Themen der Übung 1 Compilezeit- und Laufzeitfehler Exceptions 3 Try-Catch-Finally CoMa-Übung VII (TU Berlin)
Mehr