REST. Sonderdruck. Plus CD! der Firma codecentric. OSGi. Java Magazin. Java Architekturen SOA Agile. CD-Inhalt

Größe: px
Ab Seite anzeigen:

Download "REST. Sonderdruck. Plus CD! der Firma codecentric. OSGi. Java Magazin. Java Architekturen SOA Agile. CD-Inhalt"

Transkript

1 1.09 Plus CD! Exklusiv für Abonnenten: Die Java Magazin Jahres-CD 2008! Sonderdruck Java Magazin Java Architekturen SOA Agile Exklusiv für Abonnenten CD-Inhalt JAX TV: Angelika Langer: Java-Programmierung im Multicore-Zeitalter (W-JAX 2008) X Rendering Extension JXRender Java-Frameworks JBoss Seam Closures Grails Hibernate REST OSGi POSTER Web-Tools DWR Ext JS Enterprise-Clustering JBoss Cache OSGi Runtimes Apache Felix Eclipse Equinox Bnd Tool Das bessere Modell für Web Services? 74 JAX-RS: Ein REST-orientiertes API 82 Alle CD-Infos 3 SOA Center SOA-Bausteine Jetzt wird s konkret 88 Java Core Java-Memory-Modell Eine Roadmap zum Einsatz von volatile 21 Web JBoss Seam Klebstoff für Java EE 40 Best Practices DSLs mit Groovy Heiliger Gral für schnellere Software? 36 Sonderdruck der Firma codecentric Web 56 DWR Ajax-Anwendungen leichter implementieren Die Tage des klassischen Webs sind gezählt. Web 2.0 und Ajax haben dynamische Inhalte und hohe Interaktivität zur Selbstverständlichkeit werden lassen, bedeuten aber harte Programmierarbeit. Dank Direct Web Remoting lassen sich bestehende Webanwendungen jedoch mit erstaunlich geringem Aufwand ajaxifizieren. Stellenmarkt 50 Weihnachts-Special 10

2 Flush und Clear: O/R Mapping Anti-Patterns Für Java-Anwendungen, die Daten in einer relationalen Datenbank speichern, bieten O/R-Mapper eine einfache Möglichkeit, den Status von Objekten auf Tabellen in der Datenbank abzubilden. Der gesamte JDBC-Datenbankzugriff ist innerhalb des Frameworks gekapselt und der Code beinhaltet fast ausschließlich fachliche Logik. Diese Kapselung führt aber auch zu Missverständnissen und fehlerhaftem Einsatz der Frameworks. von Mirko Novakovic und Alois Reitbauer m ersten Teil dieser Serie wurden allgemeine Anti-Patterns im Bezug auf Datenbankzugriffe aus Java heraus vorgestellt. Diese Fortsetzung spezialisiert die beschriebenen Anti-Patterns auf Basis von Hibernate und JPA, um so alltägliche Probleme beim Einsatz von O/R- Mappern zu beleuchten und Tipps und Tricks zu zeigen, wie man sie vermeidet. O/R-Mapper gehören spätestens seit der Standardisierung durch das Java Persistence API (JPA) zum festen Bestandteil der Java-Plattform und erfreuen sich großer Beliebtheit. Hibernate [1] ist das wahrscheinlich am weitesten verbreitete O/R-Mapping Framework, das auch Basis für die JPA-Implementierung des JBoss Application Servers ist. Die einfache Programmierschnittstelle und der schnelle Einsatz des Frameworks haben sicherlich zum großen Erfolg von Hibernate beigetragen. Auch das Spring- Framework bietet eine umfangreiche Unterstützung für Hibernate und JPA und erleichtert die Nutzung durch viele sinnvolle Hilfsfunktionen und Templates. Diese Einfachheit beim Einstieg in die O/R-Mapping-Welt täuscht aber über die eigentliche Komplexität dieser Frameworks hinweg. Bei komplexen Anwendungen merkt man sehr schnell, dass man Details der Framework-Implementierung kennen sollte, um sie ideal zu nutzen. Dieser Artikel beschreibt einige in der Praxis häufig auftretende Anti-Patterns, die sich schnell in Performanceproblemen manifestieren können. Anti-Pattern: Ineffiziente Fetching-Strategien Eine elementare Funktion von Hibernate/JPA ist die Definition von Assoziationen zwischen Objekten, beispielsweise die Beziehung Person hat Adressen. Wird eine Person geladen, legt die so genannte Fetching-Strategie fest, ob die Adressen der Person sofort eager loading oder erst zu einem späteren Zeitpunkt lazy loading geladen werden. Wird keine Fetching-Strategie spezifiziert, werden die Assoziationen lazy geladen das bedeutet, dass diese erst dann aus der Datenbank (oder dem Cache) gelesen werden, wenn darauf zugegriffen wird. Ist aber schon vor dem Laden eines Objekts bekannt, dass auf die Adressen der Person zugegriffen wird, wäre es besser, die Person inklusive der Adressen mit einem SQL Statement zu laden. Werden die Adressen mit der Fetching-Strategie eager geladen, erzeugt Hibernate eine Outer-join Query, um die Anzahl der Statements zu reduzieren. In der Praxis ist es häufig nicht leicht festzulegen, welche Objekte lazy und welche eager geladen werden sollen, da die Objekte in unterschiedlichen Kontexten verwendet werden, man aber nur eine bestimmte Fetching-Strategie konfigurieren kann. Gerade bei mehrstufigen Beziehungen werden die kon- 2 javamagazin

