Montag - 3. November 2014
09:00 bis 17:00
Power Workshop

Der pragmatische Architekturworkshop

german

+

Dieser Workshop vermittelt ganz praktisch, wie Architekturen für Softwaresysteme erstellt werden. Zunächst werden die wichtigsten Grundlagen für Architekturkommunikation, Architekturdokumentation und für den Umgang mit nicht funktionalen Anforderungen vermittelt. Dann wird es praktisch: Die Teilnehmer entwickeln selbst Architekturen, um so die gelernten Konzept ganz praktisch umzusetzen.

Eberhard Wolff
Power Workshop

Java EE 7 - Enterprise-Anwendungen ohne Ballast

german

+

Im Gegensatz zu älteren Versionen ist die Entwicklung mit Java EE 6/7 trotz der Komplexität der Anwendungslandschaft einfach - teilweise sogar einfacher als im Standalone-Umfeld. Das wollen wir in diesem Workshop mit einem durchgängigen Beispiel zeigen. Wir setzen dabei natürlich auf JPA, BV, CDI, EJB und JSF, aber auch nach Wunsch der Teilnehmer auf weitere Teile der Plattform, z. B. Timer, asynchrone Verarbeitung, WebSocket, REST, Batch ... Ein besonderer Fokus liegt auf den neuen Features in Java EE 7, z. B. Konverter, Entity Graphs oder Faces Flows. Das Beispiel wird interaktiv entwickelt und steht den Teilnehmern als Git-Repository zum aktiven Mitmachen zur Verfügung. Benötigt wird nur ein Notebook mit Java 8, Maven, einer IDE mit Maven-Unterstützung und WildFly 8 oder GlassFish 4. Details zur Vorbereitung stehen ab Oktober auf https://github.com/dirkweil/javaee-workshop.

Dirk Weil
Power Workshop

Einführung in die Sprache JavaScript für Java-Entwickler

german

+

In diesem ganztägigen Workshop führe ich euch in alle für Java-Entwickler wesentlichen Spracheigenschaften von JavaScript ein. Wir werden die Themen Objekte, Arrays, Exceptions, Funktionen, prototypische Vererbung und Module besprechen. Aus Zeitgründen müssen wir uns auf die Sprache JavaScript beschränken. Werkzeuge, Techniken und Frameworks werden wir nicht behandeln können. Der Workshop enthält Übungen am eigenen Rechner. Bringt einen Laptop mit, auf dem Java und ein Chrome-Browser installiert sind.

Oliver Zeigermann
Power Workshop

Workshop zu Lambdas und Streams in Java 8

german

+

Der Workshop widmet sich zwei Neuerungen, die mit Java 8 neu hinzugekommen sind. Es geht einerseits um die neuen Sprachmittel (Lambda-Ausdrücke, Methoden-/Konstruktorreferenzen, Default und statische Interfacemethoden) und andererseits um die Neuerungen im Collection-Framework des JDK (Streams, Collectors, Functional Interfaces). Alle Teilnehmer sollen bitte unbedingt ihre Notebooks mitbringen, denn es soll praktisch geübt werden. Der Workshop gibt einen Überblick über die Neuerungen, der die Teilnehmer in die Lage versetzt, erste Experimente mit Lambdas und Streams zu machen.

Angelika Langer, Klaus Kreft
Power Workshop

Der Docker Basis Workshop

german

+

Docker hat im vergangenen Jahr für viel Furore gesorgt. Ob in den USA oder in Deutschland, ob bei kleinem Startups oder großen Firmen viele setzen auf die OpenSource Technologie Docker. Aber was hat es auf sich mit der Container Technologie, die verspricht den Virtualisierungsmarkt aufzurollen und die Softwareentwicklung nachhaltig verändern? Docker verspricht einen schneller Start, flexible Konfiguration und stabile Images für Entwicklung und Produktion. In diesem “Docker Workshop Day” wollen wir diesen Versprechen praktisch begegnen. Nach einem kurzen Überblick geben wir erste Schritte beim Einsatz von Docker und erklären im Handson Modus die wichtigsten Befehle und Direktiven. Anschliessend zeigen wir an einem Beispiel wie ein Microservice mit Java implementiert und Docker installiert wird. Dieser Workshop vermittelt die Grundlagen in nachvollziehbaren Schritten, damit Sie selbst entscheiden können, ob Docker in Ihrem Setup sinnvoll ist. Im letzten Abschnitt bieten wir Ihnen ein Überblick über das aktuelle Docker Ökosystem und diskutieren mit den Teilnehmern die Chance und Risiken.

Die Stationen des Workshops im Einzelnen:

Docker Frühshoppen

Matthias Lübken, Stefan Zeissler, Peter Rossbach, Andreas Schmidt

Damit der Docker Workshop ein persönlicher Erfolg wird, muss das eigene Notebook vorbereit sein. Für Umsteiger und Kurzentschlossene stehen wir mit Rat und Tat hier bereit, noch mal alles möglich zu machen.

Docker Basics: Praktische Docker-Kenntnisse erlangen

Matthias Lübken, Stefan Zeissler

Docker automatisiert das Deployment von beliebigen Anwendungen. Wir wollen hier in kleinen praktischen Schritten diese neue Welt zusammen entdecken. Es werden die Docker-Werkzeuge und der Umgang damit für einen Java Entwickler vermittelt. Wir wollen zeigen, wie die einzelnen Komponenten aufgebaut sind und die Prozesse zusammenspielen. Wichtig ist uns, dass auf dem eigenen Notebook Erfahrung gesammelt werden. Schrittweise wollen wir anhand von Beispielen den Umgang mit Docker erlernen.Voraussetzung: Funktionierende Docker-Installation mit geladenen OS Images. Mac oder Windows Notebook,  Virtuallbox 4.3.1x, Git, Browser und Editor.Der Veranstalter sorgt für eine ausreichend stabile Anbindung an das Internet und WLAN im Raum.Riesige Downloads müssen wir vermeiden und stattdessen einen lokalen Rechner ins Netz bringen und mit Sticks arbeiten.=> Wir stellen Sticks und GitHub Projekte bereit.

Docker als Plattform für Microservices

Peter Rossbach, Andreas Schmidt

Docker automatisiert das Deployment von beliebigen Anwendungen mitHilfe von leichtgewichtigen, portablen und autarken Linux-Containern. Durch den geringen Overhead, die enorme Performance und die einfacheBedienbarkeit verändert Docker unsere Anwendungsentwicklung fundamental. Das Entwickeln einer Mircoservicearchitektur ist ein idealer Kandidat dies zu demonstrieren.

Chancen und Risiken des Docker-Ökosystems

Timo Derstappen, Peter Rossbach, Matthias Lübken

Docker ist mehr als eine Containertechnologie. Docker etabliert ein OpenSource-Ökosystem, was dazu führt, dass Projekte wie Pilze aus dem Boden sprießen und die Neugier und Vielfalt täglich wächst. Wir wollen unsere Erfahrung mit euch teilen und diskutieren und einen Ausblick geben, wohin die Reise gehen kann. Freut euch auf einen regen Ausklang des Workshops und neue Ideen, Docker in Euerer Infrastruktur anzuwenden.

Andreas Schmidt, Matthias Lübken, Peter Roßbach, Stephan Zeissler, Timo Derstappen
Power Workshop

REST mit JAX-RS 2.0

german

+

Mit Java EE 7 und JAX-RS 2.0 lassen sich einfache REST-Anwendungen in relativ kurzer Zeit erstellen. Darüber hinaus bietet der Standard jedoch auch Unterstützung für weitergehende, komplexere Anforderungen. Dieser Workshop behandelt JAX-RS 2.0 in der Tiefe. Dazu wird Schritt für Schritt eine REST-basierte Anwendung auf Basis des Standards entwickelt. Fortgeschrittene Themen und Anforderungen wie Validierung, Logging, Hypermedia, Fehlerbehandlung, wiederverwendbare Erweiterungen, Bindings, Paging oder Security werden vorgestellt und demonstriert.

Thilo Frotscher
09:00 bis 09:45
Session

Management vs. Agile

german

+

Wie erkläre ich einem klassischen Manager, warum Programmierer effizienter werden, wenn sie mit zwei Leuten an der gleichen Aufgabe sitzen? Warum ein Programmierer in 14 Stunden täglich nicht mehr schafft als in 8 und warum man ein Team effizienter machen kann indem man das Programmiergenie entfernt. Wie man effizienter wird, wenn man Low-Prio-Tasks vor High-Prio-Tasks macht und nur 6 von 8 Stunden tatsächlich plant. Und warum man mit einem detaillierten Plan weniger Verlässlichkeit bekommt als ohne.

Johann-Peter Hartmann
09:45 bis 10:30
Session

Zusammen arbeiten in Unternehmensanwendungen

german

+

Egal, ob Web oder Desktop, mit einer passenden Architektur kann man Applikationen bauen, die echte Zusammenarbeit ermöglichen. In einer 360-Grad-Rundumsicht betrifft das die Zusammenarbeit mit Kunden, mit Experten, mit Teamkollegen und mit Hilfskräften. Das Neue daran ist, dass auch die sonst eher stumpfen Enterprise-Applikationen plötzlich zu einem gemeinsamen Erlebnis mit einer Interaktivität werden, die man sonst nur von Chats, Spielen und Werkzeugen wie Google Docs kennt.

In dieser Session gehen wir durch Anwendungsbeispiele für dieses Konzept, zeigen Demos und Code, beleuchten die architekturellen Voraussetzungen und zeigen am Beispiel von OpenDolphin Umsetzungsvarianten mit JavaFX und HTML5.

Dierk König
11:45 bis 12:30
Session

Und wie war ich so? – Die Krux mit dem Feedback

german

+

