Java-Persistenz mit Hibernate April 2006

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Java-Persistenz mit Hibernate April 2006"

Transkript

1 Newsletter April 2006 Einleitung Der OR-Mapper Hibernate hat inzwischen eine sehr weite Verbreitung erreicht nach eigenen Angaben ist Hibernate der klare Marktführer bei OR-Mappern. Immer mehr Projekte nutzen Hibernate, das inzwischen in der Version 3 vorliegt, um auf einfache Art und Weise ihre Java-Objekte in relationalen Datenbanken zu speichern. Dieser Newsletter erläutert die Funktionsweise von Hibernate, zeigt die Vorteile, die sich beim Einsatz von Hibernate ergeben und gibt einen Ausblick auf die Zukunft von Hibernate im Zusammenhang mit EJB 3. Der Gesamtzusammenhang Gavin King gründet das Hibernate-Projekt im November 2001 unter der Open-Source-Plattform Sourceforge. Im Juni 2003 wird Hibernate 2.0 veröffentlicht und erreicht eine sehr große Verbreitung (mehrere Downloads pro Monat). Die Industrie beginnt, sich ernsthaft für Hibernate zu interessieren. Im Oktober 2003 integriert sich Hibernate in die JBoss-Gruppe. Im April 2004 gibt es eine Million Klicks auf Im Juni 2004 erscheint die Draft-Version von EJB 3, dessen Persistenzmodell erheblich von Hibernate beeinflusst wurde. Im März 2005 wird Hibernate 3.0 veröffentlicht. Diese Entwicklung hat zwei wesentliche Kritikpunkte an Hibernate entkräftet: Hibernate wurde vorgeworfen, so genannte Guru-Software zu sein. Hibernate sei abhängig vom Projektgründer Gavin King. Inzwischen beteiligen sich viele andere Programmierer an der Weiterentwicklung von Hibernate. Außerdem ist durch den Beitritt von Hibernate zur JBoss-Gruppe auch ein kommerzieller Firmenhintergrund für Hibernate geschaffen worden. Hibernate wurde die fehlende Standardisierung entgegengehalten. Durch den Einfluss von Hibernate auf das Persistenzmodells von EJB 3 sowie die Verbreitung von Hibernate kann man bereits heute von einem Quasi-Standard sprechen. Der Migrationspfad zu EJB 3 ist bereits heute in Hibernate angelegt und damit steht auch der formalen Standardisierung nichts im Weg. Funktionsweise von Hibernate Hibernate verfolgt den Ansatz transparenter Persistenz mit POJOs (POJO = Plain Old Java Object). Das bedeutet, dass die Geschäftsobjekte nicht geändert werden müssen, um persistierbar zu sein. Sie werden wie ganz normale nicht-persistente Geschäftsobjekte programmiert (siehe Code-Beispiel 1 im Anhang). Wie die Geschäftsobjekte auf die Datenbank abgebildet werden, wird in Mappingdateien beschrieben, die im XML-Format definiert werden. In den Mappingdateien wird festgelegt, welche Geschäftsobjekte persistent sein sollen, welche Felder wie in der Datenbank abzulegen sind und welche Beziehungen zu anderen persistenten Geschäfttsobjekten existieren (siehe Code-Beispiel 2 im Anhang). Dabei können die Mappingdateien sehr schlank ausfallen, weil Hibernate die meisten Definitionen selbst mit sinnvollen Defaultwerten bestücken kann. So ist für das Schreiben und Pflegen der Mapping-Dateien nur geringer Aufwand notwendig.

2 Die Mappingdateien können über XDoclet auch aus Java-Quellcode generiert werden (siehe [2] und [4]). Darüber hinaus unterstützen vielen MDA 1 - und MDSD 2 -Werkzeuge die Generierung von Hibernate-Mappingdateien. Wenn das System gestartet wird, liest Hibernate die Mappingdateien ein und generiert zur Laufzeit Bytecode, der für die transparente Persistenz sorgt. Java-VM Termin.java javac Termin.class Hibernate Termin.class Der Anwendungscode, der mit den persistenten Geschäftsobjekten umgeht, ist natürlich abhängig von Hibernate. Er muss insbesondere das Suchen, Laden und Speichern von Geschäftsobjekten initiieren. Dabei spielt die Klasse Session eine zentrale Rolle (siehe Code-Beispiel 3 im Anhang). Sie stellt die Funktionen zum Laden, Speichern und Löschen von Geschäftsobjekten zur Verfügung, erledigt das Caching und stellt den Zugang zu den Hibernate-Abfragemöglichkeiten dar. Hibernate Datenbank Anwendungscode Geschäftsobjekte Datenbank-Abfragen werden in HQL (Hibernate Query Language) definiert. Die HQL ist an SQL angelehnt, so dass sie mit SQL-Grundkenntnissen leicht zu erlernen ist (siehe Code-Beispiel 4 im Anhang). Außerdem kann Hibernate so die HQL performant auf SQL abbilden. 1 MDA=Model Driven Architecture 2 MDSD=Model Driven Software Development

