Enterprise JavaBeans Überblick

Größe: px
Ab Seite anzeigen:

Download "Enterprise JavaBeans Überblick"

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 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.

Mehr

Enterprise 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: 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.

Mehr

Enterprise JavaBeans Überblick

Enterprise 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.

Mehr

Enterprise JavaBeans Überblick

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 6.

Mehr

Enterprise JavaBeans Überblick

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.

Mehr

Komponentenorientierte Software-Entwicklung. Seite 1 / 44

Komponentenorientierte 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

Mehr

Enterprise JavaBeans Überblick

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.

Mehr

Enterprise JavaBeans Überblick

Enterprise 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.

Mehr

Enterprise 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: 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.

Mehr

Tag 4 Inhaltsverzeichnis

Tag 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

Mehr

Enterprise JavaBeans Überblick: 10. Queries Interface Query 10.2 EJB Query Language 10.3 Named Queries

Enterprise 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.

Mehr

Transaktionen in Praxis. Dr. Karsten Tolle Vorl

Transaktionen 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

Mehr

Isolationsstufen für Transaktionen. Dr. Karsten Tolle

Isolationsstufen 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)

Mehr

Enterprise JavaBeans (mit JBoss)

Enterprise 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

Mehr

Tag 4 Inhaltsverzeichnis

Tag 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

Mehr

Transaktionen. Concurrency Management in MS SQL Server

Transaktionen. 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

Mehr

J2EE-Praktikum. Enterprise JavaBeans Patterns. Peter Thiemann. J2EE-Praktikum, WS2005/2006. Universität Freiburg

J2EE-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

Mehr

4.2 Workshop EJB. Entwicklung von EJB-Anwendungen

4.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

Mehr

Java Persistence API. Phillip Ghadir Oliver Tigges

Java 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

Mehr

Fachhochschule Wiesbaden. Vortrag: Teil 1. EJB- Timer. Teil 2. Transaktionen. Version: 1.0

Fachhochschule 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 Übungsaufgabe Transaktion als Middleware und Java Persistence API Client/Server Abstraktes Komponentenmodell Entscheidende Punkte Erweiterung der Invoke-Methode Context-Verwaltung Transaktionsbehandlung

Mehr

Persistenz. Ralf Gitzel

Persistenz. 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

Mehr

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II SS Transaktionen & ACID. Dr. Christian Senger Transaktionen & ACID 1

Fakultä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

Mehr

Query Result Caching. Optimierung des Datenbankzugriffs

Query 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-

Mehr

Enterprise JavaBeans Überblick: 9. Architektur der Web-Schicht. 9.1 Einleitung 9.2 Front-Controller Servlet 9.3 Java Server Pages 9.

Enterprise 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.

Mehr

Eigenschaften von TAs: ACID-Prinzip

Eigenschaften 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

Mehr

Analyse 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 Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java Oliver Kalz Agenda Grundlagen Objektpersistenz Objektrelationales Mapping Performance Fazit

Mehr

Enterprise JavaBeans

Enterprise 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?

Mehr

Masterkurs Verteilte betriebliche Informationssysteme

Masterkurs 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

Mehr

CORBA Lebensdauer von Objekten, Transaktionen MD 5/02

CORBA 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

Mehr

5.2 Workshop EJB. Entwicklung von EJB-Anwendungen. Das JOnAS-System

5.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

Mehr

Java Persistence API mit Hibernate

Java 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

Mehr

Workshop Java Webentwicklung Einführung in Hibernate. Ulrich Stärk

Workshop 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

Mehr

Entwicklung von Web-Anwendungen auf JAVA EE Basis

Entwicklung 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

Mehr

Enterprise JavaBeans Überblick: 17. Enterprise Information System Schicht

Enterprise 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.

Mehr

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

Projektgruppe. 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

Mehr

Undo 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 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

Mehr

Datenzugriffskomponente mit JPA 2.1

Datenzugriffskomponente 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

Mehr

1 Transaktionen in SQL. 2 Was ist eine Transaktion. 3 Eigenschaften einer Transaktion. PostgreSQL

1 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

Mehr

PostgreSQL im praktischen Einsatz. Stefan Schumacher

PostgreSQL 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

Mehr

Willkommen. Datenbanken und Anbindung

Willkommen. 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

Mehr

Transaktionen in Praxis. Dr. Karsten Tolle Vorl

Transaktionen 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

Mehr

Datenbanken Konsistenz und Mehrnutzerbetrieb III

Datenbanken 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!

Mehr