Irgendwie macht es keiner richtig: Feedbackmethoden wie z.B jährliche Mitarbeitergespräche, Beurteilungsbögen, „Kaffeerunden“ sind anstrengend, nutzen sich ab, langweilen oder werden schnell politisch. Für unseren agilen StartUp Alltag schlicht unpassend. Was könnte eine Alternative sein? Wir haben uns umgehört, zeigen bestehende innovative Alternativen und präsentieren einen völlig neuen Weg für persönliches, kontinuierliches Feedback, den wir im Experiment getestet haben.

Anna Löw
15:30 bis 16:15
Session

Let's talk about Speed?

german

+

Kennen sie nicht auch die Situation, dass es mal wieder dem Management nicht schnell genug geht? Oder sie verstehen nicht, wieso die Anforderung X so lange benötigt? Wieso ist man in der Webentwicklung mit weniger Aufwand bei gleichen Ergebnissen im Vergleich zur nativen mobilen Entwicklung in iOS oder Android? Wenn Sie sich auch ständig dem Druck "das muss schneller gehen" ausgesetzt fühlen, dann ist diese Session genau richtig für Sie. Carsten Sensler hat als Vice President "Technology & Architecture" bei einem DAX30-Konzern aus Bonn genau diesen Druck gehabt und ausgeübt und dabei seine persönlichen Erfahrungen mit dem Executive Management und auch dem Entwicklerteam sammlen dürfen. Andre Karalus weil Teil des Entwicklunsgteams und kann aus erster Hand berichten, wie er mit mir sowie mit der gesamten Situation umgegangen ist. In dieser Session werden beide ihre Erfahrungen und auch Auswege aus dem Dilemma aufzeigen. Abgerundet wird die Session mit einer lebhaften Diskussion unter den Teilnehmern über ähnliche oder sogar gleiche Erfahrungen.

Andre Karalus , Carsten Sensler
16:15 bis 17:00
Session

Softwarearchitektur in agilen Teams - Vom Elfenbeinturm zur Selbstorganisation

german

+

Die Scrum-Einführungsphase ist erfolgreich abgeschlossen. Die Teams arbeiten nach agilen Methoden und berücksichtigen die agilen Werte. Die Stories werden in den Sprints umgesetzt. Es geht voran. Der Product Owner ist zufrieden. Eigentlich läuft alles super. Aber irgendwie wird es immer schwieriger neue Anforderungen umzusetzen. Es fehlt an einem durchgängigen Konzept, einer übergreifenden Architektur. Was ging schief? 1. Welche Aufgaben ein Software-Architekt zu meistern hat. 2. Wie der Architekt aus seinem Elfenbeinturm entkommen kann. 3. Wie ein agiles Team Architekturaufgaben übernehmen kann. 4. Wie die Flexibilität in der Architektur erreicht werden kann, damit auch in Zukunft die sich ständig ändernde Anforderungen umgesetzt werden können. 5. Welche Praktiken helfen, um die für die Flexibilität passenden Abhängigkeiten zwischen den Komponenten zu finden.

Roland Mast
Dienstag - 4. November 2014
10:15 bis 11:30
Session

BEA - Business Enterprise Architect - oder "Der Businessversteher"

german

+

Enterprise-Architektur wird oft als eine Disziplin der IT gesehen, entsprechend sind auch die genutzten Werkzeuge und Ergebnisse sehr IT-lastig. Wir zeigen einen Weg des Enterprise-Architekten zum Business-Enterprise-Architekten, damit Sie problemlos mit Geschäftsstrategen genauso diskutieren können wie mit Fachseiten oder ITlern. Die Modelle "Responsiveness Grid", "Business Operating Model", "Capabilities" sowie "Architecture Styles" und "Domain Model" und ihre Beziehungen untereinander sind Ihnen ab heute nicht fremd, auch praktische Beispiele sind dabei. Dabei kann Carsten aus der Sicht des reinen ITlers berichten und aus der Sicht, sich mit dem Topmanagement eines DAX-30-Konzerns zu umgeben. Am Ende der Session haben Sie viele Impulse, wie sich Ihr Sprachgebrauch und Ihre Werkzeuge erweitern lassen können, damit die berühmte Brücke zwischen IT und Business überwunden oder zumindest deutlich kürzer wird.

Sie lernen:Wie gestalte ich die konkrete Umsetzung der IT-Strategie ausgehend von der Businessstrategie?Was ist Business-Enterprise-Architektur und ihre Modelle?Wie kann ich die strategische Diskussion mit dem Business verbessern?Wie kann ich die strategische Diskussion mit der IT verbessern?Wie kann ich die strategische Diskussion mit dem CIO/CEO verbessern?

... und wie immer sehr bildlich dargestellt mit einem guten Mix aus Theorie, angewandter Praxis und persönlichen Erfahrungen.

Carsten Sensler
Session

Programmiertechniken mit Lambda-Ausdrücken und Interface-Methoden

german

+

Neue Sprachmittel ermöglichen neue Programmiertechniken. In Java 8 sind einige neue Sprachmittel hinzugekommen: Lambda-Ausdrücke, Methoden-/Konstruktor-Referenzen, Default- und statische Interface-Methoden). Nach einer kurzen Vorstellung der Sprachmittel sehen wir uns an, wie man sie für elegante API-Designs und neue Implementierungstechniken einsetzen kann.

Angelika Langer
Session

Maßgeschneiderte JSF-Komponenten mit JavaScript

german

+

In der Vergangenheit war die Wahl der Komponentenbibliothek eine wesentliche Entscheidung für jedes JSF-Projekt. In jüngster Zeit erschweren geänderte Lizenzbedingungen und verringerte Entwicklungsaktivität die Wahl einer geeigneten Bibliothek jedoch enorm. Außerhalb der reinen JSF-Welt erfreuen sich gleichzeitig JavaScript-Frameworks wie Bootstrap und jQuery UI wachsender Beliebtheit. Mithilfe von Composite Components lassen sich JavaScript-Komponenten jedoch problemlos in eine JSF-Anwendung integrieren. Diese Session zeigt anhand konkreter Beispiele, wie sich häufig benötigte Komponenten für Geschäftsanwendungen ganz einfach selbst erstellen lassen und in vielen Fällen den Einsatz einer vollwertigen Komponentenbibliothek überflüssig machen kann.

Christian Kaltepoth
Session

Vom Wiegen allein wird die Sau nicht fett - von Qualitätsanalyse zu wirksamer Qualitätsverbesserung

german

+

Es gibt Qualitätsanalysewerkzeuge wie Sand am Meer. Sie werden auch von vielen Teams eingesetzt. Meistens führen sie jedoch nicht zu Qualitätsverbesserungen. Was macht sie für wenige Teams wertvoll, für die meisten aber scheinbar nutzlos? Die Ursachen sind vielfältig, aber interessanterweise bei den meisten Teams die gleichen. Dieser Vortrag stellt Erfahrungen, Lessons Learned und Best Practices aus 7 Jahren Praxiseinsatz in unterschiedlichen Teams, Domänen und Firmen vor.

Elmar Juergens
Session

Reactive Streams: Handling Data-Flow the Reactive Way

english

+

Building on the success of Reactive Extensions — first in Rx.NET and now in RxJava— we are taking Observers and Observables to the next level: by adding the capability of handling back-pressure between asynchronous execution stages we enable the distribution of stream processing across a cluster of potentially thousands of nodes. The project defines the common interfaces for interoperable stream implementations on the JVM and is the result of a collaboration between Twitter, Netflix, Pivotal, Red Hat and Typesafe. In this presentation I introduce the guiding principles behind its design and show examples using the actor-based implementation in Akka.

Roland Kuhn
Session

Spring IO - Spring neu erfunden?

german

+

Nach der erfolgreichen Veröffentlichung von Spring 4.0 im Dezember 2013 folgt im Frühjahr 2014 das erste Release der Spring-IO-Plattform. Der Vortrag stellt vor, was unter dem Begriff zu verstehen ist und wie die Plattform das Arbeiten mit den Spring-Projekten für Entwickler und Entscheider einfacher macht. Wir geben weiterhin einen Ausblick in die weiteren Themen des Spring Days und welche Themen für das Gesamtprojekt 2014 Schwerpunkte darstellen.

Oliver Gierke
12:00 bis 13:00
Session

Softwarearchitekturen für die nächste Generation Businesssysteme

german

+

Neue Geschäftsansätze ändern die Rolle, die Software für den Geschäftserfolg spielt. Das bringt neue nicht funktionale Anforderungen mit sich - und die müssen durch andere Softwarearchitekturen erfüllt werden. Wie können Änderungen an der Software schneller ausgerollt werden? Wie kann der Erfolg der Software in der Praxis gemessen werden? Welche Auswirkungen haben die Änderungen in der Organisation auf die Architektur? Am Ende steht ein Ansatz, der aktuelle Enterprise-Architekturen weiterdenkt.

Eberhard Wolff
Session

Architektur 201x: Neue Konzepte für die Architektur komplexer Systeme

german

+

Während im Enterprise-Umfeld Systeme häufig immer noch nach den selben Mustern entworfen werden wie vor 10 oder 15 Jahren, haben sich die Dinge in den immer größer werdenden Internet-Plattformen, -Diensten und Anwendungen der großen Internet-Anbieter dramatisch weiterentwickelt. Dazu zählen vor allem die Konzepte zu Modularisierung in viele einzelne, voneinander weitgehend unabhängige Systeme, der deutlich flexiblere und tolerantere Umgang mit verschiedenen Programmiersprachen und Frameworks und passende Entwicklungs- und Deployment-Strategien, die weniger eine gemeinsame technologische Implementierungsbasis, sondern eher gemeinsame Schnittstellen voraussetzen. In diesem Vortrag diskutieren wir, wie wir nach der Maxime “weniger ist mehr” kleinere Systeme deutlich effizienter entwickeln und diese zu großen Systemlandschaften zusammensetzen können, ohne uns von einzelnen Technologieplattformen abhängig zu machen. Dass solche Systemlandschaften dann auch noch rein zufällig perfekt mit modernen Cloud-Ansätzen zusammenspielen, versteht sich – aus Gründen der Buzzword-Kompatibilität – fast von selbst.

