Monday - 12. May 2014
07:30 to 09:00

Konferenz Check-in

09:00 to 09:45
Agile Day Session

Einfach gute Retrospektiven moderieren

german

+

Retrospektiven sind der Motor der agilen Veränderung. Diesen Anspruch lösen viele Teams nicht ein. Stattdessen gibt es Kuschel-Retros ohne Ergebnis, gelangweilte Abfragen der "Was war gut, was war schlecht?" und kilometerlange Ergebnislisten, die keine Änderung herbeiführen. Derartige Retrospektiven helfen nicht, sie frustrieren. Es geht besser!In der Session werden die sechs Phasen der Retrospektive sowie spannende Moderationsbeispiele vorgestellt. Ein praktischer Leitfaden für alle, die mehr Spannung und Ergebnisse wollen.

Judith Andresen
09:00 to 17:00
Workshop

Android - Schritt für Schritt zur ersten App

german

+

Auch nach fast zehn Jahren Smartphones soll es noch Menschen geben, die noch keine Software für mobile Geräte entwickelt haben. Dem kann abgeholfen werden. In diesem Workshop wollen wir in die App-Entwicklung mit Java für Android einsteigen. Dazu werden wir eine einfach App entwerfen, die mit einem Server REST-basiert Daten austauscht und mit dem Nutzer auf einfache Weise interagiert. Wir werden einmal den Roundtrip von den (nicht) funktionalen Anforderungen über Interaktionsdesign bis hin zur lauffähigen App-Server-Kombination wagen.Der Workshop wird im Wesentlichen hands-on sein, garniert mit wenigen kurzen Ausflügen ins Folienland, um wichtige Konzepte und Best Practices zu erklären.Teilnehmer sollten mit Java vertraut sein, einen Laptop, auf dem sie auch Installationsrechte haben, mitbringen und bereits Java und Android Studio von Google (http://developer.android.com/sdk/installing/studio.html) installiert haben.

Jörg Pechau, Stefan Matthias Aust
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-/Konstruktor-Referenzen, Default- und statische Interface-Methoden) 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
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 ein Laptop mit, auf dem Java und ein Chrome-Browser installiert sind.

Oliver Zeigermann
Workshop

Power Workshop Java EE 7

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 und JSF, aber auch nach Wunsch der Teilnehmer auf weitere Teile der Plattform wie EJB oder JAX-RS. Ein besonderer Fokus liegt natürlich auf den neuen Features aus Java EE 7, bspw. Konverter, Entity Graphs oder Faces Flows. Das Beispiel wird interaktiv entwickelt und steht den Teilnehmern als Git-Repository zum aktiven Mitmachen zur Verfügung.

Dirk Weil
Workshop

SOLD OUT! 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 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
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, wiederverwendbare Erweiterungen, Bindings, Paging oder Security werden vorgestellt und demonstriert.

Thilo Frotscher
Workshop

Hadoop 2 Boot Camp Workshop

german

+

Um die Mächtigkeit von Hadoop 2 zu erfassen, muss man unbedingt mal mit einem Cluster gearbeitet haben. Dieser Workshop begleitet Sie bei den ersten Schritten im verteilten Dateisystem und bei der Implementierung eines echten Jobs. Ohne Hadoop-Vorkenntnisse werden Sie nach und nach für die hochverteilte Datenverarbeitung fit gemacht.

Bernd Fondermann
Workshop

JavaFX lieben lernen

german

+

Die Zeit ist reif – Sie sollten jetzt anfangen, JavaFX zu lernen. Es gibt viele interessante Themengebiete, die JavaFX so reizvoll machen. Dazu zählen die businessrelevanten Themen wie Architektur und Testbarkeit, aber auch "fancy" Features, die JavaFX zu einer hochmodernen Technologie für die Implementierung von Oberflächen machen. Über den Workshoptag verteilt, wollen wir in beide Themengebiete gleichermaßen eintauchen. Der Workshop adressiert den UI-affinen Java-Entwickler, aber auch UI-Muffel.Beginnen werden wir mit den JavaFX-Properties. Sie gehören zu den großen Highlights und können dazu verwendet werden, in Kombination mit FXML (deklarative Beschreibung der Oberfläche) und CSS, robuste Software zu entwickeln. Auch die Arbeit mit dem Scene Builder soll vorgestellt werden, ein WYSIWYG-Editor, der genutzt werden kann, um deklarativ Oberflächen zu entwerfen. Anschließend tauchen wir in die "fancy" Features, wie die Implementierung von Animationen, die Verarbeitung von Multi-Touch-Gesten oder auch die WebView-Komponente ab. Last but not least wird eine Möglichkeit vorgestellt, wie mit JavaFX möglichst elegant robuste und wartbare Software entwickelt wird.

Alexander Casall, Michael Thiele
09:45 to 10:30

David und Goliath - wiederentdeckt bei der Skalierung von Agilität in wirklich großen Organisationen

german

+

Scrum und Kanban haben die Arbeit vieler Entwicklungsteams wesentlich effektiver gemacht. Nun steht bei den größeren Entwicklungsorganisationen der Schritt an, Agilität nicht nur auf die gesamte Organisation auszurollen, sondern auch die wesentlichen Hindernisse zu beseitigen, die es in großer Zahl in vielen Prozessen vom Portfoliomanagement über das Release- zum Qualitätsmanagement gibt, die in der zugrunde liegenden Software Architektur lauern oder sich in den „weichen“ Disziplinen wie Kultur, HR-Belangen und Organisation verbergen.

Kurt Jäger
10:30 to 11:00

Kaffeepause

11:00 to 11:45
Agile Day Session

Agil skalieren ohne Blaupause

german

+

Wir helfen seit über zehn Jahren Teams und Unternehmen dabei, agiler zu arbeiten. Da lassen sich Fragen zur Skalierung agiler Ansätze nicht vermeiden: Wie können sich mehrere Teams koordinieren, wenn sie am selben Produkt arbeiten? Wie organisiert man Product Ownership in solchen Umgebungen etc. Es gibt Blaupausen für die agile Skalierung. Diese für das eigene Unternehmen zu kopieren, macht unserer Erfahrung nach das Unternehmen allerdings nicht agiler. Ganz im Gegenteil: das Befolgen der Blaupause kann das bisschen Agilität nachhaltig beschädigen, das sich vielleicht in Pilotprojekten aufgebaut hat.Der Vortrag stellt verschiedene Fallstudien agiler Skalierung vor (z.B. Jimdo, Spotify, Wooga) und stellt fest, dass in den erfolgreichen Skalierungen keiner Blaupause gefolgt wurde und dass der erreichte Zustand je Unternehmen sehr unterschiedlich ist: jeweils optimal an das Business angepasst. Auf Basis der Fallbeispiele stellen wir Prinzipien vor, die bei der agilen Skalierung berücksichtigt werden sollten und geben konkrete Hinweise, wie diese Prinzipien umgesetzt werden können.

Arne Roock, Stefan Roock
11:45 to 12:30
Agile Day Session

A 12 Step Recovery Program for Command and Control Addicts

english

+

All of us have been in situations where command and control leadership was either necessary or taught as a best practice.  Business Agility requires new leadership skills and behaviors that complement the practices and techniques of Agile teams.  Equally, our fast-paced business environments demand we change and continue to deliver value to our customers. Understanding the end goal of becoming a learning organization and how to get there as a servant leader are the basis for this talk.

Tamara Nation
12:30 to 13:30

Mittagessen

13:30 to 15:30
Agile Day Session

Temenos – Raum für Entwicklung

german

+

Agile Vorgehensweisen verändern die Unternehmenskultur. Die Kommunikation wird offener, persönlicher und intensiver. Doch wie gehen wir dabei mit nicht fachlichen Themen um, die bei uns selbst und in der Zusammenarbeit vermehrt auftreten? In dieser interaktiven Session lernen wir eine Methode kennen, geschützte Räume (Temenos) zu schaffen. In diesen werden wir von anderen unterstützt, uns selbst zu reflektieren und weiterzuentwickeln sowie das Wesentliche im Blick zu behalten.

Christine Neidhardt, Olaf Lewitz
15:00 to 15:30

Kaffeepause

16:00 to 17:00
Agile Day Session

Pecha Kuchas - kurz und knackig

german

+

Pecha Kucha erlaubt jedem Sprecher gerade mal 6 Minuten und 40 Sekunden. In dieser Zeit kann er mit exakt 20 Bildern, die genau 20 Sekunden eingeblendet werden, seine Idee - im wahrsten Sinne des Wortes - auf den Punkt bringen. Für die Zuhörer bedeutet dies: kein zeitraubendes "Gelaber", dafür aber knackige und unterhaltsame Information.

Christine Neidhardt, Olaf Lewitz
Tuesday - 13. May 2014
07:00 to 08:30

Konferenz Check-in

08:30 to 09:00
Session

Begrüßung JAX, Business Technology Days & BigDataCon 2014

german

+

Conference Chair Sebastian Meyen eröffnet die JAX, Business Technology Days & BigDataCon 2014 und wirft einen Blick auf die Themen der kommenden Tage. Die anschließende Keynote bietet den Teilnehmern inspierende und spannende Insights und Erkenntnisse.

Sebastian Meyen
09:00 to 09:30
Keynote

Java: Past, Present, and Future

english

+

When it was introduced nearly 18 years ago, Java was a combination of radicalism and conservatism; it made a bold gamble that garbage collection and JIT compilation would mature fast enough to be useful for mainstream programs, while eschewing then-trendy features such as operator overloading. Java succeeded beyond Sun's wildest expectations, and now 10M developers program in Java. But the world hasn't stayed still; the hardware, the developers, and the problems we want to solve today are not the same as they were 18 years ago. So, how has Java evolved to meet these challenges, and how will it continue to evolve in the future? This talk will look at where Java has been, where it is today, and where it may be going in the future.

Brian Goetz
09:45 to 11:00
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 Server-Bibliotheken an Hand von praktischen Beispielen vor.

Matthias Wessendorf
Session

Sieben gute Gründe, sich Scala einmal genauer anzuschauen

german

+

Scala ist schon längst kein Hype mehr und hat laut Rod Johnson sogar das Zeug zum Mainstream. In dieser Session werden wir anhand einiger altbekannter und auch neuer Herausforderungen aus der Java-Welt darstellen, welche Vorteile der Einsatz von Scala bzw. Technologien aus dem Scala-Ökosystem bringen kann.

Heiko Seeberger
Session

Intelligente Prozesse mit Big Data

german

+

Geschäftsprozesse zu visualisieren und zu analysieren, die über eine zentrale Prozess-Engine gesteuert werden oder vollständig in einem System ablaufen, ist heutzutage keine Kunst mehr. Die zur Prozessvisualisierung notwendigen Daten über Prozess-KPIs liefern die Systeme frei Haus. Doch was ist, wenn sich Prozesse über eine heterogene Systemlandschaft erstrecken, Partner/Lieferanten-Anbindungen zu berücksichtigen sind und die einzelnen Transaktionen in unterschiedlichen Systemen ablaufen? Wie kann die Vielfalt an prozessrelevanten Daten in Sensoren, sozialen Netzen oder Logdateien verarbeitet und genutzt werden? Wie extrahiert man die relevanten Informationen und visualisiert sie im richtigen Kontext, am besten in Echtzeit? Und was ist, wenn Sie aufgrund dieser Daten Aussagen über zukünftige kritische Situationen treffen wollen, um proaktiv handeln zu können und um Eskalationen von vornherein zu vermeiden (agieren statt reagieren)? Wenn Sie derartige Fragestellungen interessieren, dann zeigen wir Ihnen in diesem Vortrag, was heute schon möglich ist und wie Big Data dabei helfen kann, bessere Entscheidungen zu treffen.

Christian Loos, Volker Stiehl
Session

Kein Stress mit State - Hands-on-Tipps für skalierbare Anwendungen

german

+

Zustand ist der Feind der Skalierbarkeit. Zustand bedeutet, dass Daten repliziert werden müssen, was schlecht skaliert. Zustand bedeutet, dass Load Balancer Last nicht gleichmäßig verteilen können. Zustand bedeutet, dass Inkonsistenzen in verteilten Anwendungen entstehen können, die erkannt und behoben werden müssen. Kurzum: Zustand sollte möglichst vermieden werden. Aber wie macht man das in der Praxis? Die meisten Webanwendungen benötigen einen Request-übergreifenden Session-Zustand. Im ersten Teil dieser Session werden verschiedene Lösungsansätze dargestellt, wie man trotz Session-Zustand zustandsfreie, problemlos skalierbare Webanwendungen realisieren kann - ganz konkret mit Code. Ganz ohne Zustand kommt man allerdings trotzdem meistens nicht aus. Irgendwo hat man typischerweise Zustand, spätestens in der Datenbank. Will man diese Daten frei skalieren können, muss man die Konsistenzanforderungen abschwächen. Das bedeutet im Klartext, dass es zu zeitweiligen Dateninkonsistenzen kommen kann, die es zu erkennen und beheben gilt. Oft ist das aber gar nicht so einfach, weil man nicht erkennen kann, was denn nun der gewünschte und richtige Zielzustand ist.

Genau um dieses Problem geht es im zweiten Teil dieser Session. Es werden Conflict-free Replicated Data Types, kurz CRDTs vorgestellt, ein neuartiges Konzept zur Datenmodellierung, bei dem man jederzeit auf rein technischer Ebene Dateninkonsistenzen auflösen und den korrekten Zielzustand herleiten kann - natürlich wieder ganz konkret mit Code.

Uwe Friedrichsen
Session

Trends in der Autorisierung von mobilen Java Programmen

german

+

Die steigende Verbreitung mobiler Endgeräte verändert nicht nur den Arbeitsalltag sondern auch die Art und Weise wie Software konsumiert, lizenziert und verwendet wird. Mobile Java Applikationen und Trends wie BYOD verlangen zunehmend mehr Flexibilität und Sicherheit, um Anwendungen für bestimmte Zielgruppen/Personen zu autorisieren. Die Implementierung entsprechender Technologien für den Softwareschutz und Lizenzierung schützen Ihr wertvolles Know-How und sichern langfristig Ihren Umsatz und Wettbewerbsfähigkeit. Wir zeigen Ihnen an Hand eines Praxisbeispiels, welche Möglichkeiten hier zur Verfügung stehen.

Session

Moderne Android Builds mit Gradle

german

+

Das neue Android Build System ist angetreten, um viele Probleme der Vergangenheit zu lösen. Mit Gradle als Basis, einem komplexen Plug-in speziell für Android und einer tiefen Integration in Android Studio kann man schon von einem "Next Generation" Build-System sprechen. Doch was bringt die neue Technologie in der Praxis, und wie kann ich die neuen Features in meinem Entwicklungsprozess nutzen?

Wir zeigen praktische Beispiele vom Projekt-Setup über den Build-Prozess und Konfigurationsmanagement bis hin zur CI-Integration sowie Erfahrungen mit der Migration existierender Projekte.

 

Dominik Helleberg
Session

Mit Vollgas an die Wand. Aus Projektfehlern lernen

german

+

Projekte scheitern meistens nicht an fehlendem Technikkönnen oder -wissen. Eine Vielzahl von Projekten geht schief, weil (a) das Projektziel fehlt oder fehlerhaft formuliert ist, (b) die Projektanforderungen krude formuliert werden, (c) die Kommunikation zwischen den Beteiligten hakt oder (d) die Projektmethode nicht sauber definiert ist.In dem unterhaltsamen Vortrag erzählt die Referentin über unterschiedliche Fehler in Projekten. Fehler zu machen, ist häufig sehr einfach. Das Erkennen fällt meist schwer, denn die Hauptursache ist meist tief in der Unternehmenskultur verankert. Judith Andresen leitet aus den vorgestellten Fällen Fragen ab, mit denen die Zuhörer und Zuhörerinnen ihr Projekt und ihre Projektmethode auf Vollständigkeit prüfen können. Damit das nächste Projekt anders und hoffentlich besser wird.

Judith Andresen
Session

Continuous Learning - Agile Anforderungsanalyse mit Impact Mapping

german

+

Die Aufgaben der IT werden zunehmend durch das Bedürfnis von Unternehmen geprägt, ihren OODA-Loop (observe, orient, decide and act) zu verkürzen. Konzepte wie Lean Startup und Continuous Delivery gewinnen an Bedeutung. Der herkömmliche, auf Vollständigkeit und Korrektheit abzielende Begriff der "Anforderung" wirkt vor diesem Hintergrund zunehmen schwerfällig. Ein Werkzeug, das sich dieses Problems annimmt, ist das von Gojko Adzic entwickelte Impact Mapping. Wie dieses Verfahren funktioniert und worauf es in der Praxis ankommt, möchte ich Ihnen in diesem Vortrag anhand eines konkreten Beispiels zeigen.

Nils Wloka
Session

JavaFX - Zehn Dinge, die ich an dir liebe

german

+

JavaFX ist cool, frisch und praxistauglich. Mit Java 8 noch ein Stück mehr. Schlagwörter wie Properties, Data Binding, FXML, Multi-Touch und Animationen lassen das Entwicklerherz höher schlagen. Die Session greift Highlights der immer beliebter werdenden Technologie auf, gibt interessierten Entwicklern einen Einblick in die Welt von JavaFX und zeigt, wie man ernstzunehmende Software entwickeln kann. Live-Coding inklusive.

Alexander Casall
Session

JavaEE (7) Quantum of Code

german

+

Java-EE-7-Konzepte und -Techniken lassen sich immer noch am besten mit ausführbarem Code erklären. In dieser Session werden wir eine End-to-End-Anwendung mit asynchronem JAX-RS, WebSocket, CDI, JPA, ExecutorService bauen und dabei die Architektur und Features zu diskutieren. Fragen sind sehr willkommen.

Adam Bien
Session

Testen mit, durch und in Scrum

german

+

Scrum ist gelebtes Qualitätsmanagement und zum Qualitätsmanagement gehört das Testen. Wie genau spielt aber das Testen mit Scrum mit? Welche Arten und Stufen von Tests gibt es und wie können diese den Scrum Prozess unterstützen oder sogar behindern? Können klassische Testverfahren behilflich sein die Qualität zu verbessern? Diese Fragen werden in der Session ausführlich beantwortet und anhand praktischer Umsetzungsmöglichkeiten diskutiert und bewertet.

Frank Düsterbeck
Session

Hadoop and Data Warehouse – Friends, Enemies or Profiteers? What about Realtime?

english

+

Big data represents a significant paradigm shift in enterprise technology. Big data radically changes the nature of the data management profession as it introduces new concerns about the volume, velocity and variety of corporate data. New business models based on predictive analytics, such as recommendation systems or fraud detection, are relevant more than ever before. Apache Hadoop seems to become the de facto standard for implementing big data solutions. For that reason, solutions from many different vendors emerged on top of Hadoop. But hold on… Companies have spent a lot of many to implement a data warehouse for the same reason in the last decades. Both, Apache Hadoop and data warehouse were invented to store and analyze big data. This session explains the different architectural and technical concepts of Apache Hadoop and a data warehouse. The following questions will be answered: When to use which alternative? Does a data warehouse even have a future at all? Or how can we combine both alternatives? However, Hadoop and a Data Warehouse cannot solve every big data problem. Complex event processing and real-time analytics have to be solved in another way. So, in-memory computing and streaming platforms are good alternatives or complements to Hadoop for processing and analyzing big data. For that reasons, an almost unimaginable number of solutions for big data emerged on the market. This session shows and compares the most important concepts and solutions for processing and analyzing big data, and discusses how they complement each other.

