Fachhochschule Osnabrück. University of Applied Sciences

Größe: px
Ab Seite anzeigen:

Download "Fachhochschule Osnabrück. University of Applied Sciences"

Transkript

1 Fachhochschule Osnabrück University of Applied Sciences Thema: OR-Mapping Datum: Student: Martin Landwehr (161046) Seite 1 von 21

2 Inhaltsverzeichnis Einleitung... 3 Motivation...3 Grundlagen...3 Objekt-relationaler Bruch...5 Die semantische Lücke... 5 Lösungsansätze... 6 ORM mit Java... 7 Serialisierung...7 Java Database Connectivity... 7 Enterprise Java Beans Bean-Managed Persistence... 8 Container-Managed Persistence...8 Persistence-Frameworks... 8 Java Data Objects...9 Hibernate...9 Enterprise Java Beans Beispiel mit Enterprise Java Beans Beispielanwendung Einfache Persistenz Relationen Vererbung...13 Fassade Query API Persistence Deskriptor...17 Testen der Beispielanwendung B.1 Spezifikationen...20 B.2 Systeme, Bibliotheken, Anwendungen...20 B.3 Artikel und Tutorials Literaturverzeichnis...21 Seite 2 von 21

3 Einleitung Motivation Versicherungen, Banken, Automobilhersteller, Chemiekonzerne und Softwarehäuser sind typische Anwender der Informatik. In diesen Unternehmen werden alle Abläufe durch betriebliche Informationssysteme unterstützt. Die Informationssysteme unterstützen und steuern Abläufe in allen Bereichen eines Unternehmens: im Marketing und Vertrieb, in der Produktion, in der Logistik und auch im Rechnungswesen. Ein Merkmal dieser Systeme ist, dass ihre Anwender auf eine gemeinsame, große und komplexe Datenbank zugreifen. Heutzutage werden in der Regel objektorientierte Programmiersprachen und zur Speicherung von Daten hingegen relationale Datenbanksysteme eingesetzt. Diese beiden Paradigmen unterscheiden sich in ihren Konzepten, was ihre gemeinsame Verwendung insbesondere in großen und komplexen Projekten erschwert. Diese Ausarbeitung beschäftigt sich mit objektorientierten Zugriffsschichten auf relationale Datenbanken und stellt anhand eines praktischen Beispiels die neue Java Persistence API EJB3.0 vor. Grundlagen Die objektorientierte Entwicklung ist eine moderne Methode zur Implementierung von betrieblichen Informationssystemen. Dabei bieten Objekte durch Abstraktion eine Möglichkeit die Systeme zu strukturieren und dadurch die immer weiter steigende Komplexität zu beherrschen. In Unternehmensanwendungen kann auf eine persistente Datenhaltung nicht mehr verzichtet werden, da die gesammelten Daten über einen längeren Zeitraum benötigt werden. Beispiele für diese Applikationen kommen aus dem Bereich der Verwaltung von Personal und Finanzen, aber auch aus dem Bereich der Internetapplikationen. Seite 3 von 21

4 Die Informationen, welche in den Objekten gespeichert sind, müssen auf einen Sekundärspeicher ausgelagert werden, da die Haltung dieser Daten im Arbeitsspeicher schon aufgrund der dauerhaft steigenden Datenmenge nicht möglich wäre. Auch muss nach der Beendigung der Anwendung noch ein Zugriff auf die Daten möglich sein. Um diesen Anforderungen gerecht zu werden kommen Datenbankverwaltungssyteme (engl. Database management systems, DBMS) zum Einsatz. Diese Systeme bieten mehr als nur die reine Datenhaltung, sondern unterstützen Mehrbenutzerbetrieb durch Transaktionen, Hilfe bei der Zugriffskontrolle und bieten Schutz vor Datenverlust. Bei DBMS unterscheidet man drei verschiedene Arten von Systemen: relationale, objekt-relationale und objektorientierte Datenbanksysteme. Bei relationalen DBMS werden die Daten in einer Tabellenstruktur dargestellt. Als Abfragesprache dient SQL. Objektrelationale Datenbanksysteme bauen auf relationalen DBMS auf und erweitern diese. Die Funktionalität wird im Wesentlichen durch den SQL:1999 Standard definiert und umfasst beispielsweise benutzerdefinierte Datentypen und Funktionen, Typ- und Tabellenhierachien. Objektorientierte DBMS bauen hingegen nicht auf Tabellen auf, sondern nehmen Objekte entgegen, welche persistiert werden. Seite 4 von 21

5 Objekt-relationaler Bruch Bei der Verwendung von objektorientierten Programmiersprachen und relationalen Datenbanken steht man dem Problem des objekt-relationalen Bruchs gegenüber. Im Folgenden wird der Begriff semantische Lücke und danach Lösungsmöglichkeiten erläutert. Die semantische Lücke Bei der Implementierung einer Anwendung in einer objektorientierten Programmiersprache, zum Beispiel Java, und der Verwendung einer relationalen Datenbank als Persistenzmedium steht man einigen Problemen gegenüber. Dies liegt an den unterschiedlichen Paradigmen der beiden Konzepte. Der objektorientierte Ansatz befasst sich mit der Frage, wie Daten und Verhalten von Objekten der realen Welt in selbstständige, kleine Dateneinheiten gekapselt werden können. Dem Gegenüber steht der relationale Ansatz, welcher den Fokus auf die vollständige und redundanzfreie Speicherung von Daten legt. In der objektorientierten Programmiersprache kann man objektorientierte Konzepte, wie mehrwertige oder benutzerdefinierte Typen, Vererbung oder auch Beziehungen zwischen Objekten nutzen. Abbildung 1: objektorientierte Sicht In der relationalen Welt gibt es diese Konzepte nicht. Man muss dies mit Hilfe der dort zur Verfügung stehenden Mittel wie zum Beispiel Fremdschlüsselbeziehungen lösen. Im Folgenden werden die verschiedenen Seite 5 von 21