Stefan Tilkov
Session

Vert.x for World Domination

german

+

Vert.x ist ein auf Netty 4 und Hazelcast aufbauendes Framework für skalierbare, fehlertolerante, Event-getriebene Netzwerkanwendungen. Anhand des Beispiels „Skalierbare Weltherschaft“ möchte ich zeigen, wie Vert.x sich als Basis einer entsprechenden Infrastruktur geradezu aufdrängt. Themen wie Modularisierung, Concurrency, Clustering und Ausfallsicherheit werde ich anhand eines Raspberry-Pi-Clusters samt LEGO-Mindstorms-Roboter demonstrieren.

Jochen Mader
Session

Streams und ihre Performance bei paralleler und sequenzieller Ausführung

german

+

Die Session gibt einen Einblick in die Mechanismen und Performance der Java-8-Streams. Es wird erläutert, was Streams sind, wie sie sich von herkömmlichen Collections unterscheiden, wie sie ihre Operationen parallel oder sequenziell ausführen. Interessant sind dabei die parallelen Operationen, insbesondere ihr Performanceverhalten im Vergleich zur sequenziellen Ausführung.

Klaus Kreft
14:30 bis 15:30
Session

Skalierbare Webanwendungen mit CoreOS

german

+

Wenn man skalierbare Webanwendungen baut, steht man häufig vor den gleichen Themen: Wie verteile ich meine Anwendung? Wie sprechen unterschiedlichen Teile miteinander? Wie reagiere ich bei einem Ausfall eines Nodes? Dieser Talk gibt eine Einführung in das Thema skalierbare Webanwendungen und illustriert diese anhand eines Beispiels aus der Praxis mithilfe von Docker und CoreOS.

Timo Derstappen
Session

Tipps und Tricks zum Test von APIs, SOA-Services und Schnittstellen

german

+

Die rasante Zuname verschiedenster Clients (PC-, Web-, Tablet-, Mobile-Clients) für unsere Anwendungen, wie auch die Zunahme von unternehmensübergreifenden B2B Interaktionsszenarien macht unsere Geschäftsprozesse essentiell abhängig von funktionierenden APIs, SOA-Services und Schnittstellen der IT-Systeme. Nur mit der direkten Qualitätssicherung dieser APIs kann diese kritische Kommunikation zwischen den IT-Systemen sichergestellt und Integrationsphasen verkürzt werden. Nach einer kurzen Einführung, was den Test von APIs ausmacht, lernen Sie in dieser Session Tipps und Tricks rund um dieses Thema. Wann und wo sollten APIs getestet werden? Wie kommen Sie zu Testfällen und was ist beim Design zu beachten? Wo liegen die Unterschiede zum Unit-Test? Welche Eigenschaften der APIs können überprüft werden? Wie können Sie Testaufwände vom kritischen Pfad nehmen, Risiken senken und Qualität erhöhen?

Ludwig Ronny Eckardt
Session

How to do Product Development when you no longer fit in one Room

english

+

When growing a startup product development you encounter major challenges: How do you scale your product development teams? How do you keep as fast and responsive as you used to be? And how do you leverage the existing knowledge? In this talk I’ll show a couple of practices and rituals based around a Kanban board which captured our whole product development efforts with about 30 participants. I’ll show the design of the Kanban board, the policies and meetings around it and the personal duties ranging from a developer to a product manager up to the CEO. I will also compare it to other approaches from the community and what our lessons learned are.

Matthias Lübken
Session

Einführung in Graph Datenbanken und Neo4j

german

+

Wenn man unsere Welt mit offenen Augen betrachtet, sieht man schnell, dass in vielen Bereichen des öffentlichen und privaten Lebens Beziehungen zwischen Personen, Dingen, Orten und Ereignissen eine herausragende Rolle spielen. Jeder hat das Bild eines Social Graph wie z.B.bei Facebook schnell vor Augen. Bisher war es schwierig diese Beziehungen in Anwendungen und Systemen darzustellen. Viele Datenbanken mit komplexen Daten und großen Datenmengen sind mit einer Vielzahl von Beziehungen zwischen stark normalisierten Objekten überfordert sind. Graphdatenbanken nehmen sich dieser Herausforderung an und behandeln Beziehungen als integralen Bestandteil ihres Datenmodells. So wird eine flexible Abbildung wenig strukturierter und stark vernetzter Daten möglich und auch bei komplexen Abfragen ist die Abfragezeit im Vergleich zu relationalen Datenbanken, die mit vielen JOINs arbeiten, erheblich reduziert.Neo4j wird schon seit 10 Jahren aktiv entwickelt und steht  Open-Source als auch in einer Enterprise Version zur Verfügung. Im Vortrag werde ich auf diverse Aspekte von Graphen, Graphendatenbanken, der Datenmodellierung und unserer Abfragesprache Cypher eingehen und interessante Features von Neo4j highlighten.

Stefan Armbruster
Session

Java-Concurrency für Fortgeschrittene

german

+

Java hat ein solides Memory Model und eine Reihe guter Bibliotheken für Concurrency. Trotzdem taucht eine Fülle an Stolperfallen auf, wenn man mit mehreren Threads arbeitet, besonders wenn ein Programm auch noch schnell und korrekt arbeiten soll. Diese Session zeigt praxiserprobte Lösungen für typische Probleme. Vor allem aber trainiert sie, Programmcode durch die „nebenläufige Brille“ zu betrachten: Welche Threads teilen sich welche Daten, und wie? Wie reduziere ich den Anteil von Locks an der Gesamtlaufzeit? Wann komme ich ganz ohne sie aus – und wann lohnt sich das?

Arno Haase
16:00 bis 17:00
Session

JDK 8 Bestandsaufnahme und Technologie-Verifikation

german

+

Seit fast acht Monaten ist das neue JDK 8 schon verfügbar und damit wird es Zeit, sich ernsthaft mit dem neuen Release 8 zu beschäftigen und die zum Durchstarten notwendige Technologie-Checkliste abzuarbeiten. Die Funktionalität vom JDK 8 erstreckt sich über die neuen Lambda-Ausdrücke für funktionale Programmierung, der Nashorn JavaScript-Engine für Interoperabilität von JavaScript zur JVM und zahlreichen Neuerungen in der Java-Sprache, den Core Bibliotheken, über Internationalisierung und Java Security, bis zur JVM. Weitere Verbesserungen sind im JDK 8 bei Java-Type-Annotationen, dem Date&Time API und JDBC 4.0 zu finden. Die mit Java SE 8 eingeführten Compact Profile stehen als Subsets von Java SE in drei Varianten zur Verfügung, um die Modularisierung für Java Embedded bereits im JDK 8 vorzubereiten. Die Java Plattformmodularisierung mit dem Projekt Jigsaw ist für das JDK 9 vorgesehen. JavaFX ist als strategische Java Desktop Technologie in Java SE 8 enthalten und wird gemeinsam mit dem JDK 8 ausgeliefert. Der standardisierte Übergang im Rahmen von JavaFX zu einer eigenen Spezifikation erfolgt über das Projekt OpenJFX.

Wolfgang Weigend
Session

Clojure in der Praxis

german

+

Clojure ist eine JVM-Sprache, die das Unmögliche möglich macht: Ein tatsächlich in der Praxis von normalsterblichen Entwicklern einsetzbares Lisp. Doch was bringt mir das bei meiner täglichen Arbeit? Wie setze ich die Entwicklungsumgebung auf? Wie löse ich die typischen Aufgaben? Wie kann ich Webserver bauen, JSON verarbeiten und auf Datenbanken zugreifen? Und vor allem: Warum sollte ich das mit Clojure tun und nicht eine der altbekannten Möglichkeiten verwenden? In dieser Session zeigen wir all das und machen die Teilnehmer fit für Clojure in der Praxis!

Philipp Schirmacher, Silvia Schreier
Session

Caching und Messaging mit Spring Framework 4.1

german

+

Spring Framework 4.1 liefert eine Reihe von überarbeiteten Features jenseits des Core-Containers, insbesondere in den Bereichen Caching und Messaging. Diese Session illustriert anhand von Beispielen die neuen Gestaltungsmöglichkeiten bei annotationsbasiertem Caching mit JCache (JSR-107) sowie annotationsbasiertem Messaging mit JMS. Auch andere Spring-4-basierte Messaging-Varianten wie STOMP werden kurz vorgestellt.

Jürgen Höller
Session

Destruktive System- und Werkzeugauswahl in agilen und skalierten Umgebungen

german

+

Welche Kriterien müssen Systeme und Werkzeuge in ihrer Systemlandschaft erfüllen, um in einer modernen, leichtgewichtigen und effizienten Entwicklung richtig zu stören? An welchen Eigenschaften werden Continuous Delivery oder der Einsatz in der Cloud scheitern? Welchen Einfluss haben Datenstrukturen, Programmiermodelle, Lizenzmodelle und interne Strukturen einzelner Systeme auf die gesamte Entwicklung und automatisierter Auslieferung? Welche Herausforderungen sind zu meistern, welche nicht?

 

Stefan Hildebrandt
17:15 bis 18:15
Session

Softwarearchitektur-Speeddating („Wer einsam bleibt, ist selber schuld!“)

german

+