3 figurierten Fetching-Strategien schnell unübersichtlich und die Anzahl der Statements schwer vorherzusagen, die beim Zugriff auf ein Objekt und seine Daten ausgeführt werden. Der Einsatz von Annotationen macht es zwar einfacher, den Überblick zu behalten, löst aber das Problem der unterschiedlichen Anwendungsfälle nicht. In den meisten Fällen ist es ratsam, erst einmal alle Assoziationen lazy zu definieren und dann mit einem Tool wie dynatrace Diagnostics zu analysieren, wie viele Statements tatsächlich bei bestimmten Anwendungsfällen ausgeführt werden. Auf Basis dieser Informationen können die Fetching-Strategien angepasst werden. Alternativ können zur Optimierung der Performance für bestimmte Aktionen find-methoden in den DAOs definiert werden, die die Objektbäume mit einer optimierten HQL/EJB-QL Abfrage laden. Bewährt hat sich dabei auch der Einsatz des Generic DAO Patterns [2], das den zu programmierenden Code eines DAOs stark minimiert. Anti-Pattern: Flush und Clear Hibernate verwaltet die persistenten Objekte innerhalb einer Transaktion in der so genannten Session. Bei JPA übernimmt der EntityManager diese Aufgabe, und im Folgenden wird der Begriff EntityManager auch als Synonym für die Hibernate Session verwendet, da beide auch von der Schnittstelle ähnlich sind. Solange ein Objekt an einen EntityManager gebunden ist (attached), werden alle Änderungen des Objekts automatisch mit der Datenbank synchronisiert. Man spricht hier vom Flushen der Objekte. Der Zeitpunkt der Objektsynchronisation mit der Datenbank ist nicht garantiert je später ein Flush ausgeführt wird, desto mehr Optimierungspotenzial hat der EntityManager, weil z.b. Updates auf ein Objekt gebündelt werden können, um SQL Statements zu vermeiden. Ein Aufruf von clear führt dazu, dass alle aktuell verwalteten Objekte des EntityManagers detached werden und der Status nicht mit der Datenbank synchronisiert ist. Solange die Objekte nicht explizit wieder attached werden, sind es ganz normale Java-Objekte, deren Veränderung keine Auswirkung auf die Datenbank mehr haben. Bei vielen Anwendungen, die Hibernate oder JPA einsetzen, werden flush() und clear() sehr häufig explizit aufgerufen, oft mit fatalen Auswirkungen auf Performance und Wartbarkeit der Anwendung. Der manuelle Aufruf von flush() sollte durch ein sauberes Design der Anwendung immer vermieden werden können und ist ähnlich zu bewerten wie ein manueller Aufruf von System. gc(), der eine manuelle Garbage Collection anfordert. In beiden Fällen verhindert man ein normales, optimiertes Arbeiten der Technologien. Bei Hibernate und JPA bedeutet das, dass in der Regel mehr Updates ausgeführt werden als notwendig wären, wenn der EntityManager selbst über den Zeitpunkt entschieden hätte. Der Aufruf von clear(), dem in vielen Fällen ein manueller flush() vorangegangen ist, führt dazu, dass alle Objekte vom EntityManager entkoppelt werden. Deshalb sollten klare Architektur- und Designrichtlinien festlegen, wo ein clear() aufgerufen werden darf. Ein typischer Anwendungsfall für das Verwenden von clear() ist im Batch Processing. Hier soll vermieden werden, dass mit unnötig großen Sessions gearbeitet wird. Zudem sollte im Javadoc der Methode immer explizit darauf hingewiesen werden, ansonsten kommt es zu unvorhersehbarem Verhalten der Anwendung, wenn ein Aufruf einer Methode dazu führen kann, dass der gesamte EntityManager- Kontext gelöscht wird. Speziell heißt das, dass die Objekte über merge() wieder in den Kontext des EntityManagers eingefügt werden müssen, und dafür in der Regel der Status der Objekte aus der Datenbank neu eingelesen werden muss. Je nach Fetching-Strategien muss sogar der Status eines Objekts manuell nachgelesen werden, um alle Assoziationen wieder attached zu haben. Im schlechtesten Fall werden sogar veränderte Objektdaten nicht persistiert. Anti-Pattern: Unzureichendes Caching Bei Datenbanken gilt auf allen Ebenen: Die besten Datenbankzugriffe sind die, die gar nicht ausgeführt werden müs- Links & Literatur [1] Hibernate: [2] Generic DAO Pattern: www-128. ibm.com/developerworks/java/ library/j-genericdao.html [3] Ehcache: ehcache.sourceforge.net [4] JBoss Cache: products/jbosscache [5] Hibernate-Caching-Anleitung: /www/_resources/pdf/hibernate_ performance_tuning.pdf [6] Novakovic, Reitbauer: Performance Anti-Patterns, Teil 1, Java Magazin javamagazin

4 sen. Hierfür werden innerhalb der Datenbank und auch bei Hibernate und JPA Caches eingesetzt. Caching ist relativ komplex und eines der am meisten missverstandenen Konzepte von Hibernate. Es existieren drei unterschiedliche Caches: First Level Cache: ist immer aktiv und bezieht sich auf eine Unit of Work, d.h. meist auf einen Serviceaufruf, da er an die aktuelle Session gebunden ist. Second Level Cache: kann für bestimmte Entitäten konfiguriert werden. In diesem Fall werden die Objekte in einem transaktionsübergreifenden Cache abgelegt. Der Schlüssel für die Ablage im Cache ist der Primary Key der Entität. Der Cache kann clusterweit oder innerhalb einer JVM konfiguriert werden. Query Cache: speichert das Ergebnis von einer HQL/EJB-QL-Abfrage in einem Cache. Dabei werden nur die Primary Keys der Ergebnisobjekte gespeichert, die dann über den Second Level Cache geladen werden. Der Query Cache funktioniert also nur zusammen mit dem Second Level Cache. Abb 1: Hibernate First und Second Level Cache Der effiziente Einsatz der Caches hängt von der Anwendungslogik und der richtigen Cache-Konfiguration ab. Hibernate erlaubt die Konfiguration von unterschiedlichen Cache Providern. Die bekanntesten Implementierungen sind Ehcache [3] und JBoss Cache [4]. Zunächst muss analysiert werden, ob auf eine Entität nur lesend zugegriffen oder diese häufig geändert wird. Bei lesenden Zugriffen (z.b. bei Schlüsselwerten wie Länderlisten) macht ein read-only Second Level Cache sehr viel Sinn, weil dann die Entitäten alle im Speicher liegen und so Datenbankzugriffe fast vollständig vermieden werden können. Die richtige Größeneinstellung des Caches ist aber wichtig. Gibt es zu viele Instanzen von einem Objekt und können nicht alle in den Speicher geladen werden, sollte der Einsatz eines Caches genau geprüft werden er kann dann Sinn machen, wenn nicht alle Daten gleich häufig verwendet werden. Werden die Entitäten im Cache auch verändert, muss man entscheiden, wie wichtig die Konsistenz der Daten im Cache mit der Datenbank ist. Hibernate unterstützt transaktionale Caches, bei denen jedes Update auf dem Cache direkt in der Datenbank persistiert wird, aber auch weniger restriktive Algorithmen, die beispielsweise die Gültigkeit von Daten auf Basis von Zeitstempeln regeln. Je nach Änderungshäufigkeit und Anforderungen an die Datenkonsistenz ist der Performancegewinn des Second Level Caches unterschiedlich zu bewerten. Eine genaue Analyse des Zugriffsverhaltens mithilfe eines Profileroder Monitoring-Tools ist deshalb sehr hilfreich bei der richtigen Konfiguration des Second Level Caches. Es sollten aber noch einige Dinge beachtet werden, wenn der Second Level Cache eingesetzt wird, weil es häufig zu Verwunderungen kommt, dass selbst mit eingeschaltetem Second Level Cache noch Queries abgesetzt werden. Die Entitäten im Second Level Cache werden über ihren Primary Key identifiziert das bedeutet im Umkehrschluss auch, dass nur die Queries aus dem Cache gelesen werden, die eine Entität über den Primary Key lesen. Hat man beispielsweise eine Klasse Person, die über eine eindeutige, laufende Nummer als Primary Key identifiziert werden kann, so können nur Abfragen durch den Second Level Cache optimiert werden, die eine Person über die laufende Nummer lesen. Werden beispielsweise Personen über Name und Vorname gesucht, würden diese Abfragen am Second Level Cache vorbei direkt auf die Datenbank gehen und man hätte keine Performance Ersparnisse, obwohl ein Second Level Cache für Personen existiert. Um auch bei der Suche nach Vor- und Nachnamen einen Cache nutzen zu können, muss für die Query der Query Cache aktiviert werden. In diesem Fall werden alle Primary Keys der Personen aus der Ergebnissemenge im Cache abgelegt. Erfolgt eine erneute Suche über den gleichen Namen, werden die Primary Keys aus dem Query Cache gelesen und mit ihnen eine Anfrage an den Second Level Cache ausgeführt, der dann die Personen aus dem Cache zurückliefern kann. Nur so können die Datenbank-Queries vermieden werden. Ein weiterer Pitfall ist, dass die Daten im Second Level Cache nicht als Objekte, sondern in einer so genannten dehydrierten Form abgelegt sind. Die dehydrierte Form ist eine Art Serialisierung der Entitäten. Wird eine Entität aus dem Second Level Cache gelesen, muss Sie dehydriert bzw. deserialisiert werden. Werden große Ergebnismengen auf eine Query zurückgegeben, die alle im Second Level Cache liegen, kann auch das zu Performanceproblemen führen. Jedes der Objekte muss aus dem Cache gelesen und deserialisiert werden. Vorteil ist, dass jede Transaktion eine eigene Objektinstanz vom Cache zurückgeliefert bekommt und so Concurrency-Probleme vermieden werden können der Second Level Cache ist also Threadsafe. Gerade bei Schlüsselwerten, auf die nur lesend zugegriffen wird, kann der Second Level Cache im Vergleich zu einem normalen Objektcache langsamer sein. Auch hier empfiehlt es sich, die Anwendung genau zu analysieren und gegebenenfalls die Schlüsselobjekte in einem Cache oberhalb der Datenbankzugriffsschicht zu cachen. Die Details der unterschiedlichen Cache-Konfigurationen können hier nur angerissen werden, aber der richtige Einsatz der unterschiedlichen Caches ist gerade bei stark frequentier- 4 javamagazin