6 bestehenden Ansätze zur Überwindung des objekt-relationalen Bruchs beschrieben. Abbildung 2: Datenbanksicht Lösungsansätze Als erste Möglichkeit gibt es Sprachen der vierten Generation (z.b. SQL), welche stark von der Hardware und dem Betriebssystem abstrahieren und für die Anbindung von Datenbanksystemen entwickelt wurden. Nachteil dieser Sprachen ist, dass sie sehr unterschiedliche Nutzbarkeiten haben. Viele dieser Sprachen sind nur für einen kleinen Anwendungsbereich nutzbar. Ein weiterer Nachteil ist, dass es nur schwer möglich ist eine Schichtenarchitektur einzuhalten. Ein weiterer Ansatz ist der Einsatz von Objektorientierten Datenbanksystemen. Diese bieten die Möglichkeit, Objekte direkt an das Datenbanksystem zu übergeben welches die Daten transparent persistiert. Die Performanz dieser Systeme ist allerdings bei anfrageintensiven Anwendungen deutlich schlechter als die Performanz relationaler Datenbanksysteme. Eine weitere Möglichkeit bietet der Einsatz von objekt-relationalen Mapping oder unterstützender Frameworks. Hier werden die Objekte entweder manuell oder mit Hilfe von Tools auf die einzelnen Relationen abgebildet. Seite 6 von 21

7 ORM mit Java In der Programmiersprache Java stehen unterschiedliche, einfache Mechanismen wie Serialisierung und JDBC zu Verfügung, mit deren Hilfe sich Objekte persistieren lassen. Darüber hinaus haben sich in den letzten Jahren neben einer Vielzahl von Frameworks auch zwei Standards - Enterprise Java Beans Container-Managed Persistence und Java Data Objects entwickelt. Serialisierung Diese Art der Persistierung ist eine Standardkomponente einer jeden Java Virtual Machine. Dabei wird ein Objekt in einen ByteStream abgelegt und so in Form eines Files im Dateisystem gespeichert. Serialisierung kann schnell angewandt werden, das Objekt muss nur die Schnittstelle Serializable implementieren. Dadurch kann die Laufzeitumgebung eine Standard Serialisierung vornehmen. Reicht diese nicht aus, kann die Serialisierung auch händisch bewerkstelligt werden. Anforderungen einer robusten Persistenzschicht, wie z.b. die Unterstützung von Transaktionen, Skalierbarkeit oder Anfragen werden allerdings nicht erfüllt so dass sich Serialisierung nicht als ein Verfahren für Massendatenhaltung eignet. Java Database Connectivity Java Database Connectivity (JDBC) ist eine Standard Schnittstelle in Java, um mit RDBS zu interagieren. Sie ermöglicht es, SQL konforme Befehle an die Datenbank weiterzuleiten. Jeder Hersteller von RDBS bietet in der Regel Treiber an, welche SQL Befehle auf die Implementierung der eigenen Datenbank bestmöglich umsetzen. Durch Verwendung des SQL-Standards werden Anfragen und Transaktionen direkt unterstützt. Das Ergebnis einer Anfrage ist immer eine Menge von Attributen, die Transformation vom relationalen auf das objektorientierte Modell muss also händisch vorgenommen werden. JDBC wird meist für handgemachte ORM Lösungen verwendet. Auch hier muss auf die Problematik der Objektidentität Rücksicht genommen werden. Features wie Caching oder Lazy Loading müssen zusätzlich programmiert werden, da JDBC sie nicht von Haus aus unterstützt. Seite 7 von 21

8 Enterprise Java Beans 2.1 Die Enterprise Java Beans (EJB2.1) Spezifikation definiert das serverseitige Komponentenmodell, mit dem es möglich ist, verteilte Anwendungen zu entwickeln. Neben vielen unterschiedlichen Diensten werden auch zwei unterschiedliche Möglichkeiten unterstützt, um die Geschäftsobjekte zu persistieren. Die Geschäftsobjekte werden in diesem Zusammenhang auch als Entity-Beans bezeichnet. Bean-Managed Persistence Bei Bean-Managed Persistence (BMP) muss eigener Programmcode geschrieben werden, um den Zustand des Objektes in die Datenbank zu übertragen. In diesem Szenario kommt meist wieder JDBC zum Einsatz, es kann aber auch ein Persistence-Framework verwendet werden. Container-Managed Persistence Wird Container-Managed Persistence (CMP) verwendet, so muss kein eigener Datenbankzugriffscode geschrieben werden. Dies wird dem Container überlassen. Jedoch ist es nötig, Metadaten in Form von Deskriptoren bereitzustellen, aus welchen der Container die entsprechenden Informationen für die Persistierung ableiten und somit die SQL-Zugriffe generieren kann. Obwohl es bei CMP so aussieht, als ob sich die Persistierung äußerst komfortabel bewerkstelligen ließe, hat die Vergangenheit jedoch gezeigt dass sich um ein sehr zeit- und fehleranfälliges Verfahren handelt. Persistence-Frameworks Im Laufe der Zeit wurden sowohl kommerzielle, als auch Open-Source Lösungen entwickelt, welche die Persistierung von Objekten automatisieren und dadurch erleichtern. Hier müssen zusätzliche Metainformationen bereitgestellt werden, aus welchen zur Laufzeit Code für den Datenzugriff generiert wird. Der Einsatz eines Persistence-Frameworks erlaubt es zum einen, die Persistierung mit deutlich weniger anwendungsspezifischem Code vornehmen zu können. Zum anderen bieten die meisten Lösungen eine umfangreiche Werkzeugunterstützung an, was die Entwicklung zusätzlich beschleunigt. Im Folgenden werden zwei bekannte Vertreter dieser Kategorie vorgestellt: Seite 8 von 21