Kai Wähner
11:00 to 11:45

Kaffeepause

11:45 to 12:45
Session

JavaFX in (Geschäfts-) Anwendungen - Macht das Sinn? Wie macht es Sinn?

german

+

JavaFX mag als Technologie noch so gelungen sein - in vielen Anwendungsbereichen hat es keiner Durchsetzungsfähigkeit gegenüber der Dominanz HTML5 basierter Ansätze. Es gilt nun also, diejenigen Anwendungsbereiche zu identifizieren, in denen eine Nutzung nicht nur technologisch interessant ist sondern deutliche Vorteile für die Entwicklung und für die spätere Nutzung beim Kunden bringt. - Eins vorweg: Sinn macht ein Einsatz nur dann, wenn Sie JavaFX in eine Architektur einbinden, in der Sie auch klar HTML5 basierte Technologien positionieren - mit dem Ansatz "JavaFX everywhere!" werden Sie in der Regel scheitern! Die Argumentation zum Einsatz von JavaFX und die Möglichkeiten zur Gestaltung dieser Architektur werden im Vortrag konkret aufgezeigt.Der Vortrag ist praxisorientiert gehalten und zeigt in einer Reihe von (Live-) Beispielen, wie JavaFX im Bereich von Geschäftsanwendungen bereits heute eingesetzt wird.

Björn Müller
Session

Eigene Applikationen mit Hadoop 2 skalieren

german

+

Mit der Einführung von YARN, dem universellen Application-Framework für Hadoop, öffnet sich für jeden Entwickler die Welt der hochverteilten Applikationen. Dieser Vortrag zeigt, wie man die eigene Anwendung unter Benutzung des Apache-Twill-Frameworks auf 1, 10, 100 oder 1000 Rechner skaliert. Außerdem werden die entscheidenden Features diskutiert, die YARN von anderen Lösungen unterscheidet und die dafür sorgen, dass das Skalierungsversprechen nicht schon früh in sich zusammenfällt.

Bernd Fondermann
Session

The PaaS to a better IT Architecture

german

+

PaaS hat sich als Technologiebrücke zwischen Operations und Development durchgesetzt. Aber wie geht es weiter. Heutige PaaS Stacks enden bei der Bereitstellung eines einzelnen Services wie etwa eines Application Servers oder einer Datenbank, aber kann das schon alles sein? Entwickler brauchen mehr. Continuous Integration, Test Driven Development, Incremental Deployments, sind nur einige Themen die PaaS Produkte lösen müssen.Darüber hinaus müssen intelligente PaaS Lösungen auch eine Brücke zwischen verschiedenen Technologien bilden. - Denn Themen wie Big Data, BPM und Mobile sind im Kontext von modernen Softwarearchitekturen nicht mehr wegzudenken. - Die Idee dafür heisst xPaaS/iPaaS. Was verbirgt sich hinter diesen ominösen Kürzeln? Wie steigert die xPaaS von heute die Effizienz der Entwickler wirklich? Können wir Anwendungen heute wirklich schneller, sicherer und stabiler entwickeln als noch vor Jahren? Bringt die schnellere Entwicklung von Anwendungen weitere Risikoaspekte mit sich? Wie stellen wir den sicheren Betrieb sicher? Wie kann sicher gestellt werden, das weder Entwicklungsframeworks noch Runtime Environments in einer unzähligen Anzahl von Installationen enden, die für Operations schlichtweg nicht mehr beherrschbar sind? Und wie wird sicher gestellt, das weder Betrieb auf die Stabilität, noch Entwickler auf Ihre Freiräume, noch die Managementebene auf Innovationen verzichten müssen?In diesem Talk zeigen wir Ihnen wie eine moderne xPaaS Lösung in der Praxis funktioniert, wie sich diese in Ihre Entwicklungmethodologie eingliedern lässt und damit den Pfad zu einer agileren, effizienteren IT Architektur bilden kann.

Jürgen Hoffmann, Sebastian Faulhaber
Session

Agile Enterprise War Stories

german

+

Redet man über Agilität in großen Unternehmen, geht es häufig darum wie man die Prozesse und Methoden skaliert, damit Teams effektiv an Produkten arbeiten können. Das ist aber nur ein Aspekt ... und wahrscheinlich der Leichtere. Im Gegensatz zu kleinen Unternehmen zeichnen sich große Organisationen nämlich durch starke Strukturen und eine gesetzte Kultur aus, die es gilt zu berücksichtigen, will man nachhaltig ein agiles Mindset etablieren.Der Vortrag ist eine Sammlung von War Stories, also bildhaften Geschichten, die den Weg der E-POST seit der Einführung agiler Methoden Ende 2012 beschreiben. Wer also schon immer einmal wissen wollte, wie Agilität und eine IT-Revision zusammenpassen, ist hier bestens aufgehoben.

André Neubauer
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

SAP HANA für Java Entwickler

german

+

SAP HANA ist eine von SAP entwickelte High Performance In Memory Datenbanktechnologie zur Aggregation, Analyse und Auswertungen großer Datenmengen.  Sie ermöglicht es erstmals Big Data und ERP System über eine gemeinsame Plattform zu vereinigen. Speziell für Business-Intelligence- und Business-Analytics-Anwendungen entwickelt ermöglicht SAP HANA die Echtzeitauswertung von ERP Daten. Aber auch jenseits der klassischen ERP Systeme gibt es viele Einsatzszenarien wenn es um die Auswertung sehr großer Datenmengen in Echtzeit geht. Mit einem innovativen Server Architektur, eine JavaScript basierten Middle-Tier ist HANA mehr als nur eine Datenbank. Die Session zeigt die grundlegenden Architekturmerkmale, sowie den Einsatz und die Integrationsmöglichkeiten in ein JEE basierte Java Architektur anhand eines Beispiels.

Oliver Eichhorn
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
Session

Praktischer GIT-Einsatz im Enterprise-Umfeld

german

+

GIT ist in den letzten Jahren zu dem neuen, gehypten Source Code Management Tool geworden. Dies trifft speziell im Open Source Bereich zu, aber wie sieht die Realität innerhalb von Unternehmen aus? Wie arbeitet GIT und Subversion Hand in Hand? Welche Tools und Best Practices gibt es? Wie führe ich zentrale GIT-Repositories im Unternehmen ein? Und, wie geht mein heterogenes Entwicklerteam mit einem solchen neuen Tool um? Wir stellen unsere Erfahrungen und verschiedene Lösungswege aus unterschiedlichen Perspektiven vor.

Matthias Hüller, Simon Frettlöh
Session

Lean Business Development

german

+

Business Development lebt von der Geschwindigkeit, mit der neue Ideen in den Markt gebracht und monetarisiert werden könnnen. Immer seltener treffen die Prognosen zu oder werden die Erwartungen übertroffen. Vielmehr werden Produkte mit hohem Aufwand und geringer Treffsicherheit entwickelt. Die Unberechenbarkeit der Kunden und die Komplexität des Marktes erschweren es dem Business Developer, erfolgreiche Geschäftsmodelle aufzubauen. Wie man diese Komplexität bewältigen kann und wie man sich regelmäßig an die Gegebenheiten des Markts anpassen kann, zeigt Lean Business Development. Agile Ansätze können im Business Development dazu führen, dass neue Produkte schnell und zielsicher in die Märkte gebracht werden können: Adaption statt Frustration lautet das Credo.Der Vortrag illustriert, wie sich Business Development wandeln muss, um erfolgreich ein neues Geschäft aufzubauen, und welche Rolle eine oftmals schwergewichtige IT dabei spielt.

Dietmar Matzke
Session

Java EE Voodoo Architecture

german

+

Die Bordmittel von Java EE ermöglicht 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
Session

Scala im wahren Leben

german

+

Mittlerweile gibt es zahlreiche Unternehmen, die mit Scala ernsthafte Projekte realisiert haben oder gar komplett auf Scala oder Technologien aus dem Scala-Universum wie Akka oder Play setzen. In dieser Session kommen daher Scala-Anwender zu Wort, die über ihre Motive berichten, Scala zu verwenden und die Erfahrungen, die sie damit gemacht haben. Spannende Einblicke in die Scala-Praxis realer Projekte sind vorprogrammiert.

Heiko Seeberger, Lennart Koopmann
Session

Jubula im Softwareentwicklungsprozess

german

+

Jubula ist ein OpenSource Automatisierungstool für SWT-, Swing- und Web-Oberflächen und Teil des Eclipse Release Cycles. Neben der einfach gestalteten Möglichkeit die bekannten Betriebssystem- und HTML-Controls anzusteuern bietet Jubula mittels des Eclipse-Plugin-Mechanismus umfangreiche Funktionalitäten zur Automatisierung von Custom Controls.Der Vortrag zeigt anhand von Praxisbeispielen, wie Jubula an die eigenen Bedürfnisse und Anforderungen angepasst werden kann, wie sich das Tool in bestehende CIB-Systeme integrieren lässt und somit die Qualität des Softwareentwicklungsprozesses verbessert.

Björn Seebeck
12:45 to 14:15

Mittagessen

14:15 to 14:45
Keynote

Continuously building, releasing and deploying software: The Revenge of the Machines!

english

+

We used to release one product, once a year, built by one team. Today we have teams of hundreds of developers creating a multitude of software packages that are released multiple times a day.How did that happen?! In this talk, we’ll give you the answer: As the good old advice of Computer Science goes, “If it hurts, do it more often!”. Suddenly, we realized that what we do during the “Release Month Code Freeze” is actually a lot of repeatable, automatable steps. So, we called in the machines.Now we have Continuous Integration servers controlling an exponential amount of robot developers (agents) that are building and testing our code, all day long. Continuous Deployment tools, dictating their order to robot sysadmin, deploying our software on a rapidly increasing amount of varied platforms, as frequent as we please.The Machines got their revenge, and “we, for ones, welcome our new robotic overlords”!

Fred Simon
15:00 to 16:00
Session

Feige sein!

german

+

Auch wenn "Testen feige ist" wissen wir, dass möglichst automatisierte Tests zur Sicherstellung der Korrektheit von Anwendungen unverzichtbar sind. Doch wie testet man im EE-Umfeld? JUnit? Embedded Container? Arquillian? Selenium? Hrgl mph? Dieser Talk zeigt, wie EE-Anwendungen effizient getestet werden können.

Dirk Weil
Session

NoSQL in der Cloud – Why?

german

+

Wirft man einen kritischen Blick auf die Buzzwords Cloudcomputing und NoSQL stellt sich automatisch die Frage was hat das miteinander zu tun und welche Vorteile bringt es tatsächlich für das Tagesgeschäft. Im Rahmen dieser Veranstaltung werden zunächst Cloudcomputing und NoSQL separat betrachtet und dann auf den Vorteil eines kombinatorischen Ansatzes einzugehen. Abschließend werden verschiedene Einsatzszenarien, wie z.B. hybride Persistenzlösungen, aus Architektursicht vorgestellt.

Andreas Hartmann
Session

Rede ordentlich mit mir! Für eine Verbesserung der Kommunikation zwischen den Systemen

german

+

Unsere System sollen alle “hochperformant” sein. Doch oft gehen Optimierungen dann wieder verloren, wenn Systeme miteinander über das Netz miteinander kommunizieren.Dieser Vortrag tritt eine Reise an von HTTP bis zu JSON-RPC und Websocket. Er beleuchtet die Interprozesskommunikation, versucht die Guten und Bösen zu benennen und mögliche Lösungen aufzuzeigen, wie man sparsam RPC betreiben kann.

Bernd Fondermann
Session

Lhotse - Manager and Nerds

german

+

Wir haben bei otto.de einfach mal die gesamte E-Commerce-Plattform ausgetauscht. 2 Jahre Projekt, 3 Monate schneller als geplant fertig, 7 agile Teams, 17 vertikale Systeme. In Budget, in Quality, before Time... Darüber erzähle ich ein bißchen. Dann über die Bewältigung meiner Identitätskrise als Manager in einer agilen Organisation und über Nerds und nerdiges. Dahinter steht für mich immer mehr die Frage, warum wir das eigentlich alles machen. Hier einige Stichworte:

  • otto.de mit mehr als 100.000 Benutzern pro Stunde
  • von alle 7 Tage Deployen zum Continuous Deployment
  • viele viele virtuelle Maschninen
  • warum Nerds in Agenturen vereinsamen können
  • über Pair-Programming
  • über Lernen
  • warum ich Behaviour Driven Development toll finde
  • Kommunikation in babylonischen Strukturen
  • Klassiche Stab-Linien Organisationen und Beziehungsgeflechte

 

Johannes Mainusch
Session

Akka, Actors und HTTP/REST mit spray.io

german

+

