Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "WS2006/2007 Vorlesung: Datenbanken und Internet Copyright 2006 – DBIS/Dr. Karsten Tolle Klausur-Termin? 120 Minuten Bearbeitungszeit Mögliche Termine (unter."—  Präsentation transkript:

1 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 –???

2 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)?

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

4 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

5 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()); }

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

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

8 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(); }

9 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(); … }

10 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

11 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

12 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

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

14 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

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

16 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

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

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

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

20 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

21 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

22 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

23 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

24 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

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

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

27 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

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

29

30

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


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

Ähnliche Präsentationen


Google-Anzeigen