WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Klausur-Termin? 120 Minuten Bearbeitungszeit Mögliche Termine (unter.

Slides:



Advertisements
Ähnliche Präsentationen
Object Relational Mapping
Advertisements

Objektrelationales Mapping mit JPA
Persistente Domänenmodelle mit JPA 2.0 und Bean Validation
Objektrelationales Mapping mit JPA Advanced Topics Jonas Bandi Simon Martinelli.
Programmieren im Großen von Markus Schmidt und Benno Kröger.
www.materna.de1 Evaluierung einer aus Open Source Komponenten bestehenden J2EE Umgebung Marcus Jäger ~ Fachinformatiker Anwendungsentwicklung ~
DI Christian Donner cd (at) donners.com
Kapitel 8: Nachrichtenbasierte Kommunikation mit JMS
Übung 5 Mehrstufige Client/Server-Systeme mit Enterprise Java Beans
Enterprise Java Beans (EJB) VL Anwendungssysteme Freitag, Gerald Weber.
WS06/07Prof. Dr. Andreas Schmietendorf1 Programmierung von Client/Server- Anwendungen Übersicht zur Vorlesung.
Objektrelationales Mapping mit JPA Working with Persistent Objects Jonas Bandi Simon Martinelli.
Stephan Bury  Pascal Busch  Bita Gerami
Java: Objektorientierte Programmierung
Java: Grundlagen der Sprache
Java: Grundlagen der Objektorientierung
XINDICE The Apache XML Project Name: Jacqueline Langhorst
Transaction Script Software Component Technology for Distributed Applications.
Java2 Enterprise Edition René Noack Mai 2003
Access 2000 Datenbanken.
DVG Klassen und Objekte
JDBC EDV JDBC.
Java Data Objects (JDO) und Implementierung in FastObjects.
J2EE Conformance von JDBC Middleware und EJB Applikation Server Detlef KünzelSystemberater +49 (0)
M A P K I T Management eines J2EE basierten eCommerce Systems am Beispiel des ATG Dynamo Applikationsservers und BMC Patrol als Managementframework.
UML Begleitdokumentation des Projekts
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Visualisierung objektrelationaler Datenbanken
Herzlich Willkommen… welcome… soyez la bienvenue….
Wir bauen uns eine Webapplikation!
Einführung / Geschichte Einführung / Geschichte Motivation Motivation Beispiel Beispiel Architektur / Komponenten Architektur / Komponenten Konfiguration.
EJB-Applikationsserver
Aichinger Christian, Strasser Jürgen. Inhalt JSF EJB Praxis - Integration.
Architekturen und Techniken für computergestützte Engineering Workbenches.
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 9 Folie 2 ADO.NET (1) Klassen für Zugriffe.
Sesame Florian Mayrhuber
Getting Started Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.
WS 2011/12 Datenbanksysteme Mi 15:15 – 16:45 R Vorlesung #9 Physische Datenorganisation.
Esprit Database Suite Eine leistungsfähige Java-Persistzenzschicht zur einfachen Programmierung von Datenbankapplikation.
Vorlesung #10 Physische Datenorganisation
JavaServer Faces Urs Frei. Inhalt JSF Funktionsweise Rückblick JSP Bestandteile von JSF So einfach ist die Anwendung (Beispiel) Eclipse im Einsatz (Entwicklungsumgebung)
XML und Datenbanken © 2006 Markus Röder
EPROG Tutorium #4 Philipp Effenberger
Torque in Turbine Team 4 Josef Bohninger Thomas Lindenhofer
CuP - Java Vierte Vorlesung Entspricht ungefähr Kapitel 2.1 des Skriptums Montag, 14. Oktober 2002.
Hibernate (OR-Mapping)
Mind the Gap Die semantische Lücke zwischen Objekten und Relationen.
Programmiervorkurs WS 2014/15 Methoden
Informatik I : Software höhere Programmiersprachen Java Klassen: hat Methoden (Funktionen) und Daten (Variablen) es kann mehrere Klassen geben nur eine.
Persistenz: Objekt-Lebensdauer In RDBMS wird Lebensdauer von Werten durch ihren Typ festgelegt: Instanzen von Relationstypen sind persistent, alle anderen.
Vortrag - Diplomarbeiten (HS I)
Motivation Motivation für objektorientierte DBMS (ODBMS): –„Impedance Mismatch“ zwischen relationalem Datenmodell und Programmiersprachen-Datenmodell erfordert.
Datenbanken im Web 1.
Datenbank System (DBS) - Warum?
J2EE-Motivation(I) Anforderungen an heutige Software u.a.:
EJB Architektur für große Web - Applikationen Gerald Weber
O/R - Mapper Hibernate ETIS SS04. Hibernate 2 Gliederung Motivation Architektur Persistente Klassen Mapping-Files Konfiguration und Datenbanken Ablauf.
Datenbanken und Internet
Java 2 Enterprise Edition (J2EE) Sascha Baumeister Software Architect Specification Lead JSR086 IBM Deutschland Entwicklung GmbH
Enterprise-IT-Praktikum Hibernate-Einführung Institut für Telematik Universität zu Lübeck Wintersmester 2012/13 Dennis Boldt David Gregorczyk.
Rusch Philipp, Spiegel Philipp, Sieber Michael, Ucar Sahin, Wetzel Markus.
, Claudia Böhm robotron*SAB Anwendungsentwicklung mit dem Java und XML basierten Framework robotron*eXForms Simple Application Builder.
IT-Dienstleistungen E-Learning Systeme Content Management 1 Fallbeispiel ILIAS: Das Repository-Objekt-Plugin „Centra“
© 2012 TravelTainment Datenbankzugriffe in Java-Applikationen mit Hilfe des Spring Frameworks Simon Wirtz Seminarvortrag WS 13/14 Oktober 2013.
DOAG Regionaltreffen Trier/Saarland Verwendung von TopLink in J2EE Applikationen 09. September 2003 Marcus Keuper, Pfeil GmbH
© 2012 TravelTainment Einführung in Enterprise JavaBeans Seminarvortrag von Ralf Penners Folie 1 von 34.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Einflußreiche Systeme Dr. Wolfgang Wörndl.
Verteilte Anwendungen: J2EE
Von Wietlisbach, Lenzin und Winter
Von Wietlisbach, Lenzin und Winter
 Präsentation transkript:

WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Klausur-Termin? 120 Minuten Bearbeitungszeit Mögliche Termine (unter Vorbehalt): –Freitag –Montag – 10:00 – 12:00 Uhr –Dienstag – 10:00 – 12:00 Uhr –???

WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Persistenz Persistenz = dauerhafte Speicherung (DB, Datei, …) Frage 1: Warum reden wir darüber? Frage2: Zusätzliche Anforderungen/Probleme bei persistenter Speicherung? Frage 3: Wie speichere ich die Objekte meiner OO- Programmiersprache (z.B. Java)?

WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Warum reden wir darüber? Die Daten sind wichtig, sie bilden die Grundlage des Geschäftes und machen einen großen Teil des Geschäftvermögens aus!  daher Anforderung für fast jeder Unternehmensanwendung Die Speicherung ist einer der größten Geschwindigkeitsbegrenzer für Unternehmensanwendungen! Die Realisierung meist teuer!

WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Anforderungen/Probleme Zuverlässigkeit – Speichermedien können versagen (Haltbarkeit) Transport – bei der Übertragung vom Hauptspeicher zum Speichermedium kann es zu Fehlern kommen (generell) Zugriffsschutz – persistente Daten müssen vor unbefugtem Zugriff geschützt werden Mehrbenutzerzugriff – konkurrierende Zugriffe, insbesondere bei Updates Transaktionen – Während eines Schreibvorgangs können Fehler auftreten Performanz – Festplatten und Netzwerke sind langsamer als Hauptspeicher

WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Beispiel: Java Objekt public class Person { String name; ArrayList nummern = new ArrayList(); public Person(String name) { this.name = name; } public void addNummer(String num) { this.nummern.add(num); } public static void main(String[] args) { // first create the Object Person p = new Person("Karsten"); p.addNummer("12345"); p.addNummer("67890"); System.out.println(p.getNummernListe()); }

WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Ansätze für Persistenz Ohne DBMS – Speicherung in einer Datei Nutzung eines ODBMS Nutzung von RDBMS –JDBC oder SQLJ –EJB –JDO –Frameworks (z.B. Hibernate)

WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Serialisieren von Objekten in Java Objekte werden von Java in einer Datei gespeichert und können wieder geladen werden. Alle relevanten Objekte müssen das Interface “java.io.Serializable” implementieren.

WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Serialize - Deserialize Referenzierende Objekte werden automatisch mit gespeichert (serialize) und auch mit geleaden (deserialize). AB class A implements Serializable { private B b; public A() { b = new B(); }

WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Beispiel: Java Serialize public class Person implements Serializable { String name; ArrayList nummern = new ArrayList(); … } class PersTest { public static void main(String[] args) { … Person a = new Person(“Fred”); ObjectOutputStream os = new ObjectOutputStream(new FileOutputStream(“filename”); os.writeObject(a); os.close; … ObjectInputStream is = new ObjectInputStream(new FileInputStream(“filename”); Person b = (Person)is.readObject(); is.close(); … }

WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Nutzung eines DBMS Vorteile: –Auch für große Datenmengen –Anforderungen wie: Mehrbenutzer, Indexverwaltungen, Zugriffsschutz, … sind bereits integriert. Probleme: –Mögliche Lizenzgebühren –Aufwendigere Umsetzung (Datentypen, Strukturen – abhängig vom jeweiligen DBMS) ODBMS – zu geringe Verbreitung (auf ODBMS gehen wir in dieser Vorlesung nicht wirklich ein!-) RDBMS – Abbildung von Objekten auf Tabellen nötig

WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Nutzung von SQLJ oder JDBC O/R-Mapping ist Aufgabe des Programmierers –Zeitaufwendig – jedes mal das Gleiche –Schlecht zu warten – andere Programmierer müssen sich erst einarbeiten –Performance abhängig vom Geschick des Programmierers

WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Beispiel Teil 1 IDNameNummern 1Test{1,2,34} ……… public class Person { String name; ArrayList nummern = new ArrayList(); … Möglichkeit 1 IDNameNummern 1Test Möglichkeit 2

WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Beispiel Teil 2 IDName 1Test IDNummern Forein Key Constraint Möglichkeit 3

WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle EJB – Enterprise Java Bean Standardisierte Komponente innerhalb J2EE (Java 2 Enterprise Edition  Java EE 5) Zurzeit ist EJB 3.0 aktuell Entwickelt vorwiegend von SUN

WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle EJB – Enterprise Java Bean

WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle EJB – Enterprise Java Bean Session Bean –stateful –stateless Message Driven Bean –zur asynchrone Kommunikation Entity Bean –Bean Managed Persistenz –Container Managed Persistenz

WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle EJB – Enterprise Java Bean Entity Beans sind persistent (2 Typen), Erlauben Zugriff von mehreren Clients, –Typically, the EJB container provides transaction management. Besitzen einen “primary keys” (Identität), Können Beziehungen zu anderen Entity Beans haben.

WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle EJB – CMP EJB Container kümmert sich um DB-Zugriffe  Container Managed Persistenz Kein SQL in der EJB  unabhägig vom DBMS einfachere Portierung Klare Trennung von Geschäftslogik und Speicherlogik Im Deployment Descriptor, wird “abstract schema” definiert, welches die Persistenten Felder und Beziehungen beschreibt.

WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle EJB – Deployment Descriptor Person … Container 2.x … id name id …

WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle EJB - BMP Programmierer kümmert sich um Persistenz  Bean Managed Persistenz Wissen über DBMS und die Abbildung auf die Speicherstruktur ist während des Programmierens nötig. Flexibler!!!! –Bei komplexen Joins, Legacy Systemen etc. unumgänglich –Performance Optimierung möglich

WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle JDO – Java Data Objects Spezifikation für ein Framework zur persistenten Speicherung von Java Objekten JDO gibt keine Vorgaben für physikalische Speicherung – (O/R)DBMS oder andere  Zwischenebene, Programmierer (-ung) ist unabhängig vom DBMS

WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle JDO – Ziele Anwendung getrennt vom Persistierungprozess Sicht auf das Persistierungsmedium abstrahiert Unabhängikeit vom Persistierungsmedium Unabhängigkeit von der Laufzeitumgebung –JDO ist unabhängig von J2EE Austauschbarkeit der JDO-Implementierung

WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle JDO – Java Data Objects Erste Version 2001 unter anderem von SUN, IBM, Apple, … Referenzimplementierung von SUN JDO 2 wurde im Mai 2006 verabschiedet JDO wurde von SUN an Apache abgegeben

WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Hibernate Open Source Projekt (Lizenz: LGPL – GNU Lesser General Public License siehe: ) Java (und.NET) persistenz für relationale DBMS .NET = NHibernate Zitat von Hibernate Web Seite: “Hibernate is a Professional Open Source project and a critical component of the JBoss Enterprise Middleware System (JEMS) suite of products. JBoss, a division of Red Hat, offers a range of 24x7 Professional Support, Consulting, and Training services to assist you with Hibernate.”JBoss Enterprise Middleware SystemRed Hat24x7 Professional Support, Consulting, and Training services

WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Hibernate Hibernate (engl. für „Winterschlaf halten“) KEIN Standard Keine graphische Oberfläche Homepage:

WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Hibernate Abbildung auf Relationen erfolgt mittels einer XML-Datei <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 2.0//EN" " ……… POJO ist eine Abkürzung für Plain Old Java Object, also ein „ganz normales“ Objekt in der Programmiersprache Java.

WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Es folgt ein Auszug aus: Persistenz von Objekten von Dr. Serge Shumilov Universität Bonn

WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle

IBM – Software testen … kostenfreie DB Versionhttp://www-306.ibm.com/software/data/db2/express/ kostenfreie Software aus verschiedenen Bereichen (inkl. Rational, DB, WebSphere)