9 Java Data Objects JDO ermöglicht die Persistierung von Objekten. Sie bietet eine Reihe von Schnittstellen, welche von unterschiedlichen Anbietern implementiert werden können. Man ist somit komplett unabhängig von einem speziellen Anbieter, als auch von der darunter liegenden Datenbank, egal ob RDMS oder ODBS. JDO lässt sich in unterschiedlichen Szenarien einsetzten und ist damit sowohl für Einzelanwendungen, als auch für verteilte Systeme verwendbar. Gerade bei Applikationsservern findet JDO großen Anklang da eine brauchbare Alternative zu EJB CMP geschaffen wurde. Hibernate Neben einer Vielzahl von Open-Source OR-Mappern ist Hibernate wohl eines der am weitesten entwickelten Persistence-Frameworks. Es zeichnet sich sowohl durch die hohe Performance, als auch durch die umfangreiche Werkzeugunterstützung bei der Entwicklung aus. Mit Hibernate können die meisten verfügbaren relationalen Datenbanksysteme verwendet werden. Der Zugriff ist dabei auf die Datenbank optimiert, da sich Hibernate mit unterschiedlichen Datenbankdialekten verwenden lässt. Die benötigten Metainformationen für den Zugriff auf die jeweilige Datenbank werden in einer Konfigurationsdatei angegeben, welche bei der Instanzierung der SessionFactory geladen wird. Diese Konfigurationsdatei beinhaltet auch die Namen der Klassen, für deren Instanzen eine Persistierung möglich sein soll. Wie auch bei JDO ist es hier nötig, XML-Dateien mit Metainformationen für die persistenten Klassen bereitzustellen. Hier werden, ähnlich wie bei JDO, Beziehungen, die Vererbungshierarchie oder die Art der ID-Generierung für die Objektidentifikation festgelegt. In Bereichen wie Caching oder Transaktionsmanagement bietet Hibernate ähnlichen Funktionsumfang wie JDO. Für Anfragen wird ebenfalls eine eigene Sprache zur Verfügung gestellt, die Hibernate Query Language (HQL). Sie ist wiederum stark an die JDOQL angelehnt. Hibernate zeichnet sich gegenüber vergleichbaren Persistence-Frameworks durch den fortgeschrittenen Entwicklungsgrad, als auch durch umfassende Dokumentation und Werkzeugunterstützung aus, wodurch die Implementierung erheblich erleichtert wird. Seite 9 von 21

10 Enterprise Java Beans 3.0 Bereits kurz nach der Einführung der Enterprise Java Beans 2.1 wurde von vielen Entwicklern erkannt, dass die Spezifikation viel zu kompliziert ist. So ist bereits im Jahre 2004 der Java Specification Request 220 entstanden, der zu einer neuen Version der Enterprise Java Beans führen sollte. Seit Mitte 2006 liegt diese finale Spezifikation vor und erstaunlicherweise konnten einige Anwendungsserver kurze Zeit später mit einer vorläufigen Version von EJB3.0 ausgestattet werden, so dass die Entwickler das bisher Spezifizierte auch testen konnten. Die erste Implementierung eines EJB3.0-fähigen Anwendungsservers wurde von der JBoss-Group bereitgestellt, die auch selbst aktive Mitglieder der JSR220-Expertengruppe war. Mit EJB3.0 wurden die alten Persiszenztechniken CMP und BMP abgeschafft ; anstelle dieser wurde das Beste aus den beiden Welten Hibernate und JDO übernommen und eine erheblich einfacher und gleichzeitig mächtigere Persistenz-API zur Verfügung gestellt. Zum jetzigen Zeitpunkt befinden sich die unterschiedlichen EJB3.0-Implemtierungen noch im Entwicklungszustand. Es ist aber zu erwarten, dass sich EJB3.0 langfristig als die dominierende Persistenztechnik in Java-Umfeld durchsetzen wird. Im folgenden Kapitel wird der Einsatz der neuen Java Persistence API demonstriert. Seite 10 von 21

11 Beispiel mit Enterprise Java Beans 3.0 Beispielanwendung Das folgende Beispiel soll der Prototyp einer Adressverwaltung darstellen; es besteht aus: vier Entity-Beans OrganizationalUnit Phone Kreditor Debitor wobei Kreditor und Debitor Geschäftsobjekte repräsentieren, die Eigenschaften der Klasse OrganizationalUnit erben. Zusätzlich zeigt das Beispiel eine 1-zu-N-Beziehung zwischen OrganizationalUnit und Phone. Einen zustandslosen Session Bean EntityUnit mit dem zugehörigen Interface UnitManager. Dieses Session-Bean ist das einzige Bean, das dem entfernten Client zugänglich ist. Zu den allgemein anerkannten Entwurfsmustern gehört, dass Entity-Beans dem entfernten Client nicht direkt zugänglich gemacht werden, sondern ein Session Bean als Mittler (facade) dazwischengesetzt wird. Einfache Persistenz Das neue Persiszenzframework basiert ausschließlich auf POJOs und sollte daher den meisten Java-Programmierern natürlich vorkommen. Über die werden die POJOs als Entity-Beans bezeichnet. Optional kann die angegeben werden, mit der die Datenbanktabelle bezeichnet wird. Entity-Beans müssen das Interface Serializable implementieren. Auf die wird später eingegangen. Seite 11 von 21

12 Auszug OrganizationalUnit.java: Jedes EntityBean muss einen eindeutigen Identifikator besitzen der in der entsprechenden Tabelle als Primärschlüssel dienen kann. Die entsprechende Variable wird mit versehen. Normale zu persistierende Variablen werden mit gekennzeichnet. Über entsprechende Annotiationen ist es auch möglich die zu generierenden Datenbankfelder feiner zu granulieren (nullable = true/false, Länge von Zeichenketten in VarChar-Feldern etc.). Auszug OrganizationalUnit.java: Seite 12 von 21