5 ten Anwendungen unerlässlich, um eine gute Performance zu erreichen. Anti-Pattern: Schlüssel zum Erfolg Beim Einsatz der richtigen Primärschlüssel gibt es viele Diskussionen. Nutzt man so genannte Surrogate, bei denen der Primary Key ein vom System generierter Schlüssel ist (z.b. eine laufende Nummer vom Typ long), oder fachliche Schlüssel, bei denen sich die Schlüssel aus fachlichen Attributen der Entität zusammensetzen? Wichtig ist zu verstehen, welche Auswirkungen die Wahl des Schlüssels auf die Performance des Systems hat. Ein Surrogat hat den großen Vorteil, dass er relativ simpel ist und meistens aus nur einem numerischen Attribut besteht bei der Prüfung von Entitäten auf Gleichheit muss also nur eine numerische Vergleichsoperation ausgeführt werden. Gerade bei JPA und Hibernate werden Entitäten sehr häufig verglichen, wenn beispielsweise geprüft wird, ob sich eine Entität in einem der Caches befindet. Ein fachlicher Schlüssel kann aus einer großen Menge von Attributen (gerade wenn er über Tabellen hinweg vererbt wird) mit unterschiedlichen Datentypen bestehen. Der Vergleich zweier Entitäten ist damit um Einiges aufwändiger, weil die Entitäten dann gleich sind, wenn alle Attribute identisch sind. Bei fachlichen Schlüsseln sollte also besonders viel Wert auf die equals()- und hashcode()-methoden der Primary-Keys gelegt werden hier kann unter Umständen ein Performanceengpass vermieden werden. Abb. 2: Prepared Statement einer HQL-Abfrage ohne Parameter Anti-Pattern: Explizite Queries Die einfachste Möglichkeit in Hibernate Daten abzufragen, ist das Verwenden der query()-methode, um die Abfrage als String zu übergeben. Hibernate, oder JPA, bietet hier die Möglichkeit, Parameter zu verwenden und diese dann explizit an Werte zu binden. Dieser Ansatz macht auf der Ebene von Hibernate für Abfragen Sinn, die mehrmals wiederholt werden. Für eine einzelne Abfrage scheint sich hier kein Mehrwert zu ergeben. Sieht man sich den Ausführpfad einer Hibernate-Abfrage an, stellt man fest, dass Hibernate für jede Abfrage ein PreparedStatement verwendet. Dieses verwendet die HQL-Abfrage als Basis, um daraus die SQL-Abfrage zu generieren. Werden keine Parameter verwendet, wird wie im folgenden Beispiel ein PreparedStatement mit der expliziten Abfrage generiert. Dieses Prepared- Statement kann natürlich nicht wiederverwendet werden außer es wird der exakt gleiche Datensatz geladen. Dadurch werden hier unnötige Ressourcen, meistens Cursor, auf der Datenbank verbraucht. Zusätzlich kann das Statement auch von anderen Transaktionen nicht wiederverwendet werden. Es empfiehlt sich also, immer parameterbasierte Abfragen zu verwenden, um den Vorteil von Prepared Statements auf der darunterliegenden Schicht optimal nutzen zu können. Weitere Infor- mationen zu Prepared Statements folgen im nächsten Artikel. Fazit In diesem Artikel können die möglichen Fallstricke und Anti-Patterns beim Einsatz von Hibernate und JPA nur angerissen werden. Die Beispiele zeigen aber, dass der Einsatz von Hibernate und JPA nicht so einfach ist, wie das API es vermuten lassen würde. Für eine gute Performance müssen die Frameworks richtig konfiguriert und eingesetzt werden. Der Einsatz von Profilern und Monitoring-Tools während der Entwicklung ist deshalb besonders wichtig, weil so mögliche Engpässe frühzeitig identifiziert werden können so kann man aus der Blackbox O/R Mapper eine Whitebox machen. Alois Reitbauer ist Sr. Performance Architect bei dynatrace Software. In seiner Rolle beeinflusst er aktiv die dynatrace-produktstrategie und unterstützt Topunternehmen bei der Einführung von Performance-Management- Lösungen. Mirko Novakovic ist Mitgründer der codecentric GmbH. Neben der Geschäftsleitung liegen seine Schwerpunkte im Bereich Performancetuning, Java-EE-Architekturen und Open Source Frameworks. codecentric GmbH Grünewalder Str Solingen Ansprechpartner: Tim van Baars +49 (0) javamagazin