[Akka](http://akka.io) ist ein sehr leistungsfähiges Toolkit für Actor-basierte Programmierung in Java und Scala. Es vereinfacht die Entwicklung von hochgradig parallelen, verteilten und fehlertoleranten Systemen und bildet, gemeinsam mit dem Scala Compiler selbst, einen Kernbestandteil des Typesafe Stacks. Dieser Talk gibt einen Kurzüberblick über Akka und zeigt, wie sich mit Akka und [spray](http://spray.io) ganz einfach eine High-Performance REST API bauen lässt.

Mathias Doenitz
Session

Building a Massively Scalable Cloud Service from the Grounds Up

english

+

In this talk, we’ll go into excruciating technical detail about building a greenfield, massively scalable cloud service. As many of us are assembling open source and SaaS components to power our next generation applications, it seems as easy as choosing the leaders in each space and just gluing them together using APIs. This sentiment couldn’t possibly be more wrong. Along the path to constructing a scalable cloud service, there are many options and critical decisions to take.This talk covers our missteps and our revised successful choices of building Bintray. We will share our challenges and how it affected our approach towards issues like: segmenting the system; supporting horizontal scaling; physical vs virtual hosts; handling cross data center deployments; managing redundancy; and supporting a cloud-based development environment. Many of these approaches you can replicate in your own construction of your next cloud solution.

Baruch Sadogursky
Session

Wie fälsche ich Metriken? Eine Anleitung für den Mitarbeiter, oder wie verlässlich sind Metriken?

german

+

Traue keiner Metrik, die du nicht selbst gefälscht hast. Metriken erleben aktuell in vielen Bereichen eine Renaissance. Sie werden aggregiert, korreliert und visualisiert. Anschließend werden basierend auf den Metriken Aussagen zur Qualität formuliert, Entscheidungen getroffen und Maßnahmen abgeleitet.Diese Session zeigt auf, wie Metriken (absichtlich) verfälscht werden können und wieso dies gemacht wird. Metriken wirken auch immer als Anreizsystem. Das bedeutet, dass ich mir auch Gedanken über die Wirkung der Metriken machen muss. Im Speziellen über den Hawthorne-Effekt und das Candle-Problem.

Jörg Bächtiger
Session

Implementierungen für Business-JavaFX und Swing

german

+

Hier zerlegen wir eine kleine Geschäftsanwendung und zeigen Quelltexte in JavaFX, die fast identisch auch für Swing verwendet werden können - eine Variante auch für's GWT. Wir gehen vom groben Aufbau bis ins Detail, von der Komponentenerzeugung und -konfiguration über Layout und Metadesign zu Datenbindung oder Datenbewegung und Serviceaufrufen im Hintergrund. Nützlich für diesen Talk sind gute Kenntnisse zu Java-Client-Mustern. 

Karsten Lentzsch
Session

Mobile meets Enterprise

german

+

Mobile Clients werden zunehmend für Unternehmen interessant, die sich bisher nur auf Enterprise Computing fokussiert haben. Insbesondere, wenn mobile Clients einen Mehrwert gegenüber klassischen Enterprise-Anwendungen bieten, rentiert sich eine Investition in mobile Technologien. Mehrwert kann vor allem dadurch erzeugt werden, dass Daten zwischen Client und Server ausgetauscht werden. Die Session zeigt am Beispiel der Kommunikation eines Android-Clients mit einem Java-EE-Server, wie eine solche Kommunikation realisiert werden kann, und stellt dabei Best Practices und Fallstricke sowie deren Lösung vor.

Arne Limburg
Session

Kürzere Releasezyklen und höhere Qualität für Deine Android App? Ganz einfach!

german

+

Continous Delivery passt nicht zum mobile App Development? Falsch! Durch Dependency Management, Build-Automatisierung, automatisiertes Testen und Crowd Tests sparen unsere Kunden bereits Heute Zeit und Geld.In 60 Minuten werde ich Ihnen zeigen wie Sie - egal ob kleines Startup, Agentur oder Konzern - mit Gradle, HockeyApp und TestObject ihren Release Prozess vereinfachen und beschleunigen können.

Andreas Lüdeke
Session

How to Build a Hadoop Data Application

english

+

With a such a large number of components in the Hadoop ecosystem, writing Hadoop applications can be a challenge for users who are new to the platform. The Kite SDK is an open source project created by Cloudera with the goal of simplifying Hadoop application development. It codifies best-practice for writing Hadoop applications by providing documentation, examples, tools, and APIs for Java developers. We will discuss the architecture of a common data pipeline from data ingest from an application to report generation. Hadoop concepts and components (including HDFS, Avro, Flume, Crunch, HCatalog, Hive, Impala, Oozie) will be introduced along the way, and they will be explained in the context of solving a concrete problem for the application. The goal is to build a simple end-to-end Hadoop data application that you can take away and adapt to your own use cases.

Tom White
Session

Application Server sind tot!

german

+

Application Server und Enterprise-Java werden oft gleichgesetzt. Aber das Konzept des Application Servers ist mehr als zehn Jahre alt - Zeit für eine kritische Bewertung. Dieser Vortrag zeigt zunächst die fundamentalen Annahmen, die zur Entwicklung von Application Servern geführt haben. Dann werden aktuelle Projektszenarien und Verwendungen von Application Servern dagegen abgeglichen. Schließlich werden die Auswirkungen aktueller Trends wie Micro Services und Embdedded Container auf Application Server aufgezeigt.

Eberhard Wolff
16:00 to 16:45

Kaffeepause

16:45 to 17:45
Session

Tester testen. Entwickler auch.

german

+

Im Zeitalter interdisziplinärer Teams ist Testen längst keine Ehrensache mehr. In dieser Hands-on-Session werfen wir einen gemeinsamen Blick auf Methoden, Praktiken und Tools des agilen Testens für den Entwickler von heute. Im Fokus stehen dabei vor allem die testgetriebene Entwicklung von Modultests mit JUnit und Mockito sowie Integrationstests mit Hilfe von Arquillian. Unter dem Gesichtspunkt Testautomatisierung und Continuous Integration werden sinnvolle Anwendungsgebiete und Kombinationen der vorgestellten Techniken beleuchtet.

Andreas Günzel
Session

Einführung in Graph Datenbanken und Neo4j 2.0

german

+

Wenn man unsere Welt mit offenen Augen betrachtet, sieht man schnell, dass in vielen Bereichen des öffentlichen und privaten Lebens Verbindungen zwischen Personen, Dingen, Orten und Ereignissen eine herausragende Rolle spielen. Leider war es bisher schwierig dieses reichhaltige Netz in unsere Anwendungen und Systeme zu überführen da die meisten Datenbanken mit eine Vielzahl von Beziehungen zwischen stark normalisierten Objekten so ihre Probleme haben.Graphendatenbanken nehmen sich dieser Herausforderung an und behandeln Beziehungen als integralen Bestandteil ihres Datenmodells um eine flexible Abbildung wenig strukturierter und stark vernetzter Daten einfach möglich zu machen und auch bei komplexen Abfragen mit vielen "JOINs" nicht in Performance-Probleme zu laufen.Neo4j ist so eine (die) open-source Graphendatenbank, die schon seit 10 Jahren aktiv entwickelt wird. Im Vortrag werde ich auf diverse Aspekte von Graphen, Graphendatenbanken, der Datenmodellierung und unserer Abfragesprache Cypher eingehen, die sowohl für Graphen als auch für Menschen besonders geeignet ist.Darüber hinaus werden wir uns die neuen spannenden Features von Neo4j 2.0 ansehen und mit einem Ausblick auf 2.1 machen.

Stefan Armbruster
Session

Warum empfehle ich meinen Kunden das Spring Framework?

german

+

In den letzten Jahren und Monaten wurde vermehrt und streckenweise in emotionaler Weise die Diskussion JEE 6 vs. Spring geführt. Dabei konnte man fast den Eindruck gewinnen, dass das Spring Framework und sein Ökosystem in naher Zukunft irrelevant werden. Ein häufig anzutreffender Satz ist dabei "Spring is the new legacy". Diese Meinung teile ich, bedingt durch zahlreiche Kundengespräche und -erfahrungen rund um Software-Architekturen und betriebliche Aspekte nicht. Im Rahmen des Vortrags werde ich auf architektureller Entscheider Ebene diskutieren warum ich meinen Kunden nach wie vor zu der Kombination "Java EE mit Spring" rate. Dabei werden vor allem die Themen Operations, Road-Maps und Code eine tragende Rolle spielen.

Michael Plöd
Session

Das Avatar-Framework: JavaScript-Binding für Java-EE-Komponenten

german

+

Die Zeit der schwergewichtigen Java-EE-Anwendungen mit viel Geschäftslogik auf dem Server geht dem Ende zu. Schon seit einiger Zeit sind leichtgewichtige Architekturen gefragt, in denen der Server lediglich die Ressourcen per (REST) Services zur Verfügung stellt, und ein großer Teil der Logik in HTML5-Clients per JavaScript implementiert ist. Avatar macht mit seiner Thin-Server-Architektur (TSA) Java-EE-Ressourcen direkt per JavaScript zugreifbar, egal ob auf dem Server (Service Components) oder dem Client (View Components). Zudem 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. Und wer kein Avatar im Client verwenden will, der nimmt einfach das Framework seiner Wahl - oder kein Avatar auf dem Server und nur auf dem Client? Wäre schade, aber auch das ist möglich.

Heiko Spindler, Niko Köbler
Session

Datenbankzugriff mit Slick

german

+

Dieser Talk gibt einen Überblick über den Aufbau von Slick 2.0 und zeigt, wie man es anwendet. Slick ist Typesafes Lösung für den Zugriff auf relationale Datenbanken mit Scala. Auf Basis eines FRM-Ansatzes (Functional Relational Mapping) ermöglicht Slick Datenbankabfragen mit einer ähnlichen Syntax und Semantik wie bei der Verwendung von Scala Collections. Dabei behält der Benutzer die volle Kontrolle darüber, wann ein Datenbankzugriff stattfindet und welche Daten übertragen werden.

Stefan Zeiger
Session

Show me what you talk about! - Business und IT Transformation

german

+

Unternehmen müssen heute schnell auf dynamische Marktsituationen und technologischen Fortschritt reagieren. Die richtigen Werkzeuge helfen dabei fundierte Entscheidungen zu treffen und diese auf allen Ebenen der Organisation zu kommunizieren. Zielgerichtete Modellierung unterstützt die Strategie in Lösungen umzusetzen. Dabei dient die Enterprise Architektur als Werkzeugkasten.

Jan Barocka
Session

Android-UI-Design und Custom Views

german

+

In dieser Session werden Techniken für gutes UI-Design vorgestellt und wie man sie umsetzt. Es wird z.B. die Implementierung eines Sliding Menus und Activity Animations mit Android 4.4. vorgestellt. Auch wird gezeigt, wie man eigene Views entwickeln kann.

Lars Vogel
Session

Extreme GUI Makeover

german

+

JavaFX ist hervorragend dazu geeignet, grafisch reiche Anwendungen zu erstellen. Mit den Standard-Controls und Styles erhält man ein ansprechendes Design, das sich mit CSS fast beliebig stylen lässt. Um Anwendungen zu bauen, die richtig rocken, muss man aber etwas tiefer in die Trickkiste greifen. Was ist zum Beispiel, wenn man eine Designvorlage 1:1 umsetzen soll und es die entsprechenden Controls gar nicht gibt? Wir zeigen alles von der reinen Lehre bis zu den schmutzigen kleinen Tricks. Und ihr lernt, welche Tools das Leben leichter machen, und wie man sie effektiv einsetzt. 

Anton Epple, Gerrit Grunwald, Hendrik Ebbers
Session

Moving the Web to the Client

english

+

Traditional web development frameworks are changing. With an increase in popular frameworks for client-side web development such as Backbone, Ember or AngularJS, the role of the backend is limited to data processing and serving information. And that's exactly where it should be. In this session we're going to combine the power of concise JVM languages such as Kotlin, with front-end frameworks to create powerful and rich web applications. We'll see how we can drastically reduce the amount of code required and create a maintainable system.

Hadi Hariri
Session

Fünfzehn Jahre APM - Wieso haben heutige Projekte immer noch Performanceprobleme?

german

+

Rückblick: Die ersten Application-Performance-Management-(APM-)-Lösungen kamen 1998 auf den Markt. In den vergangenen fünfzehn Jahren haben sich die APM-Lösungen stetig verbessert und an die Bedürfnisse der Anwendungen angepasst. Offensichtlich jedoch nicht genug. Denn heutige Applikationen haben weiterhin häufig mit Performanceproblemen zu kämpfen. In diesem Vortrag möchte ich aus meiner Erfahrung als Performance Consultant berichten und die Frage beleuchten, wieso der Fortschritt in den APM-Werkzeugen offensichtlich nicht flächendeckend zu schnelleren Anwendungen geführt hat. Oder liegt es am Ende überhaupt nicht an den APM-Werkzeugen?

Stefan Siegl
Session

Agile Methoden als Erfolgsfaktor für BI- und Big-Data-Projekte

german

+

BI- und Big-Data-Anwendungen haben ihre eigenen Herausforderungen in Entwicklung und Betrieb: Sie integrieren Daten aus diversen Vorsystemen mit entsprechend vielen Schnittstellen. Die beste Implementierung nutzt nichts, wenn die Datenqualität miserabel ist. Die Performance hängt massiv vom Datenvolumen ab, das erst in der Liveumgebung verfügbar ist. Agile Konzepte wie DevOps, TDD und Scrum liefern geeignete Ansätze, um diese Herausforderungen zu meistern. Ich möchte daher Best Practices vorstellen, wie sich agile Methoden  in "Data-driven Applications" erfolgreich einsetzen lassen.

Stefan Igel
18:00 to 19:00
Session

High Performance Reactive Applications with Vert.x

english

+

Vert.x is a lightweight, high performance, reactive application platform for the JVM that's designed for modern mobile, web, and enterprise applications. In this talk you will learn about the design principles and motivation behind Vert.x and why we are heading for a reactive future. You will also hear an overview including demonstrations of some of the key features of Vert.x including the distributed event bus which extends right into the browser, high availability, and the module system. Demonstrations will involve examples in Java, JavaScript, Scala, Groovy and Python. You'll also learn about how improved build tool and IDE integration simplify the process of developing applications with Vert.x - including short demonstrations of module auto-redeploy from the IDE and executable "fat jars".

Tim Fox
Session

Scala.js, write in Scala for the browser

english

+

With Scala.js, Scala has joined the big family of languages compiling to JavaScript. More than a compiler though, Scala.js is a dialect of Scala specifically designed for interoperating almost transparently with JavaScript code, without sacrificing the powerful language features of Scala.This talk will give an overview of Scala.js and its eco-system, with a mixture of live coding and demos showing how applications can be prototyped in the browser, developed in IDEs, unit tested, and optimized for production.

Sébastien Doeraene
Session

CDI und JavaFX, ein entkoppeltes Paar mit Swing

german

+

CDI und JavaFX sind zwei brandaktuelle und bedeutende Technologien. Wie können sie zu einem effizienten Team kombiniert werden? Schwerpunkt wird hierbei auf die Tätigkeit des Entwicklers gelegt. Welche Architekturen, welche Werkzeuge beschleunigen die Entwicklung. Wie setze ich diese Kombination in (Alt-)Swing-Projekten ein? Es wird einen kurzen Ausblick auf die Integration von Swing in JavaFX geben, die seit der JavaFX 8.0 Developer Preview möglich ist.

 

Sven Ruppert
Session

Apache Lucene 4 – the base of cloud-based search servers

english

+

Apache Lucene's latest major release, version 4, introduced lots of flexibility into indexing, using a pluggable codec API, which gives applications full control over the on-disk data. Several codecs have already been created, including the default "standard" codec, which enables sizable RAM reduction by using new encoding techniques not available in earlier Lucene versions. This covers extensive use of finite state transducers on the indexing side and finite state automatons to speed up searching with wildcards, regular expressions, or fuzzy queries. Lucene also got various new modules with state of the art tools that are not offered by a pure full text search engine, like a replication module that can help to distribute search on multiple servers. In addition, almost every minor version since the original release of Lucene 4.0 brought an improved implementation of a query suggester and new faceting possibilities. In this talk, after a short introduction to full-text searching, Uwe presents an overview of all of these exciting changes, as well as several concrete, real-world examples using Apache Solr and Elasticsearch - servers on top of Lucene - how applications can tap into these new features.

Uwe Schindler
Session

Android-Entwicklung: Vom absoluten Greenhorn zum sattelfesten Einsteiger in 60 Minuten

german

+

Was macht mehr Spaß, als mit Java zu entwickeln? Natürlich mit Java für Android zu entwickeln! Sie haben noch gar nicht ausprobiert? Keine Zeit? Keine Gelegenheit? Dabei ist der Einstieg in die Entwicklung leichter als man denkt. In knapp 60 Minuten gehen wir gemeinsam den Weg zur ersten App und sehen uns die Besonderheiten an, um vom absoluten Android-Greenhorn zum sattelfesten Einsteiger zu werden: Sattelt die Androiden!

Stephan Elter
Session

Ninja Git: Save your master (with invisibility, armour and handling conflicts)

english

+

Dear Ninja Git Apprentice, your training will be short but it will be dense and fierce. I will teach you how to lock down your master's fortress from tampering and infiltration, how to become invisible and hide data in a repository, how to resist any attacks and recover your committed and uncommitted files, how to be fast as a fox to cover your tracks and resolve conflicts. Save the master!

Nicola Paolucci
Session

Hybride Softwarearchitekturen

german

+

Wer nur Monokultur propagiert, erschwert Architekturentscheidungen und erreicht nicht immer die gesteckten Ziele. Monokultur beeinflusst Wartbarkeit und Integrierbarkeit unterschiedlich. Die technische Umsetzung profitiert von der Kombination orthogonaler Konzepte. Dieser Vortrag zeigt, wie Ansätze à la Reactive Extensions, aktorbasierte Systeme, rein funktionale Programmteile und ressourcenorientiertes API-Design helfen können, die Softwarearchitektur eines Systems zu verbessern und dabei die Fachlichkeit im Blick zu behalten.Unter dem Schlagwort hybride Softwarearchitekturen fasse ich die explizite Verbindung dieser orthogonalen Konzepte zusammen.

Phillip Ghadir
Session

Software Architekturen für die nächste Generation Business Systeme

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

Hypermedia mit JAX-RS 2.0

german

+

Mit Java EE 7 wurde JAX-RS um viele neue und interessante Features erweitert. Nur die Unterstützung für Hypermedia ist leider noch immer sehr rudimentär. Somit lässt sich eines der REST-Prinzipien scheinbar nur schwierig umsetzen. Diese Session zeigt, wie man dennoch mit JAX-RS 2.0 zu Hypermedia-getriebenen REST-Anwendungen kommen kann, ohne spezielle Zusatz-Frameworks oder proprietäre Features einzusetzen. Sie sehen viel Code und wenige Folien.

Thilo Frotscher
Session

Testumgebungen automatisiert und reproduzierbar erstellen

german

+

Automatisierte Tests sind ein wichtiges Instrument, um die Qualität von Software zu sichern. Dieser Vortrag zeigt, wie mit Hilfe von Virtualisierung und den verbreiteten Devops-Tools Vagrant und Puppet Testumgebungen automatisiert erstellt werden können. Entwickler können sich so lokal, in einem VMWare-Cluster oder bei AWS eigene, isolierte Testumgebungen erstellen und Integrationstests genauso einfach wie Unit-Tests unabhängig voneinander ausführen. Indem als Basis für die Testumgebung die gleichen Puppet-Skripte wie für die Live-Umgebung verwendet werden, wird eine hohe Übereinstimmung zwischen der Test- und der Produktivumgebung erreicht.

Jörg Rathlev
19:00 to 20:00

Expo Reception

20:00 to 20:30
Keynote

Scala - the Simple Parts

german

+

Martin Odersky ist Urheber der Programmiersprache Scala, die 2014 auf eine 10jährige Geschichte zurückblicken kann. In dieser Zeit hat sich Scala zu einer der wichtigsten Sprachen auf der JVM entwickelt, in der funktionale wie objekt-orientierte Aspekte mit einem Programmiermodell für skalierbare, reaktive Anwendungen zusammenfließen. In seiner Keynote zieht Odersky ein Fazit aus 10 Jahren Scala-Entwicklung und zeigt auf, wie einfach der Einstieg in Scala sein kann.

Martin Odersky
20:45 to 21:45
Session

Night Session: Neue Java-Kuriositäten

german

+

Eine Stunde mit Neuem und Altbekanntem, Nützlichem und Überraschendem aus der Java-Trickkiste für Neulinge und Alte Hasen. Eine Session mit Unterhaltungswert.

Arno Haase
Session

Night Session: Das ist ja sooo 200x!

german

+

Erinnert sich noch jemand an Java-Webentwicklung/Enterprise-Java-Entwicklung streng nach den Vorgaben der J2EE BluePrints und mit Struts als Web Application Framework? Ach! Nie gemacht? Glück gehabt. Diese Session wagt einen Blick zurück in die Enterprise-Java-Steinzeit und zeigt, wie viel Aufwand serverseitige Java-Entwicklung zu Zeiten von J2EE 1.3 und 1.4 wirklich bedeutete und was teilweise heute noch, wenn auch unter der Haube, bei der Verwendung von Java EE, EJB und Friends sowie klassischen Webframeworks passiert.

Jens Schumann
Session

Scala Q&A mit Martin Odersky und Heiko Seeberger

german

+

Zum Abschluss des Scala Days haben die Teilnehmer die Gelegenheit zur Diskussion mit Martin Odersky und Heiko Seeberger.Kommen Sie vorbei und diskutieren Sie offene Punkte und Fragen in lockerer Atmosphäre.

Heiko Seeberger, Martin Odersky
Wednesday - 14. May 2014
07:00 to 08:30

Konferenz Check-in

08:30 to 09:45
Session

Internet of Things - ein Überblick

german

+

Sicherlich haben Sie vom Buzzword "IoT" schon gehört, vielleicht erinnern Sie sich an die internetfähige Kaffeemaschine oder den Kühlschrank, der automatisch nachbestellt. Zwar sind viele Haushaltsgeräte, Wohnungen oder Autos immer noch nicht so "smart" wie es vor Jahren schon prognostiziert wurde. Dennoch tut sich dank günstiger Prototyping Boards wie Arduino, Raspberry Pi oder BeagleBone in diesem Umfeld gerade jede Menge. Zudem sind diese Boards immer besser mit dem Internet verbunden, und auch auf Crowdfunding-Plattformen wie Kickstarter tut sich jede Menge im Bereich Arduino und Internet. Diese Session gibt Ihnen einen Überblick zum Thema IoT, Entwickler-Boards, Technologien (von QR-Codes, NFC bis BLE) und den besonders spannenden Ideen. Wer weiß, vielleicht ist die Zeit endlich reif für "Smartness" im Alltag. 

Sven Haiges
Session

Continuous Delivery for Architects

english

+

Continuous Delivery is a process for automating the production readiness of your application every time a change occurs – to code, infrastructure, or configuration. It turns out that some architectures and practices yield code that works better in this environment. This session takes a deep dive into evolutionary architecture and emergent design, with an emphasis on how architectural decisions affect the ease in changing and evolving your code. In the Continuous Delivery world, rather than hone skills at predicting the future via Big Design Up Front, the emphasis lies with techniques for understand and changing code with less cost during the process. I discuss the role of metrics to understand code, how Domain Driven Design’s Bounded Context reifies in architecture, how to reduce intra-component/service coupling, and other techniques.

Neal Ford
Session

Resilient Software Design für wirklich produktionsreife Systeme

german

+

Sie haben den Wert von Agilität und Clean Code für Ihre IT und Ihr gesamtes Unternehmen erkannt? Super! Und wie sieht es mit Resilience aus? Nie gehört? Hmmm ...Bei immer kürzeren Änderungszyklen, immer dynamischeren Zugriffsmustern und immer komplexeren verteilten Systemlandschaften sind die klassischen Fehlerbehandlungsmechanismen nicht mehr hinreichend, um die geforderten Verfügbarkeitsanforderungen zuverlässig zu gewährleisten. Genau darum geht es bei Resilience: Anwendungen so zu gestalten, dass Sie in Produktion auch bei unerwarteten Last- und Fehlersituationen zuverlässig weiterlaufen.In dieser Session lernen Sie, was Resilient Software Design ist, sehen anhand von Fallbeispielen, welchen Wert es hat und verstehen, wie man es sinnvoll in den Entwicklungsprozess einbindet.

Uwe Friedrichsen
Session

Finding the Needle in a Big Data Haystack

english

+

In this talk we share with you how search functionality natively integrated with the Hadoop ecosystem helps address one of the industry's biggest challenges. We introduce the emerging concept of a data hub, and describe some use cases helped by search available in the same platform as analytic workloads. This presentation includes a walk through of the technical integration we contributed to standard open source frameworks and components, such as Apache Solr and Apache Hadoop, to enable free text drill down capabilities over large or multi-type data sets. This is a technical solution talk, aiming to inspire architects and business insightful engineers.

Lars George
Session

JRuby - Ruby für die JVM

german

+

JRuby ist der performante Ruby-Interpreter für die JVM. Mit Rails als produktivem Framework für die Entwicklung von datenbankbasierten Webanwendungen steht Entwicklern eine ausgereifte Alternative zur traditionellen Java-Umgebung zur Verfügung. Doch was ist Rails und wie kann man mit JRuby vorhandene Java-Bibliotheken nutzen? Diese Fragen und mehr werden während der Session praxisnah beantwortet. Dabei werden praktisch kaum Folien gezeigt, sondern viel Live Coding in der Shell.

Michael Johann
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
Session

Application Performance Monitoring - Muss man denn immer alles messen?

german

+

Gerade für eine geschäftskritische Anwendung ist es wichtig zu wissen, dass sie funktioniert. Tut sie es nicht, spielt es für den Anwender keine Rolle, ob ein Timeout oder ein Fehler auftreten. Natürlich möchten wir in dem Fall sehen, woran es liegt. Theoretisch müssen wir dazu alle Komponenten messen, in der Praxis ist das aber schwer durchzusetzen. Viele Leute reden mit, was die Sache auch politisch nicht gerade einfach macht. Etwas ist in diesem Fall aber besser als nichts und auch wenn ein globales Monitoring nicht durchzusetzen ist: Welche Komponenten liefern uns dann die meisten Informationen?

Thomas Klughardt
Session

Neue Sprachmittel in Java 8

german

+

Im Release 8 wird Java um eine Reihe von neuen Sprachmitteln erweitert.  Erstens wurden Möglichkeiten geschaffen, um anonyme Funktionen auszudrücken: dafür gibt es nun Lambda-Ausdrücke und Methoden-/Konstruktor-Referenzen.  Zweitens kann man Interface-Methoden mit Implementierung definieren; dafür gibt es Default-Methoden und statische Methoden in Interfaces.Die Lambda-Ausdrücke und Methoden-/Konstruktor-Referenzen braucht jeder Java-Entwickler, wenn er die neuen JDK-Abstraktionen wie Streams, CompletableFuture und viele andere benutzen möchte.  Die Default- und statischen Interface-Methoden hingegen wurden für das Design und die Implementierung der neuen JDK-APIs benutzt.Zusammen werden die neuen Sprachmittel die Art, wie wir in Java programmieren, substantiell verändern.  Sie ermöglichen elegante API-Designs und neue Implementierungstechniken.

Normal
0
21

false
false
false

MicrosoftInternetExplorer4

Angelika Langer
Session

Ist BPMN schon wieder out? Überblick über die neue BPM-Disziplin „Adaptive Case Management (ACM)

german

+

Sie wollen BPM einführen, haben aber das Gefühl, dass es ein Albtraum sein wird, alle Prozesse mit ihren unzähligen Varianten zu modellieren? Ihre Prozesse sind eher unvorhersehbar, komplex und daher aufgrund der komplizierten Modelle kaum lesbar? Die Anwender ihrer Software geraten in Panik, weil sie sich nur noch in den hart modellierten Prozessbahnen bewegen können, die das System vorgibt, obwohl sie oft viel bessere Lösungswege wählen könnten, wenn sie dürften? Haben sie es mit Wissensarbeitern zu tun? Dann ist diese Session für sie. Wir beleuchten die noch junge Disziplin des dynamischen oder auch adaptiven Case Managements, wir lernen die Vorteile von Process Mining kennen und wir stellen die um ACM ergänzte Enterprise BPM Methodik vor.

Danilo Schmiedel, Torsten Winterberg
Session

Caching in Businessanwendungen: Einsatz, Patterns und Best Practices

german

+

Das Thema Caching ist für zahlreiche Businessanwendungen relevant, und der Markt für Caching-Lösungen reicht von einfachen lokalen Caches bis hin zu mächtigen und komplexen Data Grids. Ein weiteres Differenzierungsmerkmal ist die Konsistenzgarantie beziehungsweise die transaktionale Integrität, die die unterschiedlichen Lösungen bieten. Allerdings unterscheiden sich Anwendungen, die Geschäftsprozesse in gewachsenen Unternehmenslandschaften umsetzen, stark von sozialen Netzwerken oder Internetdiensten, die aus dem Start-up-Umfeld kommen.Der Vortrag adressiert in erster Linie das erste Szenario: Caching in Unternehmensanwendungen, die auf Basis einer bereits bestehenden Infrastruktur umgesetzt werden. Hierbei werden zuerst die Herausforderungen, die diese Anwendungen an das Thema Caching stellen, vorgestellt. Aspekte, die hierbei betrachtet werden, sind: Security, Monitoring, Audit-Compliance, Art der Daten sowie Geschäftsprozesse. Im zweiten Teil werden unterschiedliche Arten des Cachings vorgestellt und im Hinblick auf die eben erwähnten Herausforderungen bewertet. Abschließend geht der Vortrag darauf ein, welche Patterns und Best Practices sich in der Praxis bewährt haben, und wie das Thema Caching möglichst transparent und deterministisch in Businessanwendungen integriert werden kann.

Michael Plöd
Session

Vorsicht Schuldenfalle - was die IT aus der Finanzwelt lernen kann

german

+

Schulden machen ist leicht, zu leicht manchmal, und ehe man sich versieht, hat man Mühe, die Schuldenlast zurückzuzahlen. Ähnlich verhält es sich auch bei Softwarearchitektur. Ein "das fixen wir später" hier, "die Dokumentation ziehen wir nach der Abgabe nach" dort, ein kleiner Hack da, ein schnelles Feature dazu und schon sieht man sich einer degenerierten Software(architektur) gegenüber, die hohe Wartungskosten nach sich zieht und eine weitere Entwicklung nur bedingt zulässt. Damit es nicht so weit kommt, muss man sich der Schulden bewusst sein, die man durch manche Entscheidungen macht, und den Schuldenberg im Griff behalten. Das gilt für traditionelle Softwareprojekte gleichermaßen wie für SOA- und BPM-Projekte. In diesem Vortrag gehen wir auf verschiedene Arten technischer Schulden ein und wie man ihnen im Projektalltag begegnet.

Jörg Nitzsche, Tammo van Lessen
09:45 to 10:30

Kaffeepause

10:30 to 11: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 beim Betriebssystem und den verschiedenen Abhängigkeiten an. Die 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 viel 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

Combining NoSQL with SQL

english

+

I was there using NoSQL from the get go, and even to this day I find myself using SQL. Am I old? Am I too use to my old habits? The answer goes beyond that. I have found that there is a place for both tool kinds. There are things that SQL is very good at, and there are things that NoSQL is very good at. Knowing that was the learning process. And to further complicate things I learned that not all NoSQL tools are good with all things. The focus of this session is to explain what my experience has been and how I use the various tools.

Christian Gross
Session

Dynamisches BPM: Über Flexibilität in starren BPMN Prozessen am Beispiel eines Patentantrags

german

+

Ist Adaptive Case Management (ACM) oder auch Case Management Model and Notation (CMMN) nur die neue Sau die durchs Dorf getrieben wird oder ergänzt es BPMN ganz hervorragend um mehr Flexibilität in die Prozesse zu bekommen? Was ist der richtige Mix? Und funktioniert das eigentlich heute schon? Am Beispiel des Patentantrages des Instituts für geistiges Eigentum in Bern möchten wir eine pragmatische Lösung vorstellen die bereits heute hervorragend funktioniert, inkl. Praxiserfahrungen aus dem Projekt. Danach gehen wir auf die nächsten logischen Schritte Richtung ACM ein. Dabei darf gerne diskutiert werden!

Bernd Rücker, Mirko Galli
Session

Methodenkoffer für Agile Experience Design – Requirements Enginering, User Experience Design und Design Thinking im Einklang?

german

+

Agile Experience Design (s. u.a. Ratcliffe/ McNeill 2011) und LeanUX (Gothelf/Seiden 2013) sind integrative Ansätze, die Prozessmodelle und Methoden aus verschiedenen Domänen in einen übergreifenden Kontext stellen. Der Methodenvortrag stellt hierzu zunächst Schnittmengen und Unterschiede von Requirements Engineering, User Experience Design und Design Thinking in Bezug auf Prozessmodell und Methodenbausteine dar. Das Konzept Agile Experience Design wird vorgestellt und eingeordnet.Der Vortrag stellt außerdem Auswahlkriterien und Erfolgsfaktoren für Methodenbausteine vor, die in menschen- (oder nutzer-) zentrierten Innovationsprojekten eingesetzt werden können. Hierbei wird insbesondere auf den Design Thinking Prozess eingegangen, die Auswahlkriterien für Methodenbausteine können allerdings auch für andere Kontexte eingesetzt werden.

Stephan Raimer
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

Putting Kotlin to the test

english

+

Kotlin is a new OSS programming language from JetBrains, leaders of IDE’s and Developer tools. Its purpose is to provide a general industry focused language that can be used for all types of development, and at the same time, fixing some of the common pitfalls of other languages that can end up being very expensive. That’s the idea behind it at least, but does it hold? In this session we’re going to find out. We’ll put it to the test by creating a real-world application and see if and where it can help and whether it has enough the potential to be a prime runner!

Hadi Hariri
Session

Graphdatenbanken in der Praxis

german

+

Die meisten Anwendungen haben mit mehr oder weniger komplexen Domänenmodellen zu tun. Eine der größeren Herausforderungen in Projekten ist, diese schönen Domänen sinnvoll in der Datenbank zu verwalten und Abfragen effizient zu gestalten.Dabei können Graphdatenbanken eine große Hilfe sein, da sie es erlauben, auch herausfordernde Modelle sehr nah am Original zu speichern. Um performante Systeme zu realisieren, die den gewünschten Anwendungsfällen gerecht werden, kann man ausgehend von den Anforderungen das Graph-Datenmodell entwicklen und optimieren.Im Vortrag wird Michael Hunger, Autor und Neo4j-Experte anhand eines praktischen Beispiels die Graph-Modellierung einer Domäne in wenigen Schritten vorstellen und das ganze nach und nach in einer interaktiven Dokumentation (GraphGist) demonstrieren.5 Modelle für die verschiedensten Domänen werden kurz vorgestellt und diskutiert.Der zweite Teil des Vortrags wird von Axel Morgner, CEO von Structr, einem langjährigen Neo4j-Partner, übernommen. Nach einer kurzen Vorstellung des Graph Application Frameworks "Structr" werden die Ergebnisse des ersten Vortragsteils integriert.Aus dem zuvor erstellten GraphGist wird eine Schema-Definition abgleitet, Beispiel-Daten angelegt und der Rumpf einer Web-Anwendung mit dem GraphGist Importer von Structr erstellt und so die Flexibilität des Datenbank-Modells in Zusammenarbeit mit dem darauf aufbauenden Programmiermodell demonstriert.

Axel Morgner, Michael Hunger
Session

Spring 4 auf Java 8

german

+

Spring ist bekannt dafür, umgehend Unterstützung für neue Java-Generationen anzubieten, und nun ist es Zeit für Java 8. Mit Spring Framework 4.0 bieten wir tiefgehende Unterstützung für alle relevanten Features von OpenJDK 8, insbesondere für Lambda-Ausdrücke, JSR-310 Date and Time und verschiedene neue JDK-Compiler-Features. Dieser Vortrag stellt Spring 4 allgemein sowie eine Reihe von Java-8-Features im Rahmen des Spring-Programmiermodells vor und erörtert die Auswirkungen auf Anwendungsarchitekturen.

Jürgen Höller
Session

Tomcat 8: Die Basis für skalierbare kooperative Webentwicklung

german

+

Der Apache Tomcat ist der beliebteste Java-Webcontainer für die Entwicklung und Produktion. Mit dem Apache Tomcat 8 wird das Servlet API 3.1 und Websockets unterstützt. Die Entwicklung kommt gut voran, und erste Produktionssysteme sind schon umgestellt. Weitere Performance Optimierung und Erweiterungen sind realisiert. Diese Session wendet sich an alle Webentwickler und Systemarchitekten, die skalierbare kooperative Anwendungen schreiben. Ein erster Eindruck der vereinfachten asynchronen Servlet Programmierung und Websockets auf der Basis des JSR 356 wird demonstriert.

Peter Roßbach
Session

M2M for Java Developers with MQTT

english

+

Mobile devices like smartphones and tablet computers became an integral part of our modern world and single-board computers like Raspberry Pi are cheaper today than at any time before. Simple and open Machine-to-Machine (M2M) protocols like MQTT enable these devices to communicate in an efficient manner, even in scenarios with unreliable and instable networks. This talk shows how different Java MQTT libraries can be utilized for professional and personal projects to build efficient and scalable solutions for (mobile) devices. You will also see how modern technologies like WebSocket can be used in conjunction with MQTT to build real time-push services to bring data from sensor hardware to browsers in a scalable manner.

Dominik Obermaier
Session

Kommunikationsarchitektur für mobile Anwendungen mit protobuf

german

+

Der Mehrwert moderner mobiler Anwendungen entsteht vor allem durch die Integration von Logik und Daten externer Services. Die Datenübertragung zwischen Client und Server (oder anderen Clients) wird dabei automatisch zum Flaschenhals der Performance; insbesondere wenn kein Hochgeschwindigkeitsnetz zur Verfügung steht. Vom Standpunkt der Usability ist Performance jedoch eine zentrale Anforderung an mobile Anwendungen.  Quasi-Standard für eine zeitgenössische Kommunikationsarchitektur ist JSON oder XML via http, wobei Daten als Text codiert übertragen werden. Protobuf ist hingegen ein Verfahren zur binären Codierung von Daten mit hohem Potential zur  Performanceverbesserung bei der Datenübertragung gegenüber Text-basierten Serialisierungsverfahren. Der Vortrag stellt protobuf vor und erläutert anhand einer Case Study die Architektur einer Client-Server-Kommunikation via REST/protobuf. Der gewählte Ansatz wird mit den bekannten Mechanismen wie XML und JSON verglichen.

Carl Eric Menzel, Hanno Scharwächter
Session

Das Stream API - neue Abstraktionen im Collection-Framework von Java 8

german

+

Mit dem Release 8 von Java ist das Collection-Framework im JDK radikal überarbeitet worden. Es ist nun möglich, auf Collections so genannte "Bulk Operations" (wie forEach, filter, map, reduce) auszuführen. Zentrales Element dieser Erweiterungen ist die Abstraktion java.util.stream.Stream. In der Session wird erläutert, was Streams sind, wie sie sich von herkömmlichen Collections unterscheiden, wie sie Operationen parallel oder sequenziell ausführen und welche Operationen "eager" oder "lazy" sind.

Klaus Kreft
11:45 to 12:15
Keynote

I „Like“ Your Model - Eine Social Media Plattform für Modelle

german

+

Wer kennt nicht das Sprichwort „Ein Bild sagt mehr als tausend Worte“ und in der Tat sind visuelle Modelle ein beliebtes Mittel im IT-Umfeld, um komplexe Sachverhalte einfach und effektiv kommunizieren zu können. Die Modellierung von Prozessen wird beispielweise immer populärer, denn Prozessmodelle stellen oft die Brücke zwischen den Anwendern und der IT her. Allerdings sind Modelle und deren Diagramme in einer Organisation bei weitem nicht so einfach zu handhaben wie textuelle Informationen. In diesem Zusammenhang eröffnet ein Model Warehouse, das werkzeugunabhängig Inhalte aus unterschiedlichsten Modellen zusammenfasst und bereitstellt, neue Möglichkeiten. Mit dem Konzept eines Model Warehouse kann jeder alle Modelle von überall importieren und für alle Beteiligten zugänglich machen. Alle Nutzer können sich anhand  dieser Modelle austauschen und unterschiedliche Modelle sogar neu miteinander verknüpfen. So finden sich ganz pragmatisch neue Wege, um das Wissen einer Organisation zu repräsentieren und unter Mitwirkung aller Beteiligten systematisch zu erweitern.

Jochen Seemann
12:15 to 12:45
Keynote

Worse Is Better, for Better or for Worse

english

+

Over two decades ago, Richard P Gabriel proposed the thesis of "Worse Is Better" to explain why some things that are designed to be pure and perfect are eclipsed by solutions that are seemingly limited and incomplete. This is not simply the observation that things that should be better are not, but that some solutions that were not designed to be the best were nonetheless effective and were the better option.We find many examples of this in software development, some more provocative and surprising than others. In this talk we revisit the original premise and question, and consider that it is an approach that can still teach us something surprising and new when it comes to development practice, software architecture, Agile development and Lean thinking.

Kevlin Henney
12:45 to 14:15

Mittagessen

14:15 to 15:15
Session

Einführung in Eclipse Xtext

german

+

Eclipse Xtext ist ein preisgekröntes Rahmenwerk für die Entwicklung von domänenspezifischen Sprachen (Domain-Specific Languages, DSL) auf Basis von Eclipse und dem Eclipse Modeling Framework (EMF). In dieser Session lernen Sie, was Xtext ist und was z.B. Firmen wie Google oder Oracle damit anfangen. Wir stellen die vielen Features vor, die ihre domänenspezifischen Sprachen durch Verwendung von Xtext automatisch erhalten und zeigen diese in Livedemos. Weiterhin erfahren Sie, wie leicht ein Codegenerator oder Interpreter entwickelt werden kann, der ihre Sprachen zur Ausführung bringt.

Sebastian Zarnekow, Sven Efftinge
Session

ACM Praxisbeispiel - Neue Wege in der Schadenbearbeitung einer Versicherung

german

+

Business Process Management (BPM) ermöglicht Effizienzsteigerung durch bewusste Beschränkung auf einen standardisierten Ablauf bei der Automatisierung von Prozessketten. Demgegenüber stehen neue Ansätze, welche mit dem Adaptiven Case Management (ACM) den "Knowledge Worker" und die Flexibilität herausstellen, die dieser in seiner Arbeitswelt benötigt. Diese Session zeigt anschaulich die Möglichkeiten von ACM anhand eines tatsächlich realisierten Piloten für die Schadenregulierung bei einer Versicherung. Entscheidend ist hierbei die Integration und ein praxistaugliches Zusammenspiel mit vorhandenen Anwendungen, statt einer Lösung auf der "grünen Wiese". Anhand der Pilotlösung erfahren Sie, mit welchen Fragestellungen bei einer ACM-Implementierung zu rechnen ist und welche Elemente z.B. ein passender Benutzerdialog benötigt. Wir diskutieren, wie sich die beiden Disziplinen BPM und ACM optimal ergänzen können und werfen einen Blick auf weiterführende Szenarien, die die gezeigte Lösung nun eröffnet.

Timo Frey, Torsten Winterberg
Session

Pipelines zeichnen ist nicht schwer, Pipelines bauen dagegen...

german

+

Bei jeder praktischen Umsetzung von Continuous Delivery wird man merken, dass sich mit Deployment Pipelines schnell erste Anfangserfolge erzielen lassen. Kurz darauf steht man jedoch einer Menge von Folgefragen gegenüber. Gerade für die Aktivitäten der Operations Seite wie zum Beispiel Verwaltung von Environments und Artefakt Versionen ist die reine Idee einer Pipeline nicht ausreichend. Der Vortrag zeigt am Beispiel mehrerer populärer CD Server, wie der Tool Markt auf diese Probleme reagiert und was dies für den Anwender bedeutet.

Steffen Schluff
Session

Neue Concurrency Utilities in Java 8

german

+

In Java 8 gibt es neue Concurrency Utilities. Die wichtigste davon ist CompletableFuture. Mit dem herkömmlichen Future muss man auf das Ergebnis einer Task warten und kann es anschließend synchron verarbeiten. Beim neuen CompletableFuture muss man nicht mehr warten, sondern man kann Aktionen einzuhängen, die asynchron ausgeführt werden, sobald das Ergebnis einer Task fertig ist. Daneben gibt es eine Reihe kleinerer Ergänzungen: StampedLock (ein ReadWriteLock mit optimistischem Read), LongAdder/LongAccumulator (als performante Alternative zu AtomicLong), neue Methoden in der ConcurrentHashMap (z.B. computeIfAbsent, forEach, reduce, search) und parallele Array-Operationen (z.B. parallelSort).

Normal
0
21

false
false
false

MicrosoftInternetExplorer4

Angelika Langer
Session

Hochverfügbare Data Grids mit Infinispan

german

+

Infinispan bietet als hochverfügbare Cache Lösung hohes Optimierungspotential bei Anwendungen, bei denen herkömmlichen Datenbanken nicht mehr skalieren. Durch seine vielfältigen Algorithmen zur Verwaltung von Daten und Optimierung von Zugriffen stellt sich die Frage nach geeigneten Architekturen, Betriebskonzepten und Integrationsmöglichkeiten in den Data-Access Layer der Anwendung. So kann Infinispan sowohl direkt als Datenspeicher, sowie als 2nd Level Cache der Persistenzschicht genutzt werden.

Sascha Dirbach
Session

JavaScript in SAP HANA - Das Schöne und das Biest?

german

+

Die Verwendung von JavaScript als Sprache zur Implementierung browserbasierter UIs ist hinlänglich bekannt und seit Langem bewährt. JavaScript als Sprache zur Implementierung der serverseitigen Businesslogik in klassischen Geschäftsanwendungen hingegen ist schon eher exotisch. Umso mehr verwundert es, dass SAP JavaScript als strategische Sprache zur Implementierung der serverseitigen Anwendungslogik in SAP HANA, der neuen Anwendungsplattform und In-Memory-Datenbank von SAP, auserkoren hat.Dieser Vortrag gibt einen Einblick in die Implementierung von SAP-HANA-basierten Lösungen und vergleicht diese mit bestehenden Open-Source-Lösungen.

Ralph Guderlei
Session

Microservices: Decomposing Applications for Deployability and Scalability

english

+

Today, there are several trends that are forcing application architectures to evolve. Users expect a rich, interactive and dynamic user experience on a wide variety of clients including mobile devices. Applications must be highly scalable, highly available and run on cloud environments. Organizations often want to frequently roll out updates, even multiple times a day. Consequently, it's no longer adequate to develop simple, monolithic web applications that serve up HTML to desktop browsers.In this talk we describe the limitations of a monolithic architecture. You will learn how to use the scale cube to decompose your application into a set of narrowly focused, independently deployable back-end services and an HTML5 client. We will also discuss the role of technologies such as Node.js and AMQP brokers. You will learn how a modern PaaS such as Cloud Foundry simplifies the development and deployment of this style of application.

Chris Richardson
Session

Spring Boot

german

+

Spring Boot vereinfacht nicht nur die Entwicklung mit dem Spring Framework und den anderen Bibliotheken aus dem Spring Öko-System, sondern vereinfacht auch die Konfiguration und das Dependency Management. So wird die Entwicklung von Spring-Anwendungen wesentlichen vereinfacht. Dieser Vortrag stellt Spring Boot detailliert vor und zeigt den Umgang auch ganz praktisch.

Eberhard Wolff
Session

How do things talk? An Overview of the IoT/M2M Protocol Landscape

english

+

Analysts predict that in 2020 50 billion devices are connected to the internet. Together with the fact that more and more of these "things" are connected over the cellular network, new challenges are introduced to the communication of Internet of Things (IoT) and machine-to-machine (M2M) scenarios. There are a lot of protocols which claim to be ideal for these use cases, for example MQTT and COAP. In this talk you will get an overview of commonly used protocols and their underlying architectural styles. We will also look at advantages/disadvantages, use cases and the eco-system around them for Java developers. 

Christian Götz
Session

Real-time Data Analytics mit Elasticsearch

german

+

Elasticsearch hat sich in kurzer Zeit zu einer Top Open-Source-Suchtechnologie etabliert. Fernab von Such-Szenarien zeigt Elasticsearch auch im Bereich Real-time Data Analytics auf "Big Data" seine Stärken. Warum? Es ist skalierbarer Document Store und bietet performante Analysemethoden. Es bietet eine Hadoop Integration zu Pig, Hive, MapReduce und das Analyse-Webfront Kibana für interaktive Dashboards und Enduser-Analysen ist auch mit dabei. In diesem Vortrag möchte ich dem Publikum näherbringen, wie Elasticsearch für Real-time Data Analytics auf großen Datenvolumina genutzt werden kann. 

Bernhard Pflugfelder
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, wobei 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. Anschliessend 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

JVM and Application Bottlenecks Troubleshooting with Simple Tools

english

+

Frequently developers spend a lot of time and energy trying to find performance bottlenecks and hotspots that prevent applications from scaling on production. There are commercial tools available that can help with diagnosis but often they also introduce monitoring overhead and are not used with all the features in business critical applications. Moreover, these tools only take into account a narrow range of potential problems and do not correlate events with operating systems or hardware. The session will demonstrate how to use free and open source tools as well as system software to find application problems quickly, without using any commercial tools. Typical problems that occur could include: being unable to optimise application configuration (extensive logging, too small pools, too big pools),  application hotspots (synchronized sections), performance hotspots (critical functions), JVM problems (Garbage Collection, memory management). After this session you will be able to narrow down potential problems and performance areas of your application that cause critical scalability issues.

Daniel Witkowski
15:15 to 16:00

Kaffeepause

15:45 to 16:45
Session

Node.js: The Useful Parts and Sucky Parts

english

+

Let's talk about the elephant in the room, Javascript is the basis of Node.js and one has to wonder. I don't wonder and I will explain why Javascript is the ideal language for a framework such as node.js. My focus is not on showing a hello world application, but on showing what a hello world application represents in an architectural perspective. Also focused on are the details of what you can, cannot, should or should not do with node.js. If you have ever wondered about node.js from a Java perspective this is the talk for you.

Christian Gross
16:00 to 17:00
Session

Experiences of a Start up: Things I wished I knew before

english

+

So you are working for a start up, it turns out to be a success and it's growing. Now you wonder what kind of surprises will hit your team next. You are thinking about re-launching or monetizing your app, or you want to introduce your application to a wider audience in different countries and languages? You are a grown up business and you struggle with your processes, marketing is waiting for weeks to get things released and your employees wonder what should be done next and why it needs to be done.Taking insparx as an example of a start up which has grown to a serious business, offering its products in over 30 countries with more than 1,3 Million monthly active users, this talk will give you a heads up about the Top 10 topics you will have to tackle sooner or later and the things we learned along the way.

Alois Glomann
Session

Fragen und Antworten zu Java 8: Q&A mit Angelika Langer und Brian Goetz

german

+

Java 8 ist das wichtigste Release für die Java-Community seit Jahren. Auf der JAX begrüßen wir Brian Goetz, der die neue Version der Programmiersprache und vor allem die darin enthaltenen Lambda-Ausdrücke maßgebend mit beeinflusst hat. Moderatorin und Java-Expertin Angelika Langer wird im Java 8 Day eine Q&A mit Brian Goetz präsentieren, um die Fragen der Community zu den neuen Sprachfeatures zu beantworten. Sie können jetzt schon Fragen stellen: Einfach  www.jaxenter.de/java8party öffnen und Frage als Kommentar hinterlassen.(Die Fragen und Antworten werden auf Englisch gestellt bzw. beantwortet.)

Angelika Langer, Brian Goetz
Session

What makes Groovy groovy?

english

+

Groovy is not a newcomer in the arena of alternative languages for the JVM. But with over 1.7 million downloads a year, it's clearly ahead of the pack. And what makes it a great choice for your projects?

  • a flat learning curve for Java developers
  • its seemless Java integration where you can mix and mash Groovy and Java together
  • a maleable and concise syntax fit for Domain-Specific Languages
  • an interesting take on type safety
  • its rich ecosystem of projects: Grails, Gradle, GPars, Spock, Griffon, Geb...

In this session, we'll see how this all fits together in the big Groovy picture, when and where you can use Groovy, and how you can take advantage of Groovy for boosting your productivity.

Guillaume Laforge
Session

Eclipse SmartHome

german

+

Das neue Eclipse SmartHome Projekt ist ein flexibles Framework für Lösungen im Bereich Smart Home and Ambient Assisted Living (AAL). Es spielt seine Stärken in heterogenen Umgebungen aus, indem es bei der Integration unterschiedlichster Protokolle und Standards unterstützt.Ziel des Frameworks ist es einen gleichförmigen Zugriff auf Geräte und Informationen bereitzustellen und darauf aufbauend Interaktionen zu ermöglichen. Dafür stellt ESH eine auf etablierten Eclipse Technologien Xtext/Xbase basierende Regel-Engine, sowie interne DSLs zur Beschreibung des User Interfaces bereit. Zur Interaktion mit anderen System steht eine hoch felixble REST API bereit.ESH ist dazu designed, damit Entwickler es um ihre eigenen Bedürfnisse erweitern und somit individuelle Smart Home Lösung aufbauen können. Dazu kann ESH auf embedded devices mit einer JVM, wie dem Raspberry Pi, deployed werden. Die ganze Anwendung ist rein Java/OSGi und baut auf weiteren Frameworks wie Equinox, EMF und Jetty auf.In dieser Session werden wir nicht nur die technischen Aspekte des Projekts beleuchtet, sondern auch coole Anwendungsfälle aus der Heimautomatisierung zeigen, die mit solch einem flexiblen Framework überhaupt erst möglich werden.Die initiale contribution in das ESH Projekt stammt übrigens aus dem bereits bekannten Projekt openHAB, dass seinerseits eine riesige Menge freier Erweiterungen im Gepäck hat. Somit können Systeme wie KNX, Philips Hue, Z-Wave, EnOcean, DMX, Plugwise, Homematic und Sonos leicht integriert werden.

Thomas Eichstädt-Engelen
Session

Why Agile doesn't scale (and what you can do about it)

english

+

Agile doesn't scale. There, I said it. Actually people have been telling me that for over ten years, and I’ve just refused to believe them, but they were right. Does that mean you can’t deliver large-scale programmes using agile methods? Not at all. But to scale you need something else, something substantively different, something the Agile Manifesto and the existing team-scale agile methods don’t even have an opinion about.I have seen a handful of successful large-scale deliveries across multiple agile teams, multiple locations and multiple programmes start to look uncomfortably like those of traditional programmes, and involve phrases like delivery assurance, governance and portfolio management. They just approach them differently.What made them work? The challenge is getting large numbers of people to think in the same direction. Shared guiding principles, a clear vision and a common understanding enable what I call contextual consistency. I believe this one lever is the single greatest enabler of technology delivery at scale, and is at the heart of the thing we call empowerment. In this talk I will explain why.

Dan North
Session

Ein Standard für die Batch-Entwicklung - JSR 352

german

+

Mit dem JSR 352 wurde die Batch-Entwicklung im Java-Bereich standardisiert, und mit der Aufnahme in die Java Enterprise Edition 7 werden in Zukunft alle entsprechenden Application Server die Möglichkeit bieten, Batch-Jobs auszuführen. Diese Session führt in die Batch-Entwicklung mit dem JSR 352 ein und stellt dar, welche Rolle Spring Batch hier spielt, das ebenfalls den JSR 352 implementiert und großen Einfluss in der Spezifikation hatte. Sie richtet sich sowohl an Enterprise-Entwickler, die bisher noch kein Batch-Framework verwendet haben, als auch an Spring-Batch-Entwickler, und wird das Thema aus beiden Blickwinkeln betrachten. Neben den Grundlagen und weitergehenden Features werden dabei auch Kriterien für die Wahl der JSR-352 - Implementierung vorgestellt.

Tobias Flohre
Session

Hochverfügbarkeit und Datenverteilung mit MongoDB für Java-Entwickler

german

+

MongoDB ist eine dokumentenorientierte NoSQL-Datenbank, die ein ausgefeiltes System zur Sicherstellung von Verfügbarkeit bietet. Zudem ist diese Datenbank in der Lage, Daten horizontal zu verteilen, um eine Lastverteilung zu erreichen. In dieser Session betrachten wir anhand von Beispielen diese Mechanismen im Detail.

Halil-Cem Gürsoy
Session

Reverse Engineering von Java Anwendungen verhindert – Kryptographie im praktischen Einsatz

german

+

„Nur die Größe zählt“ ist ein gefährlicher Trugschluss in der Kryptographie. Auf den Algorithmus kommt es an. Aber auch der beste Algorithmus kann versagen, wenn er nicht zum Bedrohungsszenario passt, falsch implementiert ist oder der Schlüssel nicht sicher verwahrt wird. Der Vortrag zeigt typische Bedrohungsszenarien und Anwendungsfälle, sowie die Wahl des jeweils richtigen Algorithmus. Anhand des kommerziellen Produktes CodeMeter werden ein sicherer Schlüsselspeicher und Implementierungsbeispiele für die typischen Anwendungsfälle vorgestellt.

Rüdiger Kügler
Session

Nachhaltige Softwareentwicklung für agile Teams

german

+

Die Erfahrung zeigt, dass die Anwendung agiler Prozesse für sich allein noch keineswegs ein hohes Mass an Softwarequalität und Wartbarkeit garantiert. Agile Prozesse benötigen zusätzliche automatisierte Checks, um technische und strukturelle Defizite in der zu entwickelnden Software zu minimieren. Der Vortrag zeigt auf, warum es oft schwierig ist, nachhaltige Ergebnisse zu erzielen und was konkret getan werden kann, um die Situation mit relativ einfachen Mitteln zu verbessern.

Alexander von Zitzewitz
Session

BPMN oder ACM? Interaktive Show mit Live-Modellierung

german

+

Sie haben gerade BPMN gelernt, die BPMN-Einführung im Unternehmen noch nicht ganz beendet und sollen jetzt mit ACM schon wieder alles anders machen? Nein. Diese Session zeigt anhand vieler Live-Demos, wie sich die Umsetzung diverser Szenarien jeweils mit BPMN anfühlt und stellt die Umsetzung mit einem ACM-Tooling gegenüber. Auf diese Weise können sie sich schnell selber ein Bild machen, wo die Unterschiede zwischen BPMN und ACM liegen, wie sich die Lösungsansätze anfühlen, wo die Sweet Spots der Optionen liegen und wann ein Lösungsentwurf in BPMN vielleicht in der Praxis doch an Grenzen stößt, die sich besser mit einem neuen (ergänzenden?) Paradigma lösen lassen.

Danilo Schmiedel, Sven Bernhardt
Session

Database Refactoring - Evolutionäres Datenbankdesign für Continuous Delivery

german

+

Im Gegensatz zu Code-Refactorings sind Datenbank-Refactorings konzeptionell wesentlich schwieriger, aber nicht weniger effektiv. Meistens scheitert eine schnelle Adaption der Anwendung an geänderten Businessanforderungen an der Möglichkeit, das DB-Schema zu ändern. Der Widerstand kommt dabei nicht nur von Operations, sondern auch aus den eigenen Reihen auf Grund von einem fehlenden Konzept und Vorgehen. Database Refactorings ermöglichen es, diesen Widerstand zu überwinden, um häufiger, schneller und mit einem kleineren Risiko zu deployen.Continuous Delivery unterstützt den Erfolgsfaktor Time to Market in der Art, dass die Software schneller erstellt und verteilt werden kann. Dies nützt jedoch noch nichts, wenn die Software in der Struktur, z.B. durch ein starres Datenbankschema nicht verändert werden kann. Database Refacotrings geben dem Entwickler ein Set von Mustern in die Hand, mit denen das Datenbankschema evolutionär erweitert und verändert kann.In meiner Session zeige ich die Motivation und die Herausforderungen von einem Database Refactoring mithilfe von praktischen Beispielen auf. Im Weiteren erörtere ich verschiedene Database Refactorings.

Jörg Bächtiger, Marc Riesen
17:15 to 18:15
Session

Java SE 8 for Tablets, Pis, and Legos

english

+

This is not your grandfather's Java ME.  Deep dive and demonstration on the new Java SE Embedded support for ARM processors.  We will demonstrate the full power of Java SE 8 running on consumer tablets (iOS/Android), embedded devices such as Raspberry Pi and PandaBoard, and the new Lego Mindstorms EV3, all of which use low power ARM chips.  See end-to-end coding on devices, discuss coding practices for building performant applications, and get the low down on what is supported and what is not.

Stephen Chin
Session

Einstieg in Go

german

+

Beim Lernen einer neuen Sprache sind die Abweichungen von dem, was wir aus anderen Sprachen gewohnt sind, am interessantesten. Ausgehend von diesen Überraschungen gibt diese Session einen Einstieg in die Programmiersprache Go von Google. Verglichen wird mit Eigenschaften von Java, C, C++ und Ruby, sodass für alle etwas dabei sein sollte.

Tammo Freese
Session

Preventing runtime errors at compile time using the Checker Framework

english

+

Are you tired of null pointer exceptions, unintended side effects, SQL injections, and other run-time errors?  A pluggable type system can guarantee the absence of many important errors.  Are you a software architect who wants to implement custom checks?  You want support with creating a code checker. This presentation is aimed at both audiences.  We will demo the Checker Framework, which gives a compile-time guarantee of program properties and allows you to create your own checkers.  Java 8 adds syntax to use annotations on all uses of types, making pluggable type systems practical.  Our tool has found hundreds of bugs in over 3 million lines of well-tested code, and even novices can quickly use or create a pluggable type system. The tools are freely available at http://checker-framework.org/. Come learn how you can use these tools to improve your own code!

Werner Dietl
Session

Adaptivity: beyond buzzwords. Was eine BPM-Engine adaptiv macht.

german

+

Adaptivität – wünscht sich doch jeder, ist wichtig für den Wissensarbeiter. So oder so ähnlich beginnen viele Präsentationen rund um State of the Art of BPM. Was versteckt sich wirklich hinter Adaptivität – one word fits all? Nicht auf Powerpoint-Ebene betrachtet, sondern am Beispiel des Baus einer eigenen ACM-Engine. Diese Session liefert Input, worauf ein Architekt bei der Entscheidung für eine ACM-Engine, die echte Adaptivität bietet soll, achten muss.

Clemens Utschig-Utschig, Hajo Normann
Session

Verunfallte Softwarearchitektur. Erfolgreiche Lösungen höchstens per Zufall?

german

+

Mitunter gelingt ein Entwicklungsvorhaben, und alle sind zufrieden. Oder es scheitert am Ende kläglich. Manchmal auch irgendwas dazwischen. Alles nur Zufall? Der Begriff "Zufällige Architektur" (engl. Accidental Architecture) ist als Anti-Pattern durchaus gebräuchlich, der Ausspruch "Historisch gewachsen" passt ebenfalls prima in diesen Kontext. Wie kann Softwarearchitektur zum Erfolg beitragen? Was genau macht eine gute Architektur aus? Wie erreicht oder erkennt man sie? Müssen am Ende alle glücklich sein? Oder sind Kompromisse sogar zwingend erforderlich? Dieser Vortrag ordnet Projektsituationen zwischen zufälliger und wirkungsvoller Softwarearchitektur ein. Er stellt bewährte Praktiken zum Kurs setzen vor und gibt konkrete Tipps rund um Entwurf und Bewertung für Ihr eigenes Vorgehen. Werfen Sie Ballast ab und erhöhen Sie gleichzeitig die Wirksamkeit der Architekturarbeit in ihrem Projekt.

Stefan Zörner
Session

From Continuous Integration to Continuous Delivery with Jenkins

english

+

Continuous Delivery in the Enterprise provides a significant competitive business advantage when the deployment pipeline is integrated and automated.Continuous Integration mutated into Continuous Delivery and this process is no longer limited to DEV teams but integrates QA and OPS teams, orchestrating all phases of the delivery process to deliver fast and reliable applications.Come and discover how Jenkins CI can be the pillar of your Continuous Delivery process to automating the entire application lifecycle  - from source code to build to QA to production. Discover how Jenkins CI is becoming the lingua franca between DEV and OPS teams to deliver applications faster, it is the Swiss army knife of DevOps.

Cyrille Le Clerc
Session

Continuous Delivery ist keine Technologie

german

+

Seit 2010 entwickeln wir ein Produkt unter Einsatz von Continuous Delivery und einigen anderen „neuen“ Methoden. Viele Impulse zu neuen Vorgehensweisen kamen überraschenderweise aus dem Produktmanagement. Vonseiten der Techniker gab es anfangs durchaus auch Skepsis. Kommend aus einer klassischen Scrum-Welt, wurde unserer tägliches Denken und Arbeiten dabei stark verändert. Warum wollen wir heute auf keinen Fall mehr zurück?

Jörg Müller, Marco Kisperth
Session

Was ist ein Data Scientist?

german

+

Im Zuge der Entwicklungen von Big Data hat sich eine neue Disziplin hervorgetan: Data Science. Ziel dieser Präsentation ist, wichtige Aspekte dieses neuartigen Wissenschaftszweigs darzustellen. Wie ist Data Science entstanden? Welche Ziele verfolgt die Disziplin? Was verspricht und was erfordert sie? Welche Grundlagen bietet die Java-Welt, um ein "Datenwissenschaftler" zu werden? Anhand von angewandten Beispielen möchten wir in das Thema einführen und systematisch die Konzepte und Anforderungen sowie die Skills und Rollen innerhalb dieser faszinierenden Disziplin beleuchten.

Albert Blarer
Session

Automatisiertes Testen

german

+

Als letzte Phase im Softwaretest steht in der Regel der im Idealfall durch den Kunden durchgeführte Akzeptanztest. Während es für die frühen Phasen des Testens, die oft von den Entwicklern selbst durchgeführt werden, sehr viel Werkzeugunterstützung gibt, ist das Feld beim Akzeptanztest überschaubar. Hier gibt es im Wesentlichen zwei Vertreter, die scriptorientierten Testwerkzeuge und Capture&Replay-Werkzeuge. Vorgestellt wird neben den etablierten Werkzeugen wie FitNesse, Selenium und Testwerkzeugen für Behavior-Driven-Development auch das neue Testframework Integrity. Der Vortrag gibt einen Überblick über die Vor- und Nachteile der unterschiedlichen Ansätze, zieht einen Vergleich über ihren Einsatz in der Praxis und bewertet, welcher Ansatz für welches Projekt geeignet sein kann.

Dehla Sokenou
Session

The Architecture of Uncertainty

english

+

Ralph Johnson defined architecture as "the decisions that you wish you could get right early in a project, but that you are not necessarily more likely to get them right than any other". Given our inability to tell the future how can we design effectively for it? Much classic project management thinking is based on the elimination of uncertainty, and advice on software architecture and guidance for future-proofing code often revolves around adding complexity to embrace uncertainty. In most cases, this is exactly the opposite path to the one that should be taken.The talk looks at how uncertainty, lack of knowledge and options can be used to partition and structure the code in a system.

Kevlin Henney
Session

Spring XD - Tackling Big Data Complexity

german

+

Wenn man von Big Data spricht, redet man häufig über Hadoop oder NoSQL-Datenbanken, dabei ist Big Data viel mehr als bloße Persistenz. Daten müssen gesammelt, verarbeitet und exportiert werden, Real-Time-Analytics sind ein weiteres großes Thema.Zur Lösung dieser Aufgaben gibt es seit neuestem die Plattform Spring XD. Es handelt sich dabei um ein einheitliches, verteiltes und erweiterbares System für Datensammlung, Real-Time-Analytics, Batch-Verarbeitung und Datenexport. Spring XD bietet dabei eine einfache DSL zur Erzeugung von Datenströmen und Batch-Jobs. Intern werden Spring Integration und Spring Batch verwendet. Durch Projekte wie Spring for Apache Hadoop und Spring Data können damit beliebige Big Data - Persistenzformen unterstützt werden.In dieser Session geben wir eine Einführung in das Projekt und zeigen dabei auch eine Live-Demo.

Dennis Schulte
Session

Big-Data-Projekte: Best Practices aus der Praxis

german

+

Big Data ist in aller Munde, aber man findet vergleichsweise wenig Praxisberichte oder Best Practices zu dem Thema. Wir wollen in diesem Vortrag unsere Erfahrung aus Projekten mit Kunden wie 1&1 und ProSiebenSat.1 Digital teilen und Dos und Don'ts im Umgang mit großen Datenmengen und entsprechenden Technologien zur Diskussion stellen.

Kathrin Spreyer
18:15 to 19:30

Expo Reception

19:30 to 20:00
Session

JAX Innovation Awards 2014

english

+

Backed by a vibrant global community, the JAX Innovation Awards celebrates outstanding innovation within the tech world.These awards acknowledge technologies, companies, organizations and individuals who put their craft and talents towards making an important contribution to the Java ecosystem and the rich mix of related open technologies that flourish around it.Since 2007, the JAX Innovation Awards have rewarded those who foster open innovation and shared business models based on truly effective technology.It‘s down to you, the community, and our distinguished panel of experts and analysts to vote for the most groundbreaking, benchmark setting, and talented craftsmen on the scene. We want to know who you believe is making big waves in the sphere of open technologies in the following categories:

  • Most Innovative Java Technology - Including core Java technologies & tools, Scala, Groovy, Android, Eclipse, and other JVM languages.
  • Most Innovative Open Technology - Including Web technologies, JavaScript, Tools, and mobile and embedded technology.
  • Most Innovative Open Tech Business - Focused on the businesses that foster creativity and demonstrate real commitment to innovation in web technologies, productivity tools, or the mobile & embedded space.

The Special Jury Award will be presented to an individual or team who the judges feel have made exceptional achievements over that past year, and who have had a significant impact on the developer world as a whole.

Celebrate the best and brightest minds in technology!

Sebastian Meyen
20:00 to 20:30
Keynote

The next 5 years of the internet of things

english

+

The web has taken on a new role with the increased interest in connectivity in every day products known as the internet of things. It is now a real pipe between objects. As large corporations tackle these new challenges, the potential for cross-industry partnership and collaborations with entrepreneurs emerge more strongly than ever. This talk will cover the new innovation, security & policy challenges that the web industry is now facing.

Alexandra Deschamps-Sonsino
20:45 to 22:00
Session

„I will follow him“ – Wenn Drohnen nicht von einem lassen können

german

+

Drohnen sind heutzutage in aller Munde. Dabei reicht das Spektrum vom Einsatz im militärischen Umfeld, über humanitäre Einsätzen in Krisengebieten, bis hin zu Drohnen im Hobbybereich. Zu letzteren gehört die sehr populäre A.R.Drone von Parrot, die sich in einem Augmented Reality Game mittels Smartphone-App fliegen lässt. Dabei nutzt sie zwei Kameras zur Erfassung und zur Anreicherung der „Realität“, was dem Nutzer bei der manuellen Steuerung der Drohne hilft. Diese Drohne hat sich die Embedded-Community unter den Nagel gerissen und den Nutzer durch das autonome Fliegen wegrationalisiert – nun fliegt sie selbstständig vorgegebene Bereiche ab oder positioniert sich automatisch im Raum. Doch sind Maschinen ohne den Menschen wertlos – weswegen dieses Projekt eine ganz innige Beziehung zwischen Drohne und Mensch herstellt und die Drohne diesem auf Schritt und Tritt folgen lässt.

Adam Giemza, Sven Manske
Session

Flying "Sharky" and M2M

english

+

Some day a certain idea popped up in my head - what if I could hold a shark as a pet... in my flat? But how to proceed? My bathtub would probably be to small for him and I would risk trouble with the veterinary inspection office. Still the idea would not let go of me so I decided to have at least a bit of it realized by holding a remote controlled shark. I bought some helium - combined it with OSGi, Vaadin UI, Paho, m2m.eclipse.org, a 3D-sensor, three tiny Beagle Bone black, Mihini, Lua and an Arduino board. Preparing some electronic circuts and did some minor hacks to implement a proper controller. And here we are... my very own Sharky started to swim... in my flat.

At my talk at JAX I will demo how simple it is to remote control an airswimmer (some informations, and a movie) using m2m. All the steps required to implement the final solution will be explained in detail and I am going to provide this information including the electric circuts at github. So a construction kit is available for your own experiments.

Sharky may become controlled by

  • Vaadin Web UI
  • Asus Xtion Pro (3D-Sensor similar Kinect)
  • Android App
  • BB10 App

All devices will send MQTT messages to a central MQTT-Broker and finally the "sharky controller beagle bone" will control sharky properly. In the most unlikely case that sharky gets out of control; no panic! Lie down flat on the stomach, protect your head with the arms and wait until sharky has passed by.

Ekkehard Gentz, Florian Pirchner, Klemens Edler
Session

Internet of Things Hackerspace

english

+

I bring the "things", you do the hacking. With new low cost devices entering the market, access to the world of embedded computing is become more cost affordable. And, with continued advances in Java, developers can easily begin creating innovative applications that leverage these low cost devices.I will bring a variety of embedded devices, sensors, screens, and toys that you can program in Java. After a short demonstration, we will give you the opportunity to experiment with the hardware to create your own innovative device mashups. Let's see what creativity the JAX audience can come up with to build the Future!

Stephen Chin
20:45 to 22:45
Session

Real Steel – der ultimative Roboterfight!

german

+

Die Zeit, als sich noch Menschen im Ring duellierten, ist vorbei – ab sofort übernehmen Roboter das Kommando in der Kampfarena! Sei bei der JAX Embedded Night dabei: Bau mit deinem Team (bestehend aus 3-6 Personen) die ultimative Lego Mindstorms-Kampfmaschine, programmiere sie in Java und schick sie ins Duell der Maschinen. Wer seinen Konkurrenten als erstes aus dem Ring befördert, ist eine Runde weiter.Vor dem Wettbewerb gibt es eine ca. 45-minütige Einführung in Lego Mindstorms und dessen Programmierung unter Java. Der Wettbewerb eignet sich also auch bestens für Einsteiger. Auf alle Fälle garantieren wir den Teilnehmern jede Menge Spaß!

Bernhard Löwenstein
Thursday - 15. May 2014
07:00 to 08:30

Konferenz Check-in

08:30 to 09:45
Session

High-Performance-Networking on the JVM - Lessons learned

german

+

Entwicklung von Netzwerkapplikationen, die hoch performant sein müssen, ist heutzutage keine Seltenheit mehr. Doch gerade das Entwickeln solcher stellte ein Herausforderung da. Dieser Vortrag gibt eine Übersicht über Probleme und Lösungen, die wir bei der Entwicklung von solchen Frameworks, wie unter anderem Netty und Vert.x, gefunden haben. Lernen Sie von unseren Erfahrungen und Fehlern.

Norman Maurer
Session

Performance-Tuning für JSF-Anwendungen

german

+

Jede Technologie kann in den Ruf geraten, speicherhungrig und inperformant zu sein, wenn man sie nicht richtig einsetzt. Doch worauf kommt es an? Diese Session stellt Strategien vor, mit denen die Performance speziell von JSF-Anwendungen gesteigert werden kann. Neben den konkreten Maßnahmen werden Bibliotheken und Tools vorgestellt, die bei der Optimierung hilfreich sind.

Thomas Asel
Session

DevOps goes Mobile

german

+

DevOps hat uns viel gelehrt: Jedes Commit wird automatisch integriert, getestet und in eine Stagingumgebung installiert. Und einen Knopfdruck später geht das Release dann live.Aber leider funktioniert das und vieles mehr, was uns in Zeiten von DevOps als Normal erscheint, nicht bei mobilen Applikationen.Wie kann ich also schnell meine mobile Software anpassen, wenn der Betreiber des App Stores erst tagelang testen will? Wie kann ich Konfiguration anpassen, wenn die App auch offline laufen soll? Und wie funktioniert Fehlersuche, wenn die Daten auf Millionen von mobilen Clients verteilt sind?Beim Betrieb von mobilen Spielen mit Millionen täglicher Nutzer standen wir genau diesen Fragen gegenüber. Der Vortrag wird darlegen, welche Antworten wir darauf gefunden haben.

Jesper Richter-Reichhelm
Session

Going Reactive - High Performance JVM Code with Reactor

english

+

Reactor is a high-performance, low-latency framework for the JVM. It provides useful abstractions and integration for common use-cases these days, especially for big and fast data use cases. Underneath, it makes use of outstanding libraries such as the LMAX Disruptor, which is used in trading markets.This talk gives an introduction into the basic concepts and code examples, finishes off with an example on how to create an application that performs well at millions of operations per second. Along the way, you'll also see Java 8 mixed in, because Reactor already supports new language features like lambdas.

Michael Nitschinger
Session

Java-8-Tooling in Eclipse

german

+

In dieser Session demonstrieren wir anhand von Live-Coding den aktuellen Stand des Java-8-Toolings in Eclipse, natürlich inklusive der vielen kleinen nützlichen Content Assists, Quick Fixes und Refactorings.

Martin Lippert
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 weiss, wie.Dieser Talk zeigt, wie man konsistente, aktuelle Darstellungen verwirklicht, undo/redo implementiert, kollaboratives Arbeiten ermöglicht, grosse 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

First, let's kill all the Product Owners

english

+

By now, we are all comfortable with the orthodoxy: the product owner discerns the needs of the customer and feeds them to developers in the form a prioritized backlog. Developers pull work from that backlog, always confident that they're working on the highest-priority feature at the moment, and never having to worry about how those priorities are allocated. This system is simple, efficient, and has helped many teams function better than they used to. It's also time for the system to die.A few revolutionary companies are experimenting with the idea that developers should be in charge not only of when they build new features, but what features to build. Rather than mere code technicians following the will of a product and marketplace expert, developers themselves become experts in their product domain, building the tools users need—by conceiving of those tools themselves. Dispensing with the product owner creates an entirely new organizational tenor: one in which everyone is encouraged to master the business's domain, to organize their work in autonomous ways, and to take ownership of the purpose for which the organization exists.

Tim Berglund
Session

BPM konkret - Die Integration fachlicher Daten

german

+

Endlich wird es konkret: Nachdem das passende BPMS ausgewählt wurde, können wir uns endlich um das Anwendungsdesign kümmern. Unterscheidet sich das eigentlich von "normalen" (JEE-)Anwendungen? Wie auch immer: irgendwie müssen wir die Prozessdaten mit unseren fachlichen Daten zusammenbringen. Denn wir machen jetzt ja BPM. Ob das mit Anwendungsdesign zu tun hat? Oder mit der Infrastruktur, etwa mit unserem aktuellen Setup? Wahrscheinlich funktioniert das auch mit allen Tools und allen BPM-Anbietern gleich, oder?Diese Session ist eine Einführung in die Problematik "wohin mit den Fachdaten", die sich jedes BPM-Projekt früher oder später stellen muss. Konkrete Guidance und Tipps machen den Talk wertvoll für alle, die BPM-Projekte meistern dürfen.

Jonas Grundler
Session

Sind ernsthafte JavaScript-Projekte möglich?

german

+

Unabhängig von der steigenden Verbreitung von JavaScript, werden JavaScript-Projekten immer noch von manchen die Professionalität abgesprochen. Um das zu widerlegen, zeige ich in diesem Talk alle Werkzeuge, Techniken und Spracheigenschaften, die man braucht, um auch große und langlebige Projekte in JavaScript umzusetzen. Dazu gehören Modularisierung und Kapselung, Refactoring, Code-Analyse, statische Code-Checker und automatisierte Build-Prozesse und Tests.

Oliver Zeigermann
Session

Live-Hacking & Data-Exfiltration (erleben Sie die Sicht eines Angreifers an Praxisbeispielen)

german

+

Sehen Sie anhand einer Live-Demo, wie Angreifer gegen Webanwendungen und gegen andere User vorgehen, Sicherheitslücken aufspüren und diese zu realen Ausnutzungsszenarien eskalieren. Erleben Sie, wie unerwartet einfach mit Hilfe von typischen (und untypischen) Sicherheitslücken Sessions übernommen werden können, Transaktionen unter fremden Usern stattfinden, sensitive Daten exfiltriert werden und Server komplett gekapert werden können. Nach dieser Demo haben Sie u.a. ein anderes Verhältnis zu alert(1) und SQL-Fehlermeldungen in Ihren Webanwendungen.

Christian Schneider
Session

Map, flatmap and reduce are your new best Friends: simpler Collections, Concurrency, and Big Data

english

+

Higher-order functions such as map(), flatmap(), filter() and reduce() have their origins in mathematics and ancient functional programming languages such as Lisp. But today they have entered the mainstream and are available in languages such as JavaScript, Scala and Java 8. They are well on their way to becoming an essential part of every developer’s toolbox. In this talk you will learn how these and other higher-order functions enable you to write simple, expressive and concise code that solve problems in a diverse set of domains. We will describe how you use them to process collections in Java and Scala. You will learn how functional Futures and Rx (Reactive Extensions) Observables simplify concurrent code. We will even talk about how to write big data applications in a functional style using libraries such as Scalding.

Chris Richardson
Session

Accelerating Agile: Hyperperforming without the Hype

english

+

The fastest teams I've ever worked with have been agile. Not big-A, all-about-the-TDD, automate-everything, methodology-over-thinking Agile, but quietly-getting-on-with-business, delivering-the-goods, making-the-trade-offs agile. Think agile manifesto over agile methodology. It turns out the things I thought were great agile practices, while useful in certain circumstances, are by no means the whole story. Kaizen, or continuous improvement, must be coupled with kaikaku, or abrupt change, in order to avoid getting stuck in the local maximum of 1990s Agile methods. This talk is about how really high-performing teams work. Not just one or two flukes but enough that there might be something to it. The patterns and ideas in this talk are genuine experiences from active practitioners. This is agile in actuality. Agile is an attitude, not a rulebook.

Dan North
09:45 to 10:30

Kaffeepause

10:30 to 11:30
Session

Swing Best Practices

german

+

Nach all dem Gerede über JavaFX, zeigen wir hier, wie gut, schnell, sicher und günstig man in Swing konsistente und zeitgemäße Geschäftsanwendungen bauen kann. Es wird eine Tour durch eine Welt reifer, bewährter und solider Bausteine und Techniken für den Einsatz in Profi-Projekten.

Karsten Lentzsch
Session

Security 101 (was Sie bisher nie zu fragen wagten)

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 Security-Probleme und eklatante Sicherheitslücken. Schliesslich erleben Sie live einen Krypto-Angriff 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

Retro Gaming with Lambdas

english

+

Lambda expressions are coming in Java 8 and dramatically change the programming model.  They allow new functional programming patterns that were not possible before, increasing the expressiveness and power of the Java language.In this session, you will learn how to take advantage of the new lambda-enabled Java 8 APIs by building out a retro video game in JavaFX.Some of the Java 8 features you will learn about include enhanced collections, functional interfaces, simplified event handlers, and the new stream API.  Start using these in your application today leveraging the latest OpenJDK builds so you can prepare for the future Java 8 release.

Stephen Chin

Web Operations: Risiko und Sicherheit in Production

german

+

Web Operations ist immer noch ein sehr junges Feld, DevOps ist sogar noch jünger. Während wir noch versuchen zu verstehen, wie komplexe Systeme in Production zusammenspielen, haben andere Industrien über lange Jahre Pionierarbeit geleistet. Es lohnt, sich umzuschauen.In diesem Talk werden die Themen Risiko, Sicherheit und Human Error ins Rampenlicht gerückt. Die Perspektive auf andere Industrien, die mit ähnlichen Problemen konfrontiert sind, lohnt sich, um die Arbeit in der eigenen Organisation zu verbessern, zu optimieren und sich damit anzufreunden, dass immer Dinge schief gehen werden.

Mathias Meyer
Session

BPMN 2.0 - Best Practices und Patterns

german

+

Nach bald sieben Jahren täglicher Arbeit mit der BPMN ist bei uns längst ein Set an bewährten Patterns entstanden. Das sind Modellfragmente für Probleme, wie zum Beispiel mehrstufige Eskalation oder Serviceorchestrierung, aber auch Good bzw. Bad Practices rund um Prozessautomatisierung mit BPMN 2.0. In diesem Talk stelle ich unsere "Top Ten"-Patterns vor und überprüfe sie auf technische Ausführbarkeit.

Bernd Rücker
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

Harte Fakten! Die TOP 5 der Soft Skills für IT-Architekten – 4:1

german

+

Persönlichkeit entscheidet! Umfrageergebnisse zeigen, dass die Persönlichkeit bis zu 88% in einem Gespräch entscheidet. Neben den fachlichen Kompetenzen, den "Hard Skills", werden die persönlichen Qualifikationen, die "Soft Skills" immer wichtiger. Vier von den TOP 5 der gesuchten Skills für IT-Architekten sind Soft Skills. Es gilt nun, die Soft Skills mit den technischen Fähigkeiten zu verbinden, um so eine überzeugende Einstellung intern, aber auch extern zu erhalten. Die wachsende Bedeutung so genannter weicher Faktoren wie Teamfähigkeit, Kommunikationsfähigkeit, Flexibilität, Analytisches Denken und Kundenorientierung wird immer deutlicher. Hinterfragt man jedoch die Inhalte dieser Merkmale, herrscht erst mal Ratlosigkeit. Der Unterschied wird heute zwischen den Menschen gemacht! Entdecken, erweitern, trainieren und optimieren Sie Ihre Soft Skills mit uns!

Ali M. Akbarian
Session

Awesome Eclipse Platform News and how to contribute

german

+

Der Talks stellt die aktuellen Entwicklungen in der Eclipse Platform (Java IDE und RCP) vor. Hierbei werden die Highlights demonstriert. Der Talk erklärt auch, wie man beim Plattformprojekt mitmachen kann.

Hendrik Still, Lars Vogel
Session

Functional Groovy

english

+

Yes, Groovy is functional too!Groovy closures are our fist-class citizen functions, that you can recurse, compose, memoize, trampoline and curry, and that you can leverage to build higher order functions and Domain-Specific Languages.With them, the usual map / filter / reduce logic can be applied elegantly to your problem domain.We will also not forget to speak about immutability, tail recursion, laziness, infinite streams.Will also be mentioned useful libraries that marry elegantly with Groovy, for giving you more bang for the buck, to deal with concurrency and parallelism, or even persistent collections.

Guillaume Laforge
Session

HTML5, CSS3 und Javascript - Eine Alternative zu JSF?

german

+

Java Server Faces ist seit 2004 der Standard wenn es um Enterprise Java und Web Anwendungen geht. Mittlerweile in Version 2.2 ist JSF jedoch in die Jahre gekommen und sieht sich immer häufiger in Konkurrenz zu modernen Technologien wie JavaScript und HTML5. In einem Dialog anhand einer Beispielanwendung führen Stefan Bley und Marco Dierenfeldt das Publikum durch die Gemeinsamkeiten, Vor- und Nachteile der beiden Web-Frontend-Technologien.

Marco Dierenfeldt, Stefan Bley
Session

Spring Data Solr

german

+

Apache Solr zählt zu einer der bekanntesten Open Source Suchlösungen welche sich mit geringem Aufwand auch in bestehende Anwendungen integrieren lässt. Am Beispiel wird gezeigt wie man mit Spring Data Solr, abgeleiteten Queries sowie Annotationen für Solr spezifische Funktionen rasch Suchfunktionen einbinden und verwenden kann. Der Schwerpunkt liegt in der Betrachtung der Kernfunktionen (Suche, Facetten, Highlight) von Solr, grundlegen Spring Data Features und deren Umsetzung im Zusammenspiel in einer Spring MVC Anwendung.

Christoph Strobl
11:45 to 12:15
Keynote

Evolution from Apache Hadoop to the Enterprise Data Hub

english

+

Our legacy information architecture is not able to cope with the realities of today's business. This is because it is not able to scale to meet our SLAs due to separation of storage and compute, economically store the volumes and types of data we currently confront, provide the agility necessary for innovation, and most importantly, provide a full 360 degree view of our customers, products, and business. In this talk Dr. Amr Awadallah will present the Enterprise Data Hub (EDH) as the new foundation for the modern information architecture. Built with Apache Hadoop at the core, the EDH is an extremely scalable, flexible, and fault-tolerant, data processing system designed to put data at the center of your business.

Dr. Amr Awadallah
12:15 to 12:45
Keynote

Aktuelle Herausforderung bei Enterprise UIs

german

+

Ende 2013 hat SAP ein eigenes Framework auf Basis von JQuery für die Entwicklung von Enterprise User Interfaces unter einer Open Source Lizenz zur Verfügung gestellt. Das Framework mit Namen OpenUI5 hilft bei der Entwicklung anspruchsvoller Geschäftsanwendungen und unterstützt solche Aspekte wie Responsive Design, Security, Accessibility und Multi-Plattform-Kompatibilität.Das Framework hat zum Ziel, den immer anspruchsvoller werdenden Nutzern eine moderne Umgebung zu bieten, dabei aber den Entwicklern den Rücken frei zu halten, damit diese sich auf ihre Kernaufgaben - die Business-Anwendungen - konzentrieren können.Frederic Berg, verantwortlich für die OpenUI5 Runtime, war aktiv bei der Entwicklung dabei und erläutert die Gründe, warum sich die SAP entschlossen hat, das Framework zu entwickeln und einer breiten Community zur Verfügung zu stellen. Warum geht SAP diesen Weg? Was ändert sich dadurch für Enterprise Web Entwicklung?Darüber hinaus benennt er aktuelle Trends, technische Hintergründe sowie verschiedene Überlegungen zu den Vor- und Nachteilen von JavaScript-basierenden Webanwendungen im Enterprise-Umfeld.

Frederic Berg
12:45 to 14:15

Mittagessen & Verlosung

14:15 to 15:15
Session

Making the Eclipse IDE fun again

german

+

Eclipse ist immer noch die am weitesten verbreitete IDE für Java-Entwicklung, aber die Klagen über Eclipse nehmen zu: Eclipse ist zu groß, zu langsam, zu schwergewichtig, zu überladen, unterstützt nicht Sprache X, ist schwierig zu konfigurieren, und Ähnliches. Eclipse scheint den guten Ruf als hervorragende Java-IDE langsam zu verlieren. Das muss nicht sein. Es sollte wieder Spaß machen, Eclipse als IDE zu verwenden.Die Session zeigt anhand von Livedemos, wie Eclipse wieder Spaß machen kann. Dabei umfassen die Livedemos sowohl Dinge, die in Eclipse bereits vorhanden, aber selbst genutzt werden, als auch Erweiterungen, die die eigentliche IDE einfacher und schneller machen.

Martin Lippert
Session

Drohnen und WARP-Antriebe - JSF-Anwendungen mit Arquillian Drone und Arquillian WARP testen

german

+

Arquillian ermöglicht "In-Container"-Tests. Will man JSF-Anwendungen testen, genügt dies nicht, da ja auch clientseitige Eingaben und Prüfungen benötigt werden. Das Arquillian-Projekt Drone verwendet Selenium, um Clienteingaben und Prüfungen zu realisieren. Mit den üblichen Arquillian-Möglichkeiten hat man damit sowohl den Client als auch den Container im Zugriff.Das Arquillian-Projekt WARP ermöglicht ebenfalls client- und serverseitigen Zugriff. Es befindet sich gerade in der Inkubationsphase als Arquillian-Teilprojekt. Obwohl noch nicht vollständig, erscheint ein Blick in die aktuellen Möglichkeiten sinnvoll.

Bernd Müller
Session

JavaScript Security aus dem Blickwinkel des Java-Entwicklers

german

+

Als JavaScript als Sprache designed wurde stand einfache Objektorientierung, Flexibilität und Mächtigkeit im Vordergrund - der Scope war allerdings, mit der Bearbeitung von HTML-Formularen im Browser, eher beschränkt. Heute gibt es Codebasen mit mehreren Millionen Zeilen Code in JavaScript, und praktisch jedes Problem einer Enterprise-Applikation kann mit JavaScript gelöst werden. Der Talk zeigt welche Wirkung Sprachdesign und Engine von JavaScript auf die Anwendungsfelder von heute hat, welche eigenen Fehlerklassen dadurch entstehen und wie man sie in der praktischen Arbeit umgeht.

Johann-Peter Hartmann
Session

Performance Optimierung - Squeeze out the last 5%

german

+

Performance ist in aller Munde doch wie erreicht man diese? Es gibt viele leicht ersichtliche Möglichkeiten seine Software performant zu gestallten. Doch was wenn man die letzten 5 % Performance braucht?Dieser Vortrag gibt einen Einblick in Performance-Killer und wie diese Vermieden werden können. Des Weiteren werden Techniken gezeigt die es der JVM/JIT erlauben den auszuführenden Java Code am effizientesten zu Optimieren. Hierzu gehören unter anderem Inlining / Loop unrolling / Padding und vieles mehr.

Norman Maurer
Session

Soft Skill Patches

german

+

Soft Skills sind ein wesentlicher Faktor für das Gelingen von IT Projekten. Sie entwickeln Ihre technischen Skills fortlaufen weiter? Das können Sie mit Ihren sozialen Kompetenzen genauso machen. Anhand einiger Beispiele wird in dieser Session demonstriert,  wie Soft Skills mittels praktischer Übungen effektiv trainiert werden können. Patch your Soft Skills!

Dr. Jörg Preußig
Session

Rapid Application Development mit Grails und Angular JS

german

+

Mit Seiten-basierten Webanwendungen lassen sich heutzutage keine Blumentöpfe mehr gewinnen. Nutzer erwarten und benötigen interaktive Inhalte, hohen Bedienkomfort und Flexibilität im Hinblick auf das verwendete Darstellungsmedium. Sowohl clientseitig als auch im Backend müssen uns solche Anforderungen jedoch dank moderner Architekturparadigmen und Frameworks nicht mehr ins Schwitzen bringen. Der Vortrag zeigt am konkreten Beispiel, wie sich durch Kombination von Server- und Client-seitigen Application Development Frameworks eine höchst produktive Plattform für die Entwicklung individueller Rich Client Web Apps zusammen stellen lässt.

Stefan Glase, Stefan Scheidt
Session

TypeScript: JavaScript für Java-Entwickler?

german

+

JavaScript ist die Standard-Programmiersprache im Webbrowser. Viele Java-Entwickler sind jedoch skeptisch und vermissen Dinge wie statische Typprüfung, Klassen, usw. TypeScript ist eine Obermenge von JavaScript, die nach JavaScript kompiliert. TypeScript bietet statische Typprüfung zur Compilezeit, Interfaces, Klassen, Module und vieles mehr. Diese Session gibt einen Überblick über TypeScript und zeigt an vielen praktischen Beispielen, welche Vorteile TypeScript bietet, gerade wenn man größere Projekte gerne in JavaScript realisieren würde, aber Bedenken bezüglich der Abstraktionslevel und der dynamischen Typisierung hat.

Kai Tödter
Session

Schluss mit Copy & Paste - Design Patterns automatisieren mit Xtend

german

+

Design Patterns werden oft als etwas fortschrittliches oder auch professionelles dargestellt. Software Entwickler, die nicht wenigsten das Buch der Gang-Of-Four [1] gelesen haben oder aus dem Stand erklären können wie z.B. ein Visitor-Pattern zu implementieren ist, gelten als mindestens weniger erfahren. Aber sind Design Pattern wirklich so was tolles? Sind sie nicht in Wirklichkeit ein Ergebnis fehlender Sprachmitteln um diese Muster wiederverwendbar, also als Bibliothek zu implementieren?In dieser Session werden wir zeigen, wie Sie Redundanzen in Ihrem Java Projekt mit Hilfe von Xtend entfernen und gleichzeitig mithilfe moderener Codegenerierungstechniken nachhaltig die Produktivität Ihrer Entwickler verbessern können. Der Vortrag enthält viele Live-Demos!

Sebastian Zarnekow, Sven Efftinge
Session

Advanced Web Development Techniques with Grails 2

english

+

Getting started building web applications for the Java platform is easy. Following that through to rich interactive applications that solve the business needs is more tricky. Grails 2 goes the whole way to address pain points not only for simple applications but of real enterprise applications with real demands. This session steps through many of the advanced features of Grails 2 that help get your applications through that last 20% that teams often struggle with. This session is not the standard hello world CRUD introduction to Grails. Grails has long made web application development both fun and easy. This session dives beyond the basics to cover a lot of the advanced features introduced in Grails 2.

Jeff Brown
Session

State of the Art JVM Networking with Netty 4

english

+

Netty is a popular open source library that greatly simplifies the development of network applications on top of the JVM. It abstracts the burden to deal with tedious low level details and allows you to concentrate on your business logic instead. It is uses by high profile companies like Red Hat, Twitter or Facebook and designed from the ground up to handle high throughput at low latency, even with thousands of connections at the same time.

The first part of the talk introduces the audience to networking on the JVM, why a library like Netty is needed and then shows how it can be used in practice. Finally, you'll see how Netty is used inside the Couchbase Java SDK to help it scale into the hundreds of thousands operations per second.

Michael Nitschinger
Session

BPM ohne Grenzen: Toolübergreifende unternehmensweite Kollaboration

german

+

BPM wird mehr denn je als gemeinsames Vorhaben unterschiedlichster Rollen und Beteiligter verstanden. In der Praxis gestaltet sich ein solches Vorhaben oft schwieriger als erwartet. Die Session zeigt einen neuen Lösungsweg auf, wie alle Beteiligten Organisations- und Werkzeugübergreifend zusammenarbeiten können. Es wird exemplarisch gezeigt, wie ein Fachbereichsprozess aus einem BPM Werkzeug mit einem IT-Workflow aus einem Workflowdesigner und einer Prozesslandkarte aus Visio integriert werden.

Jochen Seemann
Session

The DevOps Maturity Curve - where are you?

english

+

While the DevOps journey comprises the key stages Complete Agile Development, Continuous Delivery, Continuous Validation, and "Closed Loop", this session will mainly focus on several key supporting technologies:Service Virtualization - why simulations of application behavior can ensure early defect capture and resolution, and increase Sprint velocity API Virtualization - expedite mobile development and remove 3rd party/channel dependency Release Automation - build tools such as Puppet and Chef are a start, but what is needed is an automation of the complex workflows between dev, test and production environments and application deployment - physical, cloud or hybrid.

Justin Vaughan-Brown
15:15 to 15:45

Kaffeepause

15:45 to 16:45
Session

Polyglot Web Development With Grails 2

english

+

Grails is one of the most flexible and most powerful frameworks on The Java Platform. Grails leverages the flexibility offered by the platform in a way that other web frameworks do not.  Grails is a fantastic platform for polglot web programming. Part of what makes Grails so compelling is its really powerful plugin system. The Grails plugin system allows capabilities to be bolted on to applications, including adding support for a variety of programming languages. All of the major programming languages available on the JVM are supported by The Grails Framework. These include Java, Groovy, Scala, Clojure and others. This session will dive in to that aspect of the framework with a focus on Scala and Clojure and will demonstrate what is involved in adding support for new languages.

 

Jeff Brown
Session

Sagt mein Profiler die Wahrheit? Wie funktioniert er eigentlich?

german

+

Um die Performance einer Anwendung zu verstehen oder einem dubiosen Performanceproblem auf die Schliche zu kommen, setzen Entwickler gerne Profiler ein. Doch was sind das für Zahlen, die der Profiler produziert? Stimmen diese überhaupt? Wie misst der Profiler eigentlich? Was sind mögliche Fehlerquellen? Sind die Zahlen überhaupt vergleichbar? Lässt sich irgendetwas Sinnvolles mit den produzierten Ergebnissen anfangen? Der Vortrage gibt Antworten auf diese Fragen. Die Teilnehmer werden verstehen, wie die von Profilern produzierten Ergebnisse zu bewerten sind. Sie betrachten die eingesetzten Messverfahren und lernen, sie korrekt zu konfigurieren. Viele der Probleme und ihre Lösungen werden am Code live ausprobiert. Die gewonnen Erkenntnisse lassen sich im Entwickleralltag auf die Werkzeuge aller Hersteller anwenden.

Fabian Lange
Session

JSF und JavaScript - ein starkes Team

german

+

An einem Einsatz von JavaScript kommt heutzutage kaum noch eine moderne Webanwendung vorbei. JS-Frameworks wie jQuery, AngularJS oder andere helfen, browserunabhängig hervorragende Effekte und Funktionalitäten zu erzielen. JSF andererseits hat viele Vorteile im serverseitigen Bereich. Gerade in der Kombination von JSF und JavaScript entstehen viele Vorteile. Allerdings gibt es auch ein paar Stolpersteine, die es zu beachten gibt.

Andy Bosch
Session

User-Interface-Architektur in JavaFX

german

+

Immer mehr Anwendungen setzen auf JavaFX. Und während in Swing und SWT mit Eclipse RCP oder der NetBeans-Plattform Anwendungsframeworks zur Verfügung stehen, die helfen eine Anwendung zu strukturieren, gibt es bei JavaFX fast noch nichts. Das kann aber auch eine Chance sein, denn oft geben solche Frameworks auch sehr genau vor, wie eine Anwendung am Ende aussehen wird.In dieser Session geht es darum, wie man auch ohne komplette Frameworks eine klare Anwendungsarchitektur umsetzen kann. Wie lassen sich UIs einfach und deklarativ in modularen Anwendungen aufbauen? Wie setzt man kontextsensitive Aktionen ohne eine zu enge Kopplung der Komponenten um? Wie lassen sich Actions wiederverwendbar registrieren, und welche Bibliotheken helfen, den UI-Code schlank, einfach, elegant und übersichtlich zu halten?

Anton Epple
Session

Keine Angst vor runden Klammern - Clojure: das Lisp auf der JVM

german

+

Clojure ist eine innovative, ungemein praktische JVM-Sprache mit Lisp-Wurzeln, die von Grund auf für die Parallelverarbeitung ausgelegt ist und dabei mit vielen bekannten Mustern aus der OO-Welt bricht. Ein besonderes Merkmal ist dabei das klare und einfache grundlegende Design der Sprache. Im Vortrag wird nach einer Einführung in die Konzepte und die Syntax der praktische Nutzen von Clojure demonstriert und insbesondere auch auf die Integrationsmöglichkeiten mit anderen JVM-Sprachen eingegangen.

Silvia Schreier, Stefan Tilkov
Session

Maßnahmen zur Absicherung von Webanwendungen

german

+

In diesem Vortrag werden verschiedene Maßnahmen vorgestellt, durch die sich webbasierte Anwendungen gegen unterschiedlichste Angriffe und Bedrohungen schützen lassen und häufige Fallstricke hierbei diskutiert. Neben verschiedenen Ansätzen zur korrekten Validierung von Daten werden dabei unter anderem Themen wie die Content Security Policy (CSP), Indirektionen, Absicherung von Dateiupload-Funktionen und Cross-Domain-Zugriffen, Maßnahmen zur Anti-Automatisierung und zur sicheren Ablage von Passwörtern, Zugriffssteuerung sowie der Härtung des Session Managements und natürlich des Webservers selb

Matthias Rohr
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

Cassandra

english

+

What do you do when your data is not only big, but also needs to be fast? Apache Cassandra is a scalable, fault-tolerant database that has found its way into more than 25% of the Fortune 100 and continues to enjoy significant adoption in the marketplace. In this talk, we’ll explore Cassandra’s internals, its flexible data model, its SQL-like query language, and its distribution architecture. You’ll leave ready to begin exploring Cassandra on your own.

Tim Berglund
Session

Schrei vor Glück mit BPMN

german

+

Zu Weihnachten 2013 hat Zalando einen Teil seines Bestellvorgangs auf eine BPMN 2.0 Process Engine umgestellt. In diesem Vortrag zeige ich, welche Schritte nötig waren um die BPMN gestützte Automatisierung einzuführen. Skalierbarkeit, Wartbarkeit und Integration in unsere große SOA Plattform waren die Kernthemen bei der Konzeption und Umsetzung des Projektes. Mittlerweile wird jeder Zalando Einkauf darüber abgewickelt.

Tobias Sarnowski
Session

Softwarearchitektur für DevOps und Continuous Delivery

german

+

Trends wie DevOps oder Continuous Delivery werden immer wichtiger. Sie beeinflussen auch zunehmend Softwarearchitekturen - und genau darum geht es in diesem Vortrag. Die Grundlagen von DevOps und Continuous Delivery werden dargestellt und anschließend die Auswirkungen auf Softwarearchitekturen. So wird deutlich, wie in Zukunft Enterprise-Systeme erstellt werden müssen, damit sie den aktuellen nicht funktionalen Anforderungen gerecht werden.

Eberhard Wolff
Session

Wider den Innovationsstau: Eclipse und die Intelligenz der Massen

german

+

Die Eclipse IDE ist angestaubt, keine Innovationen mehr, sagt man. In der Tat unterscheiden sich die großen Drei, Eclipse, NetBeans und IntelliJ, nur noch in Details voneinander - z.B. durch intuitivere Shortcuts hier oder schönere Editoren dort. Diese Features sind nett, helfen Entwicklern aber nur wenig, denn die meiste Zeit verbringen sie nach wie vor im Debugger.Wovon Entwickler wirklich profitieren würden, wäre eine intelligente IDE, die mitlernt, wie man eine Bibliothek richtig verwendet, und die sie so vor häufigen Fehlern warnt. Utopisch? Keineswegs. Dieser Talk zeigt Ihnen, wie Eclipse Code Recommenders die Intelligenz der Entwicklermassen nutzt, um die IDE der Zukunft zu schaffen.

Marcel Bruch
17:00 to 18:00
Session

Fahndung nach der IT-Sicherheit… Das gibt es doch gar nicht mehr, oder doch?

german

+

Durch die aktuell brisanten Veröffentlichungen der "Datensammelwut" der Geheimdienste, werden wir alle uns bewusst, dass Sicherheit unsere IT-Systeme und Daten ein sträflich vernachlässigtes Thema ist. Mit diesem Panel bekommen Sie die Gelegenheit mit den Experten des "Security Days" darüber zu diskutieren. Welche Probleme gibt es und mit welchen Strategien können wir einen Beitrag zur besseren Sicherheit unserer Unternehmen und Kunden beitragen? Sie sind herzlich eingeladen, uns bei der Fahndung nach der IT-Sicherheit mit Ihren Fragen und Erfahrungen zu unterstützen.

Christian Schneider, Gernot Starke, Johann-Peter Hartmann, Matthias Rohr, Peter Roßbach, Tobias Hahn
Session

Continuous Delivery in the Cloud

english

+

Platforms like Amazon EC2 are most useful if you apply automation everywhere, from configuration management over CI up to deployment.  This session will shed some light on best practices and patterns that proved useful. We will look at how DevOps is easier in a highly automated environment and learn to think about servers as disposable. We will create pipelines that assemble source, CI tools, configurmation management and stage-based deployment and introduce the concept of limiting blast radius.

Jonathan Weiss
Session

JSF vs. GWT? JSF und GWT!

german

+

Mit JSF steht Entwicklern ein ausgereiftes Framework zur Verfügung, das seine Stärken besonders bei formularbasierten Webanwendungen ausspielt. Geht es um die Entwicklung von hoch interaktiven Anwendungen, reichen die JSF-Bordmittel jedoch häufig nicht aus. Das Google Web Toolkit (GWT) verfolgt einen komplett anderen Ansatz. GWT erlaubt es, Java-Quellcode in JavaScript zu übersetzen, das dann vollständig im Browser läuft. Diese Session zeigt, wie sich eine JSF-Anwendung mittels GWT um clientseitige Funktionalität erweitern lässt, und beschreibt, in welchen Situationen diese Kombination einen echten Mehrwert für die Usability bringen kann.

Christian Kaltepoth
Session

Mobile Technology Choice

german

+

Wer heute im Bereich App-Entwicklung einsteigen möchte, kann nicht über Mangel an möglicher Technologien klagen, ganz im Gegenteil, im Technologiedschungel fällt die Auswahl der passenden Technologie meistens schwer. Der Talk gibt Aufschluss über mögliche Ansätze für die Implementierung mobiler Enterprise-Lösungen und liefert eine kleine Entscheidungshilfe für die Wahl der passenden Technologie - Code und Praxisbeispiele sind Bestandteil des Talks.

Domenic Benz, Florian Müller
Session

Cross-Plattform-Web-Apps mit jQuery Mobile

german

+

Die Welt ist mobil geworden, und ein Großteil der Internetzugriffe findet heutzutage über mobile Endgeräte wie Smartphones oder Tablets statt. Will man möglichst viele verschiedene Geräte unterstützen, bietet sich die Entwicklung von Cross-Plattform-Webapplikationen an. jQuery Mobile ist genau dafür wie geschaffen: ein leichtgewichtiges Framework, basierend auf HTML5 und JavaScript, aufbauend auf jQuery und jQuery UI. Dieser Vortrag gibt eine Einführung in jQuery Mobile und zeigt an vielen praktischen Beispielen und Live-Coding, wie einfach man mobile Apps mit jQuery Mobile entwickeln kann.

Kai Tödter
Session

JDK 8 Start-up und Technologie-Check

german

+

Nach der Freigabe vom JDK 8 im März dieses Jahres wird es Zeit, sich ernsthaft mit dem neuen Release 8 zu beschäftigen und die zum Durchstarten notwendige Technologiecheckliste abzuarbeiten. Die Funktionalität des 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 Type-Annotationen, dem Date and Time API, JDBC 4.0, Java-Compiler-API, Streaming API for XML und dem Java-API zur XML-Verarbeitung 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-Desktoptechnologie 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

BPM - It's done when it is tested!

german

+

Agiles Vorgehen macht vor keinem Projekt halt, erst recht nicht vor BPM-Projekten. Wie können wir mit einer performanten Testautomatisierung die Funktionalität und Wartbarkeit unserer automatisierten Prozesse sicherstellen? Wie lassen sich die bekannten und liebgewonnen Testmechanismen aus der Java-Welt auf die Prozessdenkweise übertragen? Anhand von Live-Beispielen auf der camunda BPM Plattform und der Oracle BPM Suite erläutern wir praxiserprobte Testarchitekturen und -lösungen.

Attila Németh, Stefan Glase, Torsten Winterberg
Friday - 16. May 2014
08:00 to 09:00

Konferenz Check-in

09:00 to 17:00
Workshop

Rich-Client-Entwicklung mit der Eclipse 4.x Application Platform

german

+

Die Eclipse 4.x Application Platform bringt (verglichen mit Eclipse RCP 3.x) eine ganze Reihe von neuen Features mit. Ein Ziel von Eclipse 4.x war es, die Entwicklung von Plug-ins und Rich Clients einfacher zu machen. In diesem Power Workshop werden wir eine kleine, aber vollständige Applikation auf Basis der Eclipse 4.x Application Platform entwickeln, die viele der neuen Features beinhaltet. Dieser Workshop ist sehr interaktiv und beinhaltet viele praktische Übungen. Bringen Sie deswegen Ihr Notebook mit (mit aktuellem Java JDK installiert). Folgende Themen werden behandelt:

  • Einführung und "Hello, World"-Applikation
  • Application Model (inklusive Toolbar, Menü, Parts, Commands und Handlers)
  • Dependency Injection
  • Services
  • Look-and-Feel-Anpassungen mit CSS
  • Rendering mit JavaFX/Swing
  • und vieles mehr...
Kai Tödter
Workshop

Von der Datenbank ins Web - End-to-End REST Web Services mit Spring

german

+

Spring bietet breite Unterstützung für die Entwicklung von Java Enterprise Web Services: von einfachen, ausgefeilten Datenzugriffsschichten bis hin zu Hypermedia-getriebenen REST Web Services. Im Workshop wird Schritt für Schritt ein REST Web Service implementiert und aufgezeigt, inwieweit die Spring-Ökosystemprojekte Unterstützung in allen Bereichen der Entwicklung bieten.

Oliver Gierke
Workshop

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

german

+

Während im Enterprise-Umfeld Systeme häufig immer noch nach denselben Mustern entworfen werden wie vor zehn oder fünfzehn Jahren, haben sich die Dinge in den immer größer werdenden Internetplattformen, -diensten und Anwendungen der bekannten Internetanbieter dramatisch weiterentwickelt. In diesem Vortrag diskutieren wir, wie wir nach Mustern aus diesem Umfeld und mit der Maxime "weniger ist mehr" kleinere Systeme sehr viel effizienter entwickeln und diese dann zu großen Systemlandschaften zusammensetzen können.

Philipp Schirmacher, Phillip Ghadir, Robert Reimann, Tobias Neef
Workshop

Mehr Client wagen! - Next Generation Web mit Java EE

german

+

In Zeiten von HTML5, client-side JavaScript-Frameworks, REST und WebSockets scheinen die Tage von klassischen serverseitigen Web-Anwendungen und damit einhergehend von Java EE einmal mehr angezählt. Doch weit gefehlt! Im Rahmen dieses praktischen Workshops wird gezeigt, wie mit Hilfe von Java EE 6/7 Bordmitteln (CDI, JAX-RS, WebSockets, Async APIs, ...) und aktuellen client-side Frameworks (AngularJS, Backbone, Riot, Socket.io, ...) moderne Web-Anwendungen realisiert werden können. Ausgehend von einer Architekturdiskussion werden anhand von ausgewählten Use-Cases die Möglichkeiten und Features der aktuellen Client- und (Java-EE-)Server-Technologien beleuchtet und damit praktische Grundlagen vermittelt, von denen nicht nur einfache Web-UIs, sondern vor allem auch herkömmliche Business-Web-Anwendungen profitieren können. Dabei spielt es keine Rolle, ob es sich um ein Projekt auf der grünen Wiese oder aber um die Erweiterung bestehender Enterprise-Java-Anwendungen inkl. serverseitigem Web-Framework (z.B. JSF) handelt. Notebook nicht vergessen!

Jens Schumann
Workshop

Continuous Delivery

english

+

Getting software released to users is often a painful, risky, and time-consuming process. This workshop sets out the principles and technical practices that enable rapid, incremental delivery of high quality, valuable new functionality to users. Through automation of the build, deployment, and testing process, and improved collaboration between developers, testers and operations, delivery teams can get changes released in a matter of hours – sometimes even minutes – no matter what the size of a project or the complexity of its code base. The workshop materials are derived from the best selling book "Continuous Delivery" and creating in collaboration with the authors and other of my ThoughtWorks colleagues.

Neal Ford
Workshop

Accelerated Agile: From Months to Minutes

english

+

Great software professionals build better software faster. Agile methods, continuous delivery and software craftsmanship helped speed up delivery from years to months or even weeks, but then what?Some teams are able to deliver software at a speed of change like you have never seen before, delivering quality software in days or even hours, again and again. So what is keeping the rest of us from doing so? Now is the time to go from months to minutes, to rethink the way we organize and improve our software development and delivery process.Accelerated Agile is for people who believe it can be done. People who feel themselves limited by current Agile, CD and Craftsmanship thinking. People who want to go back to basics and uncover new, simpler ways to deliver great software. Are you a seasoned agile developer who is frustrated at how slow your “hyper-performing” process feels? Are you suffering with an unwieldy feature backlog, the pantomime of estimation, the card wall where cards go to die, the efforts to automate where it obviously isn’t adding anything? Are you fed up with the artificial commitment of sprints and the unwelcome surprises that still seem to derail your projects?Accelerated Agile brings agile principles into the 21st century. You will learn new techniques that both enhance and replace existing agile practices, some of which are counter-intuitive and many which are completely counter to current "agile" doctrine. Using a mixture of discussion, instruction and exploration you will start to think differently about design, architecture, development and testing, operations, automation and team dynamics, as well as working with legacy systems and integrating with third parties.

Dan North
09:00 to 10:30
Session

JBatch++ mit Apache BatchEE

german

+

Apache BatchEE ist ein von den JBatch-Originalautoren abgesegneter Fork der JSR-352-Referenzimplementierung. In BatchEE sind außerdem bereits wichtige Bugfixes und Modularisierungsmaßnahmen eingeflossen. Zusätzlich zu diesem Kernmodul bietet BatchEE aber auch viele in der Praxis erprobte Erweiterungen wie diverse standardisierte ItemReader und ItemWriter, z.B. für CSV-Import/-Export und neben einem eigenen batchee-maven-plugin auch diverse frontends wie zB JAX-RS, ein eigenes Steuerungs Servlet oder einen Commandline Client zur Ausführung von Batches im Java-SE-Umfeld.Nach einer kurzen allgemeinen Einleitung in die Methodiken der JBatch-Spezifikation werde ich vor allem auf die möglichen operativen Umgebungen eingehen sowie Stolperfallen und Best-Practice-Tipps aufzeigen. Als PMC Member und aktiver Committer des Apache-BatchEE-Projekts werde ich auch einen Ausblick auf die zu erwartenden Neuerungen des Projekts geben.

 

 

Mark Struberg
10:30 to 11:00

Kaffeepause

11:00 to 12:30
Session

Tschüs Java-EE-Thread-Sorgen, hallo JSR 236

german

+

Kopfschmerzen wegen Multi-Threading in Java-EE-Applikationen waren gestern. Die "Concurrency Utilities for Java EE" bringen ThreadPool-Management und Monitoring in den Application Server, sodass Entwicklern diese Sorgen genommen werden. Welche Vorteile bringt der JSR 236 eigentlich mit? Wie können die ManagedExecutor Entwicklern und Operatoren helfen, Asynchronität und Parallelverarbeitung zu realisieren, zu steuern und zu überwachen? Was hat Spring 4.0 eigentlich mit dem JSR 236 zu tun? Diese und weitere Fragen sollen in der Session beantwortet werden.

Alexander Heusingfeld
12:30 to 13:30

Mittagessen

13:30 to 15:00
Session

Real Life Persistence

german

+

Mit JPA 2.1 wurde in Java EE 7 ein weiterer Schritt in Richtung Provider-Unabhängigkeit gegangen. Auch wenn damit weitere Möglichkeiten des Einsatzes mit JPA geschaffen wurden, gibt es in der Praxis weiterhin viele Dinge zu beachten.In der Session werden neben klassischen Architekturansetzen zum Einsatz von JPA auch weitergehende Herausforderungen diskutiert. Wie kann JPA im Zusammenhang mit den neuen JSRs für Batch-Verarbeitung und den Concurrency Utilities beleuchtet, die erweitere Möglichkeiten im Bereich Asynchronität bieten? Diese neuen Möglichkeiten stellen gleichzeitig auch neue Herausforderungen an die Verwendung von JPA und an die Transaktionsbehandlung. Wie sieht es mit JPA und NoSQL aus?. Die Session stellt bewährte Pattern aus der Praxis vor, zeigt Fallstricke auf und stellt Lösungswege vor.

Arne Limburg
15:00 to 15:30

Kaffeepause

15:30 to 17:00
Session

„It’s not rocket science“, aber ganz nah dran

german

+

Java EE: Kaum ein anderes Framework schafft es dermaßen gut, vorhandene Komplexität hinter einfachen Spezifikationen und APIs zu verstecken. Was in der Theorie der Lehrbücher und in einfachen Beispielen problemlos funktioniert, führt in der Praxis allerdings nicht selten zu nicht brauchbaren und wenig performanten Architekturen - von Skalierung ganz zu schweigen. Wo liegt das Problem? Enterprise-Computing-Projekte haben ihre eigenen Herausforderungen und Gesetze, denen man leider nur selten mit 08/15-Lösungen Herr werden kann. Der Teufel steckt wie immer im (Praxis-)Detail und es gilt aus den Erfahrungen anderer zu lernen, um nicht jeden Fehler selber machen zu müssen. Die anwesenden Java-EE-Experten zeigen in dieser Session klassische Pitfalls und Anti-Pattern aus ihrem Praxisalltag auf, die in der Theorie zwar gute Lösungen zu sein scheinen, in der Praxis aber ins Chaos führen – Alternativen inklusive. Lassen sie sich überraschen und stellen sie sich auf den einen oder anderen Aha-Effekt ein!

Alexander Heusingfeld, Arne Limburg, Lars Röwekamp, Mark Struberg