Zeitgemäße Softwarearchitektur ist nicht das Werk einzelner. Architekturansätze und Ideen entstehen im Team und werden gemeinsam reflektiert. Alle Entwickler müssen sie zumindest verstehen und mittragen können. Aber was genau müsst ihr vermitteln? Reicht aufschreiben? Hilft UML? Diese Nightschool zeigt auf lebendige Weise, wie ihr eure Softwarearchitektur wirkungsvoll kommunizieren könnt. Nach kurzen theoretischen Inputs rund um Architekturdokumentation und -bewertung probiert ihr das Gehörte gleich aus. Ihr lernt die Lösungen anderer Teilnehmer kennen und erfahrt Schritt für Schritt, welche Zutaten in einem Architekturüberblick keinesfalls fehlen sollten – egal, wie kurz er ist. Ihr lernt die richtigen Fragen zu stellen und passende Antworten parat zu haben. Bringt bitte die Bereitschaft mit, euch über eure Projekte und Softwarelösungen auszutauschen und anderen Teilnehmern Feedback zu geben. Die sonst üblichen Speeddatingthemen wie Kinderwünsche klammern wir aus.

Stefan Zörner
Session

Class Loading Revisited

german

+

Class Loading ist uns aus dem EE Umfeld ausreichend bekannt - meinen wir. Dieser Vertrag geht auf die Grundlagen des Class Loading ein und erweitert das Wissen eines jeden Java-Entwicklers: Wie sieht das Format von Java-Klassen aus? Wie werden Klassen geladen? Was ist ein Class Loader? Seit Java 5 steht das Package java.lang.instrument zur Verfügung, das die Instrumentierung von Klassen zum Ladezeitpunkt erlaubt. Wir führen in die Möglichkeiten dieses Package ein. Zum Abschluss zeigen wir, wie bereits geladene Klassen manipuliert werden können.

Bernd Müller
Session

Mit agilen Praktiken SOLIDe Systeme bauen

german

+

Seit einiger Zeit sind agile Entwicklungsprozesse im Mainstream angekommen. Viele Teams entwickeln Software mit agilen Methoden. Doch reicht es, den Prozess umzustellen? Wie sollen wir spät erkannte Anforderungen in unsere Software integrieren, wenn diese nicht flexibel ist? Wie soll ich nach jedem Commit alles integrieren, wenn schon der Build 3 Stunden braucht? Wie sollen wir nach jedem 2-Wochen-Sprint ausliefern, wenn schon das Testen 4 Wochen dauert? Die Erfahrung der letzten Jahre hat gezeigt, dass es vielen Scrum-Teams nicht gelingt, Iterations-Ergebnisse mit ausreichend hoher Qualität zu erstellen.  Zu agiler Entwicklung gehört also mehr, als nur den Prozess umzustellen. Dieser Vortrag zeigt, welche agilen Entwicklungspraktiken helfen, flexible Systeme zu bauen, die leicht änderbar und wartbar sind. Wie sieht der Werkzeugkasten aus, den ein Entwickler im agilen Umfeld benötigt? Welche Techniken und Tools helfen ihm, nach jedem Sprint ein potentiell auslieferbares Produktinkrement zu erstellen?

Sven Günther
Session

The Enterprise Architect - Ivory Tower Resident or Corporate Savior?

english

+

In many companies and communities the title "architect" has become associated with negative connotations: architects are the people who live in the ivory tower, are out of touch with reality, and make poor decisions driven by the quest for irrelevant ideals. Because these architects can't code, they bestow their thoughts upon developers with PowerPoint slides and wall-sized posters. If all fails, they claim "governance". At the same time the role of IT is evolving from a pure cost center to a business enabler, making architecture ever more relevant to succeeeding in the digial economy. "Enterprise architecture", the ostensibly most detached of all architectures, is rapidly gaining in popularity in large enterprises. Is this yet another proof that corporate IT is ten years behind technical evolution? Or do these guys know something the rest doesn't? This talk presents insights, anecdotes, and war stories from the unlikely journey of a Silicon Valley developer turned IT enterprise architect.

Gregor Hohpe
Mittwoch - 5. November 2014
08:30 bis 09:45
Session

Wider den Monolith - Am Ende wird alles gut

german

+

Alle reden von Micro Services, aber wie kann ein komplexes System zu einer Ansammlung von Micro Services werden? Dieser Vortrag zeigt anhand eines praktischen Beispiels, wie eine modular geplante Architektur zu einem Monolithen geführt hat und wie er wieder zerschlagen wird. Welche Faktoren führen trotz guter Vorsätze zu einem Monolithen, und wie kommt man wieder zurück zu einer Architektur mit kleineren, unabhängigen Services? Worauf sollte man achten, um ihn zu vermeiden oder frühzeitig zu erkennen? Eine Migration zu Micro Services ist nicht einfach, aber lohnt sich (und ein Stück Monolith wird überleben).

Oliver Wehrens
Session

Enterprise Architecture, aber bitte zack zack! Erfahrungen mit dem NATO Architecture Framework NAF v3

german

+

Dieser Vortrag berichtet über den Einsatz vom NAF in einem mehrjährigen IT-Projekt. Von der Planung bis zur Umsetzung. Was waren die Fallstricke, und wie wurden sie umschifft. Was sind die "Goodies", und warum eignet sich das NAF nicht nur für militärische Bereiche. Der Teilnehmer erhält einen Überblick über die Möglichkeiten des NAF. Was sind die Voraussetzungen für den erfolgreichen Einsatz hinsichtlich Methodik, Toolsupport und Skill der Projektbeteiligten?

Hermann Schlamann
Session

Vagrant, Puppet, Docker für Entwickler und Architekten

german

+

Softwareentwicklung, -test und -betrieb können durch Virtualisierung viele Vorteile erzielen. In diesem Zusammenhang werden häufig Werkzeuge für die Bereitstellung von Umgebungen eingesetzt.Verschiedene Werkzeuge adressieren aber unterschiedliche Einsatzszenarien. Wo im Applikationslebenszyklus können diese Werkzeuge sinnvoll eingesetzt werden und wie sieht es mit Kosten und Nutzen aus?

 

Richard Attermeyer
Session

Resilience - die Geheimnisse guten Softwaredesigns

german

+

In der Produktion wird das Geld gemacht und werden die Kunden zufriedengestellt, aber nur so lange, wie unsere Software läuft und zügig antwortet. Läuft unsere Anwendung nicht oder ist sie langsam, ist sie wertlos - schlimmer noch: Wir verlieren Geld und Reputation. Genau darum geht es bei Resilience: Wie man eine Anwendung gestaltet, dass sie hochverfügbar ist und zügig antwortet - selbst unter unerwarteten Fehler- und Lastsituationen. In dieser Session lernen Sie eine (kleine) Resilience-Mustersprache kennen, natürlich garniert mit Code und jeder Menge Tipps und Tricks.

Uwe Friedrichsen
Session

Wer gewinnt das SQL-Rennen auf der Hadoop-Strecke?

german

+

Nachdem in den letzten Jahren NoSQL ein beherrschendes Thema im Kontext von Big Data war, gewinnt SQL als Anfragesprache wieder große Bedeutung im Hadoop-Umfeld. Dabei steht mit Hive ein SQL-Dialekt zur Verfügung, mit dem zwar leicht Batch-orientierte ETL-Strecken für Hadoop gebaut werden können, der aber bisher für interaktive Analysen nicht geeignet war Mit Impala, Presto, Spark SQL und dem Stinger-Projekt ändert sich das nun rapide. Schnelle verteilte Query Engines erlauben interaktive analytische Anfragen auf großen Datenmengen. Dazu kommen neue Speicherformate wie Parquet und ORC, die effizientere Repräsentation und schnelleren Zugriff versprechen. In dieser Session gebe ich einen Überblick über Stärken und Schwächen der verschiedenen Ansätze und Erfahrungen aus dem praktischen Einsatz.

Hans-Peter Zorn
Session

"Catch me if you can" Java on Wearables

german

+

Wearable Computer sind eines der nächsten großen Dinge aber im Moment lassen sich lediglich sehr spezialisierte Systeme wie "Motion Tracker", GPS-Uhren oder Ähnliches kaufen. Warum also nicht versuchen, günstige bestehende Technologie einzusetzen, um damit sein eigenes Java powered wearable Device zu bauen. Diese Session zeigt, was man heute mit Technologie zu erschwinglichen Preisen in Kombination mit Java erreichen kann. Dazu wird ein Raspberry Pi in Verbindung mit einem Herzfrequenzmesser und einem GPS-Sensor verbunden, um damit den Puls und die Position eines Läufers, Radfahrers oder Ähnlichem zu tracken. Der mittels Batterie betriebene Raspberry Pi misst dabei die Daten und überträgt sie via MQTT auf verschiedene Clients wie bspw. Java(FX)-basierte Desktopclients, sowie eine Smartwatch, die der Läufer/Radfahrer tragen kann. 

Gerrit Grunwald
Session

Mit JSF, WebSocket und SSE zu modernen UIs

german

+

JSF alleine reicht heutzutage kaum noch aus, um Anforderungen an moderne und State-of-the-Art-UIs abbilden zu können. Eine Website soll hoch flexibel und dynamisch auf serverseitige Änderungen reagieren können. Zeiten, in denen ein banaler Refresh-Button angeboten wurde, sind längst vorbei. Mit Server-Push-Verfahren wie WebSocket und Server-Sent-Events stehen aktuelle Technologien bereit, um im Zusammenspiel mit JSF effektvolle und leistungsfähige UIs entwickeln zu können.

Andy Bosch
10:15 bis 11:15
Session

Agil, aber ganzheitlich bitte!

german

+

Es gibt kaum ein Unternehmen, das sich nicht mit agilen Techniken auseinandersetzt. Dennoch lässt sich in Unternehmen, die agile Verfahren einsetzen, selten eine Kultur, wie sie im agilen Manifest definiert wird, finden. Vielmehr werden agile Techniken praktiziert, ohne die hinter der Agilität stehende Kultur zu begreifen. Dabei bietet Agilität deutliche Vorteile in dynamischen Marktumfeldern, wie sie im Zuge der Globalisierung und Digitalisierung immer häufiger auftreten.