13 Relationen Zwischen OrganizationalUnit und Phone besteht eine bidirektionale 1-zu-N- Beziehung. Bidirektionale Beziehungen besitzen sowohl ein besitzendes Ende als auch eine inverses Ende. Das besitzende Ende bestimmt, wann Updates in der Datenbank vorgenommen werden. Dabei gelten folgende Regeln: das inverse Ende der Beziehung muss das besitzende Ende referenzieren und zwar mittels des mappedby-member oder Das N-Ende einer 1-zu-N-Beziehung muss besitzendes Ende sein. Darum kann das mappedby-member nicht in vorkommen. Auszug OrganizationalUnit.java: Auszug Phone.java: Vererbung Mit der neuen Persistenz-API lassen sicher Vererbungen erstaunlich einfach abbilden. Wie in der normalen Objektorientierten Programmierung wird sie mit dem Schlüsselwort extends realisiert. Über die kann zwischen unterschiedlichen Strategien der Datenbanklayouterzeugung unterschieden werden. So kann beispielweise gewählt werden ob jede vererbte Klasse in einer separaten Datenbanktabelle oder alle Klassen in nur einer Datenbanktabelle abgelegt werden. Des Weiteren ist es auch möglich einzelne vererbte Klassen mit oder ohne den Variablen der Basisklasse anzulegen. Seite 13 von 21

14 Auszug OrganizationalUnit.java: Auszug Debitor.java: Auszug Kreditor.java: Fassade Über das Interface UnitManager kann ein entfernter Client auf die Entity-Beans zugreifen. Auszug UnitManager.java: Seite 14 von 21

15 Die Beanklasse EntityUnit implementiert das Interface UnitManager. In dieser Klasse werden über den EntityManager - der in EJB3.0 eine zentrale Rolle spielt die eigentlichen Datenbankoperationen durchgeführt. Auszug EntityUnit.java Es folgen Beispiele für Datenbankstandartoperationen: Auszug EntityUnit.java Seite 15 von 21

16 Query API Das vorherige Beispiel hat sich mit Basisoperationen persistenter Objekte beschäftigt. Über die leistungsfähige Query API können aber auch komplexe Anfragen formuliert werden. Die verwendete Query Language orientiert sich dabei stark an SQL und ist um objektorientierte Eigenschaften wie die Navigation über JavaBean-Eigenschaften ergänzt worden. Auszug EntityUnit.java Seite 16 von 21

17 Persistence Deskriptor Ein großer Teil der Konfiguration des Persistenzkontextes wird vom EJB- Container (dem ApplicationServer) übernommen. Daher reduziert sich der Persistence Deskriptor unter EJB3.0 auf ein Minimum. Es müssen lediglich symbolische Namen für die Persistence-Unit und die zu verwendende JTA- Datenquelle angegeben werden: Im folgenden Beispiel wird auf eine Postgres-Datenbank zugegriffen, die innerhalb des JBoss unter dem Namen Address_Simple2 erreichbar ist. Des Weiteren wird der ApplicationServer angewiesen, die erforderlichen Tabellen selbst zu erstellen und vor einem ReDeploy der Anwendung diese wieder zu löschen. persistence.xml Seite 17 von 21

18 Testen der Beispielanwendung Für den Test der Beispielanwendung empfiehlt es sich die unter Anhang A aufgelistete Software zu installieren. Vor dem Start der Anwendung muss ein JBoss Applicaton-Server so konfiguriert werden, dass er PostgreSQL als Datenquelle einsetzen kann: Hierzu ist es ausreichend die Datei JBOSS_HOME/server/default/deploy/postgres-ds.xml mit der im Quelltext ausgelieferten zu ersetzen. Danach kann der Server mit $./run.sh c default b IP_ADRESSE_DES_SERVERS gestartet werden. Sollte kein externer ApplicationServer genutzt werden muss für IP_ADRESSE_DES_SERVERS gewählt werden. Nach erfolgreichem Start des Servers erscheint die Meldung JBoss_4_0_4_GA date=xxx] Started in 1m:00s:00ms Nun können die Enterprise-Beans ausgeliefert werden. Hierzu wird die dem Quellcode hinzugefügte Komponente Simple_Address_9b.jar in das Verzeichnis JBOSS_HOME/server/default/deploy/ kopiert. Abhängig vom Debug-Level des JBoss wirft dieser einige Informationsmeldungen. Die Client kann am komfortabelsten über das dem Quellcode hinzugefügten Eclipse-Projekt gestartet werden. Ggf. muss die IP-Adresse des Servers in der Datei jndi.properties angepasst werden: java.naming.provider.url=ip_adresse_des_servers:1099 Seite 18 von 21

19 Anhang A Verwendete Software A.1 Java EE 5 SDK Als Basis wird das Enterprise SDK benötigt, welches unter bezogen werden kann. Die Beispielanwendung wurde mit der Version 5_02 entwickelt und getestet. A.2 JBoss Application Server Der JBoss Application Server ist die Implementierung eines Application-Servers nach dem JEE-Standard. JBoss ist neben BEA Weblogic und IBM Websphere einer der drei verbreitesten JEE-Applicationserver. Der JBoss AS ist unter verfügbar. Die Beispielanwendung wurde mit der Version 4.0.4GA-Patch1 entwickelt und getestet. A.3 JBoss IDE für Eclipse Die JBoss IDE für Eclipse bietet neben der integrierten Entwicklungsumgebung eine Vielzahl vonplug-ins welche die Entwicklung im Umfeld der Java Enterprise Edition stark vereinfachen. Sie kann unter bezogen werden. Die Beispielanwendung wurde mit der Version GA entwickelt und getestet. A.4 HSQLDB HSQLDB ist ein open-source Relationales Datenbank- Managementsystem. Es ist in Java implementiert und daher auf allen Java-Plattformen lauffähig. HSQLDB ist relativ weit verbreitet und wird zusammen mit dem JBoss Application-Server ausgeliefert. A.5 PostgreSQL PostgreSQL ist eines der ältesten und am weitesten fortgeschrittenen objektrelationalen Datenbanksysteme im Bereich der freien Software. PostgreSQL kann unter bezogen werden. Die Beispielanwendung wurde mit der Version entwickelt und getestet. Seite 19 von 21