JavaFX. Sonderdruck. Plus CD! der Firma codecentric. Java Magazin. Java Architekturen SOA Agile. Stellenmarkt 49 Spring Security mit EJB 2x 58

JavaFX. Sonderdruck. Plus CD! der Firma codecentric. Java Magazin. Java Architekturen SOA Agile. Stellenmarkt 49 Spring Security mit EJB 2x 58 12.08 Plus CD! Stellenmarkt 49 Spring Security mit EJB 2x 58 Java Magazin Java Architekturen SOA Agile www.javamagazin.de CD-Inhalt Jax TV: Session der JAX 2008: Ted Neward: Why the Next Five Years Will

Mehr

DATENBANK-PERFORMANCE:

DATENBANK-PERFORMANCE: 2.09 Plus CD! Stellenmarkt 64 JavaFX 1.0: Die Finalversion ist da! 12 Java Magazin Java Architekturen SOA Agile www.javamagazin.de CD-Inhalt Java-Frameworks Google Guice 1.0 Swordfish Spring Framework

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

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

Ü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

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

Caching. Hintergründe, Patterns &" Best Practices" für Business Anwendungen

Caching. Hintergründe, Patterns & Best Practices für Business Anwendungen Caching Hintergründe, Patterns &" Best Practices" für Business Anwendungen Michael Plöd" Senacor Technologies AG @bitboss Business-Anwendung!= Twitter / Facebook & co. " / kæʃ /" bezeichnet in der EDV

Mehr

Java EE 5 Performance

Java EE 5 Performance Java EE 5 Performance DRV Jahrestagung Java Würzburg 25.2.2008 Mirko Novakovic, codecentric GmbH Agenda 1. Java EE 5 Überblick 2. Performance und Java EE EJB und Persistence Web Services und Remoting Web

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

Übungen zum Workshop Objektrelationales Mapping mit JPA 2.0

Übungen zum Workshop Objektrelationales Mapping mit JPA 2.0 Übungen zum Workshop Objektrelationales Mapping mit JPA 2.0 Alle Unterlagen und Übungen sind in folgenden Google Code Project abgelegt und frei zugänglich: https://code.google.com/p/jpaworkshop/ Aktualisierung

Mehr

NHibernate vs. Entity Framework

NHibernate vs. Entity Framework Manfred Steyer CAMPUS 02 softwarearchitekt.at NHibernate vs. Entity Framework Ziele NHibernate und Entity Framework sowie deren Unterschiede kennen lernen 1 Agenda Kriterien Beispiel mit EF Beispiel mit

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

Neu: IntelliJ IDEA 8. Welche Neuerungen bietet die Hauptversion in Bezug auf Maven, Subversion

Neu: IntelliJ IDEA 8. Welche Neuerungen bietet die Hauptversion in Bezug auf Maven, Subversion Plus CD! Stellenmarkt 64 3.09 Batch Processing 2.0 Java Magazin Deutschland 7,50 Java Architekturen SOA Agile 67 Österreich 8,60 Schweiz sfr 15,80 www.javamagazin.de CD-Inhalt Java-Frameworks JBoss Seam

Mehr

Performance Analyses with inspectit

Performance Analyses with inspectit Performance Analyses with inspectit 23.03.2012 Über uns Beratungsschwerpunkte Performanceanalyse und -optimierung, Application Monitoring, Lastund Performancetests Architekturberatung Java-basierte Anwendungsentwicklung

Mehr

Die Rückkehr der Einfachheit 62

Die Rückkehr der Einfachheit 62 7.09 Plus CD! Stellenmarkt S. 58 Das war die JAX 2009 S. 15 Deutschland 7,50 Österreich 8,60 Schweiz sfr 15,80 Java Magazin Java Architekturen SOA Agile www.javamagazin.de CD-Inhalt JavaRebel 2.0 Squish

Mehr

Web 2.0 Architekturen und Frameworks

Web 2.0 Architekturen und Frameworks Web 2.0 Architekturen und Frameworks codecentric GmbH Mirko Novakovic codecentric GmbH Quality Technische Qualitätssicherung in Software-Projekten mit Fokus auf Performance, Verfügbarkeit und Wartbarkeit

Mehr

Module für eine Java-Administrationsschulung

Module für eine Java-Administrationsschulung Module für eine Java-Administrationsschulung Schulungsmodule 1 Java Administration allgemein...2 1.1 Java und die Virtual Machine...2 1.2 Java EE Bestandteile...2 1.3 Java Management Extensions...2 1.4

Mehr

Softwaretechnik (Medieninformatik) Überblick: 6. Objektorientiertes Design

Softwaretechnik (Medieninformatik) Überblick: 6. Objektorientiertes Design Softwaretechnik (Medieninformatik) Überblick: 6.1 Einleitung 6.2 Verfeinerung des Klassenmodells 6.3 Sequenzdiagramme 6.4 Umsetzung der Analysekonstrukte in das Design 6.5 Fallstudie 6.6 Software Kontrakte

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

Um asynchrone Aufrufe zwischen Browser und Web Anwendung zu ermöglichen, die Ajax Hilfsmittel DWR ist gebraucht.

Um asynchrone Aufrufe zwischen Browser und Web Anwendung zu ermöglichen, die Ajax Hilfsmittel DWR ist gebraucht. Technisches Design Inhalt Design Übersicht Menü und DispatcherServlet DWR Servlet Viewer Servlets Controllers Managers Sicherheit Anwendung Architektur Component Diagram Deployment Diagram Komponente Sequence

Mehr

Erfahrungen und Erkenntnisse. Klaus Richarz, HBT GmbH

Erfahrungen und Erkenntnisse. Klaus Richarz, HBT GmbH Erfahrungen und Erkenntnisse Klaus Richarz, HBT GmbH Java Enterprise Edition 5.0 JBoss Seam Konsequenzen für Realisierung Qualitätssicherung Build & Deployment Fazit & Empfehlungen JBoss Seam in Projekten,

Mehr

jbpm5 in Java EE 6 Marek Iwaszkiewicz Pascal Schaerf akquinet AG