Der Vortrag zeigt im ersten Teil die verschiedenen Aspekte einer ganzheitlichen Betrachtung von Agilität auf. Im Folgenden werden die Herausforderungen und Ansätze sowie Beispiele für Organisations- und Kulturveränderung vorgestellt und besprochen.

André Neubauer
Session

Tomcat als Basis deiner Microservices-Anwendungen

german

+

Der Apache Tomcat besitzt ein umfangreiches Embedded-API, das als Basis für die Implementierung von Microservices-Frameworks dient. Um die eigenen Micro Services auch nach den eigenen Bedürfnissen zu gestalten, zeigt diese Session, welche Möglichkeiten der aktuelle Tomcat 8 dazu bietet. Es werden verschiedene Varianten vorgestellt. In einem weiteren Schritt wird dann vorgestellt, wie daraus Lösungen für Entwicklung und Produktion entstehen. Die Gestaltung eigener Microservices erbringt enorme Erleichterung in allen Phasen des Projekts.

Peter Roßbach
Session

Oberflächen mit Tiefgang

german

+

Wer die Darstellung seiner Inhalte nur oberflächlich abhandelt, tut seinen Benutzern keinen Gefallen. Dabei sind reichhaltige interaktive Benutzeroberflächen gar nicht so schwer zu erstellen, wenn man weiß, wie. Dieser Talk zeigt, wie man konsistente, aktuelle Darstellungen verwirklicht, undo/redo implementiert, kollaboratives Arbeiten ermöglicht, große Datenmengen effizient darstellt und explorativ untersucht und Desktop, Web und Mobile mit einem einheitlichen Programmiermodell verbindet. Die Umsetzungsbeispiele sind mit OpenDolphin gemacht.

Dierk König
Session

Traits und ihre Anwendung in Groovy

german

+

Traits sind eigentlich aus der Scala-Welt bekannt und eines der Dinge, die Scala für viele interessant machen. Lange Zeit hatte Groovy mit @Mixin und @Delegate etwas Ähnliches, doch waren diese Ansätze immer mit diversen Problemen behaftet. In dieser Session möchte ich die Unterschiede zu den Transformationen @Delegate and @Mixin erklären, warum man @Mixin nicht mehr verwenden sollte und ein paar Beispiele für die Anwendung von Groovys Traits zeigen.

Jochen Theodorou
Session

Java EE Voodoo Architecture

german

+

Die Bordmittel von Java EE ermöglichen Architekturen, von denen man zu Zeiten von J2EE nur träumen durfte. Nahezu losgelöst von technologischen und schichtenbedingten Restriktionen kommen völlig neue Patterns zum Tragen. Im Gegenzug dazu kann auf „lieb gewonnene“ Workarounds - aka J2EE-Pattern - verzichtet werden. Die Session gibt einen Einblick in die vielfältigen Möglichkeiten und möchte so zu neuen Denkmustern im Java-EE-Architekturdesign anregen.

Lars Röwekamp
13:30 bis 14:30
Session

Inspiration statt Transpiration: Java-App-Deployment für das 21. Jahrhundert

german

+

Eine Anwendung auf einen Server zu deployen, kostet Aufwand und Zeit. Es fängt an beim Betriebssystem und den verschiedenen Abhängigkeiten. Diese müssen nicht nur korrekt installiert, sondern auch in der richtigen Version vorhanden und konfiguriert sein. Es geht weiter mit Benutzer- und Rechtenvergabe, Firewall-Konfiguration, Tuning, Hardening und vielem mehr. Dann kommt noch die Anwendung an sich dazu. Und auch die muss richtig konfiguriert und aktualisiert werden. Insgesamt ist der Prozess extrem komplex und Fehleranfällig. Aber muss es wirklich so sein? Kann es sein, dass wir in diesen Gedanken gefangen sind, weil wir es immer so gemacht haben? Was wäre, wenn wir diesen Prozess radikal vereinfachen könnten? Was wäre, wenn wir einen kompletten Server inklusive Anwendung mit einem einzigen Kommando in unter 15 Sekunden aufsetzen könnten?

Dieser Talk bietet ein radikales Umdenken des Deployments Java-Anwendungen an. Wenn Sie für Einfachheit und Effizienz über Komplexität und Brute-Force stehen, wenn Sie keine Angst haben, mit frischen Gedanken nach vorne zu schauen, dann sind Sie hier richtig. Willkommen in einem neuen Zeitalter.

 

Axel Fontaine
Session

Smart Home live: Intelligente Feuer- und Einbruchserkennung mit MQTT und openHAB

german

+

Im Bereich des Internets der Dinge ist Smart Home eine Anwendungsdomäne, die unsere alltägliche Lebensweise im "Connected Live" der Zukunft sehr stark verändern wird. Von der Vision des allumfassenden, adaptivem Smart Home in allen Bedürfnisbereichen sind wir sicherlich noch einige Jahre entfernt, aber es gibt bereits einzelne Lösungen, wie z.B. das Thermostat von Nest, die den Anwendern bereits heute großen Nutzen liefern können. Gleiches gilt für Ansätze, welche die Sicherheit der Hausbewohner erhöhen und im Notfall für schnellere Hilfe sorgen. Anhand eines konkreten Showcases wollen wir demonstrieren, wie ein intelligenter Brandmelder aussehen könnte, und dass die Umsetzung mit aktuellen Technologien bereits jetzt möglich ist. Mit zusätzlichen Geräten können auf der gleichen Infrastruktur auch noch weitere Szenarien - wie z.B. Einbruchsschutz - einfach integriert werden.

Dabei wird openHAB als Kommunikationszentrale im Haus eingesetzt, das über das Funkprotokoll Homematic mit den Geräten kommuniziert. Außerhalb des Hauses werden über HiveMQ als zentraler MQTT-Broker eine mobile Applikation, ein SMS-Plug-in und eine JavaScript-Weboberfläche angebunden. Neben der Basisfunktionalität "Alarm" wurden auch erweiterte Funktionen, wie eine Statusanzeige und die Möglichkeit einen Funktionstest durchzuführen, implementiert. Im Vortrag stellen wir das System vor, erläutern den Mehrwert für den Anwender gegenüber herkömmlichen Produkten und zeigen dann ausführlich die technische Umsetzung. Abgerundet wird der Vortrag mit einer Livedemonstration.

Christian Götz, Markus Mann
Session

Neues aus der Java-Trickkiste

german

+

Eine Stunde live in der IDE mit Neuem und Altbekanntem, Nützlichem und Überraschendem für Neulinge und alte Hasen. Eine Session mit Unterhaltungswert.

Arno Haase
Session

Enterprise-free Java EE

english

+

Java EE steht für “Enterprise” und konnte sich auch insbesondere in größeren Firmen durchsetzen. Allerdings immer mehr Startups entscheiden sich für Java EE, die “Enterprise” Aspekte können dabei keine wichtige Rolle spielen. In diesem Vortrag werde ich die Java EE aus der StartupPerspektive vorstellen und mit dabei auf die eher ungewöhnlichen Features wie NoSQL Anbindung, Skripting, JSON, HTML 5, Testbarkeit, Produktivität oder DevOps konzentrieren.

Adam Bien
15:00 bis 16:00
Session

IoT im Warenhaus - Wie hilft eine Event Processing Engine?

german

+

Ein Warenhaus lagert temperatursensitive Ware. Temperatursensoren senden kontinuierlich Messwerte an ein Gateway (Raspberry Pi), auf dem eine Event Processing Engine detektiert, wann ein Business-Event an das Facility-Management-Backend gesendet werden sollte. Im Backend überwacht ebenfalls eine Event Processing Engine die Ereignisse sämtlicher Warenhäuser und ruft bei Erkennen eines kritischen Zustands einen automatisierten Prozess auf, der mit Facility Manager und Techniker (Remote-Wartung über iPad-App) interagiert. Diese Session erläutert im Detail die eingesetzten Komponenten im Zusammenspiel mit der Gesamtarchitektur und führt nebenbei in die Entwicklung auf Basis einer Event Processing Engine ein. 

Torsten Winterberg
Session

Mobile Push for the Enterprise

german

+

Interaktion mit dem Benutzer ist die Basis einer erfolgreichen mobilen Anwendung. Push-Nachrichten, ein zentraler Bestandteil eines mobilen Betriebsystems, bieten eine komfortable Möglichkeit, um mit dem Benutzer in Kontakt zu treten. Der UnifiedPush-Server aus dem AeroGear-Projekt unterstützt Entwickler beim Versand von Push-Nachrichten an unterschiedliche Plattformen (Android, iOS und Firefox OS, inklusive Device-Management). Der Vortrag gibt eine Einführung zu Push-Nachrichten sowie die effektive Umsetzung in verschiedenen Szenerien, etwa Geolocation oder personalisierte Nachrichten. Ebenfalls zeigt der Vortrag die Integration des Servers für den Versand von Push-Nachrichten aus dem eigenen Java-Backend heraus.

Matthias Weßendorf
Session

Andocken bitte! Eine Einführung in Docker

german

+

Docker ist der Gewinner des diesjährigen JAX Awards in der Kategorie "Most Innovative Open Technology". Das allein ist schon Grund genug, sich einmal ausführlicher mit Docker zu beschäftigen. Aber was genau ist Docker, und wo liegen die Vorteile bei der Bereitstellung von Services im Vergleich zu herkömmlichen virutellen Umgebungen? Der Vortrag ist eine Einführung in Docker und zeigt mit vielen Livebeispielen, was Docker ist, wie es funktioniert und warum Docker eine großartige Zukunft vorhergesagt wird.

Michael Johann
Session

It's time to rethink - Datenbank-Design in der schönen neuen Welt

german

+