20 Anhang B URL-Verzeichnis B.1 Spezifikationen JSR 220: Enterprise JavaBeans B.2 Systeme, Bibliotheken, Anwendungen Hibernate Hibernate-Tools Java Data Objects (JDO) Container Managed Persistence Java Persistence API (EJB3.0) JRelationalFramework Cayenne ObJectRelationalBridge Turbine/Torque B.3 Artikel und Tutorials J2EE Designpattern Tutorial Hibernate Tutorial EJB3.0 Seite 20 von 21

21 Anhang C Literaturverzeichnis Jürgen Zimmermann, Gerd Beneken: Verteilte Komponenten und Datenbankanbindung. Addison-Wesley 2000 Thomas Stark: Java EE 5. Addison-Wesley 2006 Heiko W.Rupp: JBoss. Dpunkt.Verlag 2004 Seite 21 von 21

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

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

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen 16OH21005 gefördert. Die Verantwortung für den Inhalt dieser

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

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

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 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5. Java Persistence: Entity Manager 6.

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

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

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

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

Übung B. JPA Java Persistence API. Prof. Dr. Andreas Schmietendorf 1. Übung B (Exkurs)

Übung B. JPA Java Persistence API. Prof. Dr. Andreas Schmietendorf 1. Übung B (Exkurs) Übung B JPA Java Persistence API Prof. Dr. Andreas Schmietendorf 1 Überblick zu JPA Prof. Dr. Andreas Schmietendorf 2 Überblick zu JPA Java Persistence API Objektrelationales Mapping - Java SE - Java EE

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

Programmierung von verteilten Systemen und Webanwendungen mit Java EE

Programmierung von verteilten Systemen und Webanwendungen mit Java EE Programmierung von verteilten Systemen und Webanwendungen mit Java EE Frank Müller-Hofmann Martin Hiller Gerhard Wanner Programmierung von verteilten Systemen und Webanwendungen mit Java EE Erste Schritte

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

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

Java-Objekte mit SQL verheiraten

Java-Objekte mit SQL verheiraten ITMAGAZINE Java-Objekte mit SQL verheiraten 24. November 2006 - ibatis ermöglicht die Abstraktion von SQL-Datenbanken, ohne dass man auf von Hand geschriebene SQL-Abfragen verzichten muss. Entwickelt man

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

MyCoRe > V1.0: Technische Weiterentwicklung

MyCoRe > V1.0: Technische Weiterentwicklung MyCoRe > V1.0: Technische Weiterentwicklung Frank Lützenkirchen, Kathleen Krebs Folie 1 Kontrollflüsse bisher Kontrollflüsse sind im MyCoRe Kern oder der darauf basierenden Applikation fix und explizit

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

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

Java-Persistence-API mit Hibernate

Java-Persistence-API mit Hibernate Bernd Müller, Harald Wehr Java-Persistence-API mit Hibernate Standardisierte Persistenz f Г- Щ.4 1 fl/j J ; Щ Ш Ш ADDISON-WESLEY An imprint of Pearson Education München Boston San Francisco Harlow, England

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

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

Softwareentwicklung mit Enterprise JAVA Beans

Softwareentwicklung mit Enterprise JAVA Beans Softwareentwicklung mit Enterprise JAVA Beans JPA - JAVA Persistence API Problem In JAVA-programmen arbeitet man mit Hauptspeicherobjekten. Nach Beendigung des Programmes sind diese nicht mehr vorhanden.

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

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

Kapitel 14. Objekt-relationales Mapping (ORM) mit Hibernate bzw. Java Persistance API (JPA) Prof. Dr. Wolfgang Weber Vorlesung Datenbanken

Kapitel 14. Objekt-relationales Mapping (ORM) mit Hibernate bzw. Java Persistance API (JPA) Prof. Dr. Wolfgang Weber Vorlesung Datenbanken Kapitel 14 Objekt-relationales Mapping (ORM) mit Hibernate bzw. Java Persistance API (JPA) 1 Wozu Objekt-relationales Mapping? - Problematik - Business-Schicht OO-Klassen Unvereinbarkeit der Paradigmen

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

6 Implementierung komplexer Systeme. 6.2 Datenbank-Anbindung

6 Implementierung komplexer Systeme. 6.2 Datenbank-Anbindung 6 Implementierung komplexer Systeme 6.2 Datenbank-Anbindung Analyse Entwurf Implementierung Test, Integration Wartung Literatur: Balzert LE 24-26, 31 Ambler Kap. 10 Einsatz von Datenbanksystemen Persistente

Mehr

Datenbanken 1 Datenbanken SPO 2014 SPO 2007 Belegnummer Belegnummer

Datenbanken 1 Datenbanken SPO 2014 SPO 2007 Belegnummer Belegnummer Datenbanken 1 Datenbanken SPO 2014 SPO 2007 Belegnummer 30.7312 Belegnummer 30.7302 Wintersemester 2017/18 (Bachelor) Materialien zur Vorlesung Inge Hochschule Darmstadt Fachbereich Informatik Motivation

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

Hibernate. Persistenz in Java-Systemen mit Hibernate und der Java Persistence API. dpunkt.verlag

Hibernate. Persistenz in Java-Systemen mit Hibernate und der Java Persistence API. dpunkt.verlag Robert F. Beeger Arno Haase Stefan Roock Sebastian Sanitz Hibernate Persistenz in Java-Systemen mit Hibernate und der Java Persistence API 2., überarbeitete und erweiterte Auflage dpunkt.verlag 1 Einleitung

Mehr

Liste V Enterprise JavaBeans

Liste V Enterprise JavaBeans Liste V Enterprise JavaBeans Fachhochschule Wiesbaden, FB Design Informatik Medien Studiengänge Allgemeine Informatik und Medieninformatik Vorlesung zur Vertiefungslehrveranstaltung Spezielle Methoden

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

Hibernate Das Praxisbuch für Entwickler