3 Performance Ein wichtiges Kriterium für OR-Mapper ist die Performance. Hibernate benutzt eine Mischung aus Bytecode- Generierung und Core-Reflection, die zu einem vernachlässigbar kleinen Overhead führt. Bei der direkten Datenbank-Kommunikation spielt Hibernate seine Stärken aus. Hier wirken sich primär drei Hibernate-Konzepte positiv aus: 1. Spezifische Datenbank-Adapter 2. Caching pro Session (First Level Cache) 3. Lazy-Loading (Load on Demand) Hibernate nutzt die standardisierte JDBC-Schnittstelle zum Zugriff auf die Datenbank. Gleichzeitig verwendet Hibernate spezifische Datenbank-Adapter, die Detailwissen über das konkrete Datenbank-Management-System besitzen. Sie ist es Hibernate möglich, Optimierungen ganz genau auf das verwendete Datenbank-Management- System zuzuschneiden. Die Verwendung der Datenbankadapter ist dabei für den Entwickler transparent. Er muss nur in einer Konfigurationsdatei den verwendeten Datenbanktyp angeben. Eine Programmanpassung bei Änderung des verwendeten Datenbanksystems ist nicht notwendig. Hibernate bringt spezifische Datenbank-Adapter für alle gängigen Datenbank-Management-Systeme (DB2, Oracle, mysql, PostgreSQL, etc.) mit. Speichert die Anwendung ein Geschäftsobjekt über Hibernate, wird das Objekt nicht sofort in die Datenbank geschrieben. Stattdessen wird das Geschäftsobjekt zunächst in einem Cache zwischengespeichert. Erst wenn die Transaktion abgeschlossen oder der Cache explizit geleert wird, werden die Geschäftsobjekte auch in die Datenbank geschrieben. Wird ein Objekt angefordert, dass sich bereits im Cache befindet, wird es direkt von dort geliefert ein Datenbankzugriff ist nicht notwendig. Dadurch wird die Anzahl der Datenbankzugriffe deutlich reduziert und die Dauer von Transaktionen auf der Datenbank minimiert. Werden Objekte geladen, arbeitet Hibernate mit Lazy-Loading. Das bedeutet, dass immer nur so viele Daten aus der Datenbank geladen werden, wie im Moment benötigt werden. Werden weitere Daten benötigt, werden diese transparent nachgeladen. Weiß die Anwendung bereits vorher, dass sie viele Daten auf einmal benötigen wird, kann sie mit Join-Fetching das Lazy-Loading auch gezielt ausschalten. Insgesamt kann man festhalten, dass Hibernate sehr guten SQL-Code generiert, der häufig sogar handoptimiertem SQL überlegen ist. Sollte es einmal Hart auf Hart kommen, kann man Hibernate immer noch sein eigenes hoch optimiertes SQL unterschieben.

4 Vorteile von Hibernate Die Verwendung von Hibernate bringt viele gewichtige Vorteile mit sich: Hibernate erlaubt ein performantes OR-Mapping unter Ausnutzung der spezifischen Datenbankmöglichkeiten, ohne vom konkreten Datenbank-Management-System abhängig zu werden. Geschäftsobjekte müssen für die Verwendung mit Hibernate nicht angepasst werden (Hibernate ist minimal-invasiv). Hibernate ist Open-Source. Dadurch entfallen nicht nur die Lizenzkosten. Viel wichtiger ist die Möglichkeit, durch Lesen des Quelltextes ein besseres Verständnis der Hibernate-Funktionsweise zu bekommen. Da man so auch in den Hibernate-Quelltext hinein debuggen kann, ist bei Fehlerfällen auch leicht festzustellen, ob das Problem bei Hibernate oder in der eigenen Anwendung besteht. Das ist insbesondere während der Lernphase sehr wichtig. Gleichzeitig erhöht sich die Investitionssicherheit, weil man Bugs zu Not selbst beheben kann. Durch den Einsatz von Hibernate lassen sich ca. 30% Anwendungscode im Gegensatz zur Programmierung auf JDBC-Basis sparen. Weniger Code bedeutet höhere Produktivität und geringere Fehlerwahrscheinlichkeit. Hibernate hat sich als Quasi-Standard etabliert. Es gibt sehr viele Entwickler mit Hibernate-Know-How, sehr viele Informationsmöglichkeiten im Internet und eine gute Unterstützung in anderen Werkzeugen und Frameworks (z.b. auch im Spring-Framework, siehe [5]). In EJB 3 wird das Persistenzmodell runderneuert und an Hibernate ausgerichtet. Wer heute Hibernate einsetzt, befindet sich bereits auf dem Weg hin zu EJB 3. Dem Quasi-Standard folgt also der offizielle Industriestandard. Gegenüber JDO (siehe [6]) bringt Hibernate eine Reihe von Vorteilen mit sich: o Bei JDO ist die Generierung von Bytecode ein eigener Post-Compile-Lauf, der den Build- Prozess verkompliziert und die Entwicklung verlangsamt. o JDO gibt es bis heute nur von kommerziellen Herstellern, so dass z.t. erhebliche Lizenzkosten anfallen. o Support gibt es daher ebenfalls nur direkt vom Hersteller, während sich bei Hibernate eine riesige weltweite Community entwickelt hat, die sich gegenseitig bei Problemen hilft. o Während Hibernate aus der direkten Praxiserfahrung entstanden ist, wurde JDO am grünen Tisch entworfen. Viele Probleme wurden erst im Nachhinein beim Praxiseinsatz deutlich, so dass die JDO-Spezifikation geändert werden musste. Diese Anpassung der Spezifikation an die Praxisbedürfnisse und die Umsetzung der neuen Spezifikation durch die Hersteller ist ein langwieriger Prozess. Zwangsläufig haben die JDO-Hersteller eigene spezifische Erweiterungen in ihre JDO-Produkte eingebaut, die die Softwareprojekte von Ihnen abhängig machen (so genanntes Vendor Lock In). Gegenüber Entity-Beans (siehe [7]) ist Hibernate deutlich leichtgewichtiger, einfacher zu programmieren und vor allem auch ohne Application-Container lauffähig. Letzteres mag für den Produktiveinsatz des Systems nur ein sekundäres Argument sein. Allerdings kann dadurch während der Entwicklung so manches langwierige Deployment vermieden werden. Außerdem erhöht es die Testbarkeit ernorm.

