zum aktuellen Java Forum Stuttgart
•
Kontakt
•
Impressum
|
Abstracts & Vortragsfolien zum 15. Java Forum StuttgartFett markierte Vortragskürzel: Vortragsfolien liegen vor.
Themenbereich: Architektur Stichworte: Objectorientierung, Business Rules, Architekturkonzept Data,Context und Interaktion Abstract: Programmieren in Java oder auch C++ ist beinahe untrennbar mit dem objektorientierten Paradigma verbunden. Grundsätzlicher Anspruch ist, Daten und zugehörige Programmlogik zu kapseln. Was sind weitere konkrete Eigenschaften von objektorientierten Systemen bzw. Auswirkungen der objektorientierten Programmierung auf die Softwarearchitektur? Im scheinbaren Gegensatz dazu steht der Business Rules-Ansatz, der die Logik aus den Objekten löst und in Regeln kapselt. Dabei werden die Objekte mehr oder weniger zu Datencontainern. Was sind die Treiber hinter diesem Konzept? Wie sieht es konkret im Zusammenspiel mit Java-Programmen aus? Mit welchen Strategien können etwa auftretende Konflikte aufgelöst werden? Demselben Gedanken, nämlich Logik aus den Objekten herauszulösen, folgt das Architekturkonzept Data, Context and Interaction (DCI). DCI stellt eine Erweiterung des Model View Controller Patterns um die Kernkomponente "User" dar. Markus Schärtel zeigt in seinem Vortrag, wie Business Rules das DCI-Konzept ergänzen können, aber auch, wo mögliche Diskrepanzen entstehen. Vortragsfolien: A1.pdf
Themenbereich: Sonstiges Stichworte: JVM Languages, Kotlin, Ceylon, Scala, Java Abstract: Ein bisschen in die Jahre gekommen ist es ja schon: Java! Vereinzelt eilt ihm schon gar der verbrämende Ruf des "neuen Cobols" voraus. Dabei ist die zugrunde liegende JVM Plattform moderner und hochleistungsfähiger als je zuvor. Sowohl Android als auch die schiere Flut neu aus der Taufe gehobenen JVM Sprachen belegen die beeindruckende Solidität ihres Fundaments. Zu den frühen, eher Scripting-orientierten Sprachentwürfen sind inzwischen einige statisch-typisierte Dialekte dazu gestossen, die echtes Potential haben auch für Unternehmensanwendungen als ernste Alternativen zu Java aufzusteigen. So z.B. Kotlin, welches explizit für den industriellen Einsatz bei 100% Java-Interoperabilität entworfen wurde. Oder das unbekanntere Fantom, das mit JavaScript/.NET-Crosscompiling, semi-statisch-/dynamischer Typisierung und innovativen Multithreading-Unterstützung selbst Urgestein Scala einiges entgegenzusetzen hat. Wir werfen einen Blick auf diese verschiedenen Sprachen. Dabei betrachten wir insbesondere aus der Perspektive des industrienahen Java-Entwicklers ihre spannenden Kern-Features. Einzelne Code-Fragemente und Gegenüberstellungen sowie Anekdoten und Details zu ihrer Tooling- und Projekt-Landschaft sollen helfen, hier frühe Orientierung im Dschungel der spannenden Neuerungen zu erlangen. Vortragsfolien: A1Ersatzvortrag.pdf
Themenbereich: Architektur Stichworte: Teamentwicklung, Buildsysteme, Modularisierung Abstract: Dieser Vortrag stellt das z2-Environment (www.z2-environment.eu) vor. Parallel zu größer und modularer werdenden Softwaresystemen nimmt traditionell die Bereitstellung zentraler und lokaler Buildinfrastrukturen und Laufzeitumgebungen wie auch die Verwaltung von externen Tool- und Artefaktabhängigkeiten eine unvernünftig große Rolle ein. Wartung historischer Versionen wird unnötig komplex und zeitnahe Integration zunehmend eine Herausforderung. Kann die Laufzeitumgebung sich aber selber an Änderungen von Quellen und Konfiguration seiner Systemdefinition anpassen, so vereinfacht sich nicht nur die Produktionsinfrastruktur, es werden auch Entwicklungszyklen beschleunigt und frühe Integration gefördert. Die Open-Source Umgebung z2-Environment implementiert einen solchen "Systemzentrischen” Ansatz mit einer modularen Laufzeitumgebung und ist in mehreren Projekten und mit verteilten Teams im Einsatz. Dieser Vortrag erklärt die Hintergründe und Konzepte von z2 und zeigt, wo der Ansatz Sinn macht, wie er sich im Software-Lifecycle wiederfindet und wie er sich in die bestehende Toolwelt integriert. An einer realen Lösung, wird das Toolset in der Entwicklung vorgeführt und gezeigt, wie sich populäre Java Frameworks elegant integrieren lassen. Vortragsfolien: A2.pdf
Themenbereich: Architektur Stichworte: BPM, BPMN, Java EE 6, Process Engine Abstract: Java EE 6 kann fast alles, außer BPM. Doch zum Glück gibt es heute leichtgewichtige Java Process Engines, die sich dann auch einfach integrieren lassen. Wir zeigen am Beispiel des Open Source Projektes Activiti, wie man dies nahtlos in die Welt von CDI, JSF, JPA & co. einbauen und damit prozessorientierte Applikationen entwickeln kann, die ganz ins Java EE 6 Programmiermodell passen. Dabei werden Best Practices und Lessons Learned aus Praxisprojekten diskutiert. Vortragsfolien: A3.pdf
Themenbereich: Architektur Stichworte: Design, Unit Testing, Testbarkeit, Design for Testability Abstract: Bei der Einführung von agilen Methoden verfügt der bestehende Legacy-Code leider in der Regel über ein schlecht testbares Design, da er nicht testgetrieben entwickelt wurde. Die Entwickler müssen also nicht nur die Umstellung auf Testgetriebene Entwicklung meistern, sondern kämpfen gleichzeitig gegen eine schwere Testbarkeit an. Die Chance ist dabei hoch, frustriert aufzugeben und das Scheitern auf die Methodik zu schieben. Der Vortrag stellt daher vor, wie die Konzepte eines "Design for Testability" bei der Verbesserung der Testbarkeit helfen können und veranschaulicht mit ganz konkreten Java-Beispielen, wie sich Tests so leichter umsetzen lassen. Vortragsfolien: A4.pdf
Themenbereich: Architektur Stichworte: Architektur, Metriken, Qualitätssicherung Abstract: Das Messen und Kontrollieren von Qualität ist ein wichtiger Baustein zur Entwicklung von professioneller Software. Häufig kommt dies in Projekten zu kurz. Andererseits existieren in der Java Welt eine Vielzahl von (frei verfügbaren) Werkzeugen, zur statischen und dynamischen Codeanalyse. Aber eine konsolidiere Sicht auf die gemessenen Werte der Werkzeuge fehlt oft und führt unter anderem zu Mehrfachmessung der gleichen Metriken durch unterschiedliche Werkzeuge, unterschiedliche Interpretation der gleichen Metriken. Dies lässt sich durch entsprechendes Augenmerk vermeiden. Wesentlich schwieriger ist das Zusammenführen der gemessenen Werte aus den verschiedenen Werkzeugen zu einer konsolidierten Sicht, um aus dieser abzuleiten, an welchen Stellen des Systems Handlungsbedarf besteht. Ohne ein geeignetes Werkzeug ist diese Aufgabe aufwändig und somit kostenintensiv. Mit Sonar existiert ein freiverfügbares Werkzeug, das eine konsolidierte Sicht auf gängige Analyse Werkzeuge der Java im Sinne der Konfiguration und der Darstellung der Ergebnisse ermöglicht. Diese Konsolidierung erleichtert die Analyse des gemessenen Systems wesentlich und ermöglicht somit schnell unter Berücksichtigung aller gemessenen Parameter zu entscheiden, ob und wo am System refrakturiert werden soll. In dieser Session wird demonstriert, wie Sonar aufzusetzen ist, welche Messgrößen gesammelt und auf welche Art visualisiert werden können. Hierzu wird exemplarisch ein Projekt in mehreren Iterationen gemessen. Vortragsfolien: A5.pdf
Themenbereich: Parallelisierung Stichworte: Parallelisierung, Distributed Computing, High Availability, Zookeeper Abstract: Verteilte Software Anwendungen werden immer häufiger. Dabei spielt die koordinierte Kommunikation zwischen den beteiligten Prozessknoten eine große Rolle. Aufgaben müssen zuverlässig verteilt und Ausfälle ausgeglichen werden. Wer hier mit hausgemachten Lösungen anfängt stößt schnell an Grenzen. Das aus Apache-Hadoop entstandene Zookeeper Projekt bietet Lösungsrezepte für typische Aufgabenstellungen bei verteilten Anwendungen. Der Vortrag bietet einen einführenden Überblick in die Architektur von Zookeeper. Zudem werden einige der Zookeeper Rezepte in Beispielen präsentiert. Vortragsfolien: A6.pdf
Themenbereich: Parallelisierung Stichworte: Nebenläufigkeit, Skalierbarkeit, Aktormodell, Akka Abstract: Schon lange ist offensichtlich, daß sich Programme nicht mehr einzig und allein dadurch beschleunigen lassen, daß man sie auf immer schnelleren Maschinen ausführt; das Potential zur Steigerung der Leistung einzelner CPUs stößt an Grenzen - nicht ohne Grund sehen wir sogar im Consumer-Bereich Rechner mit vier oder mehr Kernen. Um diese Leistung ausnützen zu können, ist eine Anpassung der Programme erforderlich. Java bietet schon seit langem Mechanismen zur nebenläufigen Ausführung, jedoch sind diese in ihrer Natur eher "low level". Frameworks und Bibliotheken, die möglicherweise neben einem "scale up" auch ein "scale out" auf andere Maschinen unterstützen, helfen dem Entwickler, sich auf das Wesentliche zu konzentrieren. Akka ist ein populärer Vertreter solcher Frameworks. Mit Aktoren und STM (Software Transactional Memory) unterstützt es den Entwickler beim Erstellen skalierbarer Anwendungen. Dieser Vortrag möchte die Konzepte und Ideen von Akka vorstellen, um anschließend ein bestehendes Programm Schritt für Schritt auf die Konzepte von Akka umzustellen. Obwohl Akka aus der Scala-Welt kommt, bietet es ebenfalls eine Java-API; da die Scala-Gemeinde im Vergleich zur Menge der Java-Entwickler noch relativ klein ist, wird sich der Vortrag an der Java-API orientieren. Vortragsfolien: A7.pdf
Themenbereich: Sonstiges Stichworte: Lasttest, Performance, APM, Performance, loadIT Abstract: Performanceprobleme, Speicherlecks und nur bei Nebenläufigkeit auftretende Probleme sind schlechte Überraschungen, wenn eine Anwendung in Produktion geht. Wer das vermeiden möchte, sollte bereits während der Entwicklung prüfen, wie sich die Anwendung unter der im Echtbetrieb erwarteten Last verhält. Der Vortrag zeigt wie die anspruchsvolle Aufgabe der Konzeption und Durchführung eines realistischen und aussagekräftigen Lasttests bewältigt werden kann. Die Zuhörer erhalten anhand eines konkreten Beispiels das Bewusstsein für die notwendigen Vorbereitungen, bevor ein Lasttest überhaupt erstellt werden kann: dem Festlegen der geforderten Antwortzeiten, der nichtfunktionalen Anforderungen, der erwarteten Last und der Konzeption der Testfälle und Testdaten. Anschließend wird die konkrete technische Umsetzung und Durchführung des Lasttests, von der Aufnahme bis zur Auswertung, anhand des kostenfreien Lasttestwerkzeugs NovaTec loadIT, einer Erweiterung von JMeter, erklärt. Auch auf die Analysemöglichkeiten, die das ebenfalls kostenlose Werkzeugs inspectIT bis auf die Methodenebene von Java-Anwendungen bietet, wird eingegangen. Vortragsfolien: B1.pdf
Themenbereich: Sonstiges Stichworte: Java Plattform, OpenJDK, Java SE, JavaFX, Java EE Abstract: Java ist seit mehr als 15 Jahren im unternehmensweiten Einsatz und gerade jetzt sind die Firmen dabei das JDK 7 zu verwenden. Da steht bereits das JDK 8 mit größeren Veränderungen vor der Tür und bietet eine komplette Plattform Modularisierung und Container-Unterstützung im Projekt Jigsaw. Projekt Lambda zeigt erste Ansätze, die konvergierende JVM macht Fortschritte, die JavaScript Interoperabilität mit der JVM und weitere kleinere Sprachverbessungen runden die Änderungen ab. Doch damit nicht genug, JavaFX 2.0 ist nach dem Start vom OpenJFX Projekt auf dem Sprung ins JDK 8 und wird sich dort als JavaFX 3.0 für Rich Internet Anwendungen manifestieren. Noch in diesem Jahr soll die Java Enterprise Edition 7 erscheinen und den Weg der Anwendungen ins Zeitalter von Platform-as-a-Service aufzeigen. Java EE 7 verwendet dafür eigene Konzepte und überarbeitete Spezifikationen. Neue Rollen werden definiert und an das PaaS-Modell angepasst. Die Einführung von Metadaten ist notwendig: Zur Service-Provisionierung und Konfiguration, für die Service-Qualität und Elastizität, zur gemeinsamen Nutzung von Anwendungen und Ressourcen, und schließlich zur Umkonfiguration und Anpassung. Einige Schnittstellen sind für die PaaS-Umgebung zu ergänzen: JAX-RS Client API, Caching API, State Management, JSON und andere APIs. Zwingendermaßen müssen die API´s erweiterbar sein damit sie für Mandanten fähig ausgelegt werden können. Die folgenden Java EE 7 Spezifikationen sind genauer zu betrachten: Plattform 7 / Web Profile 7, JPA 2.1, JAX-RS 2.0, EJB 3.2, JMS 2.0, Servlet 3.1, EL 3.0, JSF 2.2, CDI 1.1, Bean Validation 1.1, JCache 1.0 (JSR 107), Concurrency Utilities 1.0, State Management 1.0, Batch Processing 1.0, JSON 1.0, Common Annotations 1.2 MR, JAX-WS 2.3 MR, JTA 1.2 MR, JSP 2.3 MR, JASPIC 1.2 MR. Vortragsfolien: B2.pdf
Themenbereich: Sonstiges Stichworte: JDK, OpenSource, OpenJDK, MacOSX Abstract: In diesem Vortrag werden Sie erfahren, wie das JDK 7 Updates Projekt in der OpenJDK Community funktioniert. Sie werden lernen wie man Änderungen von Anfang an verfolgen kann, vom Bugtrackereintrag bis zum JDK 7 Update Release, und erhalten einen Einblick wie die Mac OS X Portierung in zukünftige JDK 7 Update Releases integriert wird, wo man developer preview builds findet und wie man sich effektiv an der Entwicklung der JDK 7 Updates beteiligen kann. Vortragsfolien: B3.pdf
Themenbereich: Sonstiges Stichworte: Soft Skills, Präsentationen, Kommunikation, Rethorik Abstract: Wer kennt sie nicht aus seinem beruflichen Alltag: tödlich langweilige, mit Details überhäufte PowerPoint Präsentationen, die die Zuhörer und Leser mit Bullet-Point Wüsten in den Schlaf treiben und primär der Selbstbeweihräucherung des Referenten dienen? Anders gefragt: wer ist als Entwickler oder Architekt schon einmal mit einer Präsentation, in der man seinem Management eine tolle neue Technologie schmackhaft machen wollte, an eine Wand gelaufen weil man einfach nicht die richtigen Worte fand um Zugang zu seinem Chef (Chef) zu erhalten? Solche Situationen wird jeder, der im IT- oder Projektgeschäft tätig ist, nicht nur einmal in seiner Laufbahn erleben. Des Weiteren hat in den letzten Jahren das Buch Presentation Zen von Garr Reynolds insbesondere auf Konferenzen zu einer spürbaren Veränderung im Entwurf von Schaubildern geführt. Oft sind die eben genannten Bullet-Points verschwunden und wurden durch großflächige Bilder mit wenig Text ersetzt. Allerdings wirkt der eben genannte Stil im Geschäftsleben, welches sich auf das Tagesgeschäft konzentriert und sich abseits von Sales-Pitches o.ä. bewegt, oft unangebracht. Dabei ist das Erstellen guter Präsentationen kein Hexenwerk, welches nur Unternehmensberatern oder Design Spezialisten vorbehalten ist. Jeder kann gute Präsentationen erstellen. Stellen wir einmal das Layout und Design der Folien zurück, werden wir erkennen, dass die Basis eine solide Story und eine gute Argumentations-Kette sein muss. Genau an dieser Stelle setzt dieser Vortrag an und vermittelt Ihnen ausgehend von einer Idee oder einem Thema grundlegende Techniken zur Vorbereitung, Argumentation, Storybuilding und schließlich zum Entwurf einer gelungenen Präsentation. Vortragsfolien: http://www.slideshare.net/mploed/bessere-prsentationen-10089664
Themenbereich: Sonstiges Stichworte: Sprachen, DSLs, Code Generierung Abstract: Moderne Language Workbenches wie Eclipse Xtext oder JetBrains MPS (beide Open Source) erlauben die schnelle und robuste Implementierung nicht-trivialer Sprachen und dazu passender IDEs (Code Completion, Syntax Highlighting, Typsysteme, Refactoring, Debugger). Je nach Werkzeug ist auch die inkrementelle Erweiterung und Komposition von Sprachen möglich. Dies erlaubt neue Herangehensweisen an die klassischen Herausforderungen des Software Engineering: statt ein Problem direkt mit einer Programmiersprache zu lösen, kann man zunächst eine passende Sprache oder Spracherweiterung für die betreffende Problemklasse bauen. Diese Sprache erlaubt es dann, die betreffende Klasse von Problemen effizienter zu lösen: weniger Code, bessere Analysierbarkeit, bessere Integration der Stakeholder. In diesem Vortrag zeige ich anhand von Beispielen basierend auf Eclipse Xtext und JetBrains MPS welche Möglichkeiten diese (und ähnliche) Tools bieten. Vortragsfolien: B5.pdf
Themenbereich: Sonstiges Stichworte: Java Enterprise Performance, Lifecycle, Continuous Integration, DevOps Abstract: Anwendungsperformance ist wesentlicher Bestandteil einer funktionierenden Anwendung. Als Entwickler betritt man hier oft Neuland, da man mit dem Betrieb meist nicht sehr viel zu tun hat. Aus Betriebssicht wird immer wieder beklagt, dass sich Anwendungen wegen fehlender Daten schwer überwachen lassen. Im Problemfall führt dies dazu, dass auf beiden Seiten die notwendigen Informationen fehlen. Zudem werden große aber einfach umzusetzende Optimierungspotentiale aufgrund fehlender Daten nicht erkannt. In diesem Vortrag beschäftigen wir uns wie man eine Java Anwendung richtig überwacht, welche Daten wichtig sind, wie man diese interpretiert und Probleme und Optimierungspotentiale erkennt. Vortragsfolien: Leider haben uns noch nicht alle Referenten ihre Vortragsfolien zukommen lassen.
Themenbereich: Sonstiges Stichworte: Continuous Delivery Abstract: Software in Produktion bringen ist immer noch ein aufwändiger, manueller und fehleranfälliger Prozess. Dank Agilität liefern Projekte aber so oft neue Releases, das die Prozesse für die Produktionseinführung optimiert werden müssen. In diesem Bereich helfen Continuous-Delivery-Ansätze, die durch Automatisierung die Prozesse einfacher, schneller und weniger fehleranfällig machen. Dieser Vortrag gibt einen Überblick über die Ansätze von Continuous Delivery und zeigt, wie diese Konzepte mit einem aktuellen Java Stack umgesetzt werden können und welche Werkzeuge dafür zu empfehlen sind. Vortragsfolien: B7.pdf
Themenbereich: Prozess Stichworte: GUI Testing, Software Qualität, Atomatisierung, Continuous Integration Abstract: Die Vorteile von automatisierten Tests grafischer Oberflächen sind unumstritten. Oft scheitert es aber an der Umsetzung durch zu naive Ansätze bzw. unerfüllbare Erwartungen. Dieser Vortrag soll anhand von Real-World Beispielen zeigen, wie automatische GUI Tests erfolgreich umgesetzt werden können, welche Erwartungen realistisch sind, welche Techniken angewandt werden können um die Zuverlässigkeit zu gewährleisten, und wo übliche Fallen lauern. Desweiteren werden Themen wie die Integration der GUI Tests in den Entwicklungs- bzw. QA-Prozess und Beherrschung der Flut an Resultaten besprochen. Vortragsfolien: C1.pdf
Themenbereich: Prozess Stichworte: Softwarequalität, statische Code-Analyse, Test, FindBugs, Checkstyle Abstract: Statische Code Analyse mit Tools wie FindBugs, PMD oder CheckStyle sind das Mittel der Wahl, um Fehler zu finden, noch bevor der Code ausgeführt wird. Die Konzepte, die bei mittlerer Projektgröße gut funktionieren, lassen sich aber nicht eins zu eins auf Großprojekte übertragen. Eines der Hauptprobleme: Sie haben die Tools Ihrer Wahl eingeführt, aber keiner liest die Reports und beachtet die gemeldeten Fehler. Zu viele Informationen, zu viele Falschmeldungen, keine "für das Management geeignete" und übersichtliche Aufbereitung der Reports. Alle Beteiligten "ermüden" und verfolgen die gemeldeten Fehler nicht konsequent. Im ersten Teil dieser Session werden die Arbeitsweisen, Konzepte und Reporte der führenden OpenSource Tools vorgestellt. Es wird auf die Vor-und Nachteile im Kontext von sehr großen Projekten eingegangen. Danach wird erläutert, wie statische Codeanalyse in einem Projekt eingeführt wurde, bei dem 10 Millionen Lines of Code analysiert werden. Wie bereitet man die riesige Informationsmenge so auf, dass die Entwickler und Manager die gefundenen Fehler auf einen Blick erkennen und sie dann auch beheben? Angesprochen werden folgende Konzepte:
Die Konzepte werden anhand eines Open Source Projekts und der Werkzeuge Health4J und HUDSON demonstriert. Die dahinter liegenden Ideen und Erfahrungen lassen sich auch auf andere Umgebungen zur statischen Code-Analyse übertragen. Vortragsfolien: http://prezi.com/7fxu23owdutj/continuous-bugfixing-java-forum-stuttgart-2012/
Themenbereich: Prozess Stichworte: Dokumentation, Prozess, Projekterfolg Abstract: Transparenz und die Vernetzung zusammengehöriger Informationen aus unterschiedlichen Bereichen und Disziplinen sind für eine erfolgreiche Auftraggeber-Auftragnehmer Beziehung und damit für ein erfolgreiches Softwareprojekt unabdingbar. Mit TREND/Analyst steht eine kostenlose Plattform zur Verfügung, auf deren Basis alle projektrelevanten Informationen vernetzt abgelegt und versioniert werden können. Zugeschnitten auf das eingesetzte Prozessmodell (z.B. Rational Unified Proces, SCRUM, individuell, ...) können Informationen strukturiert erfasst, abgelegt, versioniert, gebrancht und natürlich gut wiedergefunden werden. Die Tatsache, dass die Informationen allen Projektbeteiligten zur Verfügung stehen führt zu einer positiven Transparenz und einem einheitlichen Wissensstand aller Beteiligten Personen. Vortragsfolien: C3.pdf
Themenbereich: Prozess Stichworte: Continuous Delivery, Build, Prozess, Gradle Abstract: Gradle ist der neue Stern am Himmel der Open-Source-Build-Systeme. Mit Gradle lässt sich der Build und die sonstige Automatisierung elegant an die projektspezifischen, unvorhersehbaren Anforderungen anpassen und standardisieren. Anhand vieler Livebeispiele geben wir einen Einblick in die Konzepte und die Anwendung von Gradle. Dabei zeigen wir auch viele einzigartige Funktionen, die in der letzten Zeit zu Gradle hinzugefügt wurden. Die Teilnehmer dürfen sich auf elegante Build-Skripts, noch schnellere Builds und innovative Features freuen. Vortragsfolien: C4.pdf
Themenbereich: Prozess Stichworte: Performance Profiling, Memory Leak Detection, Java Heap Analyse, Class level memory graph Abstract: Ausgehend von der Graphen-Darstellung von Profiling-Ergebnissen, wie sie von gängigen Performance-Analyse-Tools bekannt ist, wird diskutiert, warum Baumdarstellungen für solche Zwecke ungeeignet sind und wie sich solche Performance-Graphen mittels statistischem Stack-Sampling und der Graphen-Visualisierungs-Software "GraphViz" einfach erzeugen lassen. Anhand von Beispielen wird dann gezeigt, wie sich die Übersichtlichkeit und Aussagekraft solcher Graphen durch eine differenziertere Behandlung der Knotenidentität noch deutlich verbessern lässt. Die so gewonnenen Erkenntnisse aus der Performance-Analyse lassen sich 1:1 auch auf die Analyse von Java-Heap-Memory übertragen. Auch hier wird deutlich, warum die Graphen-Darstellung einer Baumdarstellung überlegen ist - wobei aber, im Unterschied zu Performance-Graphen, Memory-Graphen bisher wenig bekannt sind und mit dem "Dominator-Tree" eine Baumdarstellung der State-of-the-Art bei der Heap-Memory-Analyse ist. Anhand von Praxisbeispielen werden beide Konzepte gegenübergestellt und verdeutlicht, dass Memory-Graphen auch die Probleme auf den ersten Blick sichtbar machen, die sich im Dominator-Tree verstecken können. Ein frei verfügbares Tool zur Erzeugung von Memory-Graphen wird vorgestellt und die Verwendung mit Hotspot und Android/Dalvik erläutert. Vortragsfolien: C5.pdf
Themenbereich: Sonstiges Stichworte: k.A. Abstract: Aufbauend auf den Erfolgen beim Einsatz von Prinzipien aus den Agile und Lean Bewegungen in individuellen Projekten besteht nun gesteigertes Interesse daran die selben Prinzipien unternehmensweit und projektübergreifend einzusetzen. Somit erreichen Konzepte aus dem Agile und Lean Umfeld auch verstärkt zentralisierte Architekturgruppen, und werfen Fragen im Bereich Enterprise Architektur und Unternehmensführung auf. In seiner Keynote führt Erik Dörnenburg das Konzept von evolutionärer Architektur ein und diskutiert im Anschluss Fragen wie: In welcher Form kann eine Architekturstrategie in einem Lean Umfeld umgesetzt werden? Wie kann Konformität sichergestellt werden? Und: wo sitzen Architekten in einem agilen Unternehmen? Vortragsfolien: C6.pdf
Themenbereich: Prozess Stichworte: Buildmanagement, Konfigurationsmanagement, agiles Qualitätsmanagement Abstract: Mit dem Konzept des Pre-tested commits, wie es z.B. von IntelliJ IDEA mit TeamCity Server unterstützt wird, können Stabilität und Produktivität einer Continuous Integration Umgebung gesteigert werden. Auf Basis von Git, Gerrit und Hudson/Jenkins kann diese Idee über einen serverseitig gesteuerten Prozess mit Open Source Mitteln abgebildet werden. Dabei ist keine spezielle Erweiterung der Entwicklungsumgebung notwendig, sondern es genügt ein Git Client. Das Code-Review Werkzeug Gerrit wird dabei als Git Server eingesetzt. Einzelne Änderungen werden nicht direkt in den Entwicklungszweig integriert, sondern als sogenannte Changesets registriert. Changesets können nach Erstellung oder Aktualisierung automatisiert durch Hudson/Jenkins gebaut und getestet werden. Durch geeignete Konfiguration ist es möglich, ein Changeset nach erfolgreichem Build in den Entwicklungszweig übernehmen zu lassen. Alternativ kann die Übernahme von Changesets auch manuell gesteuert werden. Der Vortrag demonstriert sowohl das Konzept von Pre-tested Commit als auch dessen kostengünstige Umsetzung mit Hilfe von Gerrit und Jenkins. Vortragsfolien: C7.pdf
Themenbereich: Embedded/Mobile Stichworte: JSF, Mobile, Webapps Abstract: Das Thema "Mobile" gewinnt immer mehr an Bedeutung. Es gehört heute schon zum guten Ton, neben dem klassischen Webauftritt auch spezielle Seiten z.B. für Smartphones oder Tablets anzubieten. Um auf mobilen Endgeräten Anwendungen bereitstellen zu können, muss dabei nicht zwangsläufig auf native Apps zugegriffen werden. Vielmehr sind Webanwendungen, die gezielt für mobile Endgeräte entwickelt werden, meist genauso leistungsfähig. Der Vortrag zeigt, wie mit Hilfe von JavaServer Faces als Basis mobile Endgeräte unterstützt werden können. Es wird demonstriert, welche Frameworks, basierend auf JSF, helfen, neben dem Desktop-Browser auch andere Endgeräte bedienen zu können. Vortragsfolien: D1.pdf
Themenbereich: Embedded/Mobile Stichworte: Android, Mobilitätsdienstleistungen, Architektur, Car Sharing Abstract: Im Juni 2011 führte das neu gegründete Joint Venture "DriveNow" (BMW i, MINI und Sixt) erfolgreich ein Car Sharing Konzept für Premiumfahrzeuge ein. Als technische Basis wurde ein Konzept ausgewählt, welches die unterschiedlichen Entwicklungszyklen im automotive Sektor und im Bereich neuer mobiler Dienstleistungen sinnhaft verknüpft. Im Resultat wird durch die Kopplung eines Smartphones mit einem Fahrzeug die hohe Dynamik im Markt für Mobilitätsdienstleistungen realisierbar. Der Vortrag zeigt anhand des Projektes die Herausforderungen und Möglichkeiten bei der Umsetzung mobiler Applikationen und erläutert welche Hürden in der Android Architektur- und im Bedienkonzept genommen werden mussten, um einen 24x7 Betrieb im Fahrzeug zu ermöglichen. Vortragsfolien: D2.pdf
Themenbereich: Embedded/Mobile Stichworte: Android, OpenSource, Ökosystem Abstract: Android 4.0 führt die Plattformen für Tablet- und Smartphone-Entwicklung wieder zusammen und versucht auf vielen Ebenen eine größere Konsistenz der Entwicklung zu erreichen. Diese Session möchte einen Überblick über die aktuelle Ice Cream Sandwich Plattform im Hinblick auf Gerätetypen, OpenSource Community, App Entwicklung und APIs geben. Vortragsfolien: D3.pdf
Themenbereich: Eclipse Stichworte: Eclipse. Eclipse RCP, Eclipse 4, e4 Abstract: Eclipse Juno ist freigegeben und basiert auf Eclipse 4.2. Die Eclipse 3.x Linie läuft mit Eclipse 3.8 aus. Für den Anwender hat sich fast nichts verändert. Für die Eclipse Entwickler eröffnen sich jedoch neue Möglichkeiten mit dem Dependency Injection Framework, dem Applikationsmodell, dem Event Admin Service und OSGi Services hoch flexible Komponenten zu schreiben und diese auch CSS und dem Rendering Framework auch noch schön aussehen zu lassen. Der Vortrag fokussiert sich primär auf das neue Programmiermodell und zeigt die Mächtigkeit des Ansatzes. Vortragsfolien: D4.pdf
Themenbereich: Eclipse Stichworte: Eclipse 4.x, e4, Architektur, JavaFX 2.1, SWT, Swing Abstract: Ein wichtiges Merkmal der Eclipse 4.x-Architektur ist die strikte Trennung von Application Model (aka Workbench Model) und der Rendering Engine für dieses Modell. Standardmäßig bietet Eclipse 4 eine SWT-basierte Engine an. Es ist aber auch möglich, Rendering Engines für andere UI Toolkits anzubinden. Kai wird die Konzepte des Eclipse 4 Application Models und der Rendering Engine vorstellen und dabei auch ausführlich auf CSS basiertes Styling eingehen. Weiterhin stellt Kai einen Prototyp einer JavaFX 2.1 und einer Swing basierten Rendering-Engine vor. Vortragsfolien: D5.pdf
Themenbereich: Eclipse Stichworte: Mylyn, ALM, Eclipse, CI, Review, OpenSource Abstract: Neue Werkzeuge für verteilte Versionsverwaltung, kontinuierliche Integration und Code Review gewinnen schnell an Popularität und werden bereits vielfach erfolgreich verwendet. Voraussetzung für den effektiven Einsatz ist die enge Verknüpfung der Werkzeuge und die nahtlose Einbettung in den Arbeitsfluss in der Entwicklung. Das Eclipse Mylyn Open-Source Projekt unterstützt neben den bekannten Integrationen für Bugtracking-Systeme wie Bugzilla und Trac auch Continuous Integration mit Jenkins und Hudson sowie Gerrit als Code Review System. Der Vortrag zeigt wie sich mit der neusten Version die Task-fokussierte Arbeitsweise, sekundenschnelles Multitasking und automatisierte Änderungsverfolgung direkt in der IDE nutzen lassen und wie das gesamte agile Team von Arbeitsabläufen profitieren kann, die mit den neuen Erweiterungen möglich werden. Beispielsweise können Änderungsanforderungen, die in Bugzilla erfasst sind, mit EGit einfach in Branches verwaltet werden. Ein Commit erzeugt automatisch ein Code Review in Gerrit, der mit einem automatisierten Hudson Build geprüft wird. Die Resultate werden in der Task List und der Build Ansicht direkt in der Entwicklungsumgebung angezeigt und können von Team-Mitgliedern bearbeitet werden. So lassen sich mit den Werkzeugen des Mylyn Projekts Änderungen effektiv verfolgen und die Qualitätssicherung im Team wird integraler Teil des Arbeitsflusses. Vortragsfolien: D6.pdf
Themenbereich: Eclipse Stichworte: OSGi, Bndtools, Eclipse Abstract: Der Vortrag zeigt spielerisch anhand einer Robot Simulation [1] [2] von welchen Vorteilen man durch die Modularisierung einer klassischen Java Anwendung mit Hilfe von OSGi profitieren kann. Der Vortrag richtet sich in erster Linie an Java Entwickler, die bisher noch keine oder wenig Erfahrung mit OSGi haben. Es wird anhand der Robot Demo Anwendung gezeigt, wie sich das Programmiermodell von einer klassischen Java Anwendung in eine modularisierte OSGi Anwendung ändert. Vorteile die sich durch die OSGi Modularisierung ergeben sind:
In der vorwiegend live gezeigten Demo wird mit den Eclipse BndTools gezeigt, wie man auch schon bei der Entwicklung durch Modularisierung profitieren kann. Der Vortrag liefert ein kleines praxisnahes OSGi Rundumpaket. Er liefert eine Einführung in das OSGi Framework und in aktuelle Theme wie Remote Services oder Blueprint Services. Vortragsfolien: D7.pdf
Themenbereich: Rich Clients Stichworte: AJAX, REST, Architektur, OpenSource, NABUCCO Abstract: Heutige Java Web Anwendungen sind geprägt durch Frameworks, die umfangreiche Features, generische Lösungen und aufwendige UI-Komponenten bieten. Der Aspekt der Performance und leichter Wartbarkeit rückt bei der Verwendung dieser Frameworks immer mehr in den Hintergrund. Im Bereich komplexer Business Anwendungen sind Geschwindigkeit und niedrige Wartungskosten Schlüsselfaktoren für den Erfolg eines Projekts. Dieser Vortrag gibt einen Überblick, wie sich mit den gegebenen Mitteln HTML, AJAX, REST und Java EE eine Anwendung benutzerfreundlich, konfigurierbar und gleichzeitig performant realisieren lässt, ohne dabei auf zusätzliche externe Bibliotheken zurückgreifen zu müssen. Als Referenzanwendung dient dabei das Open Source Projekt NABUCCO Human Resources sowie das darunterliegende NABUCCO Business Framework. Vortragsfolien: E1.pdf
Themenbereich: Rich Clients Stichworte: Java Swing, Java FX, Java Android, HTML5 Abstract: Die ganze Welt setzt HTML(5) ein! Wirklich? - Natürlich nicht! Es gibt auch heute gute Gründe, Oberflächen direkt mit Java-Mitteln zu erstellen. Im Vortrag werden zunächst die Java Technologien im UI Bereich technologisch dargestellt: "Swing" und "SWT" werden hierbei nur kurz erwähnt und auf Neuigkeiten hin abgeklopft. Zu "Java FX" und zu "Java UI auf Android" erfolgt eine Einführung anhand kleiner Beispiele. Nach der Technologie geht es um die "guten Gründe": welches sind die konkreten Einsatzszenarien für Java basierte Oberflächen - natürlich abgeglichen mit den Einsatzszenarien von HTML(5). Vortragsfolien: E2.pdf
Themenbereich: Rich Clients Stichworte: vaadin, ria, java, open source, web Abstract: After over three years of iteratively adding features to Vaadin 6, the long waited Vaadin 7 is finally almost done. The three main goals areas of the new framework version are
In this presentation we cover most of the major changes in Vaadin 7 and dive deeper to the most important ones. Vortragsfolien: E3.pdf
Themenbereich: Rich Clients Stichworte: JavaFX, Rich Internet Application, Swing, HTML5 Abstract: JavaFX ist die neue Standard-Programmierschnittstelle für die Umsetzung von Rich Internet Applications in Java. Der Vortrag gibt eine Einführung in die neue JavaFX 2.0 API, die seit Oktober 2011 offiziell verfügbar ist und sich seither einer großen Beliebtheit in der Community erfreut. Die Version 2.0 ist eine vollständige Neuimplementierung der JavaFX API, die dieses Mal vollständig in JAVA gemacht wurde. Sie ist der offizielle Nachfolger der Swing API und ist neben HTML5, Flash und anderen eine mittlerweile ernstzunehmende Größe im Bereich der Technologien zur Umsetzung von multiplattformfähigen Rich Clients. Der Vortrag geht auf die folgenden Themen ein:
Vortragsfolien: E4.pdf
Themenbereich: Security Stichworte: Securiy, Secure Programming, OWASP, Web Applikationen Abstract: Mit den OWASP Top 10 erscheint alle paar Jahre eine aktualisierte "Hitliste" der kritischsten Risiken für die Sicherheit von Webapplikationen. Viele der dort gelisteten Einträge sind bereits seit der ersten Ausgabe 2003 dabei. Injections, allen voran die SQL-Injection, sind so ein typisches Problem, für das es eigentlich seit vielen Jahren erfolgreiche und allgemein bekannte Gegenmaßnahmen gibt. Dennoch liegen sie jetzt auf dem ersten Rang. Aber auch auf den anderen neun Plätzen finden sich Risiken wie beispielsweise Cross-Site Scripting oder ungeprüfte Um- und Weiterleitungen, für die bereits funktionierende und brauchbare Lösungen oder Gegenmaßnahmen existieren. Höchste Zeit also, dass sich Java-Entwickler konkreter mit den in den OWASP Top 10 aufgeführten Risiken beschäftigen und die dafür bekannten Lösungen und Workarounds in ihren Projekten einsetzen. Dazu sollte jeder Java-Entwickler wenigstens über grundlegendes Wissen für die sichere Softwareentwicklung verfügen. In dieser Session lernen Sie dazu die aktuellen OWASP Top 10-Risiken kennen und erfahren, wie man zumindest einigen der dort aufgeführten Risiken in Java-Webapplikationen wirkungsvoll zu Leibe rückt. Vortragsfolien: E5.pdf
Themenbereich: Security Stichworte: Identity- und Accessmanagement, Security, Architektur Abstract: Typische Autorisierungs-Policies können nicht vollständig mit den dafür vorgesehenen Bordmitteln aus Java EE und Java SE umgesetzt werden. Mit der statischen, rollenbasierten Autorisierung aus dem Java EE Standard oder dem Java Authentication and Authorization Service lassen sich Anforderungen, wie z.B. Segregation of Duties, Auditierbarkeit, Verifizierbarkeit, feingranulare Zugriffskontrolle oder kontext- und inhaltsbasierte Zugriffskontrolle nicht umsetzen. Die eXtensible Access Control Markup Language (XACML) ist ein XML-basierter Standard der OASIS, der diese und weitere Problemstellungen adressiert. Durch den Einsatz von XACML werden Autorisierungs-Policies vollständig aus dem Applikationscode in ein XACML-fähiges Produkt ausgelagert. Die Policies können dadurch von den dafür verantwortlichen Abteilungen definiert, verwaltet und wiederverwendet werden. Vortragsfolien: E6.pdf
Themenbereich: Sonstiges Stichworte: MDD, EJB 3, Java EE Abstract: Die Modellgetriebene Softwareentwicklung (MDD) hat sich in den letzten Jahren als praktikable Technik etabliert und wird zunehmend in mittleren und großen Projekten eingesetzt. Für die erfolgreiche Realisierung müssen jedoch einige Besonderheiten gegenüber der "codezentrierten" Entwicklung berücksichtigt werden. In dem Vortrag wird anhand der in einem großen Migrationsprojekt gesammelten Erfahrungen praxisnah dargestellt, wie das "ease-of-use" von EJB 3 mit den Vorteilen modellgetriebenen Vorgehens ideal kombiniert werden kann. Dabei werden Probleme, Lösungsansätze sowie die konkrete Realisierung in Form von Best Practices aufgezeigt. Zusätzlich wird bewertet, welche positiven Effekte durch modellgetriebenes Vorgehen in der Praxis erreicht werden können, aber auch in welchen Bereichen nach wie vor mögliche "Stolpersteine" lauern. Einen ersten kurzen Einblick in das Vortragsthema gibt der Artikel "Model-driven Beans: EJB 3 modellgetrieben entwickeln" im Java Magazin 3.2012. Vortragsfolien: E7.pdf
Themenbereich: EAI Stichworte: Java, Cloud, Middelware, PAAS, OpenSource Abstract: Mit WSO2 Stratos steht eine cloud-fähige Middleware-Plattform für skalierbare und hochverfügbare Anwendungen zur Verfügung. Das Beste daran: Stratos ist zu 100% Open-Source und setzt konsequent auf offene Standards. In diesem Vortrag werden die Kernfunktionen und die grundlegende Architektur von Stratos vorgestellt. Dabei wird zunächst auf die OSGi-basierende und modularisierte Carbon-Plattform eingegangen: Im Baukastenprinzip kann Stratos durch Entfernen und Hinzufügen von Modulen so konfiguriert werden, dass eine Middelware-Plattform mit exakt dem Funktionsumfang entsteht, der für den jeweiligen Anwendungsfall erforderlich ist. Im zweiten Teil des Vortrages werden tiefergehende Funktionen wie die Mandantenfähigkeit und das elastische Load-Balancing näher beleuchtet, die Stratos zur einer ausgereiften Cloud-Plattform machen. Der Vortrag schließt mit einem Blick auf das breite Spektrum an Betriebsmodi von Stratos. Diese erlauben es, Stratos von der lokalen Entwicklerinstallation bis zur PaaS-Infrastruktur zu betreiben. Vortragsfolien: F1.pdf
Themenbereich: EAI Stichworte: Lasttest, Datenkorrelation, Fehleranalyse Abstract: Seit es JMeter gibt, ist es ein einfaches Unterfangen, qualitative Lasttests auf einem Testsystem zu machen. Aber was ist, wenn genaue Zahlen aus einer produktionsnahen und hochlasttauglichen Umgebung benötigt werden, wenn die Gigabit-Ethernet-Netzwerkkarten zum Glühen gebracht werden sollen, sich das Ganze in der Cloud abspielt? Sie müssen mit jedem Test Tonnen von Daten verarbeiten, Sie müssen sicherstellen, dass Sie tatsächlich das zu testende System gemessen haben und bei unerwarteten Messungen brauchen Sie genügend Informationen für eine tiefe Analyse. Ich werde ihnen in diesem Vortrag einen realen Lasttest für eine Java-Webapplikation vorstellen. Welche Infrastruktur nötig war, nach welchen Strategien die Messpunkte gesetzt wurden, was funktioniert hat und was nicht und nicht zuletzt, wie wir die riesigen Datenmengen mit Pentaho verarbeiten und korrelieren konnten. Am Ende wartet als Lohn für all diese Mühen dann ein managementtaugliches Diagramm, das trotz seiner Einfachheit die wesentlichen Informationen visualisiert. Vortragsfolien: F2.pdf
Themenbereich: EAI Stichworte: Apache Camel, Spring Integration, Mule ESB, Enterprise Service Bus, Enterprise Integration Patterns Abstract: Der Datenaustausch zwischen Unternehmen oder einzelnen Bereichen wird immer intensiver. Die Zahl der Anwendungen, die integriert werden müssen, steigt stetig an. Die Schnittstellen nutzen diverse Technologien, Protokolle und Datenformate. Die Integration dieser Anwendungen soll aber trotzdem standardisiert modellierbar, effizient umsetzbar und automatisiert testbar sein. Im Java-Umfeld sind drei Open Source Integrationsframeworks verfügbar, die den Anspruch haben, diese Wünsche zu erfüllen: Apache Camel, Spring Integration und Mule. Diese Integrationsframeworks implementieren die allseits bekannten Enterprise Integration Patterns (EIP) und bieten dadurch eine standardisierte, domänenspezifische Sprache, welche für die Integration von Anwendungen eingesetzt wird. Diese Frameworks können in fast jedem Integrationsprojekt im JVM-Umfeld sinnvoll und effizient eingesetzt werden. Dabei spielt es keine Rolle, welche Technologien sowie Transport- und Nachrichtenprotokolle eingesetzt werden. Alle Integrationsprojekte können einheitlich und ohne redundanten, "Boilerplate-Code" umgesetzt werden. Dieser Vortrag stellt die drei Alternativen vor und zeigt deren jeweilige Vor- und Nachteile. Außerdem wird auf die Frage eingegangen, wann anstatt eines Integrationsframeworks lieber doch ein mächtiger Enterprise Service Bus (ESB) eingesetzt werden sollte. Vortragsfolien: F3.pdf
Themenbereich: Sonstiges Stichworte: AOP, Anti-Pattern, OpenSource, Testen Abstract: Wir schreiben das Jahr 2002. Das Y2K-Problem ist bereits Geschichte, der Euro eingeführt und der Zusammenbruch des Neuen Marktes noch deutlich zu spüren. Man ist vorsichtiger geworden mit neuen Technologien, die die Welt verändern werden. In dieser Zeit machte sich eine kleine Gruppe um Vincent Massol (heute XWiki) und Matt Smith auf, einer der ersten AOP-Bibliotheken in die Welt zu setzen. Was aber verbirgt sich hinter AOP (Aspektorientierte Programmierung)? Dieser Vortrag gibt einen Einblick in die wunderbare Welt der Aspekt-Orientierung und die Arbeit an und mit PatternTesting. Was hat sich in den letzten 10 Jahren verändert, außer, dass der AspectJ-Compiler inzwischen Eingang in das Eclipse-Öko-System gefunden hat? Sind Aspekte inzwischen in der Java-Welt angekommen? Oder ist AOP nur die Antwort auf die Frage, die keinen interessiert? Vortragsfolien: F4.pdf
Themenbereich: Sonstiges Stichworte: Buildmanagement, Releasemanagement, Automatisierung, Continous Delivery Abstract: Beim Thema Buildwerkzeug herrscht in der Java-Community nach wie vor keine Einigkeit. Neben dem Urgestein Ant und dem ebenso schon sehr lange etablierten Maven gibt es mit Gradle jetzt noch ein weiteres Tool, das sehr viele Anhänger gewonnen hat. Bei dieser Auswahl stellt sich natürlich die Frage nach dem optimalen Kandiaten für das eigene Projekt: Welche Unterschiede bestehen zwischen den Tools? Was sind Stärken bzw. Schwächen? Lohnt ein Umstieg, oder sind die Kosten für eine Migration höher als der eigentliche Nutzen? Diese Fragen werde ich im Rahmen des Vortrags beleuchten und versuchen, eine Entscheidungshilfe zu geben. Vortragsfolien: F5.pdf
Themenbereich: Sonstiges Stichworte: Web 2.0, Cloud Computing, Apps Abstract: iPhone, iPad und Co. und das damit verbundenen Konzept der Apps ist mittlerweile so erfolgreich, dass sie sich in vielen Bereichen zu einer Alternative zu herkömmlichen Rechner entwickelt haben. Gleichwohl können sie aufgrund ihrer Größe und der Bedienung mittels Touch-screen den klassischen PC / Mac nicht vollständig ersetzen. Wie allgemein üblich bringt die schöne neue Welt jedoch auch neue Herausforderungen für Privatanwender und Firmen mit sich. Neben Sicherheitsaspekten tritt zunehmend auch die geräteunabhängige Verfügbarkeit von Daten und Applikationen in den Vordergrund. Mobile Benutzer wollen von überall aus auf ihre Daten zugreifen können, unabhängig vom Device, das sie gerade nutzen. Vor diesem Hintergrund erscheinen Ansatze wie die Synchronisation aller Daten auf alle Geräte nicht mehr zeitgemäß. Einen möglichen Ausweg scheinen hier so genannte Cloud Apps zu bieten. Diese werden vollständig im Browser des entsprechenden Geräts ausgeführt, sind somit Device unabhängig und bieten sich somit als echte Alternative zum herkömmlichen Rechnerbetrieb an. Im Rahmen des Vortrags werden die unterschiedlichen Ansätze für Cloud Apps aus Entwickler-, Provider- und Nutzersicht miteinander verglichen. Hierbei spielen Aspekte wie Security, Art der Integration, Usability und Technologien ebenso eine Rolle, wie die zur Entwicklung von Cloud Apps notwendigen Dienste und Technologien. Anhand von konkreten Beispielen wird dies anschaulich dargestellt. Vortragsfolien: F6.pdf
Themenbereich: Sonstiges Stichworte: Datenbank Migration Continuous Liquibase Abstract: Am Tag nach der ersten Inbetriebnahme einer Anwendung taucht die Frage auf, wie ab sofort mit Änderungen am relationalen Datenbankschema umgegangen werden soll. Die naheliegende Antwort lautet: ein Migrationsskript muss her. Schnell entsteht daraus eine unüberschaubare Menge von Skripten und mindestens ebenso schnell geht die Übersicht darüber verloren, welche Skripte auf welche Datenbankinstanz bereits angewendet wurden bzw. noch angewendet werden müssen. Mit Liquibase steht ein robustes und erprobtes Werkzeug zur Verfügung, welches ein hohes Maß an Automatisierung von Datenbankmigrationen auf Entwicklerarbeitsplätzen, Testsystemen bis hin zur Produktion ermöglicht. Der Vortrag erläutert die zugrundeliegenden Konzepte und veranschaulicht sie anhand praxisnaher Beispiele. Vortragsfolien: F7.pdf
|