Hibernate Das Praxisbuch für Entwickler Sebastian Hennebrüder 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Hibernate Das Praxisbuch für Entwickler Galileo

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

Rene Böing, Alexander Kuhn, Marc Wilmes Einführung in Spring und Hibernate

Rene Böing, Alexander Kuhn, Marc Wilmes Einführung in Spring und Hibernate 1 von 43 Rene Böing, Alexander Kuhn, Marc Wilmes Einführung in Spring und Hibernate 27.11.11 Agenda Einleitung Ist-Zustand Bookstore Was ist Hibernate? Wie funktioniert Hibernate? Was ist Spring? Architektur

Mehr

Janeva:.NET meets J2EE

Janeva:.NET meets J2EE Inhalt: Motivation Was ist Janeva? Systemvoraussetzungen Installation Beispiel Converter Fazit Motivation Motivation: Janeva testen einen Überblick verschaffen Lauffähiges Beispiel Entscheidungshilfe über

Mehr

Datenbanken Datenbanken 1 Belegnummer Belegnummer

Datenbanken Datenbanken 1 Belegnummer Belegnummer Datenbanken Datenbanken 1 Belegnummer 30.7302 Belegnummer 30.7312 Blockkurs 31.08. 11.09.2015 Wintersemester 2015/16 (Bachelor) Materialien zur Vorlesung Michael Roth Inge Hochschule Darmstadt Fachbereich

Mehr

Spring Dynamic Modules for OSGi Service Platforms

Spring Dynamic Modules for OSGi Service Platforms Gerd Wütherich freiberuflicher Softwarearchitekt Spring Dynamic Modules for OSGi Service Platforms Server Anwendungen mit Spring und Eclipse Equinox Agenda OSGi Technologie: OSGi Technologie im Überblick

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

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

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

Software- /Systemarchitektur

Software- /Systemarchitektur Software- /Systemarchitektur Agenda: Definition von Softwarearchitektur Voraussetzungen Was bedeutet Objektorientierung? Wie speichert man Daten persistent? Client-Server-Architektur Schichtenarchitektur

Mehr

Java Database Connectivity (JDBC) zum Zugriff aus in z.b. in Java geschriebenen Applikationen

Java Database Connectivity (JDBC) zum Zugriff aus in z.b. in Java geschriebenen Applikationen Rückblick Java Database Connectivity (JDBC) zum Zugriff aus in z.b. in Java geschriebenen Applikationen JDBC erlaubt Transaktionskontrolle, d.h. Festschreiben und Zurückrollen sowie setzten der Isolationsstufe

Mehr

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Java Enterprise Edition Teil 3. Enterprise Java Beans

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Java Enterprise Edition Teil 3. Enterprise Java Beans UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 Java Enterprise Edition Teil 3 Enterprise Java Beans el0100 copyright W. G. Spruth, wgs

Mehr

ORACLE Business Components for Java (BC4J) Marco Grawunder

ORACLE Business Components for Java (BC4J) Marco Grawunder ORACLE Business Components for Java (BC4J) Marco Grawunder Gliederung 2 Probleme von J2EE/EJB J2EE-Pattern Lösungsansatz: BC4J Architektur einer BC4J-Anwendung Komponenten Entity Objects View Objects Application

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

Die folgende Tabelle stellt die Grundbegriffe der objektorientierten und der relationalen Welt gegenüber:

Die folgende Tabelle stellt die Grundbegriffe der objektorientierten und der relationalen Welt gegenüber: 1.Einleitung: Bei der Arbeit mit objektorientierten Programmiersprachen stellt sich häufig die Frage wie Objekte persistiert werden können. Da vor allem relationale Datenbanken sich großer Beliebtheit

Mehr

10. Datenbank Design 1

10. Datenbank Design 1 1 Die Hauptaufgabe einer Datenbank besteht darin, Daten so lange zu speichern bis diese explizit überschrieben oder gelöscht werden. Also auch über das Ende (ev. sogar der Lebenszeit) einer Applikation

Mehr

pmmda.net 1 Content Ojb.Net NHibernate Gentle.Net Fazit... 4

pmmda.net 1 Content Ojb.Net NHibernate Gentle.Net Fazit... 4 1 Content 1 Content... 1 2 Ojb.Net... 1 3 NHibernate... 2 4 Gentle.Net... 3 5 Fazit... 4 2 Ojb.Net Dokumentation http://ojb-net.sourceforge.net Ojb.Net ist die Portierung des Apache Projektes ojb. Die

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

Criteria API: Komplexe SQL Queries mit Eclipslink bauen

Criteria API: Komplexe SQL Queries mit Eclipslink bauen Schlüsselworte Criteria API: Komplexe SQL Queries mit Eclipslink bauen Thomas Haskes Triestram & Partner GmbH Bochum rapid.java, EclipseLink, Oracle, Criteria API, JPA, Datenbank, SQL Einleitung In der

Mehr

Zukunft der Oracle Applikationsentwicklung: BC4J & XML

Zukunft der Oracle Applikationsentwicklung: BC4J & XML 2 Jahre Niederlassung in München Trivadis GmbH Zukunft der Oracle Applikationsentwicklung: BC4J & XML Markus Heinisch 1 Agenda Tägliches Brot BC4J DEMO Applikation BC4J XML DEMO Applikation XML Fazit 2

Mehr

Etablierung serviceorientierter Architekturen mit Web Services

Etablierung serviceorientierter Architekturen mit Web Services Etablierung serviceorientierter Architekturen mit Web Services Vorlesung im (Entwicklung von Serviceangeboten) 1 Agenda Einsatzbereiche von Web Service basierten Angeboten Übersicht zur Java-System Application

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

Inhaltsverzeichnis Einleitung Imperative Sprachkonzepte Objektorientierte Sprachkonzepte

Inhaltsverzeichnis Einleitung Imperative Sprachkonzepte Objektorientierte Sprachkonzepte Inhaltsverzeichnis 1 Einleitung... 1 1.1 Entwicklungsumgebung... 1 1.2 Vom Quellcode zum ausführbaren Programm... 3 1.3 Erste Beispiele... 4 1.4 Wichtige Merkmale der Programmiersprache Java... 6 1.5 Zielsetzung

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