jbpm5 in Java EE 6 Marek Iwaszkiewicz Pascal Schaerf akquinet AG jbpm5 in Java EE 6 Marek Iwaszkiewicz Pascal Schaerf akquinet AG Über uns Developer @ akquinet AG Marek Iwaszkiewicz marek.iwaszkiewicz@akquinet.de JBoss Compentence Center Pascal Schaerf pascal.schaerf@akquinet.de

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

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

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

Integration Services - Dienstarchitektur

Integration Services - Dienstarchitektur Integration Services - Dienstarchitektur Integration Services - Dienstarchitektur Dieser Artikel solle dabei unterstützen, Integration Services in Microsoft SQL Server be sser zu verstehen und damit die

Mehr

VIVIT TQA Treffen in Köln am 18. 04. 2013. API- Programmierung und Nutzung bei HP Quality Center / ALM. Michael Oestereich IT Consultant QA

VIVIT TQA Treffen in Köln am 18. 04. 2013. API- Programmierung und Nutzung bei HP Quality Center / ALM. Michael Oestereich IT Consultant QA VIVIT TQA Treffen in Köln am 18. 04. 2013 API- Programmierung und Nutzung bei HP Quality Center / ALM Michael Oestereich IT Consultant QA Agenda Vorstellung der API- Versionen OTA- API SA- API REST- API

Mehr

Performance Tuning mit @enterprise

Performance Tuning mit @enterprise @enterprise Kunden-Forum 2005 Performance Tuning mit @enterprise Herbert Groiss Groiss Informatics GmbH, 2005 Inhalt Datenbank RMI JAVA API HTTP Konfiguration Analyse Groiss Informatics GmbH, 2005 2 Datenbank

Mehr

ENTWICKLUNGS- UND LAUFZEITUMGEBUNG DER CSE: ECLIPSE UND JBOSS. Piotr Kasprzak

ENTWICKLUNGS- UND LAUFZEITUMGEBUNG DER CSE: ECLIPSE UND JBOSS. Piotr Kasprzak ENTWICKLUNGS- UND LAUFZEITUMGEBUNG DER CSE: ECLIPSE UND JBOSS Piotr Kasprzak Agenda Laufzeitumgebung Java EE (J2EE) Motivation APIs / Technologien JBoss Entwicklungsumgebung Eclipse Ausblick Java EE -

Mehr

Javakurs 2013 Objektorientierung

Javakurs 2013 Objektorientierung Javakurs 2013 Objektorientierung Objektorientierte Programmierung I Armelle Vérité 7 März 2013 Technische Universität Berlin This work is licensed under the Creative Commons Attribution-ShareAlike 3.0

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

Logging richtig gemacht! http://www.sxc.hu/photo/338505

Logging richtig gemacht! http://www.sxc.hu/photo/338505 Logging richtig gemacht! http://www.sxc.hu/photo/338505 Logging is a great tool! 2 Logging richtig gemacht! Qualität eine Systems und Logging Logging: Qualitativer Einflußfaktor Monitoring & Bug-Hunting

Mehr

Sicherheit in Webanwendungen CrossSite, Session und SQL

Sicherheit in Webanwendungen CrossSite, Session und SQL Sicherheit in Webanwendungen CrossSite, Session und SQL Angriffstechniken und Abwehrmaßnahmen Mario Klump Die Cross-Site -Familie Die Cross-Site-Arten Cross-Site-Scripting (CSS/XSS) Cross-Site-Request-Forgery

Mehr

Mehr Dynamik in Apex mit Javascript und JQuery. Alexander Scholz its-people

Mehr Dynamik in Apex mit Javascript und JQuery. Alexander Scholz its-people Vortrag zur DOAG Konferenz 2011 Mehr Dynamik in Apex mit und Alexander Scholz its-people 1 Ablauf Thema des Vortragsthemas Motivation Besonderheit des Referenten Alexander Scholz its-people Wie kann in

Mehr

Datenbankprogrammierung 2

Datenbankprogrammierung 2 Datenbankprogrammierung 2 JDBC Java Database Connectivity Call Level Interface Schnittstelle zwischen DBMS und Applikation JDBC API ist seit JDK1.1 inkludiert Ermöglicht Zugriff aus Java-Applikationen

Mehr

Abacus Formula Compiler (AFC)

Abacus Formula Compiler (AFC) Abacus Formula Compiler (AFC) Alle kennen Excel - jetzt sogar Ihre Java- Applikation! Bringt Tabellenkalkulationen auf die JVM http://formulacompiler.org/ Peter Arrenbrecht für Abacus Research AG http://abacus.ch/

Mehr

RAC auf Sun Cluster 3.0

RAC auf Sun Cluster 3.0 RAC auf Sun Cluster 3.0 Schlüsselworte RAC, OPS, Sun Cluster, Performance, Availability Zusammenfassung Oracle hat mit dem Real Application Cluster (RAC) aus einer Hochverfügbarkeitslösung eine Höchstverfügbarkeitslösung

Mehr

Warum Anwendungen nicht skalieren Wie man Performance- und Skalierbarkeitsprobleme findet und eliminiert

Warum Anwendungen nicht skalieren Wie man Performance- und Skalierbarkeitsprobleme findet und eliminiert Warum Anwendungen nicht skalieren Wie man Performance- und Skalierbarkeitsprobleme findet und eliminiert Alois Reitbauer, dynatrace Software Mirko Novakovic, codecentric GmbH Agenda Skalierbarkeit Das

Mehr

Adlerblick So gewinnen Sie einen Überblick über ein DWH Dr. Andrea Kennel InfoPunkt Kennel GmbH CH-8600 Dübendorf Schlüsselworte Einleitung

Adlerblick So gewinnen Sie einen Überblick über ein DWH Dr. Andrea Kennel InfoPunkt Kennel GmbH CH-8600 Dübendorf Schlüsselworte Einleitung Adlerblick So gewinnen Sie einen Überblick über ein DWH Dr. Andrea Kennel InfoPunkt Kennel GmbH CH-8600 Dübendorf Schlüsselworte DWH Projekt, Methodik, Stärken und Schwächen, Übersicht, Weg der Daten,

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

Cassandra Query Language (CQL)

Cassandra Query Language (CQL) Cassandra Query Language (CQL) Seminar: NoSQL Wintersemester 2013/2014 Cassandra Zwischenpräsentation 1 Gliederung Basic facts Datentypen DDL/DML ähnlich zu SQL Besonderheiten Basic facts CQL kurz für

Mehr

Gemeinsam mehr erreichen.