Bessere Qualität, schnelles Feedback vom Kunden, ständige Innovation und niedrigere Kosten. Dies sind nur einige der Vorteile, die uns die schöne neue Welt von Continuous Delivery verspricht. Welche Auswirkungen ein solches Vorgehen allerdings auf unsere Datenbanken hat, wird nur allzu oft kurz und elegant übersprungen. Die Session zeigt verschiedene Techniken wie wir bei mehreren Releases pro Tag mit unseren Produktivdaten umgehen können und verschweigt (ausnahmsweise) auch nicht deren Nachteile.

Thorsten Maier
Session

CQRS-basierte Architekturen mit Microservices

german

+

Die Themen Command Query Responsibility Segregation, kurz CQRS, und Microservices sind derzeit in aller Munde. Häufig werden die beiden Themen jedoch getrennt besprochen. So wird CQRS als neues Architekturparadigma gehandelt, das eine Abkehr vom klassischen Schichtmodell darstellt. Parallel dazu werden Microservices als modernes Architektur- und Deployment-Modell vorgestellt, das zum einen die bestehenden Probleme der klassischen Application-Server-Welt adressiert und das zum anderen sich als neue Denkweise für serviceorientierte Architekturen empfiehlt.Beide Ansätze sind für sich alleine betrachtet sehr interessant, allerdings bilden sie vor allem in Kombination miteinander ein äußerst attraktives Modell für künftige IT-Landschaften. Der Vortrag wird dieses Modell sowohl theoretisch als auch praktisch vorstellen und besprechen. Des Weiteren zielt der Vortrag auf eine kritische Auseinandersetzung mit diesem Architekturmodell ab. Die Zuhörer werden erfahren, welche Herausforderungen noch adressiert werden müssen und für welche Anwendungen dieses Modell geeignet ist. Abgerundet wird der Vortrag mit dem Vorschlag einer Einführungs- und Migrationsstrategie für gewachsene Anwendungen.

Michael Plöd
Session

Der LVM - Wichtige Entscheidungen erfolgreich verschleppen

german

+

Bei der Erstellung von Software treffen Sie ständig größere und kleinere Entscheidungen - von der Datenbankebene über Aspekte der logischen Strukturierung und Integration, bis hin zum UI. Diese Session stellt das Konzept des letzten vernünftigen Moments (LVM) vor und zeigt, warum Sie wichtige Fragestellungen möglichst spät beantworten sollten. Projektbeispiele illustrieren, wie der LVM in der Praxis funktioniert, vorgestellte Taktiken machen das aus Lean stammende Konzept greifbar und anwendbar.

Stefan Toth
Session

Event-basierte Architekturen mit Java EE

german

+

Die Architektur der meisten Java-EE-Anwendungen folgt dem bewährten Schichtenmodell mit synchroner Verarbeitung und Aufrufmustern durch alle Schichten hindurch. Während diese Architektur sicherlich gewisse Vorteile hat, führt sie gleichzeitig zu einer Vielzahl von Abhängigkeiten zwischen den einzelnen Komponenten der Anwendung. Wenn eine losere Kopplung erreicht werden soll, gelten Event-basierte Architekturen als bewährtes Mittel. In Java-EE-Anwendungen waren diese bislang nicht sehr verbreitet, da es lange Zeit keine standardisierte Unterstützung für fachliche Events gab. Mit CDI Events hat sich dies nun geändert. In dieser Session lernen Sie, wie sich Event-basierte Architekturen auf einfache Weise mit Java EE entwickeln lassen. Dabei besprechen wir auch Vor- und Nachteile, und eine Beispielanwendung wird live demonstriert.

Thilo Frotscher
Session

Rock your web apps

english

+

During this session we take a peek on the principles of choosing a web framework successfully and give an introduction to Apache 2.0 licensed Vaadin framework. Vaadin provides a highly productive server-side Java programming model for building web applications for desktop and mobile without the need of knowing HTML, XML, JavaScript or browser plug-ins. Attendees will learn everything needed to get started with Vaadin and understand where it fits and where it doesn't.

Ville Ingman
16:15 bis 17:15
Session

Fünfzehn Jahre Enterprise-Java: Aus diesen Fehlern können wir lernen

german

+

Schaut man sich aus heutiger Sicht die Technologien und Frameworks der letzten fünfzehn Jahre Enterprise-Java an, so kann man sich wirklich nur wundern. Haben wir wirklich so Software entwickelt? Mit all dem architektonischen und technologischen Overhead? Ja, haben wir. Zeitgemäß, aber schrecklich. Doch was waren die größten Fehler, die wir alle gemeinsam gemacht haben? Und wie können wir verhindern, dass wir heute aus purer Euphorie für eine technologische Entwicklung die gleichen Fehler nochmals machen? Kann nicht passieren? Diese Session zeigt leider das Gegenteil.

Jens Schumann
Session

Cloud Architecture: Patterns und Best Practices

german

+

Cloud Computing hat unbestreitbar erhebliche Vorteile in Bezug auf Kosten, Ausfallsicherheit und Flexibilität. Aber ist es ausreichend, wenn ich meine Applikationen einfach in einer Cloud-Umgebung laufen lasse? In den allermeisten Fällen lässt sich diese Frage mit einem klaren „Nein“ beantworten, denn um die Vorteile von Cloud-Infrastruktur voll ausnutzen zu können, muss ich auch die entsprechenden Patterns bei der Architektur meiner Applikation nutzen. In diesem Talk beschreibe ich einige Best Practices und Patterns, um skalierbare, ausfallsichere und verteilte Applikationen zu bauen, die global ausgerollt werden können.

Sascha Möllering
Session

Microservices – Das nächste große Ding oder nur eine Modeerscheinung?

german

+

Seit einiger Zeit gibt es viel Gerede über Microservices, aber es fühlt sich ein wenig wie Teenagersex an: Jeder redet darüber, keiner weiß wirklich etwas, jeder glaubt, die anderen machen es, also behauptet jeder das Gleiche. Zeit, ein wenig Licht ins Dunkel zu bringen: Was sind Microservices? Wie kann man sie implementieren? Was sind die Vorteile? Die Nachteile? Brauchen wir sie? Wann? Oder können wir sie getrost vergessen? Neben der Entmystifizierung von Microservices und vielen praktischen Tipps und Tricks wird die Session auch Platz für Diskussionen bieten. Was denken Sie über Microservices? Verwenden Sie sie? Was sind Ihre Erfahrungen? Seien Sie dabei, bilden Sie Ihre eigene Meinung zu Microservices!

Uwe Friedrichsen
Donnerstag - 6. November 2014
08:30 bis 09:45
Session

Androiden im Netz: Überblick über Bibliotheken zur Netzwerkprogrammierung

german

+

Im Zeitalter des Internets ist es nicht mehr üblich, dass Apps nur als abgeschlossene Anwendungen auf dem Smartphone laufen. Vielmehr findet eine ständige Kommunikation mit verschiedensten Services statt, um beispielsweise zusätzliche Bilder nachzuladen, die aktuelle GPS-Position an einen Server zu senden oder aber Nachrichten im Chat auszutauschen. Viele Dienste bieten für die Kommunikation RESTful Web Services an, die von vielen Programmiersprachen und Plattformen angesprochen werden können. Auch die Android-Community ist hier aktiv und bietet elegante Frameworks zur Netzwerkkommunikation an, die das Leben des Entwicklers vereinfachen. In dieser Session werden die Grundlagen der Netzwerkprogrammierung mit Android sowie einige ausgewählte Frameworks vorgestellt und anhand praktischer Beispiele demonstriert. Zum Schluss wird ein Blick über den Tellerrand der REST-Welt geworfen und ein alternativer Ansatz mit MQTT vorgestellt.

Adam Giemza
Session

Event Sourcing: Einführung und Best Practices

german

+

Unter Event Sourcing versteht man einen Architekturstil, in dem Änderungen am Zustand der verwalteten Daten als eine Sequenz von Events festgehalten werden. Durch diese Herangehensweise können jederzeit Snapshots des Datenzustands erstellt und abgefragt werden. Des Weiteren ermöglicht uns das Persistieren von Events eine Optimierung der lesenden Zugriffe durch eine Denormalisierung des "Lese-Modells" der Daten. Letzterer Aspekt ist aktuell insbesondere durch den Architekturansatz CQRS in aller Munde.

Im Rahmen des Vortrags werde ich Ihnen eine Einführung in das Thema Event Sourcing geben und gängige Patterns rund um das Thema vorstellen. Des Weiteren werden Themen wie Rollback von Events (Kompensation-Services), Möglichkeiten der Erstellung von Daten Snapshots und Änderungen durch externe Systeme vorgestellt. Abgerundet wird der Vortrag durch eine Diskussion möglicher Einsatzszenarien für Event Sourcing.

Michael Plöd
Session

Docker für Java Entwickler

german

+

Docker ist in aller Munde und erobert gerade die IT Welt im Sturm. Diese leichtgewichtige Virtualisierungstechnologie bietet auch für Entwickler neue Möglichkeiten. Dieser Vortrag zeigt, wie eigenständige, komplett isolierte und doch performante Integrationstests mit Docker realisiert werden können. Auch für den Weg von Entwicklung zur Produktion bietet Docker neue Paradigmen. Für diese Zwecke wird ein Docker Maven Plugin vorgestellt, das eine nahtlose Einbindung in den Build Prozess erlaubt.

Roland Huß
Session

Pah, Architekturdokumentation ... darauf habe ich keine Lust!

german

+

