Java-Objekte mit SQL verheiraten

Größe: px
Ab Seite anzeigen:

Download "Java-Objekte mit SQL verheiraten"

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

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

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

Java Frameworks im Vergleich - ADF vs. Grails vs. Spring

Java 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

Mehr

ibatis SQL Maps Einführung

ibatis 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

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

Datenmanagement in Android-Apps. 16. Mai 2013

Datenmanagement 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

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

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

Application Frameworks

Application Frameworks Seminar Software Engineering 1 Grundlagen Agenda Spring Framework Dependency Injection Aspektorientierte Programmierung Datenbankanbindung Modell View Controller Sicherheit Spring vs. Java EE Zusammenfassung

Mehr

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Session 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

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

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

Anwendungsentwicklung mit Spring

Anwendungsentwicklung 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,

Mehr

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

Mehr

ORACLE Business Components for Java (BC4J) Marco Grawunder

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

Mehr

Technische Beschreibung: EPOD Server

Technische 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

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

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

Mehr

4. Objektrelationales Mapping Grundlagen der Programmierung II (Java)

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

Mehr

Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps

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

Mehr

Open Source Frameworks

Open 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

Mehr

Grundlagen der Web-Entwicklung

Grundlagen 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,

Mehr

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

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 Persistence mit Hibernate

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

Mehr

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9

Musterlö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

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

Dependency Injection in der Praxis: Spring, PicoContainer und Eclipse im Vergleich

Dependency 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

Mehr

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

Praktikum Datenbanksysteme

Praktikum 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

Mehr

LINQ. LANGUAGE INTEGREATED QUERY.net 3.5. Bernhard Grojer BernhardG@ppedv.de

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

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

Inhaltsverzeichnis. Zusammenfassung Wydler

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

Mehr

Oliver Paulus, oliver@code-project.org. 7. Februar 2006. Spring Framework Einführung. Oliver Paulus, oliver@codeproject.org. Was ist Spring?

Oliver 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

Mehr

Architecture Blueprints

Architecture 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,

Mehr

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

Mehr

3. Stored Procedures und PL/SQL

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

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

Middleware und Persistenzstrategien Das Spring Framework und Java Datenbanktechniken. Literaturzusammenfassung

Middleware 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

Mehr

COPPER Best Practices

COPPER 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

Mehr

Enterprise Java Beans Einführung

Enterprise 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

Mehr

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

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

Mehr

Vorwort. Aufbau und Struktur

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

Mehr

Applikationsentwicklung Architekturübungen

Applikationsentwicklung 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

Mehr

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

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

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

Benutzung eines Login Modules zur Authentifizierung unter JBoss 4.0.5

Benutzung 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

Mehr

Datenbank und Informationssysteme

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

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

Programmierung von Java- Webanwendungen. paluno

Programmierung 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

Mehr

Software Engineering. 8. Persistenz

Software 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

Mehr

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

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

Mehr

Ü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

.NET-Objekte einfach speichern Michael Braam, Senior Sales Engineer InterSystems GmbH

.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

Mehr

WHERE Klausel Generierung mit.net und Oracle. Aus unserer Projekterfahrung und Architektur-Kurs

WHERE 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,

Mehr

Relationale Datenbanken Kursziele

Relationale 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

Mehr

Innovator 11 classix. Enterprise JavaBeans (EJB) für JBuilder. Connect. Alexander Borschet. www.mid.de

Innovator 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?

Mehr

Datenbanksysteme. Programmieren von Datenbankzugriffen mit JDBC. Burkhardt Renz. Fachbereich MNI Technische Hochschule Mittelhessen

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

Mehr

Spring Dynamic Modules for OSGi Service Platforms

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

Mehr

GWI Research. Gesellschaft für Wirtschaftsberatung und Informatik

GWI 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

Mehr

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

Mehr

C# - 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 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

Mehr

BIF/SWE - Übungsbeispiel

BIF/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

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

Mein Name ist Legion

Mein 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

Mehr

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

Mehr

Java Persistence API 2.x. crud + relationships + jp-ql

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

Mehr

Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung. Klaus Kusche, September 2014

Die 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

.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

Datenbankzugriff aus Eclipse Rich-Client- Anwendungen über das Internet

Datenbankzugriff 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

Mehr

A Generic Database Web Service for the Venice Lightweight Service Grid

A 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

Mehr

Groovy und CouchDB. Ein traumhaftes Paar. Thomas Westphal

Groovy 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

Mehr

PostgreSQL im praktischen Einsatz. Stefan Schumacher

PostgreSQL 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

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

Spring Dynamic Modules for OSGi Service Platforms

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

Mehr

QUICK-START EVALUIERUNG

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

Mehr

Dokumentation zur Anlage eines JDBC Senders

Dokumentation 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

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

Fakultät Angewandte Informatik Programmierung verteilter Systeme 28.11.2011. Übungen zur Vorlesung Informatik II, Blatt 6

Fakultä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

Mehr

Wie kommen die Befehle zum DBMS

Wie 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 Ü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,

Mehr

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

Mehr

Skalierbare Webanwendungen mit Python und Google App Engine

Skalierbare 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

Mehr

6.9 Java Server Pages

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

Mehr

Datenbankimplementierung

Datenbankimplementierung ENTWICKLUNG Datenbankimplementierung Datenbankimplementierung Christian Zahler Sofern Ausführungen auf SQL Server 2005 Bezug nehmen, gelten sie gleichermaßenauchfürsql Server 2008. 6 Client-Programmierung

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

JDBC. Allgemeines ODBC. java.sql. Beispiele

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

Mehr

Vorwort zur 5. Auflage... 15 Über den Autor... 16

Vorwort zur 5. Auflage... 15 Über den Autor... 16 Vorwort zur 5. Auflage...................................... 15 Über den Autor............................................ 16 Teil I Grundlagen.............................................. 17 1 Einführung

Mehr

7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure

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

Mehr

SAS Metadatenmanagement Reporting und Analyse

SAS 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

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

Systemvoraussetzungen CustomX. Customer Relationship Management

Systemvoraussetzungen 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

Mehr

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

Mehr

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

Mehr

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

Mehr

Anwendung eines Enterprise Java Beans

Anwendung 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

Mehr

Vererbung & Schnittstellen in C#

Vererbung & 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

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

Komplexe Excel-Berichte mit APEX und jxls erstellen

Komplexe 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