Application Server Application Server: Motivation Application Server: Begriff

Application Server Application Server: Motivation Application Server: Begriff Application Server ƒ Begriff und Einordnung ƒ Basistechniken ƒ Enterprise JavaBeans (EJB) Vorlesung Internet-Datenbanken 8-1 Application Server: Motivation ƒ Geschäftsanwendungen im Internet mehrstufige

Mehr

Stefan Zörner. Portlets. Portalkomponenten in Java. ntwickier

Stefan Zörner. Portlets. Portalkomponenten in Java. ntwickier Stefan Zörner Portlets Portalkomponenten in Java ntwickier Vorwort 9 1 Portalkomponenten in Java 11 1.1 Hype beiseite 11 Was ist ein Portal? 11 Portalkomponenten in Java 14 Das Portlet-Ökosystem 16 1.2

Mehr

Objektorientierte Datenbanken

Objektorientierte Datenbanken OODB 3 Slide 1 Objektorientierte Datenbanken Vorlesung 3 Sebastian Iwanowski FH Wedel OODB 3 Slide 2 JDO: 1. Teil Entstehungsgeschichte und Ziele von JDO Überblick über den Leistungsumfang von JDO JDO

Mehr

Objekt-relationales Mapping und Performance-Tuning

Objekt-relationales Mapping und Performance-Tuning Objekt-relationales Mapping und Performance-Tuning Thomas Krüger tkrueger@vanatec.com Agenda Wege um Daten zu lesen Wege um Daten zu modellieren Wege um Datenbanken effizient zu nutzen 2 2 Wege, Daten

Mehr

Java Persistence mit Hibernate

Java Persistence mit Hibernate Christian Bauer, Gavin King Java Persistence mit Hibernate ISBN-10: 3-446-40941-6 ISBN-13: 978-3-446-40941-5 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-40941-5

Mehr

Rapid Java wie mit Forms

Rapid Java wie mit Forms DOAG Konferenz 2011 Rapid Java wie mit Forms Java aktuell: XDEV 3 ist die erste professionelle Java IDE für Rapid Application Development. Viele RAD-Funktionen und die Arbeitsweise damit erinnern sehr

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

Java: Kapitel 1. Überblick. Programmentwicklung WS 2008/2009. Holger Röder Holger Röder

Java: Kapitel 1. Überblick. Programmentwicklung WS 2008/2009. Holger Röder Holger Röder Java: Kapitel 1 Überblick Programmentwicklung WS 2008/2009 Holger Röder holger.roeder@informatik.uni-stuttgart.de Was ist Java? Die Java-Technologie umfasst die Programmiersprache Java sowie die Java-Plattform

Mehr

JavaServer Faces Ein Arbeitsbuch für die Praxis

JavaServer Faces Ein Arbeitsbuch für die Praxis Bernd Müller JavaServer Faces Ein Arbeitsbuch für die Praxis HANSER Inhaltsverzeichnis Vorwort XI 1 Einleitung 1 1.1 Das Ziel dieses Buches 1 1.2 Der Leser 3 1.3 Das Buch im Netz 4 1.4. Verwendete Software

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

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

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

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

Der Tiger im Tank: PL/SQL-Logik in Java-Anwendungen optimal nutzen

Der Tiger im Tank: PL/SQL-Logik in Java-Anwendungen optimal nutzen Der Tiger im Tank: PL/SQL-Logik in Java-Anwendungen optimal nutzen Thomas Haskes & Jens Hüttemann Triestram & Partner GmbH (t&p) Bochum Schlüsselworte Integration von datenbank-seitigem PL/SQL in eine

Mehr

Ausgemustert? Der Einfluss von EJB 3.0 auf J2EE Design Patterns. Java Forum Stuttgart, 5. Juli 2007 Stefan M. Heldt

Ausgemustert? Der Einfluss von EJB 3.0 auf J2EE Design Patterns. Java Forum Stuttgart, 5. Juli 2007 Stefan M. Heldt Ausgemustert? Der Einfluss von EJB 3.0 auf J2EE Design Patterns Java Forum Stuttgart, 5. Juli 2007 Stefan M. Heldt Motivation des Vortrags Design Patterns in der Softwareentwicklung Problembeschreibung

Mehr

FWP Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen. Sommersemester Michael Theis, Lehrbeauftragter 1

FWP Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen. Sommersemester Michael Theis, Lehrbeauftragter 1 FWP Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen Sommersemester 2017 2017 Michael Theis, Lehrbeauftragter 1 2 Java EE Spezifikation definiert ein Programmiermodell für Applikationen

Mehr

Java.NET Web-Technologien Mobile

Java.NET Web-Technologien Mobile 2017 Java.NET Web-Technologien Mobile MATHEMA Training Seit mehr als 20 Jahren unterstützen wir unsere Kunden nicht nur mit hochqualifizierter Beratung sowie Entwicklungsleistung, sondern geben unser in

Mehr

Webbasierte Informationssysteme

Webbasierte Informationssysteme SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn - SS 2004 - Prof. Dr. Stefan Böttcher Folie 1 Was ist eine relationale Datenbank? Menge von Relationen (=Tabellen) und Constraints (=Integritätsbedingungen)

Mehr

ENTWICKLUNGS- UND LAUFZEITUMGEBUNG DER CSE: ECLIPSE UND JBOSS. Piotr Kasprzak

ENTWICKLUNGS- UND LAUFZEITUMGEBUNG DER CSE: ECLIPSE UND JBOSS. Piotr Kasprzak ENTWICKLUNGS- UND LAUFZEITUMGEBUNG DER CSE: ECLIPSE UND JBOSS Piotr Kasprzak Agenda Laufzeitumgebung Java EE (J2EE) Motivation APIs / Technologien JBoss Entwicklungsumgebung Eclipse Ausblick Java EE -