5 Die Zukunft von Hibernate Hibernate wird den kommenden Standard EJB 3 unterstützen und unterstützt heute bereits die wesentlichen Anteile des Persistenz-APIs von EJB 3, so dass eine spätere Migration mit überschaubarem Aufwand möglich ist. Lediglich die Hibernate-Mappingdateien müssen durch Java-5-Annotationen ausgetauscht werden. Dabei wird die Beschreibung der Persistenzeigenschaften mit EJB 3 noch etwas einfacher: Während bei Hibernate jedes nicht spezifizierte Feld eines Geschäftsobjekte transient ist, ist es bei EJB 3 genau umgekehrt. Per Default sind alle Felder eines Geschäftsobjektes persistent. Nur transiente Felder müssen explizit deklariert werden. Zusammenfassung Am Thema Hibernate kommt man heute nicht vorbei. Die Alternativen sind entweder zu schwergewichtig, zu instabil, funktional zu schwachbrüstig oder einfach noch nicht verfügbar. Mindestens jetzt neu gestartete Java- Projekte sollten Hibernate ernsthaft evaluieren. Unser Angebot zu Hibernate Wir setzen Hibernate seit Langem in unseren eigenen Projekten ein. Darüber hinaus arbeiten drei Hibernate-Buchautoren (siehe [2]) bei uns und bieten Beratung und Schulungen zur Hibernate- Einführung an. Ausführliche Informationen finden Sie unter hibernate.akquinet.de.