"Chef, Sie wollen schon wieder Doku von mir? Warum sollte ich die schreiben? Meine Teamkollegen und ich wissen schließlich auch ohne Doku, wie das System funktioniert und wo wir etwas ändern müssen. Doku hält mich nur vom Arbeiten ab! Und ... seien Sie mal ehrlich: Sie ist noch jedesmal runterpriorisiert worden, wenn es zeitlich eng wurde, also kann sie ja wohl nicht wichtig sein." -- Wollten Sie schon einmal solch einen Brief an Ihren Chef schreiben? Und haben dann doch zähneknirschend Ihr Word geöffnet? Lassen Sie sich in dieser praxisorientierten Session zeigen, wie Sie Architekturdokumentation mit Lust und minimalem Aufwand gestalten können (Gerüchte besagen, dass Markdown darin eine Rolle spielen wird).

Matthias Bohlen
Session

Performance Challenges along the Continuous Delivery Pipeline

english

+

Do you care about your web application’s performance in production? The answer to that question is hopefully a clear “YES”, which leads to the question: How can you make sure you do not deploy changes to your production site that impair performance and scalability? Load tests might come to your mind, but more often than not, these are only run rarely, not continuously throughout the development lifecycle. Wouldn’t it be great to detect scalability issues based on the automated tests you already wrote? This session shows how you can measure relevant metrics like the number of database statements or number of calls to 3rd party services along your delivery pipeline, and common problem patterns you can identify and solve with those metrics.

Wolfgang Gottesheim
Session

Security 101

german

+

Wir erläutern in diesem Vortrag die wesentlichen Begriffe und Konzepte rund um das Thema IT-Sicherheit: Sie lernen die Grundlagen von Kryptografie kennen und erfahren, warum Hashing, Entropie und Zufall zentrale Bedeutung für Vertraulichkeit besitzen. Wir erläutern die Möglichkeiten von Angriffen gegen Betriebssysteme und technische Kommunikation und bringen Licht ins Dunkel von Signaturen, Zertifikaten, Man-in-the-Middle, Salting und Rainbow Tables. Zwischendurch erklären wir praktische Securityprobleme und eklatante Sicherheitslücken. Schließlich erleben Sie live einen Kryptoangriff gegen einen verschlüsselten Text (damit Sie auch schätzen lernen, was die arme NSA eigentlich leistet). Der Vortrag richtet sich an alle Technikinteressierten, die endlich mal die relevanten Grundlagen von Security in leicht verdaulicher Form erleben möchten.

Gernot Starke, Tobias Hahn
Session

Quo vadis WebSocket

german

+

Seit Ende 2011 steht WebSocket als offizieller Standard (RFC 6455) bereit. Doch wie sieht es mit dem Einsatz von WebSocket in der Praxis wirklich aus? Funktioniert WebSocket auch im mobilen Umfeld? Was hat sich seit dem Fertigstellen der Spezifikation getan? Wie sehen die Neuerungen aus?  Der Vortrag gibt einen Überblick zum aktuellen Stand des Protokolls, sowie dessen Erweiterungen und stellt verschiedene Client- und Serverbibliotheken anhand von praktischen Beispielen vor.

Matthias Weßendorf
Session

Mut zur Fachlichkeit

german

+

Leider sind in der "freien Wildbahn" nach wie vor viele Architekturen und APIs stark durch die verwendeten Technologien, Frameworks, Generatoren etc. getrieben. Die eigentliche Fachlichkeit der Anwendung bleibt dabei häufig auf der Strecke und ist im Quellcode kaum noch auffindbar. Das geht – nur – solange gut, bis der erste Fehler gefunden werden muss. Die Session zeigt einfache, aber sehr effektive Strategien, wie bestehende Anwendungen in ein fachlich getriebenes Architektur- und API-Design überführt werden können - Aha-Effekte garantiert.

Lars Röwekamp
Session

AngularJS und TypeScript: Der Beginn einer wunderbaren Freundschaft?

german

+

AngularJS ist ein sehr beliebtes JavaScript-Framework von Google, das Direktiven, Data Binding, MV* und vieles mehr bietet. TypeScript ist eine JavaScript-Erweiterung von Microsoft, die JavaScript um optionale statische Typprüfung, Interfaces, Klassen, Module und vieles mehr erweitert. In dieser Session zeigt Kai anhand einer TypeScript-basierten AgularJS-Applikation, wie man die Eigenschaften von TypeScript mit AngularJS verbinden kann. Dabei spielen natürlich die TypeScript-Definition-Files für AngularJS eine große Rolle, aber auch, ob und wie man die AngularJS-Konzepte auf eine objektorientierte Struktur in TypeScript abbilden kann. Am Ender der Session können Sie sich selbst ein Bild davon machen, ob dies der Beginn einer wunderbaren Freundschaft zwischen AngularJS und TypeScript sein könnte.

Kai Tödter
10:15 bis 11:15
Session

Komplexe Architekturen schuldenfrei weiterentwickeln

german

+

Kennen Sie das auch? Sie entwerfen eine gut strukturierte Softwarearchitektur in Form von Diagrammen und nutzen sie als Blaupause für Ihr Softwaresystem. Während der Implementierung weichen Ihre Entwickler ungewollt mehr und mehr von diesen Vorgaben ab: Einerseits macht der Projektdruck Abweichungen notwendig, andererseits entstehen die Abweichungen ungewollt und unbemerkt. Die Architektur Ihres Systems erodiert und Sie bauen Schritt für Schritt technische Schulden auf. Wartung und Erweiterung der Software werden immer teurer bis zu dem Punkt, an dem jede Änderung zu einer schmerzhaften Anstrengung wird. In diesem Vortrag berichte ich von meinen Erfahrungen der letzten zehn Jahre mit der Analyse von Softwarearchitekturen in Java, C++, C# und ABAP: Wie entstehen technische Schulden? Wie können technische Schulden vermieden werden?

Um technische Schulden sichtbar zu machen und ihnen rechtzeitig entgegenzusteuern, wurden in den letzten zehn Jahren verschiedene Architekturanalysewerkzeuge entwickelt (Sotograph, SonarQube, JDepend, XRadar, Axovion Bauhaus, Structure101, Lattix u.v.m.). Ich werde Ihnen im Vortrag einen Überblick über diese Werkzeuge und ihre Einsatzmöglichkeiten geben. Die Zuhörer wissen nach meinem Vortrag, welche Fehler sie in ihren Softwareprojekten bei der Umsetzung der Architektur in Sourcecode nicht machen sollten, welche Prinzipien Sie einhalten sollen, um technische Schulden nicht entstehen zu lassen, welche Tools helfen, technische Schulden aufzuspüren und wie technische Schulden abgebaut werden können.

 

Carola Lilienthal
Session

Speeding up Java Persistence

german

+

O/R Mapper sind langsam, erst recht, wenn man darauf mit JPA zugreift - so lautet eine weit verbreitete Meinung. Das muss aber nicht so sein: JPA-Provider bieten eine Menge Möglichkeiten unter der Haube, die selbst manchen handgeschriebenen vermeintlich optimierten Direktzugriff mittels SQL in den Schatten stellen. Lassen Sie sich in dieser Session zeigen, wie Sie Ihre JPA-Anwendung auf Speed bringen.

Dirk Weil
14:00 bis 15:00
Session

Real World Enterprise Reactive Programming using Vert.x

english

+

Vert.x is a lightweight, high performance application platform for the JVM that's designed for modern mobile, web, and enterprise applications. In this talk you will learn how to create elastic, resilient, responsive and event-driven applications based on the principle of Continuous Deployment. We will give you some insights on the problems we had experienced during development so far and how we solved them. Additionally we'll show you how to deploy your Vert.x-infrastructure into the Cloud.

Björn Stahl, Mariam Hakobyan, Sascha Möllering
Session

Project Avatar: Mehr als nur Node.js auf der JVM - Enterprise Java written in JavaScript!

german

+

JavaScript ist mittlerweile überall: ob im Browser, auf dem Server oder auf mobilen und embedded Geräten. Leichtgewichtige, asynchrone und event-getriebene Architekturen sind derzeit angesagter denn je, der Server stellt lediglich die Ressourcen per (REST-/Push-)Services zur Verfügung und ein großer Teil der Logik wird in HTML5-Clients per JavaScript implementiert. Das Open Source Project Avatar macht mit seiner Thin-Server-Architektur (TSA) Java EE Ressourcen (z.B. Java-Bibliotheken, JPA-Layer, JMS) direkt per JavaScript zugreifbar, egal ob auf dem Application Server (Service Components) oder dem Client (View Components).

Serverseitig basiert Project Avatar auf der Node-Implementierung für die JVM (Avatar.js für die Nashorn Scripting-Engine) und stellt somit fast die gesamte Node.js API zur Verfügung und nutzt ebenfalls das Node-Programmingmodel einer asynchronen Single Threaded Event-Loop (REPL) - falls gewünscht, auch parallel in mehreren Threads.

Auf dem Client sorgt das Framework für das Binding der Ressourcen an HTML5-Widgets und beschränkt sich dabei auf so wenig JavaScript wie möglich und nur so viel wie gerade nötig. Die Programmierung erinnert hier stark an die Expression Language und ist so für den erfahrenen (JavaEE-)Entwickler einfach umsetzbar. Da bei einer TSA Client und Server losgelöst voneinander sind und nur protokollbasiert miteinander kommunizieren, ist die Verwendung der View Components nicht zwingend nötig. Hier kann der Entwickler auf das Framework seiner Wahl, z.B. AngularJS zurückgreifen.

Die Live-Demo zeigt, wie eine vollständige Java EE Applikation auf einem Java EE Server ganz ohne Java Code erstellt werden kann, nur mit dem Einsatz von JavaScript.

Heiko Spindler, Niko Köbler
Session

Der App-Server ist tot, es lebe der App-Server!

german

+

Die Evolution von Java EE hat die Welt der Enterprise-Anwendungen revolutioniert. Mit Java EE 7 steht uns eine leistungsfähige Plattform zur Verfügung, deren Leichtgewichtigkeit in Zeiten von J2EE undenkbar war. Das gilt auch für die aktuellen App-Server. Es gibt zwar einige nachvollziehbare Argumente dafür, App-Server als unnötigen Ballast einzustufen, aber auch eine Menge vielfach übersehener Vorteile der Server. Diese Session berichtet von den Erfahrungen in konkreten Produktionssituationen und stellt Pro und Kontra gegenüber.