Gemeinsam mehr erreichen. Gemeinsam mehr erreichen. Oracle ESS 12c Client Application mit ADF ADF Spotlight 6. März 2015 Ihr Ansprechpartner Carsten Wiesbaum Principal Consultant carsten.wiesbaum@esentri.com @CWiesbaum Schwerpunkte:

Mehr

JBoss AS 7. Installation, Konfiguration und Betrieb. Alexander Pacnik Karlsruhe, 13.12.2013

JBoss AS 7. Installation, Konfiguration und Betrieb. Alexander Pacnik Karlsruhe, 13.12.2013 JBoss AS 7 Installation, Konfiguration und Betrieb Alexander Pacnik Karlsruhe, 13.12.2013 Jboss 7 AS... worum es in diesem Vortrag geht. Einführung Installation Konfiguration Management Deployment Betrieb

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

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Eclipse Equinox als Basis für Smart Client Anwendungen Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Übersicht Definition / Architektur Smart Client Smart Client mit RCP / Equinox Gesamtfazit

Mehr

JMangler. Frithjof Kurtz. Universität Bonn, Seminar Softw aretechnologie WS 03/04, Jmangler Frithjof Kurtz 1

JMangler. Frithjof Kurtz. Universität Bonn, Seminar Softw aretechnologie WS 03/04, Jmangler Frithjof Kurtz 1 JMangler Frithjof Kurtz Universität Bonn, Seminar Softw aretechnologie WS 03/04, Jmangler Frithjof Kurtz 1 JMangler Vortragsgliederung Motivation Java Grundlagen JMangler Grundlagen Transformationen Algorithmen

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

Perzentile mit Hadoop ermitteln

Perzentile mit Hadoop ermitteln Perzentile mit Hadoop ermitteln Ausgangspunkt Ziel dieses Projektes war, einen Hadoop Job zu entwickeln, der mit Hilfe gegebener Parameter Simulationen durchführt und aus den Ergebnissen die Perzentile

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

Whitepaper Externe Speicherung von Binary Large Objects (BLOBs) mit SharePoint 2007 sowie SQL Server 2005 / 2008

Whitepaper Externe Speicherung von Binary Large Objects (BLOBs) mit SharePoint 2007 sowie SQL Server 2005 / 2008 Externe Speicherung von Binary Large Objects (BLOBs) mit SharePoint 2007 sowie SQL Andreas Glaser, 23. September 2008 Teufenerstrasse 19 CH 9001 St.Gallen t [+41] 71 228 67 77 f [+41] 71 228 67 88 info@namics.com

Mehr

Probeklausur. Lenz Belzner. January 26, 2015. Lenz Belzner Probeklausur January 26, 2015 1 / 16

Probeklausur. Lenz Belzner. January 26, 2015. Lenz Belzner Probeklausur January 26, 2015 1 / 16 Probeklausur Lenz Belzner January 26, 2015 Lenz Belzner Probeklausur January 26, 2015 1 / 16 Definieren Sie Software Engineering in Abgrenzung zu Individual Programming. Ingenieursdisziplin professionelle

Mehr

TimeSafe Leistungserfassung

TimeSafe Leistungserfassung Keep your time safe. TimeSafe Leistungserfassung Adressimport 1/8 Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 Allgemeines... 3 1.1 Adressen in der TimeSafe Leistungserfassung... 3 1.2 Organisationen und/oder

Mehr

Android Kurs Online Kurs Entwicklung auf Android-Handys

Android Kurs Online Kurs Entwicklung auf Android-Handys Android Kurs Online Kurs Entwicklung auf Android-Handys Akademie Domani info@akademiedomani.de Allgemeines Programm des Kurses Modul Eins - Programmierung J2ee 1) Grundlegende Java - Programmierung : Grundlegende

Mehr

ZenQuery - Enterprise Backend as a Service Single Page Applications mit AngularJS und Spring MVC. - Björn Wilmsmann -

ZenQuery - Enterprise Backend as a Service Single Page Applications mit AngularJS und Spring MVC. - Björn Wilmsmann - ZenQuery - Enterprise Backend as a Service Single Page Applications mit AngularJS und Spring MVC - Björn Wilmsmann - ZenQuery Enterprise Backend as a Service Unternehmen horten Daten in Silos ZenQuery

Mehr

3. Konzepte der objektorientierten Programmierung

3. Konzepte der objektorientierten Programmierung 3. Konzepte der objektorientierten Programmierung 3.1 Basiskonzepte 3.2 Generalisierung / Spezialisierung 3.3 Aggregation 3.4 Assoziation 3.5 Nachrichten 3.6 Polymorphismus 3. Konzepte der Objektorientierung

Mehr

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com Web Services Java Praktikum SS 2010 Gerald.Ehmayer@borland.com 1 Web Services Einführung Definition, Eigenschaften, Anwendungen... JAX-RPC Überblick, Architektur... JAX Übersicht, Architektur Java Praktikum

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

Vererbung versus Delegation