Mehr

Inhaltsverzeichnis. Enterprise Java im Überblick. Technologien der Java2 Enterprise Edition

Inhaltsverzeichnis. Enterprise Java im Überblick. Technologien der Java2 Enterprise Edition Inhaltsverzeichnis Vorwort 13 I Enterprise Java im Überblick 1 Bedeutung von Enterprise Java und IBM WebSphere 21 1.1 Enterprise Java 23 1.1.1 Anforderungen 23 1.1.2 E-Business 30 1.1.3 Java 36 1.2 IBM

Mehr

Realtime Daten-Rückschreibung in Tableau mit der Extensions API //

Realtime Daten-Rückschreibung in Tableau mit der Extensions API // Was wir vorhersagen, soll auch eintreffen! Realtime Daten-Rückschreibung in Tableau mit der Extensions API // Pascal Muth Zusammenfassung In diesem Whitepaper wird die Tableau Extensions API von Tableau

Mehr

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Gerüstbeispiel. Vererbungshierarchie: Typ 0

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Gerüstbeispiel. Vererbungshierarchie: Typ 0 9 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Wiederholung: Gerüstbeispiel Ein Duo, Quarto oder Sexto ist ein Gerüst. Die Klassen Duo, Quarto und Sexto sollen durch Vererbung

Mehr

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen.

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen. 1 In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen. Zunächst stellt sich die Frage: Warum soll ich mich mit der Architektur eines DBMS beschäftigen?

Mehr

Referent: Marko Modsching. Vortrag: JPA mit Hibernate. Datum: 04.01.2011. Deutsche Software Engineering & Research GmbH

Referent: Marko Modsching. Vortrag: JPA mit Hibernate. Datum: 04.01.2011. Deutsche Software Engineering & Research GmbH Referent: Marko Modsching Vortrag: JPA mit Hibernate Datum: 04.01.2011 Deutsche Software Engineering & Research GmbH Steinstraße 11 02826 Görlitz Germany Telefon: +49 35 81 / 374 99 0 Telefax: +49 35 81

Mehr

O/R Mapper. O/R Mapper anhand von NHibernate & Entity Framework Thomas Mentzel März 2010

O/R Mapper. O/R Mapper anhand von NHibernate & Entity Framework Thomas Mentzel März 2010 O/R Mapper O/R Mapper anhand von NHibernate & Entity Framework Thomas Mentzel März 2010 Agenda Object-relational impedance mismatch Mapping Session Abfragen No. 2 Object-relational impedance mismatch Object-relational

Mehr

Vergleich von Webtechnologien zur Erstellung einer Rich Internet Applicationam Beispiel der Kundenverwaltungssoftware VDMS

Vergleich von Webtechnologien zur Erstellung einer Rich Internet Applicationam Beispiel der Kundenverwaltungssoftware VDMS Stephan Püngel Vergleich von Webtechnologien zur Erstellung einer Rich Internet Applicationam Beispiel der Kundenverwaltungssoftware sübersicht Einstieg Vorstellung als Rich Internet Application Technologie

Mehr

Einsatz von Applikationsservern. Untersucht am Beispiel des Sybase Enterprise Application Server

Einsatz von Applikationsservern. Untersucht am Beispiel des Sybase Enterprise Application Server Einsatz von Applikationsservern Untersucht am Beispiel des Sybase Enterprise Application Server Architektur von Datenbanksystemen Client / Server Modell (2 Schichten Modell) Benutzerschnittstelle Präsentationslogik

Mehr

Erfahrungen und Erkenntnisse. Klaus Richarz, HBT GmbH

Erfahrungen und Erkenntnisse. Klaus Richarz, HBT GmbH Erfahrungen und Erkenntnisse Klaus Richarz, HBT GmbH Java Enterprise Edition 5.0 JBoss Seam Konsequenzen für Realisierung Qualitätssicherung Build & Deployment Fazit & Empfehlungen JBoss Seam in Projekten,

Mehr

Motivation Grundlagen Technologien Manipulation Ecore Genmodell Demo Persistenz Notification Ausblick GMF Fazit / Quellen

Motivation Grundlagen Technologien Manipulation Ecore Genmodell Demo Persistenz Notification Ausblick GMF Fazit / Quellen Motivation Grundlagen Technologien Manipulation Ecore Genmodell Demo Persistenz Notification Ausblick GMF Fazit / Quellen Soll ich Modellieren oder Programmieren? sowohl als auch!!! Produktivitäts-Steigerung

Mehr

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Java Remote Method Invocation Teil 3 RMI over IIOP

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Java Remote Method Invocation Teil 3 RMI over IIOP UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 Java Remote Method Invocation Teil 3 RMI over IIOP el0100 copyright Abt. Technische Informatik,

Mehr

Model Querys zur Überprüfung von sicherheitsrelevanten Eigenschaften

Model Querys zur Überprüfung von sicherheitsrelevanten Eigenschaften Model Querys zur Überprüfung von sicherheitsrelevanten Eigenschaften Proseminarvortrag Werkzeugunterstützung für sichere Software Jens Knipper Fakultät für Informatik Technische Universität Dortmund 31.

Mehr

Übungsaufgaben zur Klausurvorbereitung Datenbanken 2, SoSe 2016

Übungsaufgaben zur Klausurvorbereitung Datenbanken 2, SoSe 2016 Die nachfolgenden Aufgaben sind nach Kategorien geordnet und stellen eine Auswahl von Aufgaben aus alten Klausuren des bisherigen Bachelor-WP-Fachs Datenbank Anwendungsentwicklung dar. Kategorie 1: OR-Mapping

Mehr

Release-News: Technische Lösungen

Release-News: Technische Lösungen Technische Dokumentation Release Comarch ERP Enterprise 6.0 Ausgabedatum 06/2017 Referenz auf andere Dokumente Release-News: Betriebswirtschaftliche Lösungen Inhaltsverzeichnis 1 Vorwort 1 2 Session-Management

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