6 Referenzen 1. Hibernate: 2. Robert Beeger, Arno Haase, Stefan Roock, Sebastian Sanitz : Hibernate Persistenz in Java- Systemen mit Hibernate 3, dpunkt Verlag, Quellcode zu den Beispielen aus [2]: 4. XDoclet-Generierung der Hibernate-Mappingdateien im Detail: 5. Spring-Framework: 6. JDO (Java Data Objects): 7. Entity-Beans sind Bestandteil von EJB 2.1: Anhang: Beispielquellcode Hibernate Code-Beispiel 1: Persistentes Geschäftsobjekt public class Termin { private long _id; private String _titel; private String _beschreibung; private String _ort; private Date _datum; private Set<Benutzer> _teilnehmer; public String gettitel () { return _titel; private void settitel (String titel) { _titel = titel; Code-Beispiel 2: Mapping-Datei <?xml version="1.0" encoding="iso "?>

7 <hibernate-mapping package="ab.de"> <class name="termin" table="termin"> <id name="id"> <generator class="hilo"/> </id> <property name="titel"/> <property name="beschreibung"/> <property name="datum" type="timestamp"/> <property name="ort" column="wo"/> <set name="teilnehmer" /> </class> </hibernate-mapping> Code-Beispiel 3: Session als zentrale Hibernate-Klasse Termin termin = new Termin(); try { Session session = _sessionfactory.opensession(); Transaction transaction = session.begintransaction(); session.save(termin); transaction.commit(); catch (HibernateException e) { Code-Beispiel 4: HQL Hibernate Query Language Session session = _sessionfactory.opensession(); Query query = session.createquery( from Termin t where t.ort = Berlin ); List<Termin> termine = query.list(); session.close();

8 Unsere Schulungen akquinet auf einen Blick Wir bieten Beratung und Schulungen zu Eclipse RCP, Groovy/Grails sowie zu agilen Themen wie Scrum oder extreme Programming an. Weitere Infos finden Sie unter Individualentwicklung Standardlösungen Outsourcing agiles Vorgehen Beratung und Betrieb von SAP- und Navison- Systemen Open-Source-basierte Systeme Weitere Informationen erhalten Sie gerne unter Kontakt: akquinet AG Paul-Stritter-Weg Hamburg Fon +49 (0)

Hibernate. Vortragender : Nabil Janah Kursleiter : Prof. Dr. Björn Dreher Lehrveranstaltung : Komponenten-Architekturen. Nabil janah 1 Hibernate

Hibernate. Vortragender : Nabil Janah Kursleiter : Prof. Dr. Björn Dreher Lehrveranstaltung : Komponenten-Architekturen. Nabil janah 1 Hibernate Hibernate Vortragender : Nabil Janah Kursleiter : Prof. Dr. Björn Dreher Lehrveranstaltung : Komponenten-Architekturen Nabil janah 1 Hibernate Inhalt Hibernate allgemeines Vorteile von Hibernate Hibernate-Architektur

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

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

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

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

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

Open-Source Transparente Persistence (keine Interfaces, keine Ober- Klassen) Caching

Open-Source Transparente Persistence (keine Interfaces, keine Ober- Klassen) Caching 1 Was ist Hibernate Hibernate ist ein Open-Source-Java-Persistenz-Framework für relationale Datenbanken Persistenz-Frameworks: kapseln und abstrahiert den Zugriff auf eine Speicherschicht -> Zwischenschicht

Mehr

Schlussbewertung FB VI SOFTWAREPROJEKT II WS 09/10 TEAM. Alexander Kalden Dominik Eckelmann Marcel Pierry Julian Heise Besha Taher

Schlussbewertung FB VI SOFTWAREPROJEKT II WS 09/10 TEAM. Alexander Kalden Dominik Eckelmann Marcel Pierry Julian Heise Besha Taher Schlussbewertung FB VI SOFTWAREPROJEKT II WS 09/10 TEAM Alexander Kalden Dominik Eckelmann Marcel Pierry Julian Heise Besha Taher 729631 745097 736477 745011 741297 Inhalt Schlussbewertung... 3 Bewertung

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

Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de info@oio.de Version: 2014 Orientation 1.0 in Objects GmbH Der Sprecher Erik Bamberg (OIO) 2 1 s Aufgaben des Cachings Datenbank

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

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching 1.1 Caching von Webanwendungen In den vergangenen Jahren hat sich das Webumfeld sehr verändert. Nicht nur eine zunehmend größere Zahl an Benutzern sondern auch die Anforderungen in Bezug auf dynamischere

Mehr

Objektorientierte Datenbanken

Objektorientierte Datenbanken OODB 11 Slide 1 Objektorientierte Datenbanken Vorlesung 11 Sebastian Iwanowski FH Wedel OODB 11 Slide 2 Wesentliche Eigenschaften von Hibernate Transparente Persistenz Transitive Persistenz (Persistenz

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

Erfolg ist programmierbar.

Erfolg ist programmierbar. 4578954569774981234656895856512457895456977498 3465689585651245789545697749812346568958561245 9545697749812346568958565124578954569774981234 6895856512457895456977498123465689585612457895 6977498123465689585651245789545697749812346568

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 Enterprise Architekturen Willkommen in der Realität

Java Enterprise Architekturen Willkommen in der Realität Java Enterprise Architekturen Willkommen in der Realität Ralf Degner (Ralf.Degner@tk-online.de), Dr. Frank Griffel (Dr.Frank.Griffel@tk-online.de) Techniker Krankenkasse Häufig werden Mehrschichtarchitekturen

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

mitho -Framework für plenty PHP-Framework zur Anbindung an die plenty API

mitho -Framework für plenty PHP-Framework zur Anbindung an die plenty API PHP-Framework zur Anbindung an die plenty API Inhaltsverzeichnis 1 Kurzbeschreibung...3 2 Integration...4 3 Möglichkeiten...5 3.1 Artikel...5 3.2 Aufträge...5 3.3 Kunden...5 4 Interne Funktionsweise...7

Mehr

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Übersicht Struts Forms Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen. Allgemeines Autor: Sascha Wolski http://www.laliluna.de/tutorials.html

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

Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen

Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen Ein Erfahrungsbericht beim Einsatz von generierenden Ansätzen im Vergleich zu generischen Lösungen Tom Krauß Agenda Begriffsdefinition Verfahren Praktische Beispiele Vergleich und Bewertung Begriffsklärung

Mehr

Hivemind Ein leichtgewichteter Container

Hivemind Ein leichtgewichteter Container Hivemind Ein leichtgewichteter Container Manfred Wolff, wolff@manfred-wolff.de, www.manfred-wolff.de Container sind Laufzeitumgebungen für Objekte. Der mächtigste Container im Java-Umfeld der EJB Container

Mehr

3 Hibernate ein einfaches Beispiel

3 Hibernate ein einfaches Beispiel 35 In diesem Kapitel steigen wir anhand eines kleinen Beispiels in das Thema Hibernate ein. Als Beispiel verwenden wir einen elektronischen Terminkalender, mit dem persönliche und Gruppentermine verwaltet

Mehr

Die 1ste und einzige Software. die basierend auf einem Domain Model die Persistence Layer automatisch generiert

Die 1ste und einzige Software. die basierend auf einem Domain Model die Persistence Layer automatisch generiert Die 1ste und einzige Software die basierend auf einem Domain Model die Persistence Layer automatisch generiert 1. Ausgangspunkt: Welt der Informationen 2. Was ist eine Persistence Layer? 3. Aktuelle Lösungen

Mehr

w3lib - einfach Software entwickeln!

w3lib - einfach Software entwickeln! w3lib - einfach Software entwickeln! was ist die w3lib? Die w3lib ist ein kompletter Baukasten für die Entwicklung moderner Software. Zahlreiche Funktionen decken alles ab, was für das Internet-Business

Mehr

mywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger

mywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger mywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger Grundlegendes Oracle9i PostgreSQL Prevayler Memory mywms bietet umfangreiche Konfigurationsmöglichkeiten um die Daten dauerhaft zu speichern.

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

INSTALLATION VON INSTANTRAILS 1.7

INSTALLATION VON INSTANTRAILS 1.7 INSTALLATION VON INSTANTRAILS 1.7 InstantRails 1.7 ist ein Paket, das Ruby, Rails, Apache, MySQL und andere Tools, z.b. phpmyadmin in vorkonfigurierter Form enthält. Das Paket muss in einem Verzeichnis

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

Bedienungsanleitung EasyStechuhr

Bedienungsanleitung EasyStechuhr Thomas Schiffler Langestrasse 4 65366 Geisenheim http://www.thomasschiffler.de info@thomasschiffler.de Version 1.2 Inhaltsverzeichnis Inhaltsverzeichnis... 2 Einleitung... 3 Datenspeicherung... 3 Grundvoraussetzung...

Mehr

Datenhaltung für Android. Model First

Datenhaltung für Android. Model First Datenhaltung für Android Model First Frederik Götz, Johannes Tysiak 26.05.2011 Unser Ziel! 26.05.2011 Datenhaltung in Android - Model First» Frederik Götz, Johannes Tysiak 2 Agenda Android Quickstart Datenhaltung

Mehr

.NET Entity Framework 4

.NET Entity Framework 4 1.NET Entity Framework 4 Grundlagen und Einsatz in.net 4.0 W3L AG info@w3l.de 2010 2 Agenda Motivation OR-Mapping-Frameworks Entity Framework 4 Entwicklung Mapping & Architektur Generatorverfahren Praxisbeispiel

Mehr

ObjectBridge Java Edition

ObjectBridge Java Edition ObjectBridge Java Edition Als Bestandteil von SCORE Integration Suite stellt ObjectBridge Java Edition eine Verbindung von einem objektorientierten Java-Client zu einer fast beliebigen Server-Komponente

Mehr

Vortrag von: Ilias Agorakis & Robert Roginer

Vortrag von: Ilias Agorakis & Robert Roginer MDA Model Driven Architecture Vortrag von: Ilias Agorakis & Robert Roginer Anwendungen der SWT - WS 08/09 Inhalt Was ist MDA? Object Management Group (OMG) Ziele Konzepte der MDA Werkzeuge Vor- und Nachteile

Mehr

Der lokale und verteilte Fall

Der lokale und verteilte Fall Lokale Beans Der lokale und verteilte Fall RemoteClient Lokaler Client (JSP) RemoteSession/Entity-Bean Lokale Session/Entity-Bean 2 Lokale Beans Die bisher vorgestellten EJBswaren immer in der Lage auf

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

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer

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

Code-Erzeugung aus UML-Klassendiagrammen

Code-Erzeugung aus UML-Klassendiagrammen Dominik 09.03.2009 Universität Ulm Gessenharter Inst. f. Programmiermethodik und Compilerbau Code-Erzeugung aus UML-Klassendiagrammen Theorie und Praxis Seite 2 REConf 2009 München Dominik Gessenharter

Mehr

Konfigurieren statt Programmieren: Data Driven Java Development

Konfigurieren statt Programmieren: Data Driven Java Development Konfigurieren statt Programmieren: Data Driven Java Development Thomas Haskes Triestram & Partner GmbH Bochum Schlüsselworte rapid.java, Data Driven Java Development, UI-Konfiguration, Eclipse, SWT, Oracle,

Mehr

Hilfe, mein SCRUM-Team ist nicht agil!

Hilfe, mein SCRUM-Team ist nicht agil! Hilfe, mein SCRUM-Team ist nicht agil! Einleitung: Laut unserer Erfahrung gibt es doch diverse unagile SCRUM-Teams in freier Wildbahn. Denn SCRUM ist zwar eine tolle Sache, macht aber nicht zwangsläufig

Mehr

Was sind Ontologie-Editoren?

Was sind Ontologie-Editoren? Was sind Ontologie-Editoren? Kurzeinführung Protégé Sonja von Mach und Jessica Otte Gliederung Ontologie Editoren- allgemein warum nutzen wofür nutzen Probleme Marktlage Einführung in die praktische Arbeit

Mehr

INDIVIDUELLE SOFTWARELÖSUNGEN CUSTOMSOFT CS GMBH

INDIVIDUELLE SOFTWARELÖSUNGEN CUSTOMSOFT CS GMBH 01 INDIVIDUELLE SOFTWARELÖSUNGEN 02 05 02 GUMMERSBACH MEHRWERT DURCH KOMPETENZ ERIC BARTELS Softwarearchitekt/ Anwendungsentwickler M_+49 (0) 173-30 54 146 F _+49 (0) 22 61-96 96 91 E _eric.bartels@customsoft.de

Mehr

Erfolg ist programmierbar.

Erfolg ist programmierbar. 45789545697749812346568958565124578954569774981 46568958565124578954569774981234656895856124578 45697749812346568958565124578954569774981234656 58565124578954569774981234656895856124578954569 49812346568958565124578954569774981234656895856

Mehr

Datenbanken. Ein DBS besteht aus zwei Teilen:

Datenbanken. Ein DBS besteht aus zwei Teilen: Datenbanken Wikipedia gibt unter http://de.wikipedia.org/wiki/datenbank einen kompakten Einblick in die Welt der Datenbanken, Datenbanksysteme, Datenbankmanagementsysteme & Co: Ein Datenbanksystem (DBS)

Mehr

Software-Engineering Grundlagen des Software-Engineering

Software-Engineering Grundlagen des Software-Engineering Software-Engineering Grundlagen des Software-Engineering 7.2 Programmentwicklung und Debuggen mit IDE und CASE-Tools Übungen Prof. Dr. Rolf Dornberger SWE: 7.2 Programmentwicklung und Debuggen mit IDE

Mehr

Testen mit JUnit. Apcon Workplace Solutions Member of itelligence. Testen von Java-Code mit JUnit. ÿstruktur eines Testfalls

Testen mit JUnit. Apcon Workplace Solutions Member of itelligence. Testen von Java-Code mit JUnit. ÿstruktur eines Testfalls Testen von Java-Code mit JUnit ÿmotivation ÿjunit-testklassen ÿjunit-testfälle ÿstruktur eines Testfalls Henning Wolf APCON Workplace Solutions GmbH wolf@jwam.de Motivation: Werkzeugunterstützung für Tests

Mehr

5. Programmierschnittstellen für XML

5. Programmierschnittstellen für XML 5. Programmierschnittstellen für Grundlagen Dr. E. Schön FH Erfurt Sommersemester 2015 Seite 135 Programmierschnittstelle Notwendigkeit: Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen

Mehr

5. Programmierschnittstellen für XML

5. Programmierschnittstellen für XML 5. Programmierschnittstellen für für Medientechnologen Dr. E. Schön Wintersemester 2015/16 Seite 146 Notwendigkeit: Programmierschnittstelle Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen

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

Java Entwicklung für Embedded Devices Best & Worst Practices!

Java Entwicklung für Embedded Devices Best & Worst Practices! Java Entwicklung für Embedded Devices! George Mesesan Microdoc GmbH Natürlich können wir dieses neue log4j Bundle auch auf dem Device verwenden. Ist doch alles Java. Java Micro Edition (ME) Java Standard

Mehr

1. Java Grundbegriffe

1. Java Grundbegriffe 1. Java Grundbegriffe Geschichte von Java Programmieren mit Java Interpretieren vs. Kompilieren Java Byte-Code Jave Virtual Machine Arbeitsmaterialien Allgemeine Informatik 2 SS09 Folie 1.1 Java, eine

Mehr

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 17: 3-Schichten-Architektur 2

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 17: 3-Schichten-Architektur 2 Universität Osnabrück 1 3 - Objektorientierte Programmierung in Java Zur Erinnerung: Aufteilung der Schichten GUI Vorlesung 17: 3-Schichten-Architektur 2 Fachkonzept Fachkonzept - Datenhaltung Datenhaltung

Mehr

Sehr geehrte Faktor-IPS Anwender,

Sehr geehrte Faktor-IPS Anwender, März 2014 Faktor-IPS 3.11 Das neue Release Faktor-IPS 3.11 steht Ihnen zum Download zur Verfügung. Wir informieren Sie über die neusten Feautres. Lesen Sie mehr Sehr geehrte Faktor-IPS Anwender, Auf faktorzehn.org

Mehr

// Mehr, als Sie erwarten //

// Mehr, als Sie erwarten // // Mehr, als Sie erwarten // // Unitek entwickelt seit 1988 innovative Software, mitten in der Altstadt von Zürich. Gegründet von ETH-Absolventen, hat Unitek dank massvollem Wachstum, anhaltender Begeisterung

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

PRAXISBUTLER ANPASSUNG DER VORLAGEN

PRAXISBUTLER ANPASSUNG DER VORLAGEN Praxisbutler Anpassung der Vorlagen 1 PRAXISBUTLER ANPASSUNG DER VORLAGEN Die Vorlagen werden hauptsächlich in den Bereichen Klienten und Fakturierung benutzt. Die Anpassung dieser Vorlagen ist wichtig,

Mehr

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12 Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben

Mehr

Innovator 11 excellence. DDL importieren. Data-Definition-Language-Dateien in Datenbankschema importieren. HowTo. www.mid.de

Innovator 11 excellence. DDL importieren. Data-Definition-Language-Dateien in Datenbankschema importieren. HowTo. www.mid.de Innovator 11 excellence DDL importieren Data-Definition-Language-Dateien in Datenbankschema importieren HowTo www.mid.de Zweck In Innovator Data excellence können Sie mit dem DDL-Import Ihr physisches

Mehr

Fortgeschrittenes Programmieren mit Java. Test Driven Development

Fortgeschrittenes Programmieren mit Java. Test Driven Development Fortgeschrittenes Programmieren mit Java Test Driven Development Test getriebene Programmierung Benedikt Boeck Hochschule für Angewandte Wissenschaften Hamburg 6. November 2009 B. Boeck (HAW Hamburg) Test

Mehr

SOLISYON GMBH CHRISTIAN WOLF, BENJAMIN WEISSMAN. Optimierung von Abfragen in MS SQL Server DWH-Umgebungen

SOLISYON GMBH CHRISTIAN WOLF, BENJAMIN WEISSMAN. Optimierung von Abfragen in MS SQL Server DWH-Umgebungen WEITER BLICKEN. MEHR ERKENNEN. BESSER ENTSCHEIDEN. Optimierung von Abfragen in MS SQL Server DWH-Umgebungen SOLISYON GMBH CHRISTIAN WOLF, BENJAMIN WEISSMAN VERSION 1.0 OPTIMIERUNG VON ABFRAGEN IN MS SQL

Mehr

CARSTEN EMRATH. Abschluss Diplom (FH) Fach Angewandte Informatik. Sun Certified Programmer for the Java 2 Platform, Standard Edition 1.

CARSTEN EMRATH. Abschluss Diplom (FH) Fach Angewandte Informatik. Sun Certified Programmer for the Java 2 Platform, Standard Edition 1. CARSTEN EMRATH Abschluss Diplom (FH) Fach Angewandte Informatik Sun Certified Programmer for the Java 2 Platform, Standard Edition 1.4 (SCJP) Geburtsjahr 1971 Profil-Stand Januar 2016 Triona Information

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

Model Driven Development im Überblick

Model Driven Development im Überblick Model Driven Development im Überblick Arif Chughtai Diplom-Informatiker (FH) www.digicomp-academy, Seite 1 September 05 Inhalt Motivation Überblick MDA Kleines Beispiel Werkzeuge www.digicomp-academy,

Mehr

Datenbanken für Online Untersuchungen

Datenbanken für Online Untersuchungen Datenbanken für Online Untersuchungen Im vorliegenden Text wird die Verwendung einer MySQL Datenbank für Online Untersuchungen beschrieben. Es wird davon ausgegangen, dass die Untersuchung aus mehreren

Mehr

Hibernate. Persistenz in Java-Systemen mit Hibernate und der Java Persistence API. von Robert F. Beeger, Arno Haase, Stefan Roock, Sebastian Sanitz

Hibernate. Persistenz in Java-Systemen mit Hibernate und der Java Persistence API. von Robert F. Beeger, Arno Haase, Stefan Roock, Sebastian Sanitz Hibernate Persistenz in Java-Systemen mit Hibernate und der Java Persistence API von Robert F. Beeger, Arno Haase, Stefan Roock, Sebastian Sanitz 2., überarb. u. erw. Aufl. Hibernate Beeger / Haase / Roock

Mehr

Projekt Weblog :: Integration

Projekt Weblog :: Integration Projekt Weblog :: Integration Die Implementation des Formhandling Frameworks wird nun im Projekt Weblog integriert. Dafür stehen 2 Möglichkeiten zur Auswahl. Sie haben Ihre eigene Implementation der Actions,

Mehr

Java Connectivity mit Caché extreme (Persist & Perform ohne Umwege) Gerd Nachtsheim, Senior Sales Engineer, InterSystems

Java Connectivity mit Caché extreme (Persist & Perform ohne Umwege) Gerd Nachtsheim, Senior Sales Engineer, InterSystems Java Connectivity mit Caché extreme (Persist & Perform ohne Umwege) Gerd Nachtsheim, Senior Sales Engineer, InterSystems InterSystems Unternehmensprofil Internationales Softwareunternehmen Hauptsitz in

Mehr

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Roboter programmieren mit NXC für Lego Mindstorms NXT 1. Auflage Roboter programmieren mit NXC für Lego Mindstorms NXT schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Verlag

Mehr

Persistenzschicht in Collaborative Workspace

Persistenzschicht in Collaborative Workspace Persistenzschicht in Collaborative Workspace Mykhaylo Kabalkin 03.06.2006 Überblick Persistenz im Allgemeinen Collaborative Workspace Szenario Anforderungen Systemarchitektur Persistenzschicht Metadaten

Mehr

Java und Datenbanksysteme Datenbankanbindung mit JDBC

Java und Datenbanksysteme Datenbankanbindung mit JDBC Java und Datenbanksysteme Datenbankanbindung mit JDBC 30.05.2001 Stefan Niederhauser sn@atelier-w.ch 1-Einführung Datenbanksysteme Java und Datenbanken: JDBC Geschichte der JDBC-Versionen Vergleich von

Mehr

Angewandte Softwareentwicklung Serialisierung

Angewandte Softwareentwicklung Serialisierung Angewandte Softwareentwicklung Serialisierung WS 2014/2015 Markus Berg Hochschule Wismar Fakultät für Ingenieurwissenschaften Bereich Elektrotechnik und Informatik markus.berg@hs-wismar.de http://mmberg.net

Mehr

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee 2 10245 Berlin Tel.:+49(0) 30 2900 8639 Fax.:+49(0) 30 2900 8695

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee 2 10245 Berlin Tel.:+49(0) 30 2900 8639 Fax.:+49(0) 30 2900 8695 Database Exchange Manager Replication Service- schematische Darstellung Replication Service- allgemeines Replikation von Daten von bzw. in ein SAP-System und einer relationalen DMS-Datenbank Kombination

Mehr

Komponentenbasierte Softwareentwicklung mit PHP. Oliver Schlicht - bitexpert

Komponentenbasierte Softwareentwicklung mit PHP. Oliver Schlicht - bitexpert Komponentenbasierte Softwareentwicklung mit PHP Oliver Schlicht - bitexpert Überblick 1. Was ist eine Komponente? 2. Entwicklung eines Beispieldesigns 3. Dependency Injection 4. DI Container Garden 5.

Mehr

Stay here to be there!

Stay here to be there! Datenbankintegration mit pcvisit ProfiSupport Mit pcvisit ProfiSupport ist es Ihnen möglich, Ihre Datenbanksysteme (z.b. das Ticketsystem mit Supportfällen oder Ihre CRM-Datenbank) mit den Daten aus der

Mehr

5.3 Der Tabellenpuffer. aktualität nicht so wichtig ist, Datenkonsistenz aber schon. Zur Verdeutlichung der Datenkonsistenz hilft folgendes Beispiel.

5.3 Der Tabellenpuffer. aktualität nicht so wichtig ist, Datenkonsistenz aber schon. Zur Verdeutlichung der Datenkonsistenz hilft folgendes Beispiel. 5 Pufferung aktualität nicht so wichtig ist, atenkonsistenz aber schon. Zur Verdeutlichung der atenkonsistenz hilft folgendes eispiel. ngenommen ein Internetshop führt eine kleine Preisanpassung während

Mehr

Regionaltreffen Rhein Main 26. März 2007

Regionaltreffen Rhein Main 26. März 2007 Regionaltreffen Rhein Main 26. März 2007 SWE Jens Fudickar / OraTool pro Softwareentwicklung Jens Fudickar ist ein kleines Softwarehaus, dessen Hauptprodukt das OraTool ist. Darüber hinaus sind wir in

Mehr

Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express

Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express Howto Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express Peter Bitterlich Markus Langer 12. Oktober 2012 Zusammenfassung Dieses Dokument erklärt Schritt für Schritt die Installation

Mehr

Grundlagen der Informatik 2

Grundlagen der Informatik 2 Grundlagen der Informatik 2 Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 1 Gliederung 1. Einführung

Mehr

Software-Engineering und Optimierungsanwendungen in der Thermodynamik

Software-Engineering und Optimierungsanwendungen in der Thermodynamik Software-Engineering und Optimierungsanwendungen in der Thermodynamik Software-Engineering 5 Programmentwicklung und Debuggen mit IDE und CASE-Tools Übungen Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung

Mehr

Datenbanken (WS 2015/2016)

Datenbanken (WS 2015/2016) Datenbanken (WS 2015/2016) Klaus Berberich (klaus.berberich@htwsaar.de) Wolfgang Braun (wolfgang.braun@htwsaar.de) 0. Organisatorisches Dozenten Klaus Berberich (klaus.berberich@htwsaar.de) Sprechstunde

Mehr

Software Engineering II

Software Engineering II Software Engineering II Codegenerierung für den SmartIO Editor mit der Modeling Workflow Engine Wintersemester 10/111 Fachgebiet Software Engineering Albert Zündorf / Wiederholung Bisher im Laufe des Semesters

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

Ruby on Rails. Florian Ferrano Ralf Heller Markus Nagel

Ruby on Rails. Florian Ferrano Ralf Heller Markus Nagel Ruby on Rails Florian Ferrano Ralf Heller Markus Nagel Überblick Ruby on Rails Ruby Rails Geschichte MVC allgemein MVC in Rails Scaffolding Webserver Installation Beispiele Wo wird Rails verwendet? Ausblick

Mehr

Programmieren I. Prinzipieller Ablauf. Eigenschaften von JAVA. Source-Code Javac Bytecode. Java Virtual Machine (Java, Browser, Appletviewer)

Programmieren I. Prinzipieller Ablauf. Eigenschaften von JAVA. Source-Code Javac Bytecode. Java Virtual Machine (Java, Browser, Appletviewer) Programmieren I Grundlagen von JAVA Dr. Klaus Höppner Hello World in JAVA Hochschule Darmstadt WS 2007/2008 Elementare Datentypen 1 / 17 2 / 17 Eigenschaften von JAVA Prinzipieller Ablauf Plattform-und

Mehr

Ogre Einführung Teil 1

Ogre Einführung Teil 1 Inhalt -Einleitung -Installieren und Einrichten von Ogre -Die erste Anwendung Ogre Einführung Teil 1 Einleitung Eine 3D Engine ist eine sehr komplexe Software und besteht aus mehreren tausend Zeilen Programmcode.

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

WCF Services in InfoPath 2010 nutzen

WCF Services in InfoPath 2010 nutzen WCF Services in InfoPath 2010 nutzen Abstract Gerade wenn man schreibend von InfoPath aus auf eine SQL-Server Datenbank zugreifen will, kommt man quasi um einen Web Service nicht herum. In diesem Post

Mehr

OpenSource Business Strategien. Thomas Uhl Topalis AG

OpenSource Business Strategien. Thomas Uhl Topalis AG OpenSource Business Strategien Thomas Uhl Topalis AG Firmenübersicht 14.07.09 Thomas Uhl 2 Open Source ist ein alternativer Weg, bessere Software zu produzieren (Forbes Magazine) 14.07.09 Thomas Uhl 3

Mehr

Einführung in Generatives Programmieren. Bastian Molkenthin

Einführung in Generatives Programmieren. Bastian Molkenthin Einführung in Generatives Programmieren Bastian Molkenthin Motivation Industrielle Entwicklung *!!*,(% % - #$% #!" + '( & )!* Softwareentwicklung Rückblick auf Objektorientierung Objektorientierte Softwareentwicklung

Mehr

10 Jahre agile Softwareentwicklung Wie erwachsen sind wir geworden?

10 Jahre agile Softwareentwicklung Wie erwachsen sind wir geworden? 10 Jahre agile Softwareentwicklung Wie erwachsen sind wir geworden? Stefan Roock stefan.roock@akquinet.de Hintergrund 1/2 Senior IT-Berater bei der akquinet AG extreme Programming seit Anfang 1999, dann

Mehr

2.5.2 Primärschlüssel

2.5.2 Primärschlüssel Relationale Datenbanken 0110 01101110 01110 0110 0110 0110 01101 011 01110 0110 010 011011011 0110 01111010 01101 011011 0110 01 01110 011011101 01101 0110 010 010 0110 011011101 0101 0110 010 010 01 01101110

Mehr

Rechnernetze Projekt SS 2015

Rechnernetze Projekt SS 2015 30/03/15 Seite 1 Aspektorientierte Programmierung logische Aspekte (Concerns) im Programm separieren Crosscutting Concerns (Ziel: generische Funktionalitäten über mehrere Klassen hinweg zu verwenden -

Mehr

Metadata Service Respository (MDS) - Sehen, lernen, verstehen!

Metadata Service Respository (MDS) - Sehen, lernen, verstehen! Metadata Service Respository (MDS) - Sehen, lernen, verstehen! Carsten Wiesbaum esentri AG Schlüsselworte Metadata Service Repository, MDS, Oracle Fusion Middleware Einleitung Früher oder später wird jeder

Mehr

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme Tillmann Schall, anaptecs GmbH : Agenda Grundlagen modellgetriebener Entwicklungsprozesse Schritte zur Einführung Erfahrungen

Mehr

NoSQL mit Postgres 15. Juni 2015

NoSQL mit Postgres 15. Juni 2015 Tag der Datenbanken 15. Juni 2015 Dipl.-Wirt.-Inform. Agenda l Vorstellung l Marktübersicht l Warum PostgreSQL? l Warum NoSQL? l Beispielanwendung Seite: 2 Vorstellung Dipl.-Wirt.-Inform. [1990] Erste

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

Einführung in Eclipse und Java

Einführung in Eclipse und Java Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski Einführung in Eclipse und Java Dipl.Inf. Manuel Götz Lehrstuhl für Angewandte Informatik

Mehr