Java-Persistenz-Architekturen. Freiberuflicher Entwickler und Autor. DOAG Konferenz 1.12.

Java-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

Mehr

Gregor Raschke 2008 HIBERNATE. Eine Einführung

Gregor 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

Mehr

Richard 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 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

Mehr

Zwischenbericht Diplomarbeit

Zwischenbericht 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)

Mehr

Softwareentwicklung mit Enterprise JAVA Beans

Softwareentwicklung 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

Mehr

Objektorientierte Datenbanken

Objektorientierte 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

Mehr

CADSTAR MRP-Link. MRP-Link ist erstellt von:

CADSTAR 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

Mehr

Inhaltsverzeichnis. 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: 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

Mehr

Eclipse und EclipseLink

Eclipse 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

Mehr

Spring & Hibernate Eine praxisbezogene Einführung

Spring & 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

Mehr

Spring & Hibernate HANSER. Eine praxisbezogene Einführung. Richard Oates Thomas Langer Stefan Wille Torsten Lueckow Gerald Bachlmayr

Spring & 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?

Mehr

Transaktionen in der Praxis. Dr. Karsten Tolle

Transaktionen 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);

Mehr

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. Java Transaction Processing Teil 1

Mainframe 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.

Mehr

Model-Driven Development in der Praxis. mit objectif. Herzlich willkommen

Model-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

Mehr

Klausur Datenbanken II

Klausur 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

Mehr

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

OR-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

Mehr

Die InnoDB Storage Engine. Handy aus?

Die 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

Mehr

Objektorientierte Datenbanken

Objektorientierte 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

Mehr

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

OO 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

Mehr

Zwischenbericht Großer Beleg

Zwischenbericht 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

Mehr

JDO Java Data Objects

JDO 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:

Mehr

Persistenz 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) 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)

Mehr

Objektorientierte Datenbanken

Objektorientierte 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

Mehr

Migration der Datenbankzugriffsschnittstelle in Client-/Server-Systemen

Migration 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

Mehr

12 Abstrakte Klassen, finale Klassen und Interfaces

12 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,

Mehr

5. Übung zu Software Engineering

5. Ü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,

Mehr

Klausur Objektorientierte Datenbanken WS 2004/2005

Klausur 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

Mehr

Erstellung 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 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

Mehr

OPTIMISTIC & PESSIMISTIC LOCK Design Patterns PILLER NADIA SARBACH MATTHIAS

OPTIMISTIC & 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 )

Mehr

Aufgabensammlung zu Java Data Objects JDO

Aufgabensammlung 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

Mehr

II.4.4 Exceptions - 1 -

II.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

Mehr

EJB 3.0 alles wird einfacher. Stephan Metzler, eurolink SWITZERLAND

EJB 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

Mehr

Die Sicht eines Sysadmins auf DB systeme

Die 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

Mehr

Fujitsu BeanConnect TM V3.0 Software 0 FUJITSU LIMITED 2013

Fujitsu 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),

Mehr

Play Framework, MySQL, JPA, HQL, HTML, jquery,

Play 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

Mehr

EINFÜHRUNG IN DIE PROGRAMMIERUNG

EINFÜ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

Mehr

Enterprise JavaBeans Überblick

Enterprise 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

Mehr

Objektorientierte Datenbanken

Objektorientierte 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

Mehr

Groß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 Großer Beleg Vergleich Persistenzkonzepte Newtron Framework J2EE Robert Vogel 08/2002 Vergleich Persistenzkonzepte 1 Inhalt Persistenzkonzepte Newtron Vergleich Migrationsszenarien 08/2002 Vergleich Persistenzkonzepte

Mehr

Wie kann man es verhindern das Rad immer wieder erneut erfinden zu müssen?

Wie 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

Mehr

Transaktionsverwaltung

Transaktionsverwaltung Transaktionsverwaltung VL Datenbanksysteme Ingo Feinerer Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Transaktionsverwaltung Transaktionen:

Mehr

Datenbankpraktikum, Gruppe F. JPA mit Hibernate. Alexander Stautner, Harald Zauner, Sascha Schreier

Datenbankpraktikum, 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

Mehr

TopLink. das performante und flexible Persistenz- Framework

TopLink. 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

Mehr

Probeklausur Datenbanktechnologie

Probeklausur 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

Mehr

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

Vesant 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

Mehr

Persistenz Muster. Muster rund um den Datenbank Zugrif

Persistenz 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,

Mehr

Exceptions. CoMa-Übung VII TU Berlin. CoMa-Übung VII (TU Berlin) Exceptions / 1

Exceptions. 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