Vererbung versus Delegation Vererbung versus Delegation class A { public void x() { z(); } protected void z() { /* A-Code */... } } class B extends A { protected void z() { /* B-Code */... } public void y() { delegate.x(); } private

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

Werkzeuge für Datenbank Handwerker: IBM Data Studio und IBM Optim QWT

Werkzeuge für Datenbank Handwerker: IBM Data Studio und IBM Optim QWT Werkzeuge für Datenbank Handwerker: IBM Data Studio und IBM Optim QWT Neue Technologien effizient nutzen Ehningen, 3. Juli 2014 Rodney Krick rk@aformatik.de aformatik Training & Consulting GmbH & Co. KG

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

Behandelt Java EE 6. O Reillys Taschenbibliothek. Java EE. kurz & gut. Arun Gupta O REILLY. Übersetzung von Thomas Demmig

Behandelt Java EE 6. O Reillys Taschenbibliothek. Java EE. kurz & gut. Arun Gupta O REILLY. Übersetzung von Thomas Demmig O Reillys Taschenbibliothek Behandelt Java EE 6 Java EE kurz & gut O REILLY Arun Gupta Übersetzung von Thomas Demmig Inhalt Vorwort... 1 Java Platform, Enterprise Edition... 1 Einführung... 1 Deliverables...

Mehr

Hardware- und Software-Anforderungen IBeeS.ERP

Hardware- und Software-Anforderungen IBeeS.ERP Hardware- und Software-Anforderungen IBeeS.ERP IBeeS GmbH Stand 08.2015 www.ibees.de Seite 1 von 8 Inhalt 1 Hardware-Anforderungen für eine IBeeS.ERP - Applikation... 3 1.1 Server... 3 1.1.1 Allgemeines

Mehr

Groovy on Grails. Informatik-Seminar WS06/07. Alexander Treptow. Groovy on Grails Alexander Treptow (minf2622) 1

Groovy on Grails. Informatik-Seminar WS06/07. Alexander Treptow. Groovy on Grails Alexander Treptow (minf2622) 1 Groovy on Grails Informatik-Seminar WS06/07 Alexander Treptow Groovy on Grails Alexander Treptow (minf2622) 1 Übersicht Groovy on Grails Projektstruktur Controllers Views & Layout Dynamic Tag Libraries

Mehr

ESB. Open Source ESB: Mule Flightreservation. Res Gilgen Hochschule Luzern [Wählen Sie das Datum aus]

ESB. Open Source ESB: Mule Flightreservation. Res Gilgen Hochschule Luzern [Wählen Sie das Datum aus] ESB Open Source ESB: Mule Flightreservation Res Gilgen Hochschule Luzern [Wählen Sie das Datum aus] Inhalt 1. Open Source ESB: Mule... 2 1.1. Überblick... 2 1.1.1. Das Beispiel Zeigt:... 2 1.2. Installationsanleitung...

Mehr

Inhalt: Version 1.7.5

Inhalt: Version 1.7.5 Inhalt: Objekte ohne Methoden Objekte mit einfachen Methoden Objekte und Methoden mit Parametern Objekte und Methoden mit Rückgabewert Objekte mit einem Array als Attribut Beziehungen zwischen Objekten

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

G s e a s m a t m ar a ch c i h tek e tur u I und IoC

G s e a s m a t m ar a ch c i h tek e tur u I und IoC Gesamtarchitektur I und IoC Schichten einer Web-Anwendung Initiiert durch J2EE und Spring: Strukturierte Sicht auf UI und Fachlogik (Domäne) Ergibt 5 Schichten: Man unterscheidet Präsentations- und Domänenmodell!

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 GridControl Tuning Pack. best Open Systems Day April 2010. Unterföhring. Marco Kühn best Systeme GmbH marco.kuehn@best.de

Oracle GridControl Tuning Pack. best Open Systems Day April 2010. Unterföhring. Marco Kühn best Systeme GmbH marco.kuehn@best.de Oracle GridControl Tuning Pack best Open Systems Day April 2010 Unterföhring Marco Kühn best Systeme GmbH marco.kuehn@best.de Agenda GridControl Overview Tuning Pack 4/26/10 Seite 2 Overview Grid Control

Mehr

PLATTFORMÜBERGREIFENDE ENTWICKLUNG MITHILFE MODELLGETRIEBENER METHODEN UND TECHNOLOGIEN

PLATTFORMÜBERGREIFENDE ENTWICKLUNG MITHILFE MODELLGETRIEBENER METHODEN UND TECHNOLOGIEN PLATTFORMÜBERGREIFENDE ENTWICKLUNG MITHILFE MODELLGETRIEBENER METHODEN UND TECHNOLOGIEN Mathias Slawik, WI (M), 3. FS Aktuelle Themen der Wirtschaftsinformatik, HTW Berlin, WS 10/11 Gliederung 2 Methode

Mehr

Hochschule Darmstadt Fachbereich Informatik

Hochschule Darmstadt Fachbereich Informatik Hochschule Darmstadt Fachbereich Informatik 6.3 Systemarchitektur 430 6.3 Systemarchitektur Drei Schichten Architektur Die "Standardtechniken" des Software-Engineering sind auch auf die Architektur einer

Mehr

Java lernen mit BlueJ

Java lernen mit BlueJ Java lernen mit BlueJ Eine Einführung in die objektorientierte Programmierung David J. Barnes Michael Kölling 4.0 Lernen in Eigenregiegi Vorlesungen Seminare Übungen Bücher Webseiten Diskussionslisten

Mehr

MICHAEL RÜGER. Abschluss Diplom Fach Informatik. Geburtsjahr 1985 Profil-Stand April 2015

MICHAEL RÜGER. Abschluss Diplom Fach Informatik. Geburtsjahr 1985 Profil-Stand April 2015 MICHAEL RÜGER Abschluss Diplom Fach Informatik Geburtsjahr 1985 Profil-Stand April 2015 Triona Information und Technologie GmbH Wilhelm-Theodor-Römheld-Str. 14 55130 Mainz Fon +49 (0) 61 31 9 21-122 Fax

Mehr

Versand von Newslettern aus Sage CRM mit MailChimp

Versand von Newslettern aus Sage CRM mit MailChimp Versand von Newslettern aus Sage CRM mit MailChimp Autor: Robert Cwicinski letzte Änderung: 06.05.2015 Inhaltsverzeichnis 1 Ausgangssituation... 3 2 Zielsetzung... 3 3 MailChimp Konto... 4 3.1 Account

Mehr

Java Performance Tuning

Java Performance Tuning Seminarunterlage Version: 5.04 Version 5.04 vom 16. Januar 2015 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen

Mehr

Lerox DB/2 Datenbankreferenz in QlikView für IBM System AS/400, iseries i5, System i

Lerox DB/2 Datenbankreferenz in QlikView für IBM System AS/400, iseries i5, System i Lerox DB/2 Datenbankreferenz in QlikView für IBM System AS/400, iseries i5, System i Inhaltsverzeichnis Überblick... 3 Die QlikView Applikation im Kontext... 4 Technische Rahmenbedinungen... 5 Funktionelle

Mehr

Selbstbestimmtes Lernen. Proinformatik III Objektorientierte Programmierung. Format. Inhalt. Buzzwords

Selbstbestimmtes Lernen. Proinformatik III Objektorientierte Programmierung. Format. Inhalt. Buzzwords 4.0 Proinformatik III Objektorientierte Programmierung Michael Kölling University of Kent Canterbury, UK Selbstbestimmtes Lernen Vorlesung Tutorium Übungen Buch Web-Seite Üben, üben, üben! Format Vorlesung:

Mehr

Warum EJB Technologie (1)?

Warum EJB Technologie (1)? Datenbanken und Informationssysteme 2 SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn Datenbanken und Informationssysteme 2 - Prof. Dr. Stefan Böttcher - SS 2004 Folie EJB - 1 Warum EJB Technologie

Mehr

anaptecs JEAF Plattform JEAF Developer Guide

anaptecs JEAF Plattform JEAF Developer Guide anaptecs JEAF Plattform JEAF Developer Guide : JEAF Framework Die technische Grundlage für Applikationen auf Basis der JEAF Plattform bildet das JEAF Framework. Dabei handelt es sich um ein leichtgewichtiges

Mehr

Das Interceptor Muster

Das Interceptor Muster Das Interceptor Muster Implementierung des Interceptor Musters basierend auf OSGi and Friends Benjamin Friedrich Hochschule für Technik und Wirtschaft des Saarlandes Praktische Informatik - Entwurfsmuster

Mehr

Revisionssicherheit und Langzeitarchivierung für

Revisionssicherheit und Langzeitarchivierung für Connect to Product Info Revisionssicherheit und Langzeitarchivierung für Connect to verbindet Microsoft Office mit dem Dokumentenmanagement-System DocuWare. -Anwender gewinnen eine ideale Lösung, um Dokumente

Mehr

Server Installation 1/6 20.10.04

Server Installation 1/6 20.10.04 Server Installation Netzwerkeinrichtung Nach der Installation müssen die Netzwerkeinstellungen vorgenommen werden. Hierzu wird eine feste IP- Adresse sowie der Servername eingetragen. Beispiel: IP-Adresse:

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Apache HTTP-Server Teil 2

Apache HTTP-Server Teil 2 Apache HTTP-Server Teil 2 Zinching Dang 04. Juli 2014 1 Benutzer-Authentifizierung Benutzer-Authentifizierung ermöglicht es, den Zugriff auf die Webseite zu schützen Authentifizierung mit Benutzer und

Mehr

MaxDB-Schulungsthemen

MaxDB-Schulungsthemen MaxDB-Schulungsthemen Ein Überblick über unser Angebot Allgemeine Hinweise zu unseren Schulungen Die Schulungen finden in der Regel als Inhouse Schulungen bei den interessierten Unternehmen statt. Die

Mehr

Sonderdruck. Die Rückkehr der Einfachheit 62. Plus CD! der Firma codecentric. Java Magazin. Java Architekturen SOA Agile.

Sonderdruck. Die Rückkehr der Einfachheit 62. Plus CD! der Firma codecentric. Java Magazin. Java Architekturen SOA Agile. 7.09 Plus CD! Stellenmarkt S. 58 Das war die JAX 2009 S. 15 Java Magazin Java Architekturen SOA Agile www.javamagazin.de CD-Inhalt JavaRebel 2.0 Squish 3.4.4 WebCastellum 1.8.1 QF-Test 3.0.2 Groovy 1.6.3

Mehr

ImplementIerung von ClICKAnDBuY

ImplementIerung von ClICKAnDBuY Implementierung von CLICKANDBUY Inhaltsverzeichnis 1 2 3 4 5 6 7 Einführung: ClickandBuy Premiumlinks... 2 ClickandBuy URL Mapping... 3 Premiumlink Implementierungsoptionen... 4 3.1. Sessionlink... 4 3.2.

Mehr

Ihre Persistenzschicht?

Ihre Persistenzschicht? Ihre Persistenzschicht? Kunde, Chef, DBA? Wahrnehmung endet oft mit Fingerpointing richtung ORM Unnützer Konflikt mit DBAs (wertvolle Hilfe beim Debugging) Tuning von Hibernate und JPA Anwendungen Michael

Mehr

3. Spezielle ER-Modelle und Tabellenableitung. Transformation von ER-Diagrammen in Relationen

3. Spezielle ER-Modelle und Tabellenableitung. Transformation von ER-Diagrammen in Relationen 3. Spezielle ER-Modelle und Tabellenableitung Spezialfälle von ER-Modellen Grundlage, was sind Relationen Transformation von ER-Diagrammen in Relationen 56 Lesebeispiel Access (Realisierungmodell!) 57

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Einführung in den NetBeans Profiler

Einführung in den NetBeans Profiler Let s talk about IT Wenn s mal wieder länger dauert Einführung in den NetBeans Profiler Dominik Hofmann 14.01.2010 Themenüberblick Themen Grundlagen und Features des NetBeans Profilers CPU Profiling Memory

Mehr

Die nächste Revolution in der modelgetriebenen Entwicklung?

Die nächste Revolution in der modelgetriebenen Entwicklung? Die nächste Revolution in der modelgetriebenen Entwicklung? Me Johannes Kleiber Software Engineer bei FMC Johannes.Kleiber@fmc-ag.com Themen Überblick Window Workflow Foundation Workflows modellieren WF

Mehr

Hello World from CORBA

Hello World from CORBA Hello World from CORBA ein erster Überblick Aufruf einer Objekt-Methode Client gettemperature() Thermometer Objekt- Implementation Thermometer th = new Thermometer(); double t = th.gettemperature(); th

Mehr

Diplomarbeit: Open Source Rapid Web Development Frameworks - Eine Untersuchung der Skalierungsstrategien

Diplomarbeit: Open Source Rapid Web Development Frameworks - Eine Untersuchung der Skalierungsstrategien Diplomarbeit: Open Source Rapid Web Development Frameworks - Eine Untersuchung der Skalierungsstrategien Ergebnispräsentation Kolloquium Ralf Geschke FOM Köln 27.04.2009 Gliederung Einleitung Vorgehensweise

Mehr

Objektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ

Objektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ Objektorientierte Programmierung Objektorientierte Programmierung Eine Einführung mit BlueJ stellt die Daten, ihre Struktur und ihre Beziehungen zueinander in den Vordergrund. Weniger im Blickpunkt: die

Mehr

XPages Good to know. Benjamin Stein & Pierre Hein Stuttgart 7. Mai 2015

XPages Good to know. Benjamin Stein & Pierre Hein Stuttgart 7. Mai 2015 XPages Good to know Benjamin Stein & Pierre Hein Stuttgart 7. Mai 2015 Agenda 1. Einführung Was sind XPages? 2. Allgemeine Tipps Allgemeine Tipps für die Verwendung von XPages 3. Designer Tipps Tipps für

Mehr

JBoss 7 als Plattform für hochverfügbare Anwendungen

JBoss 7 als Plattform für hochverfügbare Anwendungen JBoss 7 als Plattform für hochverfügbare Anwendungen Orientierungspunkt 04/2013 24.05.2013, OIO Dirk Weil, GEDOPLAN GmbH Dirk Weil GEDOPLAN GmbH, Bielefeld Java EE seit 1998 Konzeption und Realisierung

Mehr

Web- Applikationen. in Java-Web

Web- Applikationen. in Java-Web Einführung in Java-Web Web- Applikationen Frank Huber Humboldt-Universität zu Berlin Allgemeines Java: Programmierung ist Programmierung nach Konvention Insbesondere bei Web-Applikationen wurde eine API

Mehr

SINT Rest App Documentation

SINT Rest App Documentation SINT Rest App Documentation Release 1.0 Florian Sachs 08.04.2014 Inhaltsverzeichnis 1 REST Service 3 1.1 Application................................................ 3 1.2 Konfiguration...............................................

Mehr