Dirk Weil
Session

Continuous Delivery mit Docker

german

+

Bei Docker handelt es sich um ein System, mit dessen Hilfe sich sehr leichtgewichtige, selbständige Container für Applikationen aufbauen lassen. Diese Container können alles von einfachen „echo ‚Hallo Welt’ “-Applikationen bis hin zu komplexen Applikations-Installationen enthalten. Einmal gebaut, werden diese Container von der Entwicklung bis hin zur Produktion propagiert. Die Container bringen alles mit, was sie zur Laufzeit benötigen und müssen nicht weiter Konfiguriert werden. Wie dies konkret funktioniert und welche Vorteile wir daraus in der Java-Welt ziehen können werden wir im Detail in dieser Session betrachten.

Halil-Cem Gürsoy
Session

Unternehmenskritische Anwendungen mit JavaScript

german

+

JavaScript ist die einzige Sprache, die in jedem Browser ohne Plug-ins läuft. Wer für den Nutzer komfortable Anwendungen auf allen Webplattformen ausliefern möchte, kommt daher nicht um die Sprache JavaScript herum. Nur wie weit sollte man dabei gehen? Welche Problemstellungen ergeben sich für unternehmenskritische Anwendungen?

Oliver Zeigermann
Session

Are your GC logs Speaking to you, the G1GC edition

english

+

Oracle's version of Java 7 saw the release of a new collector, the G1GC. This collector is unlike all the other collectors found in the Oracle JVM in that it instead of generational spaces, it organizes Java heap into regions. This, along with a number of other features that make this memory management scheme different than other collectors. Even though this collector is designed to be self-tuning, there are occasions when hand tuning will offer better results. In this session we will use the GC logs to expose some of the inner workings of the G1 collector with an eye on key metrics that can be helpful in deciding how to tune.

Kirk Pepperdine
Session

Persistence Frameworks for Everyone

german

+

Android bietet verschiedene APIs, um Daten zu speichern. Speziell das SQLite- und Content-Provider-API zwingt den Entwickler dazu, viel Boilerplate-Code zu produzieren. Daher liegt der Gedanke nahe, diese APIs durch eine Bibliothek zu kapseln. Auf diese Idee sind ziemlich viele Android-Entwickler gekommen, und somit haben wir mittlerweile einen ganzen Strauß verschiedener Frameworks vorliegen. Mehr oder weniger gut gepflegt, mit oder ohne Dokumentation und mit verschiedenen Ansätzen (Annotations, Codegenerator, Reflections etc.) ist es nicht gerade leicht, hier die richtige Entscheidung zu treffen. Wir zeigen Beispiele und geben Entscheidungshilfen. 

Dominik Helleberg
15:30 bis 16:30
Session

Microservices - weder Micro noch Service?

german

+

Microservices sind ein neues Architekturparadigma, bei dem Anwendungen in kleine Services aufgeteilt werden. Dieser Vortrag zeigt, wie eine Architektur mit diesem Ansatz funktioniert. Dabei geht es auch um die Frage, ob Services wirklich so klein sein sollen - und ob sie Services in dem Sinne sind, wie beispielsweise SOA den Begriff der Services auffasst. So wird gezeigt, wie diese Microservices tatsächlich in der Praxis optimal genutzt werden können und welche Kompromisse dabei eingegangen werden müssen.

Eberhard Wolff
Session

Darwin und Godot - Über Evolution und Wartung

german

+

Keine Sorge, es geht weder um Biologie noch um Theater, vielmehr möchte ich Ihnen nahebringen, worauf es bei Evolution, Wartung und Änderung von Software wirklich ankommt. Den größten Teil unseres Informatikerlebens verbringen wir mit Anpassungen bestehender Systeme - und genau dieser Teil kommt in der klassischen Ausbildung praktisch nicht vor. Zuerst fasse ich für Sie die wesentlichen Gründe für Änderungen zusammen. Anschließend erkläre ich in Form von Mustern und methodischen Bausteinen wesentliche Lösungsansätze:

  • Sinnvolles Verhalten, wenn Sie mehr Probleme als Budget haben
  • So finden Sie die schlimmsten Probleme
  • So überzeugen Sie Ihr Management von Umbaumaßnahmen
  • So finden Sie schlechten Code
  • So gehen Sie mit technischen Schulden um 
Gernot Starke
Session

Testgetriebene Infrastruktur als Code

german

+

Erfreulicherweise provisionieren wir unsere Infrastruktur zunehmend durch ablauffähigen Code. Diese Art der Bereitstellung ist komplex und erfordert einen hohen Anspruch an Qualität. Schnell wird es nötig, die eigene Software auf verschiedenen Betriebssystemen oder in der Cloud bereitzustellen. Wie testet man eigentlich, ob die Installation wirklich den Anforderungen entspricht? Es gibt jede Menge kleiner Stellschrauben, die überprüft werden müssen. Das Infrastrukturgebäude ist fragil und kann schnell zerbrechen. Auf der Basis von serverspec und anderen Helfern entsteht in der Session eine Installation, die Sie davon überzeugt, dass der Test-First-Ansatz auch für Infrastruktur sinnvoll und einfach umsetzbar ist.

Andreas Schmidt, Peter Roßbach
16:45 bis 17:45
Session

Better Concurrency in the JDK 8

english

+

2005 was a watershed year in that marked the big shift away from single to multicore CPUs. And even though we have gotten better a concurrent programming there is still a long way to go. This talk will focus on some of the steps that have been taken in JDK 8 to help developers obtain better performance by offering them better support for more highly concurrent algorithms and data structures. This support spans from low level support with a new annotation @contended right up to new higher level language and library support found in Lambdas. We will look at how you might use these new features to help you achieve better concurrent in your application.

Kirk Pepperdine
Session

Logging und Metriken: Näher dran statt nur dabei

german

+

Log-Dateien schreibt jeder. Meistens liest man darin, wenn der Kunde sich bereits über einen Fehler beschwert hat. Dann beginnt das mühsame Interpretieren der Vergangenheit. Es gibt aber noch mehr Möglichkeiten, um den Zustand seiner Anwendungen zu überwachen – und zwar im Hier und Jetzt, mit Near-Time-Überwachungen. Mittels gezielt eingesetzter Metriken kann man nahe am Geschehen sein. Und mit gewissen fachlichen Metriken weiß man nicht nur, wie gut oder schlecht seine Anwendung generell, sondern auch das Geschäft läuft. Gute Metriken in Kombination mit gutem Logging sind ein Erfolgsfaktor für den Betrieb einer modernen Anwendung. In dieser Session sprechen wir über die Möglichkeiten und Tools, um Daten aus Logs und Metriken automatisiert zu aggregieren und auszuwerten.

Tammo van Lessen
Session

Enterprise-JavaFX

german

+

Mit dem Erscheinen von Java 8 ist nun auch JavaFX fester Bestandteil von Java SE und wird von Oracle als das empfohlene UI-Toolkit genannt. Da Swing ab Java 8 auch nicht mehr weiterentwickelt wird, ist es an der Zeit, sich kritisch mit JavaFX und seinem Gebrauch in produktiven Businessanwendungen auseinanderzusetzen. JavaFX bietet als UI-Toolkit eine Fülle an Features, um moderne und interaktive Oberflächen zu erstellen. Daneben gibt es aber auch noch weitere wichtige Voraussetzungen, die beim Erstellen von Businessanwendungen mit JavaFX berücksichtigt werden müssen. Ein tolles UI ist hier nicht alles. Der Vortrag gibt einen Überblick über verschiedene Best-Practices-Ansätze, um Problemstellungen wie die Kommunikation zwischen Server und Client, Background Tasks, MVC-Ansätze und das Designen von komplexen Dialog Flows zu lösen. Im JEE-Sektor gibt es hier bereits viele gute Lösungsansätze, die in Teilen auch einfach auf eine JavaFX-Anwendung konvertiert werden können. Bereits vorhandene Frameworks und APIs wie DataFX oder OpenDolphin werden hierbei auch angesprochen. Während des Vortrags wird beispielhaft ein JavaFX-Client realisiert, der über verschiedene Kommunikationswege mit Servern und Datenbanken kommuniziert. Hierbei werden unterschiedliche CRUD-Dialoge und Dialog Flows erzeugt und alles in eine moderne und interaktive Anwendung verpackt.

Hendrik Ebbers
Freitag - 7. November 2014
09:00 bis 17:00
Power Workshop

Werden Sie Git-Experte!

german

+

Die Versionsverwaltung Git hat sich mittlerweile etabliert und wird in vielen Projekten eingesetzt. Neben der eigentlichen (Code-)Versionierung bietet Git aber auch viele weiterführende Möglichkeiten, die Projektalltag und Release-Management vereinfachen können. Diese Themen möchten wir uns mit Ihnen in diesem Power Workshop ansehen. Dazu gehören unter anderem: Welche Branch-Strategie passt am besten zu Ihrem Projekt? Wie können sie Pull-Requests zur Qualitätssicherung einsetzen? Wie können Sie mit Rebasing eine "schöne" Historie erzeugen? Wie verwenden Sie Submodules oder Subtrees dazu, andere Projekte einzubinden? Wie setzen Sie Git mit Build-Tools wie Maven und Gradle ein? Darüber hinaus haben Sie natürlich die Möglichkeit, Ihre eigenen Fragen und Themen einzubringen.Voraussetzung für diesen Workshop sind rudimentäre Git-Kenntnisse. Für die Übungen sollten Sie Ihren eigenen Laptop mitbringen.

 

Nils Hartmann, René Preißel