Java-Objekte mit SQL verheiraten
|
|
- Karola Otto
- vor 6 Jahren
- Abrufe
Transkript
1 ITMAGAZINE Java-Objekte mit SQL verheiraten 24. November ibatis ermöglicht die Abstraktion von SQL-Datenbanken, ohne dass man auf von Hand geschriebene SQL-Abfragen verzichten muss. Entwickelt man Applikationen auf modernen objektorientierten Plattformen wie Java, so stellt sich oft die Frage, wie man Objekte sauber persistiert. Häufig wird man auf den Komfort und die Leistungsfähigkeit, die relationale Datenbanken unter anderem in bezug auf Abfragen, Transaktionen und Backup bieten, nicht verzichten wollen. Nun existiert mit JDBC in Java ein standardisiertes Interface zum Zugriff auf relationale Datenbanken. Die «direkte» Verwendung von JDBC hat jedoch in der Praxis viele Nachteile: - Java-Code und SQL-Statements sind üblicherweise vermischt oder lassen sich nur schwer voneinander trennen. - Die Anwendung ist an eine bestimmte Datenbank gebunden. - Der Zugriff ist wenig elegant und unflexibel, weil die «Welt der Objekte» und die «Welt der Tabellen» konzeptionell sehr unterschiedlich sind. - Oft ist eine flexible Konfiguration erforderlich (Transaktionsmanager, Connection Settings, Datenbank), was mit direkter JDBC-Programmierung schwer zu erreichen ist Viel Abstraktions-Aufwand Meist wird daher bei modernen Anwendungen ein objektrelationales (O/R) Mapping-Tool eingesetzt, das die Verbindung zwischen Objekten, die persistiert werden sollen, und der Datenbank herstellt. Es gibt hier unzählige Frameworks, beispielsweise Hibernate, Castor, OJB und Toplink. Dennoch sind diese Frameworks nicht uneingeschränkt zu empfehlen. Hibernate & Co. erlauben, detaillierte Abbildungen von Objekthierarchien auf Tabellen in einer relationalen Datenbank zu definieren. Der Entwickler arbeitet dann nur mehr auf Objektebene und bekommt sogar eigene Abfragesprachen wie HQL zur Verfügung gestellt. Die konkreten SQL-Statements, die für den Zugriff benötigt werden, werden vom Framework je nach verwendeter Datenbank automatisch generiert. Weiter bieten diese Frameworks typischerweise vollen Roundtrip-Support an. So kann man die Mappings in Java-Annotationen deklarieren und dann die konkreten Mapping-XML-Dateien sowie die Datenbank generieren lassen. Diese Abstraktion ist in vielen Fällen sehr nützlich und leistungsfähig, birgt aber auch verschiedene Nachteile sowie Risiken: Die Verwendung von Frameworks wie Hibernate ist in der Praxis ziemlich komplex, die Einarbeitungszeit entsprechend hoch. Man muss die Mapping-Definitionen verstehen, die neue Abfragesprache, die Tools sowie die vielen Konfigurationsmöglichkeiten wie Caching. All dies kann sehr aufwendig sein, besonders dann, wenn Code-Generierung verwendet wird. Dies ist eigentlich fast immer anzuraten, weil sonst die Gefahr besteht, dass verschiedene Teile der Anwendung ausser Synchronität geraten. Frameworks wie Hibernate sind daher vor allem in grossen und komplexen Projekten angeraten, wenn auch ein entsprechender Experte des jeweiligen Frameworks zur Verfügung steht.
2 Vorteile ohne Nachteile ibatis hingegen geht einen anderen Weg. Bruce Tate beschreibt es in seinem Buch «Spring Developers Notebook» so: «ibatis ist ein JDBC unterstützendes Framework, das viele Vorteile von O/R-Mappern bringt, aber nicht deren Risiken mitbringt.» ibatis ist eigentlich auch kein O/R Mapping Framework, vielmehr werden anstelle von Tabellen SQL-Statements auf Objekte gemappt. Das heisst, SQL ist ein zentraler Bestandteil von ibatis-anwendungen, allerdings werden diese sauber vom Java-Code über XML-Maps getrennt. Dies hat klare Vor- und Nachteile: Einerseits hat man die volle Leistungsfähigkeit von handoptimiertem SQL zur Verfügung, was bei Hibernate nur «durch die Hintertür» möglich ist. Gleichzeitig ist damit natürlich die Bindung an eine konkrete Datenbank auch höher, was aber in vielen Anwendungsfällen unproblematisch ist. Das Unterstützen einer weiteren Datenbank bedeutet, dass neue Mappings erstellt werden müssen, wozu allerdings kein Eingriff in den Java-Code notwendig ist. Auch Stored Procedures werden besser unterstützt. Bei einem niedrigeren Grad an Abstraktion macht dieser Zugang das Mapping natürlich wesentlich einfacher. Karten für SQL ibatis benötigt eine Konfigurationsdatei (sqlmap-config.xml), in der die wesentlichen Optionen für den Datenbankzugriff deklariert werden. Dazu gehört die Konfiguration der verwendeten Datenquelle (z.b. ein Connection Pool), eines eventuell verwendeten Transaktionsmanagers sowie die Definition der eigentlichen SQL-Map. Der Kern einer Applikation mit ibatis ist nun die Beschreibung der Mappings (siehe auch Abbildung 1). Im wesentlichen wird für jedes zu persistierende Objekt eine SQL-Map erstellt. In dieser Map können für dieses Objekt verschiedene Operationen definiert werden wie «Insert», «Update» oder «Get» Jede dieser Operationen wird durch ein beliebiges SQL-Statement beschrieben. Das heisst, das Objekt wird an verschiedene SQL-Statements gebunden, und diese entscheiden dann, welche Tabellen für die Abarbeitung verwendet werden. Dies lässt sich am besten mit einem Beispiel illustrieren: Soll das Objekt «Person» (mit nachname, vorname, ) in die Datenbanktabelle «PERSON» gespeichert werden, so ist ein Mapping zu definieren, das die Übergabeparameter aus dem Objekt übernimmt und ein INSERTStatement formuliert, das an die Tabelle angepasst ist. Es könnte etwa so aussehen: INSERT INTO PERSON ( FIRST_NAME, LAST_NAME, ) VALUES ( #vorname#, #nachname#, # # ) Diese Anweisung wird von ibatis als Prepared Statement abgelegt und kann aus dem Java-Code dann einfach aufgerufen werden: Pers p = new Pers ( Alexander, Schatten, alexander@schatten.info ); sqlmap.insert( insertpers, p);
3 Natürlich muss das SQL-Map-Objekt vom ibatis Typ SqlMapClient sein und vorher entsprechend initialisiert werden. Weiter kann man im Mapping-Dokument auch SQL-Fragmente wiederverwenden, wenn diese in verschiedenen Statements benötigt werden. In der Verwendung von Übergabe- und Rückgabe-Parameter ist man flexibel: Es können Java-Primitive verwendet werden, Collections oder eigene Typ-Konverter. So kann man boolsche Werte beispielsweise auf Strings wie «Ja» und «Nein» abbilden. Abbildung 1: ibatis-architektur Direkter Zugriff Neben den genannten Funktionen bietet ibatis weiter eine DAO-Bibliothek an. Diese ist optional und muss nicht verwendet werden. Jedoch empfiehlt es sich in jedem Fall, das DAO-Enterprise-Pattern für eigene Anwendungen einzusetzen egal, ob man nun die ibatis-bibliothek verwendet oder es selber implementiert. Der Grundgedanke des DAO-Pattern ist in Abbildung 2 illustriert. Wesentlich ist hier, dass Zugriff auf Persistenz-Mechanismen nur von ausgewählten Klassen, den DAOs, erfolgt und nicht quer über die Anwendung verteilt mit Persistenz-Klassen wie den SQL-Maps interagiert wird. Praktisch bedeutet dies folgendes: - Man definiert ein Interface, in dem in neutraler Weise Zugriffsmethoden definiert sind; diese sind unabhängig vom verwendeten Persistenz-Mechanismus. - Man implementiert konkrete DAOs, beispielsweise für ibatis, für XML oder für Hibernate, je nachdem, was benötigt wird. - In den «Geschäftsobjekten» arbeitet man ausschliesslich mit Variablen vom Interface-Typ und holt sich die konkrete DAO-Instanz von einem Container wie Spring. - Ein Transfer-Objekt (ein normales Java-Bean) wird verwendet, um Daten auszutauschen. Der grosse Vorteil dieses Ansatzes ist es, dass jederzeit der Persistenz-Mechanismus ausgetauscht werden kann von ibatis auf XML oder auf Hibernate, ohne dass die Business-Logik verändert werden muss: Man muss «nur» neue DAOs implementieren und die Konfiguration des Containers ändern. Abbildung 2: Aufbau des DAO-Patterns
4 Einsteigen und losfahren Der Einstieg in ibatis sollte nicht allzu schwerfallen. Einerseits, weil das Konzept leicht verständlich ist, andererseits aber auch, weil die Dokumentation sehr gut ist. Es existieren ein kurzes Tutorial, das auf wenigen Seiten die Prinzipien mit Code-Beispielen erklärt, ein umfangreicheres Handbuch sowie eine Beschreibung der Data-Access-Object-Bibliothek. Parallel dazu gibt es umfangreiche Sekundärliteratur wie «ibatis in Action» (ISBN ) oder «Spring, a Developer s Notebook» (ISBN ) von Bruce Tate. ibatis wird weiter (ebenso wie Hibernate, Castor und OJB) vom Framework Spring unterstützt, das heisst, man kann sehr einfach die bekannten Spring-Mechanismen zur Konfiguration (Dependency Injection) sowie deklarative Transaktionen und Templates nutzen. Neben Java existieren auch Portierungen für.net und Ruby. Spezifische Datenbank-Klassen sind nicht erforderlich, da ja beliebige JDBC-Treiber sowie SQL-Statements verwendet werden können. Daher sollte ibatis mit allen bekannten relationalen Datenbanken funktionieren. Wann ibatis einsetzen? ibatis ist empfehlenswert, wenn: volle O/R-Funktionalität nicht unbedingt erforderlich ist und man ein sehr schnell zu erlernendes und dennoch leistungsfähiges Framework verwenden möchte. bestehende Datenbanken integriert werden sollen. Datenbank- und Anwendungsentwicklung getrennt sind. volle Leistungsfähigkeit von optimierten SQL-Statements genutzt werden soll. das Datenmodell eher einfach ist. kein gut geschulter Hibernate-Experte vor Ort ist. ibatis ist hingegen weniger geeignet, wenn: das Datenmodell komplex ist (Vererbungen etc.) von SQL abstrahiert werden soll (einfache Unterstützung verschiedener Datenbanken) Erstellen von Datenbank-Metadaten und Mappings automatisiert werden soll (Codegenerierung)
5 Der Autor Alexander Schatten ist Assistent am Institut für Softwaretechnik und Interaktive Systeme der Technischen Universität Wien. Copyright by Swiss IT Media 2017
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
MehrAnalyse 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
MehrJava Frameworks im Vergleich - ADF vs. Grails vs. Spring
Java Frameworks im Vergleich - ADF vs. Grails vs. Spring Frank Szilinski esentri software GmbH Karlsruhe Schlüsselworte: ADF, Java, JEE, JSF, Grails, Spring, Open Source, Rapid Application Development
Mehribatis SQL Maps Einführung
ibatis SQL Maps Einführung für SQL Maps Version 2.0 Oktober 27, 2007 Übersetzung Axel Leucht (Axel.Leucht@gmx.net) Einführung Dieses Handbuch gibt ihnen eine Einführung des typischen Einsatzes von SQL
MehrObjekt-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
MehrDatenmanagement in Android-Apps. 16. Mai 2013
Datenmanagement in Android-Apps 16. Mai 2013 Überblick Strukturierung von datenorientierten Android-Apps Schichtenarchitektur Möglichkeiten der Datenhaltung: in Dateien, die auf der SDCard liegen in einer
MehrErstellung 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
MehrRechnernetze 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 -
MehrApplication Frameworks
Seminar Software Engineering 1 Grundlagen Agenda Spring Framework Dependency Injection Aspektorientierte Programmierung Datenbankanbindung Modell View Controller Sicherheit Spring vs. Java EE Zusammenfassung
MehrSession Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de
s & Servlet Integration Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Motivation Das Interface Stateful und Stateless s Programmierung einer Stateful
MehrPersistenz 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)
MehrSoftwareentwicklung 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.
MehrAnwendungsentwicklung mit Spring
Anwendungsentwicklung mit Spring Eberhard Wolff Managing Director Interface21 GmbH Interface21 - Spring from the Source Interface21 Produkte u.a. Spring Framework Spring from the Source Consulting, Training,
MehrArchitekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller 2002 131
Architekturen Von der DB basierten zur Multi-Tier Anwendung DB/CRM (C) J.M.Joller 2002 131 Lernziele Sie kennen Design und Architektur Patterns, welche beim Datenbankzugriff in verteilten Systemen verwendet
MehrORACLE 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
MehrTechnische Beschreibung: EPOD Server
EPOD Encrypted Private Online Disc Technische Beschreibung: EPOD Server Fördergeber Förderprogramm Fördernehmer Projektleitung Projekt Metadaten Internet Foundation Austria netidee JKU Linz Institut für
MehrKomponentenbasierte 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.
MehrLINQ to SQL. Proseminar Objektorientiertes Programmieren mit.net und C# Christoph Knüttel. Institut für Informatik Software & Systems Engineering
LINQ to SQL Proseminar Objektorientiertes Programmieren mit.net und C# Christoph Knüttel Institut für Informatik Software & Systems Engineering Agenda 1. LINQ allgemein Vorteile Bausteine und Varianten
Mehr4. Objektrelationales Mapping Grundlagen der Programmierung II (Java)
4. Objektrelationales Mapping Grundlagen der Programmierung II (Java) Prof. Dr. Bernhard Humm Hochschule Darmstadt University of Applied Sciences Sommersemester 2006 Übersicht Grundlagen der Programmierung
MehrEclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps
Projekt: Intern Softwareprojekt FH Furtwangen Status: Draft Ersteller: Kai Grabfelder Datum: 11.02.2007 Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps 1 Beschreibung... 2 Semesterprojekt...
MehrOpen Source Frameworks
Open Source Frameworks codecentric GmbH Mirko Novakovic Agenda 1. Vorteile von Open Source 2. Framework-Kategorien 3. Open Source Frameworks 4. Empfehlungen 1 1. Vorteile von Open Source 1.1 Offenheit
MehrGrundlagen der Web-Entwicklung
Grundlagen der Web-Entwicklung Ruby on Rails Thomas Walter 10.01.2011 Version 1.0 aktuelles aktuelle Browserstatistiken Weltweit, Quelle www.netmarketshare.com 2 aktuelles aktuelle Browserstatistiken Europaweit,
MehrJakarta Turbine Ein Open Source Framework fÿr Webanwendungen. KNF Kongre 2001 Henning P. Schmiedehausen <henning@apache.org>
Jakarta Turbine Ein Open Source Framework fÿr Webanwendungen Henning P. Schmiedehausen Turbine - ein berblick Open Source unter Apache License 100% pure Java, Java 2 (JDK 1.2+) Servlet-basiertes
MehrProjekt 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,
MehrJava 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
MehrMusterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9
Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung
Mehr5. 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
MehrDependency Injection in der Praxis: Spring, PicoContainer und Eclipse im Vergleich
Dependency Injection in der Praxis: Spring, PicoContainer und Eclipse im Vergleich Dipl.-Informatiker Martin Lippert Senior IT-Berater martin.lippert@it-agile.de http://www.it-agile.de/ Überblick Motivation
MehrHibernate. 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
MehrPraktikum Datenbanksysteme
Praktikum Datenbanksysteme Herbstsemester 2012 Dr. Andreas Geppert Platform Architecture Technology Infrastructure Services Credit Suisse geppert@acm.org Herbstsemester 2012 Slide 1 Themenübersicht konzeptueller
MehrLINQ. LANGUAGE INTEGREATED QUERY.net 3.5. Bernhard Grojer BernhardG@ppedv.de
LINQ LANGUAGE INTEGREATED QUERY.net 3.5 Bernhard Grojer BernhardG@ppedv.de Agenda Übersicht LINQ Basistechnologien Verschiedene Arten von LINQ LINQ (to Objects) LINQ TO SQL Übersicht LINQ Aggregationen
MehrSchlussbewertung 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
MehrInhaltsverzeichnis. Zusammenfassung Wydler
Inhaltsverzeichnis 1 Multitier Anwendungen... 2 2 J2EE Komponenten... 2 2.1 J2EE Design Patterns for Performance... 2 2.1.1 Design Patterns... 2 2.1.2 Session Façade... 2 2.1.3 Data Transfer Object (Value
MehrOliver Paulus, oliver@code-project.org. 7. Februar 2006. Spring Framework Einführung. Oliver Paulus, oliver@codeproject.org. Was ist Spring?
oliver@code-project.org 7. Februar 2006 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2 3 4 5 6 7 8 9 Inhalt 1 2
MehrArchitecture Blueprints
Architecture Blueprints Daniel Liebhart, Peter Welkenbach, Perry Pakull, Mischa Kölliker, Michael Könings, Markus Heinisch, Guido Schmutz Ein Leitfaden zur Konstruktion von Softwaresystemen mit Java Spring,.NET,
MehrJava Pet Store vs..net Pet Shop. Seminar Software-Entwurf Jörg Eggermann <Eggermann@hosterme.de>
Java Pet Store vs..net Pet Shop Seminar Software-Entwurf Jörg Eggermann Gliederung Motivation Einordnung Einschub - Enterprise Java Beans Anwendungen in der Übersicht Java Pet Store.NET
Mehr3. Stored Procedures und PL/SQL
3. Stored Procedures und PL/SQL Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln
MehrHivemind 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
MehrMiddleware und Persistenzstrategien Das Spring Framework und Java Datenbanktechniken. Literaturzusammenfassung
Middleware und Persistenzstrategien Das Spring Framework und Java Datenbanktechniken Literaturzusammenfassung 1. Bücher zu den Themen Spring, Hibernate, JDO, OJB, EJB und JDBC [HARROP] Teil eins liefert
MehrCOPPER Best Practices
COPPER Best Practices Version 1.0.1 Wann sollte man überhaupt COPPER verwenden? Allgemein genau dann, wenn man von der COPPER Notation oder den COPPER-Features profitieren kann. Ein wesentliches Feature
MehrEnterprise Java Beans Einführung
Enterprise Java Beans Einführung Vorlesung 8 Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht EJBs im JEE Umfeld Verschiedene Typen von EJBs Von der Javaklasse
MehrO/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
MehrVorwort. Aufbau und Struktur
Vorwort Herzlich willkommen zu einem Fachbuch aus dem Verlag Comelio Medien. Dieses Buch aus dem Bereich Datenbanken soll Sie dabei unterstützen, die Oracle SQL zu lernen, um DB-Objekte zu erstellen und
MehrApplikationsentwicklung Architekturübungen
Applikationsentwicklung Architekturübungen Aufgabe : Systeme und Subsysteme Gegeben ist das umfangreiche Softwaresystem eines modernen Passagierflugzeuges von der Steuerung und Navigation bis zum Bordunterhaltungssysstem
MehrWas ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit
Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit EMF ist ein eigenständiges Eclipse-Projekt (Eclipse Modeling Framework Project) EMF ist ein Modellierungsframework und Tool
Mehr5. 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
MehrJava 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
MehrBenutzung eines Login Modules zur Authentifizierung unter JBoss 4.0.5
Benutzung eines Login Modules zur Authentifizierung unter JBoss 4.0.5 Erstellung der Datenbank Tabellen Als Login Module soll das in der JBoss Installation bereits vorhandene DatabaseServerLoginModule
MehrDatenbank und Informationssysteme
Datenbank und Informationssysteme Inhaltsverzeichnis 1 Programmierung von Datenbankzugriffen 3 1.1 Architektur des SQL/CLI am Beispiel JDBC................... 4 1.2 Anfragen und Ergebnismengen in JDBC......................
MehrGregor 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
MehrProgrammierung von Java- Webanwendungen. paluno
Programmierung von Java- Webanwendungen Gliederung 1 Vorstellung und Einführung 2 Basiswissen Web 3 XML und JSF- Einführung 4 JSF- Komponenten und RichFaces 5 Wiederholung der ersten Woche 6 JSF- Konzepte
MehrSoftware Engineering. 8. Persistenz
Software Engineering 8. Persistenz Gliederung Vorlesung Einführung V-Modell XT Analyse und Anforderungsmanagement Benutzungsoberflächen Architektur Entwurf Entwurfsmuster Persistenz Implementierung Konfigurationsmanagement
MehrInhaltsverzeichnis. 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Ü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.NET-Objekte einfach speichern Michael Braam, Senior Sales Engineer InterSystems GmbH
Make Applications Faster.NET-Objekte einfach speichern Michael Braam, Senior Sales Engineer InterSystems GmbH Agenda Vorstellung InterSystems Überblick Caché Live Demo InterSystems auf einen Blick 100.000
MehrWHERE Klausel Generierung mit.net und Oracle. Aus unserer Projekterfahrung und Architektur-Kurs
Betrifft Art der Info Quelle WHERE Klausel Generierung mit.net und Oracle Technical Info Aus unserer Projekterfahrung und Architektur-Kurs Where ist the WHERE? Der Artikel untersucht die Möglichkeiten,
MehrRelationale Datenbanken Kursziele
Relationale Datenbanken Kursziele DB Grundlagen Daten-Modellierung Relationales Modell und DB => Praxis: Mit SQL als Anfragesprache Mit MySQL als DB RDB 1-1 Kursinhalt (Tage) 1. DB Einleitung / Entity-Relationship
MehrInnovator 11 classix. Enterprise JavaBeans (EJB) für JBuilder. Connect. Alexander Borschet. www.mid.de
Innovator 11 classix Enterprise JavaBeans (EJB) für JBuilder Alexander Borschet Connect www.mid.de Modellieren und Generieren von Enterprise JavaBeans (EJB) für JBuilder Wozu dient die Anbindung an JBuilder?
MehrDatenbanksysteme. Programmieren von Datenbankzugriffen mit JDBC. Burkhardt Renz. Fachbereich MNI Technische Hochschule Mittelhessen
Programmieren von Datenbankzugriffen mit JDBC Fachbereich MNI Technische Hochschule Mittelhessen Sommersemester 2015 Überblick über das Package java.sql Übersicht Architektur von JDBC Grundstruktur eines
MehrSpring 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
MehrGWI Research. Gesellschaft für Wirtschaftsberatung und Informatik
Gesellschaft für Wirtschaftsberatung und Informatik GWI CO 2 Technologie Component Oriented ORBIS Was ist die CO 2 Technologie? Architektur zur Entwicklung plattformunabhängiger DB- Applikationen unter
MehrOracle Enterprise Scheduler (ESS) Unleashed Carsten Wiesbaum esentri AG Ettlingen Schlüsselworte Einleitung Oracle Enterprise Scheduler (ESS)
Oracle Enterprise Scheduler (ESS) Unleashed Carsten Wiesbaum esentri AG Ettlingen Schlüsselworte Automatisierung, Betrieb, Middleware Einleitung Der Oracle Fusion Middleware Stack beinhaltet eine leistungsstarke
MehrC# - Einführung in die Programmiersprache Arbeiten mit ADO.NET. Leibniz Universität IT Services Anja Aue
C# - Einführung in die Programmiersprache Arbeiten mit ADO.NET Leibniz Universität IT Services Anja Aue Experteneinstellungen in Visual Studio Express Extras Einstellungen Experteneinstellungen. Es werden
MehrBIF/SWE - Übungsbeispiel
BIF/SWE - Übungsbeispiel Arthur Zaczek Feb 2015 1 Allgemein 1.1 Ziele Ziele dieses Übungsbeispieles ist es: GUI: Implementierung einer grafischen Oberfläche mit JavaFX oder WPF UI-Komponente: Implementierung
MehrPersistenzschicht in Collaborative Workspace
Persistenzschicht in Collaborative Workspace Mykhaylo Kabalkin 03.06.2006 Überblick Persistenz im Allgemeinen Collaborative Workspace Szenario Anforderungen Systemarchitektur Persistenzschicht Metadaten
MehrMein Name ist Legion
Mein Name ist Legion persistence.day Keynote Ralf Westphal, ralfw@ralfw.de Freier Autor, Berater, Entwickler und Trainer www.pdcollege.de Warum sind Sie hier? Persistenz ist auch nicht mehr das, was sie
MehrOWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes
OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes 1 XSS: Cross-Site Scripting 1.) Es gelangen Daten in den Web-Browser, die Steuerungsinformationen
MehrJava Persistence API 2.x. crud + relationships + jp-ql
Java Persistence API 2.x crud + relationships + jp-ql Grundprinzip 10.02.10 2 Problematik Man muss bei der Persistierung immer das Klassenmodell und dessen Umsetzung im Datenmodell (in der DB) berücksichtigen.
MehrDie Bedeutung abstrakter Datentypen in der objektorientierten Programmierung. Klaus Kusche, September 2014
Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung Klaus Kusche, September 2014 Inhalt Ziel & Voraussetzungen Was sind abstrakte Datentypen? Was kann man damit grundsätzlich?
Mehr.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
MehrDatenbankzugriff aus Eclipse Rich-Client- Anwendungen über das Internet
Datenbankzugriff aus Eclipse Rich-Client- Anwendungen über das Internet Johannes Michler, PROMATIS software GmbH DOAG 2010, Nürnberg, 16. November 2010 1 Gliederung Eclipse und Eclipse RCP Komponentenframework
MehrA Generic Database Web Service for the Venice Lightweight Service Grid
A Generic Database Web Service for the Venice Lightweight Service Grid Michael Koch Bachelorarbeit Michael Koch University of Kaiserslautern, Germany Integrated Communication Systems Lab Email: m_koch2@cs.uni-kl.de
MehrGroovy und CouchDB. Ein traumhaftes Paar. Thomas Westphal
Groovy und CouchDB Ein traumhaftes Paar Thomas Westphal 18.04.2011 Herzlich Willkommen Thomas Westphal Software Engineer @ adesso AG Projekte, Beratung, Schulung www.adesso.de thomas.westphal@adesso.de
MehrPostgreSQL im praktischen Einsatz. Stefan Schumacher
PostgreSQL im praktischen Einsatz 2. Brandenburger Linux Infotag 2005 Stefan Schumacher , PGP Key http:/// $Header: /home/daten/cvs/postgresql/folien.tex,v 1.11 2005/04/25
MehrModellgetriebene 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
MehrSpring 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
MehrQUICK-START EVALUIERUNG
Pentaho 30 für 30 Webinar QUICK-START EVALUIERUNG Ressourcen & Tipps Leo Cardinaals Sales Engineer 1 Mit Pentaho Business Analytics haben Sie eine moderne und umfassende Plattform für Datenintegration
MehrDokumentation zur Anlage eines JDBC Senders
Dokumentation zur Anlage eines JDBC Senders Mithilfe des JDBC Senders ist es möglich auf eine Datenbank zuzugreifen und mit reiner Query Datensätze auszulesen. Diese können anschließend beispielsweise
Mehrmywms 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.
MehrFakultät Angewandte Informatik Programmierung verteilter Systeme 28.11.2011. Übungen zur Vorlesung Informatik II, Blatt 6
WS 2011/12 Fakultät Angewandte Informatik Programmierung verteilter Systeme 28.11.2011 Prof. Dr. Bernhard Bauer Übungen zur Vorlesung Informatik II, Blatt 6 Abgabe: Montag, 05.12.2011, 12.00 Uhr, Informatik
MehrWie kommen die Befehle zum DBMS
Wie kommen die Befehle zum DBMS Dr. Karsten Tolle Datenbanken und Informationssysteme Wie kommen die Befehle zum DBMS Bisher gesehen: SQL direkt zum DBMS Workbench Kommandozeile IBM Query Tool Weitere?
MehrÜbung 1 mit C# 6.0 MATTHIAS RONCORONI
Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,
Mehr8.4 Überblick und Vergleich weiterer ERP-Systeme. G Oracle Applications 11 G PeopleSoft 7 G J.D. Edwards One World G BaanERP
8.4 Überblick und Vergleich weiterer ERP-Systeme G Oracle Applications 11 G PeopleSoft 7 G J.D. Edwards One World G BaanERP Kapitel 8: ERP-Einführung 32 Architektur von Oracle Applications 11 G Logische
MehrSkalierbare Webanwendungen mit Python und Google App Engine
Skalierbare Webanwendungen mit Python und Google App Engine Oliver Albers 03. Juli 2008 1/32 Einführung Worum geht es? Pro und Contra Technik Genereller Aufbau Anwendungskonfiguration Verarbeitung von
Mehr6.9 Java Server Pages
DocumentCollection dc = db.ftsearch(abfrage); Document d = dc.getfirstdocument(); while (d!= 0) { String Name = db.gettitle(); out.println(name + ""); d = dc.getnextdocument(); catch (NotesException
MehrDatenbankimplementierung
ENTWICKLUNG Datenbankimplementierung Datenbankimplementierung Christian Zahler Sofern Ausführungen auf SQL Server 2005 Bezug nehmen, gelten sie gleichermaßenauchfürsql Server 2008. 6 Client-Programmierung
MehrObjektorientierte 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
MehrJDBC. Allgemeines ODBC. java.sql. Beispiele
JDBC Java Data Base Connectivity Programmierschnittstelle für relationale Datenbanken Sammlung von Klassen, welche zum Aufbau einer Verbindung zwischen einem Java-Programm und einer Datenbank dienen Verwendet
MehrVorwort zur 5. Auflage... 15 Über den Autor... 16
Vorwort zur 5. Auflage...................................... 15 Über den Autor............................................ 16 Teil I Grundlagen.............................................. 17 1 Einführung
Mehr7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure
7. Objektorientierte Softwareentwicklung/3 Informatik II für Verkehrsingenieure Überblick FOLGENDE BEGRIFFE/PRINZIPIEN SOLLTEN BEKANNT SEIN Objekte Klasse Attribute Fähigkeiten ZIEL DER HEUTIGEN LEHRVERANSTALTUNG
MehrSAS Metadatenmanagement Reporting und Analyse
SAS Metadatenmanagement Reporting und Analyse Melanie Hinz mayato GmbH Am Borsigturm 9 Berlin melanie.hinz@mayato.com Zusammenfassung Metadaten sind seit Version 9 ein wichtiger Bestandteil von SAS. Neben
MehrDatenhaltung 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
MehrSystemvoraussetzungen CustomX. Customer Relationship Management
Systemvoraussetzungen CustomX Customer Relationship Management ThinX networked business services August 2005 Inhaltsverzeichnis ThinX networked business services Inhaltsverzeichnis 1 Einleitung 3 2 Webserver
MehrRuby on Rails. Thomas Baustert Ralf Wirdemann www.b-simple.de. Alternative zur Web-Entwicklung mit Java? 27.06.2005 www.b-simple.
Ruby on Rails Alternative zur Web-Entwicklung mit Java? Thomas Baustert Ralf Wirdemann www.b-simple.de 27.06.2005 www.b-simple.de 1 Überblick Was ist Ruby on Rails? Weblog Demo Rails Komponenten Controller,
MehrMartin Marinschek- Wolfgang Radinger. Ruby on Rails. Einstieg in die effiziente Webentwicklung. [Tu dpunkt.verlag
Martin Marinschek- Wolfgang Radinger Ruby on Rails Einstieg in die effiziente Webentwicklung [Tu dpunkt.verlag Inhaltsverzeichnis 1 Ruby on Rails -»Bitte Einsteigen«1 1.1 Web-Entwicklung und Entwicklung
MehrOracle PL/SQL Objekte und objektrelationale Techniken. Marco Skulschus Marcus Wiederstein
Oracle PL/SQL Objekte und objektrelationale Techniken Marco Skulschus Marcus Wiederstein Oracle PL/SQL Objekte und objektrelationale Techniken Marco Skulschus Marcus Wiederstein Webseite zum Buch: www.comelio-medien.com/buch-katalog/oracle/oracle_pl_sql_objekte
MehrAnwendung eines Enterprise Java Beans
Anwendung eines Enterprise Java Beans EJB Server EJB Container Remote Interface Home Interface EJB Object Der EJB Container kümmert sich um die Kommunikation des Beans mit anderen Komponenten, wobei er
MehrVererbung & Schnittstellen in C#
Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung
MehrDie 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
MehrKomplexe Excel-Berichte mit APEX und jxls erstellen
Komplexe Excel-Berichte mit APEX und jxls erstellen Dietmar Aust Opal-Consulting Köln Schlüsselworte: Oracle APEX, MS Excel, jxls, Bericht, Template, Open Source Einleitung In fast jeder Webapplikation
Mehr