Montag - 20. April 2015
09:00 bis 17:00
Workshop

JavaFX Workshop

german

+

Mittlerweile sprießen immer mehr JavaFX Projekte aus dem Boden. Aber was sind die Punkte, die JavaFX so reizvoll machen? Diese Punkte lassen sich in zwei Gruppen einteilen. Zum einen bringt JavaFX Bordmittel mit, die businessrelevanten Themen, wie Architektur und Testbarkeit, in ein neues Licht rücken. Zum anderen gibt es "fancy" Features, die JavaFX zu einem hochmodernen UI-Toolkit machen. Über den Workshoptag verteilt, werden beide Themengebiete gleichermaßen betrachtet. Der Workshop adressiert dabei den UI-affinen Java-Entwickler, aber auch UI-Muffel. Den Start des Tages bilden die 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. Nachdem die Grundlagen gelegt sind, setzen wir uns mit Architekturansätzen auseinander und tauchen anschließend in die "fancy" Features, wie die Implementierung von Animationen, die Verarbeitung von Multi-Touch-Gesten oder auch die WebView-Komponente ab. Dieser Teil ist jedoch optional und kann von den Teilnehmern gewählt bzw. abgewählt werden. Die letzte Stunde des Workshops ist für Fragen der Teilnehmer reserviert und kann individuell gestaltet werden. 

Alexander Casall
Workshop

Concurrency in der Praxis

german

+

Java hat ein solides Memory Model und eine Vielzahl reifer und mächtiger Bibliotheken für Concurrency. Aber welcher Ansatz hilft am effektivsten, die jeweiligen Ziele zu erreichen, und wie setze ich ihn im konkreten Projekt ein? Wie bewertet man alternative Ansätze und Implementierungen?

Dieser Workshop vermittelt praktisches Handwerkszeug, um mit Concurrency in verschiedenen Situationen umzugehen. Das beginnt mit einer Analyse der Gründe für einen Einsatz von Concurrency - ist sie einfach durch ein Framework vorgegeben? Soll ein System schneller antworten? Soll der Durchsatz für einen bestimmten fachlichen Use Case optimiert werden?

Außerdem behandelt er eine Reihe von Grundmustern, denen man in nebenläufigen Systemen immer wieder begegnet: Locks, Lock-freie Algorithmen, Queues mit Worker Threads, seiteneffektfreie Programmierung etc. Wir werden in dem Workshop ihre jeweiligen Stärken und Schwächen beleuchten, die in verschiedenen Szenarien unterschiedlich zum Tragen kommen.

Schließlich geht der Workshop auf das große Feld des Testens von nebenläufigem Code ein, und zwar sowohl auf Korrektheit als auch auf Performance. Das Ganze wird durch eine Behandlung von Java Memory Model und moderner Hardware abgerundet.

Der Schwerpunkt liegt dabei durchgängig auf lauffähigem Quellcode und praktischen Übungen durch die Teilnehmer, die deshalb ein Notebook mitbringen sollten.

Arno Haase, Nico Feiertag
Workshop

Workshop zu Lambdas und Streams in Java 8

german

+

Der Workshop widmet sich zwei Sprachneuerungen und einem Framework, die mit Java 8 hinzugekommen sind. Es geht einerseits um neue Sprachmittel (Lambda-Ausdrücke, Methoden-/Konstruktorreferenzen) und andererseits um die Erweiterungen des Collection-Frameworks des JDK (Streams, Collectors, Functional Interfaces). Insbesondere das Stream-API ist umfangreich, und seine effiziente Nutzung erfordert einen guten Überblick über das API und seine Möglichkeiten.

Angelika Langer, Klaus Kreft
Workshop

Microservices Workshop: Architektur und Praxis

german

+

Microservices sind in aller Munde. In diesem Workshop wollen wir nicht nur theoretisch über Microservices sprechen, sondern ganz praktisch ein System aus Microservices aufbauen und diskutieren. Zunächst gibt es eine Einführung in Microservices-Architekturen und ein konkretes Beispiel. Dann geht es in die Praxis: containerloses Deployment mit Spring Boot und Koordination der Anwendungen mit Spring Cloud. Dann folgt der Betrieb der Anwendungen mit Docker. Am Ende können wir eine Anwendung aus mehreren Microservices praktisch betreiben und weiterentwickeln.

Eberhard Wolff
Workshop

Einführung in 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, Funktionen, prototypische Vererbung und Module besprechen. Der Workshop enthält Übungen am eigenen Rechner.

Oliver Zeigermann
Workshop

Java EE 7 - Enterprise-Anwendungen ohne Ballast

german

+

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

Dirk Weil
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 hypermediagetriebenen 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

Der Docker Basis Workshop

german

+

Das Thema Docker sorgt gerade für viel Aufsehen. Ob kleine Start-ups oder große Firmen -- schon aufregend viele Unternehmen setzen auf die Open-Source-Technologie Docker. Aber was hat es mit dieser Art von Containern auf sich, die den Virtualisierungsmarkt aufrollen und die Softwareentwicklung nachhaltig verändern wollen? Docker verspricht einen schneller Start, flexible Konfiguration und stabile Images für Entwicklung und Produktion. In diesem Workshop wollen wir diesen Versprechen praktisch nachgehen.

Wir starten mit einem Überblick und stellen die ersten Schritte beim Einsatz von Docker vor. Die Teilnehmer lernen die wichtigsten Befehle, Anweisungen und Konzepte praktisch kennen. Anhand eines ausführlichen Beispiels zeigen wir, wie ein Microservice mit Java implementiert, mit Docker installiert und in einer Umgebung mit anderen Services integriert wird. Außerdem diskutieren wir das aktuelle Docker-Ökosystem und klären über Chancen und Risiken auf.

Dieser Workshop vermittelt die Docker-Grundlagen in nachvollziehbaren Schritten und versetzt die Teilnehmer in die Lage anschließend selbst zu entscheiden, ob und wie Docker im eigenen Unternehmens- und IT-Kontext sinnvoll einsetzbar ist.

Peter Roßbach
09:15 bis 10:00
Session

Agil werden

german

+

"Wenn Ihr agile Projektmethoden benutzt, laufen eure Projekte effizienter!" Mit diesem Heilsversprechen stolpern viele Unternehmen aus "So wie beim letzten Mal" in eine agile Transition. Diese wird so nicht benannt und führt auch selten zu dem Ergebnis, das sich die Beteiligten davon (implizit und nicht erläutert) versprechen. In vielen Fällen wäre "Agiler werden" die ehrlichere Parole für den gestarteten Prozess. Agil wirken fordert Transparenz, Feedback und Selbstorganisation auf vielen Ebenen. Judith Andresen erläutert drei dieser Level:

 

  • Projekte/Teams

  • Bereiche

  • Unternehmen

 und gibt einen Überblick, was "agil werden" bedeutet, und wann sich welcher Weg für wen lohnt.

 

Judith Andresen
10:00 bis 10:45
Session

Aus Klassisch wird Agil

german

+

 

Durch den Erfolg der agilen Entwicklungsmethoden wollen viele Unternehmen, die noch klassisch unterwegs sind,  gerne umsatteln – aber wie? Berge von bereits vorhandenem, ungetestetem Code machen nicht gerade Lust auch testgetriebene Entwicklung. Zudem fehlt eine passende Testumgebung  und die Entwickler haben dazu auch noch keine Erfahrung mit den völlig neuen Prinzipien. Nur Mut! Vor diesem Problem standen auch schon Andere – und der Umstieg hat nicht nur geklappt, sondern auch noch die Produktivität erhöht und gleichzeitig Spaß gemacht.

 

Heiko Paoli
11:15 bis 12:00
Session

Große Ziele, kleine Schritte

german

+

Softwareentwicklung gleicht oftmals einer Fahrt im Nebel: Ziel klar, Sicht schlecht – und für die gesamte Besatzung stellt sich die Frage: Wie organisieren wir unsere Arbeit, um so sicher wie möglich ans Ziel zu kommen? In der Vergangenheit planten die Beteiligten meist einzelne Phasen, die jeweils mit einem definierten Ergebnis abgeschlossen werden sollten. Das hat selten gut funktioniert und häufig zusätzlich hohe Kosten sowie unzufriedene Kunden und Entwicklungsteams erzeugt. Als Ausweg aus dem Dilemma wird seit rund fünfzehn Jahren agiles Vorgehen unter verschiedenen Namen gepredigt: Extreme Programming (XP), Feature-driven Development (FDD), Rational Unified Process (RUP), Scrum, V-Modell, XT, Lean Software Development, Kanban. In welche Firma man heute auch kommt, die Frage nach dem Vorgehen in IT-Projekten wird durchgehend beantwortet mit: Wir gehen nach Scrum vor. Wir sind agil. Eine andere Antwort ist heutzutage gerade zu peinlich, wenn nicht gar verpönt.

Beobachtet man die Projekte einige Zeit, so muss man leider feststellen: Manche der mit solchen Techniken umgesetzten Projekte sind erfolgreich, andere aber leiden an denselben oder ähnlichen Symptomen wie die verteufelten klassischen Projekte.

In diesem Vortrag werde ich den Zuhörern vermitteln, was meiner Erfahrung nach die entscheidenden Zutaten für agile Projekte sind. Die Zuhörer wissen nach dem Vortrag, was sie bei ihren agilen Projekten unbedingt beachten müssen, damit Agilität ihre beeindruckende Kraft entfaltet. 

Carola Lilienthal
13:45 bis 14:30
Session

Planlos mit Plan

german

+

Ein Widerspruch? Nein kein Widerspruch! Nur die Fokussierung auf das Wesentliche unter Berücksichtigung der Herausforderungen des Schätzens. Von der Produktplanung über die Release- / Ressourcenplanung und die Sprintplanung werden die verschiedenen agilen Verfahren zur Schätzung und Planung erörtert und miden klassischen Verfahren verglichen. Weiterhin werden die notwendigen Grundlagen eines validen Schätzens diskutiert. Brauchen wir überhaupt einen Plan? Welchen Nutzen bringt der uns? Sind agile Schätzverfahren wirklich schneller? Ist agiles Planen genauer als klassische Verfahren? Was ist empirisches Management? Und … wo bleibt mein Gantt?

Frank Düsterbeck
14:30 bis 15:15
Session

(Fr)agile Werte

german

+

“Agile is dead” – diese Aussage von Dave Thomas polarisierte die agile Welt. Aus diesem Grund stellten sich Oliver Paegelow und Stefan Rudnitzkei die Frage: "Ist die 2001 postulierte Vision einer agilen IT Welt heute Realität?"

 

Im Rahmen ihres Vortrages beleuchten sie, welchen Stellenwert das agile Mindset in der IT Branche aktuell hat und eigentlich haben sollte. In diesem Zusammenhang wird deutlich gemacht, wie unterschiedlich Agilität heute wahrgenommen und in vielen Unternehmen verstanden wird. Dazu räumen sie mit voreiligen "Wir sind doch bereits agil"-Erfolgsmeldungen auf und richten den Fokus auf die eigentliche Basis einer agilen Organisation. Dabei erweitern sie den Blickwinkel vom reinen "Prinzipien und Praktiken Denken" auf die wesentlichen Aspekte einer agil gelebten Organisation. Zu diesem Zweck geben sie greifbare Beispiele und verdeutlichen die Hindernisse und Unwägbarkeiten, wenn man nachhaltig Agilität in einem Unternehmen etablieren möchte.

Oliver Paegelow, Stefan Rudnitzki
Dienstag - 21. April 2015
07:00 bis 08:30

Konferenz Check-In

08:30 bis 09:00

Eröffnungs-Keynote

09:00 bis 09:30
Keynote

Eröffnungs-Keynote

english

Brian Goetz
09:45 bis 11:00
Session

BPM War Stories, oder: Wie baue ich eine BPM-Architektur auf?

german

+

BPM + SOA heißt heute schon lange nicht mehr Zero-Code BPMS + ESB. Die Architekturvarianten sind dank schlankerer Technologie heute sehr viel vielfältiger, sowohl BPMS oder ESB können auch „kleine“ Libraries sein. Dadurch stellen sich viele Fragen: Ist Remote-Kommunikation oder in VM besser? Und wie steht es dann mit dem Betrieb oder der Transaktionssteuerung? Was ist beim Clustering zu beachten, und wie skaliert die Lösung überhaupt? Was soll ich tun, wenn ich auf der grünen Wiese starte? Und wie komme ich dahin, wenn die Wiese nicht mehr ganz so grün ist? In diesem Vortrag möchte ich unsere Erfahrung aus zahllosen BPM-Projekten anhand von Beispielarchitekturen unserer Kunden darstellen sowie Vor- und Nachteile verschiedener Möglichkeiten erläutern.

Bernd Rücker
Session

Resilience - die Geheimnisse guten Softwaredesigns

german

+

In der Produktion wird das Geld gemacht und werden die Kunden zufrieden gestellt, aber nur so lange, wie unsere Software läuft und zügig antwortet. Läuft unsere Anwendung nicht oder ist langsam, ist sie wertlos - schlimmer noch: Wir verlieren Geld und Reputation. Genau darum geht es bei Resilience: Wie man eine Anwendung gestaltet, dass sie hochverfügbar ist und zügig antwortet, auch unter unerwarteten Fehler- und Lastsituationen.

In dieser Session lernen Sie eine Mustersprache rund um das Thema Resilience kennen, natürlich garniert mit jeder Menge Tipps und Tricks.

Uwe Friedrichsen
Session

Auf Wolke sieben: Architektur und Deployment von Microservices für die Cloud

german

+

Die Gründe, ein eigenes RZ zu betreiben, schwinden rasant. Die Cloud lockt mit einer niedrigen Einstiegshürde und voller Flexibilität. Infastruktur lässt sich nun in wenigen Augenblicken, und ohne Vorauszahlung, automatisiert per API-call bereitstellen - und wieder abschalten. Aber was bedeutet das für unsere Anwendungen und deren Architektur? Kann man sie einfach unverändert in die Cloud deployen?Alles hat seinen Preis. Um das potenzial der Cloud zu nutzen, müssen neue Herausforderungen überwunden werden: von Datensicherheit bis zu Kosten-basierter Architektur, über dynamische Provisionierung, Service Discovery und effiziente Deploymentmodelle.Dieser Talk bietet Architekten und Entwicklern klare Anworten und praxiserprobte Lösungen für einen erfolgreichen Weg zum Infrastrukturhimmel.

 

Axel Fontaine
Session

BDD – Die Lösung aller Probleme?

german

+

Alle sprechen von BDD und davon, wie viele Probleme damit, vor allem beim Testen und Anforderungsmanagement, gelöst werden können. BDD verspricht eine bessere Kommunikation innerhalb des Teams und mit dem Kunden, eine lebendige Dokumentation und höhere Softwarequalität sowie die Entzerrung des Testens. 

Klingt super! Aber BDD in neue und bestehende Projekte einzuführen, ist nicht ganz einfach. Es ergeben sich einige Stolpersteine die überwunden werden müssen. Wie binde ich den Kunden ein? Kann der Kunde selber Szenarien aufbauen? Wie überzeuge ich mein Team? Was muss ich bei der Einführung von BDD in bestehende Projekte beachten? 

In meinem Vortrag gehe ich auf diese Probleme ein und zeige entsprechende Lösungswege auf.

IT-Spezialisten der HEC nennen Ihnen in einem viereinhalbminütigen Kurzfilm unsere Top 5 für eine erfolgreiche Softwareentwicklung. Schauen Sie rein. (http://www.hec.de/aktuelles/filme.html) . 

 

Ina Einemann
Session

Java-EE-7-Architekturen auf Java 8 werden zu Microservices

german

+

Kleine WARs, "shared nothing", "one file deployment", ein WAR per Server, kaum Overhead, schnelle Deployments. Kleine Anwendungen kommen mit einem WAR aus. Größere Systeme müssen allerdings auf wenige WARs verteilt werden. In dieser Session werde ich eine "vernünftige" Java-EE-7-Anwendung mit Java 8 implementieren und die Frage beantworten, warum Microservices nur ein Kollateralschaden einer Java-EE-Architektur sind.

Adam Bien
Session

JavaScript-Sprachgrundlagen für Java-Entwickler

german

+

Ob man es mag oder nicht: Jede moderne Webanwendung basiert mittlerweile auf JavaScript. Ohne ein Grundwissen über die Sprachkonzepte wie Objekte und Funktionen sowie Patterns wie Vererbung und Module ist ein professioneller Einsatz von JavaScript jedoch schwierig. In dieser interaktiven Live-Coding-Session bekommst du einen Einblick in diese Sprachgrundlagen.

Oliver Zeigermann
Session

Frege: ein Haskell für die JVM

german

+

In einem funktionalen Stil zu programmieren, kann man in fast jeder JVM-Sprache. Frege geht aber einen qualitativ wichtigen Schritt darüber hinaus, indem die Sprache die Eigenschaften von Haskell auf die JVM bringt: garantiert seiteneffektfreie Funktionen, Bedarfauswertung und ein statisches Typsystem mit einer einzigartigen Kombination aus Einfachheit und Mächtigkeit. Frege kommt mit einem neuartigen Ansatz, wie man echt funktionale Programmierung mit den Vorzügen der JVM verbinden kann, ohne die Reinheit des Ansatzes zu kompromittieren. Wer funktionale Programmierung ernst nimmt und gerne mal etwas fundamental Neues in der Welt der JVM-Sprachen sehen möchte, der bekommt in dieser Session neue Anregungen.

Dierk König
Session

Schützen Sie Ihre Java-Anwendung vor Reverse Engineering

german

+

Java-Code ist heutzutage sehr leicht zu knacken, und viele Softwarehersteller suchen nach neuen Wegen, dies erfolgreich zu verhindern. API-Funktionen sind gut dokumentiert, und dekompilierte Java-Klassen sind häufig öffentlich verfügbar. Wir zeigen an einem Beispiel, wie man Java-Bytecode vor Reverse Engineering schützen kann, ohne den Sourcecode verändern zu müssen.

Baldur Scherabon
Session

Project Flux: Connecting the Desktop IDE to the Cloud-based Era of Developer Tooling

german

+

Die Entwicklung von Cloud-basierten Entwicklungswerkzeugen geht rasant voran, und doch erscheinen sie für viele Entwickler noch nicht wirklich praktisch einsetzbar. Das liegt vor allem daran, dass viele etablierte Sprachen wie Java noch nicht annähernd vergleichbar umfangreich und komfortabel unterstützt werden, wie dies bei den etablierten Desktop-IDEs der Fall ist. Es liegt aber auch daran, dass viele Cloud-basierte Entwicklungswerkzeuge völlig losgelöst von den bisherigen Werkzeugen einzig und alleine in der Cloud arbeiten und man sich entscheiden muss, ob man wirklich komplett in der Cloud entwickeln möchte oder eben doch lieber seine liebgewonnenen Werkzeuge auf dem eigenen Rechner verwendet.

Eclipse Flux ist ein neues Projekt, das beide Probleme adressiert und einen Weg aufzeigt, mit seinen Entwicklungswerkzeugen schrittweise in die Cloud zu migrieren. Dabei zeigt Flux einerseits, wie etablierte Desktop-IDEs mit Cloud-basierten Entwicklungswerkzeugen kombiniert werden können, und andererseits, wie neuartige Cloud-basierte Entwicklungswerkzeuge realisiert werden können: asynchron, aus Microservices zusammengestellt, über Messaging verbunden und stark entkoppelt voneinander.

Der Vortrag zeigt anhand von Livedemos, wie sich auf Basis von Flux echtes Java-Language-Tooling in der Cloud anfühlt (inklusive echtem Reconciling in Echtzeit, Content Assist, Refactoring und einigem mehr). Der Vortrag erläutert auch, wie sich dieses neuartige Cloud-basierte Tooling mit Desktop-IDEs verknüpfen lässt, sodass man schrittweise in diese neue Welt hineinwachsen kann - ohne einen großen Big-Band-Umstieg. Der letzte Teil des Vortrags widmet sich der zugrunde liegenden Architektur von Flux und zeigt reflektiert erste Erfahrungen.

Martin Lippert
Session

Data: The new international Currency

english

+

The use of currency dates back to the Bronze Age. With each revolution in society the use of money was redefined and new kinds of economics were introduced. The rate of the growth of the world increases with every second and unlike in the past, every single day in the modern world is in itself a revolution.

You might recall the early days of the App Store, or even when Bitcoin was introduced. While some of you might be rejoicing others might be sad that they lost the opportunity in becoming overnight millionaires. But, you still have hope. This session is going to teach Java Developers ways in which they can buy and sell data - the mountain of gold sitting in your backyard.

Senaka Fernando
Session

Reflection Madness

german

+

In this presentation, we will look at some advanced uses of reflection to delegate method calls automatically, to determine where we are being called from and to create new enum values dynamically for unit test purposes, including modifying the switch statements on-the-fly. We will look at how we can use the stack information to determine the class type in a static context. We will demonstrate how Externalizable allows the private state of an object to be read and then modified. Lastly we will demonstrate how we can construct new objects without calling any of the available constructors.

Heinz Kabutz
Session

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

english

+

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

Matthias Lübken
Session

Selbstsprechende Geschäftsprozesse? Intelligente Prozessabläufe? – Wie sehen die Services der Zukunft aus?

german

+

Die Vielzahl und Vielfältigkeit von Geschäftsprozessen wird in Zukunft immens zunehmen. Dadurch wird für einzelne Unternehmen und Branchen die Agilität der Prozessabläufe zur Laufzeit eines Geschäftsprozesses an Bedeutung gewinnen. Serviceorientierte Architekturen stellen nach heutiger Sicht eine statische Anordnung von Services durch BPEL oder BPMN dar, welche nicht auf unvorhergesehene Ausfälle zielorientiert und autonom reagieren können. Gerade in diese Hinsicht können ganze Prozesse und damit verbundene Geschäftsabläufe scheitern.

Daniel Albrecht
11:00 bis 11:45

Kaffeepause

11:45 bis 12:45
Session

Next Generation Enterprise Architecture - der Business-Enterprise-Architekt

german

+

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

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

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

Carsten Sensler, Thomas Grimm
Session

Erfahrungsbericht: Umgekehrte Architekturanalyse -- Datastore Evaluation

german

+

Zu Beginn eines Projekts sind oft noch nicht alle Anforderungen erfassbar oder bekannt. Am Beispiel eines Projekts aus der Logistik wird ausführlich diskutiert, wie anhand technischer Fallbeispiele eine risikominimierende Entscheidung für einen Datastore gefällt werden konnte. Anhand von Lasttests, API-Testszenarien und Mengengerüsten wird in der Session demonstriert, wie man ohne konkrete fachliche Anforderungen dennoch in der Lage ist, mit einer gewissen Wahscheinlichkeit das passende Produkt ausgewählt zu haben.

Joachim Arrasz und Christian Mennerich werden in dieser Session ihre Erfahrungen vortragen.

Joachim Arrasz
Session

Agile Culture Capability Model – Can We All Be Agile in the “Same Way”?

english

+

Offshore, nearshore, outsourcing? “No, I don’t want that, not once again” many IT managers would say… and not without a reason. Plenty of enterprises have already run classical, waterfall projects with the mix of onsite and nearshore or offshore teams. Unfortunately most of them have ended without success. Quite fast a question may arise whether the used methodology was an appropriate one.The hype of the agile project management has created a naive hope that finally the nearshore and offshore projects can be executed successfully. “Agile is the cure!”. Unfortunately, this naive believe proved to be wrong, and quite often the achieved results of these projects were similarly bad or even worse comparing them to the classical approach.An agile project, when run onsite, delivers much better results than a similar waterfall project. However we have observed many problems with the effectiveness and efficiency of agile projects if they were run in the combination with nearshore or offshore teams. These problems were clearly associated with the cultural differences between the teams. Interestingly, this negative influence of the cultural differences was definite stronger on agile projects comparing to the waterfall projects… Do other cultural standards than our western ones hamper the acceptance of the agile values and principles? Is the agility something basically western? Can we measure an “agile capability” of a team or individual?This session focuses on the "Agile Culture Capability Model" (ACCM) that allows delivering answers to these questions. The ACCM model is based on the proven literature about cultural standards and the personal experience collected by the author during his professional career as an IT-Consultant.  The author of this talk is Pole who lives and works for many years in Germany together with his Brazilian wife. He has led successfully many agile projects in Germany with the nearshore (Poland, Romania) and offshore (Japan, China, India) teams. He hopes that he ACCM can help you to be successful as well.

Adam Boczek
Session

JSF meets JavaScript

german

+

Komponentenbibliotheken wie PrimeFaces und RichFaces stellen für die Entwicklung von JSF-Anwendungen eine Vielzahl komplexer Komponenten bereit. Aber der ersten Euphorie folgt die Ernüchterung. Und statt der erhofften Vorteile muss man sich mit neuen Problemen befassen. Dabei kann man sich mit HTML5, JavaScript, Composite Components und dem Behavior-API maßgeschneiderte Erweiterungen für die eigene Anwendung schaffen. Der Vortrag zeigt, wie man für eine JSF-Anwendung dynamische und wiederverwendbare Bausteine für die eigene Anwendung realisieren kann.

Stephan Müller
Session

App-Entwicklung an der Hochschule – von Studierenden für Studierende

german

+

Jeder kennt es! Eine App muss her. Also schnell Budget beschaffen, ein Team finden, Konzepte erarbeiten, implementieren und fertig ist es. In der Theorie (und der Industrie) ganz einfach, doch was passiert, wenn es kein Budget gibt, das Team immer wieder neu anfängt und nicht jeder Projektbeteiligte jahrelange Erfahrung auf diesem Gebiet hat, sondern „nur" zum Lernen da ist?

Der Vortrag zeigt die speziellen Herausforderungen im Hochschulumfeld und wie es trotzdem möglich ist, über Jahre mehrere Apps zu konzipieren, zu entwickeln und auch zu warten, und dies nicht nur für iOS und Android, sondern auch für Windows Phone und als Web App.

Mehr Informationen rund um das Projekt unter http://www.hskampus.de/

Daniel Weisser, Prof. Dr. Manfred Seifert
Session

Java-Concurrency für Fortgeschrittene

german

+

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

Arno Haase
Session

Individuell und out of the box – das geht

german

+

Prozesse gibt es in jedem Unternehmen, in allen Größen und Ausprägungen. Bei den meisten IT-Projekten geht es um die Realisierung von Prozessen in Softwaresystemen. Während in vielen großen Unternehmen das Thema BPM schon einige Zeit im Fokus ist, erfolgt bei kleinen und mittelständischen Unternehmen die Umsetzung der Prozesse oft durch individuelle Anwendungsentwicklungen oder durch das Anpassen bestehender Standardsysteme wie einem ERP oder CRM. Diese Ansätze stoßen aber aufgrund der gestiegenen Anforderungen an elektronische Kommunikation und der geforderten Komplexität und Flexibilität der Prozesse schnell an ihre Grenzen.

Der Vortrag zeigt an konkreten Beispielen, wie der Einsatz einer BPM-Software und fertigen Prozessbausteinen Zeit bei der Realisierung und Erweiterung von Anwendungssoftware sparen kann.

 

Gerhard Lier
Session

Dringlichkeit und Risiko: Classes of Service in Kanban

german

+

Termin verpasst? Software zu spät geliefert? Kein Geschäft mehr zu machen? Das ist das eine Extrem. Oder ist es bei Ihnen genau anders herum: Alle Termine gehalten, immer pünktlich geliefert, doch dafür nur langweilige Features eingebaut, die der Wettbewerber leicht schlagen kann? Im Vortrag lernen Sie, solche Risiken mit dem "Classes of Service"-Konzept in Kanban zu managen und die Arbeit für Ihr Team angenehm zu gestalten.

Matthias Bohlen
Session

Eventbasierte Architekturen mit Java EE

german

+

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

Thilo Frotscher
Session

Bean-Testing: Wenn Unit Tests nicht reichen und man nicht lange warten will

german

+

Unit-Tests sind der Kern jeder Strategie, qualitativ hochwertige Software herzustellen. Im Umfeld von Java EE erschwert allerdings die Notwendigkeit einer Ablaufumgebung das Unit-Testing. Es gibt zwar verschiedene Ansätze für dieses Problem, aber entweder sind diese aufwändiger als gewohnt oder die Ausführungsdauer der Tests liefern nicht die übliche Feedback-Geschwindigkeit. Beim Bean-Testing werden ganze Beans inklusive ihrer Abhängigkeiten und ohne Application Server getestet. So werden Fehler vor Integrationtests entdeckt.Das Verfahren verwendet CDI (Context and Dependency Injection) um die Laufzeitumgebung eines Java EE Application Servers zu simulieren. Transaction Propagation, Dependency Injection, Interceptoren usw. sind auf der Java SE Umgebung vorhanden. Bean-Testing ist somit Application Server unabhängig.Beim Bean-Testing werden Fehler entdeckt, die normalerweise bei Integrationstests auftreten. Das führt zu schnellem Feedback beim Testing. Mit Bean-Testing kann man kann sogar TDD (Test Driven Development) ohne Mocks einsetzen.Bean-Testing ist kein Prototyp und wird bereits produktiv in unterschiedlichen Projekten eingesetzt.

Carlos Barragan
Session

What’s Next for Big Data Analytics?

english

+

With the massive growth in mobile applications and the Internet of Things, data is being created at an unprecedented pace and volume. In recent years, advances in analytics technology have helped organizations extract valuable insights from this data, but existing tools are often difficult to use and don’t address the increasing velocity of live data.

In this session, you will hear from David Barnes, a Program Director in IBM’s Emerging Internet Technologies group. David will discuss and demonstrate new tools and technologies that provide data scientists and solution developers the ability to collaborate in the exploration of data-at-rest and data-in-motion, using a notebook metaphor, to identify valuable business insights in the data.

David Barnes
12:45 bis 14:15

Mittagessen

14:15 bis 14:45
Keynote

Innovate. Create. Take it to the masses. A Cloud Platform for the World’s ideas.

english

+

Creating a new application is about taking an idea and turning it into reality. It’s about innovation, not building a computing infrastructure. In this session, you’ll see the power of IBM Bluemix, a platform where developers can create applications in the cloud without dealing with infrastructure, and at little to no cost. Whether building applications for the Internet of Things, mobile, big data analytics, or extending the cognitive power of IBM’s Watson, Bluemix lets developers focus on what matters — creativity. And when your idea becomes the next big thing, turn up the dial and Bluemix can scale out on IBM data centers around the world and take your creation to the masses. 

David Barnes
15:00 bis 16:00
Session

BPM im Backend

german

+

Automatisierung ist bei der Distribution von digitalen Produkten essenziell, sämtliche Prozesse laufen dabei idealerweise voll automatisiert und ohne jegliche Anwenderinteraktion ab. Wurden bei Sony DADC New Media Solutions in der Vergangenheit ausschließlich PLSQL und relationale Tabellen verwendet, um solche Prozesse abzubilden, entstand im Laufe der Jahre ein "buntes" Ökosystem aus verschiedensten Technologien, das mittels Camunda BPM vereinheitlicht werden konnte - ohne Flexibilität einzubüßen. Uns ist es mit dieser Lösung gelungen, eine einheitliche Sprache zwischen verschiedensten Beteiligten zu finden, Prozesse zu dokumentieren und Prozessabläufe zu überwachen.

Peter Hrastnik, Thomas Winkler
Session

Der agile Testmanager – ein Oxymoron?

german

+

Agile Verfahren wie Scrum ändern den Prozess der Softwareentwicklung grundlegend, aber ihre Auswirkungen sind nicht nur auf die Softwareabteilungen beschränkt. Am Beispiel der Rolle des Testmanagers wird aufgezeigt, dass neben der Umgestaltung der Prozesse und Aufgaben des Entwicklungs- und Testteams auch andere Bereiche des Unternehmens eine agile Transition erfahren müssen, um die effektive Arbeit der agilen Verfahren sicherzustellen.

 

Kay Grebenstein
Session

Not your Father’s Java EE: A Guide to a modern Enterprise Architecture

german

+

Der Standard „Java EE“ steht nicht gerade in dem Ruf flexibel und schnelllebig zu sein. Bedingt durch die langen Zyklen des JCPs folgt auf jedes Release scheinbar eine Pause von 3-4 Jahren der Stagnation. Dabei sind es gerade diese Pausen, die in der Community immer wieder dazu führen, einen Blick über den Tellerrand – a.k.a. APIs – zu wagen. Das Resultat? Architekturen, in denen nahezu losgelöst von technologischen und schichtenbedingten Restriktionen völlig neue Patterns zum Tragen kommen. 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

Microservices mit Clojure

german

+

Microservices zeichnen sich insbesondere durch ihre Eigenständigkeit aus: Die Services sind so lose gekoppelt wie möglich. Damit bietet eine Microservices-Architektur den idealen Rahmen für den Einsatz unterschiedlicher Technologien, die jeweils genau zum zu lösenden Problem und dem Skillset der Entwickler passen. In einem solchen Umfeld lassen sich die Vorteile einer modernen Sprache wie Clojure voll ausnutzen: Knapper und präziser Code, Parallelverarbeitung und direkter Support für asynchrone Programmierung.

Microservices stellen jedoch auch besondere Herausforderungen: Wie lassen sich neue Projekte ohne viel Overhead aufsetzen? Wie können Services miteinander kommunizieren? Wie schütze ich meinen Service, wenn ein anderer Service ausfällt? Und wenn ich einen Service gebaut habe: Wie bringe ich ihn in Produktion und gestalte das Monitoring?

In dieser Session führen wir die Teilnehmer Schritt für Schritt an Clojure heran und zeigen am Beispiel, mit welchen Clojure-Bibliotheken sich die genannten Herausforderungen elegant lösen lassen.

Philipp Schirmacher, Silvia Schreier
Session

Harmonisches Miteinander – Wie vertragen sich Prozesse und Architektur?

german

+

Das Ziel von Architekturen im betrieblichen Umfeld ist die Unterstützung von Abläufen, die zur Wertschöpfung, zur Entscheidungsfindung und zur Erreichung von Qualitäts- oder Unternehmenszielen beitragen. Hierzu zählen Geschäftsprozesse sowie Planungs- und Steuerungsprozesse, die bestmöglich in eine Gesamtarchitektur einzubetten sind. Aus der Sicht des Geschäftsprozessmanagements werden klassischerweise die Einflüsse der Unternehmensarchitektur wie die Organisationsstruktur und der Ressourceneinsatz betrachtet. Doch wie vertragen sich Prozesse mit den Einflüssen der IT, insbesondere der Softwarearchitektur? Lässt sich in diesem Spannungsfeld eine harmonische Beziehung herstellen? Und wie können in Referenzmodellen/-architekturen vertikale Wechselwirkungen zwischen bestimmten Prozessperspektiven und relevanten Architekturaspekten nachvollziehbar dargestellt werden?

Daniel Ried
Session

Big Data for IoT

german

+

Die IoT-Netzwerke werden immer umfangreicher in Größe und Vermaschung und wachsen so zu immer größeren und komplexeren Strukturen zusammen. Nicht nur die Kommunikation, sondern auch die Verarbeitung der anfallenden Daten wächst stetig. Hierbei handelt es sich eigentlich um das klassische Feld von Big Data. Aber kann man dessen Werkzeuge und Strategien übernehmen? Welche Werkzeuge können verwendet werden, welche Architekturen bewähren sich in diesem Umfeld? Wir beschäftigen uns mit der Verbindung von IoT und Big Data mit Blick auf die Industrie, zeigen Lösungswege auf und stellen Ideen aus dem praktischen Einsatz vor. 

Sven Ruppert
Session

Dinge, die Sie schon immer über die WM wissen wollten, aber nicht die Fragen dazu wussten

german

+

Praxisbeispiel: Analyse heterogener Daten anhand der WM 2014. Anhand von Daten in unterschiedlichen Formaten und Herkünften beschreiben Niko Schmuck und Jochen Jörg die Entwicklungsschritte einer Analyseapplikation, um verschiedenste Aspekte der Fußball-WM 2014 zu beleuchten. Hierbei werden sowohl die agile Datenprozessierung als auch die Verwendung der Daten zur Analyse im Detail vorgestellt. Die Umsetzung basiert auf der Enterprise-NoSQL-Datenbank MarkLogic, die die Funktionalität einer dokumentenorientierten Datenbank, der Volltextsuche und eines semantischen Triple-Stores in einem Produkt vereint. Die Vortragenden zeigen, dass Flexibilität in der Datenschicht kombiniert mit erweiterbaren APIs ideale Voraussetzungen schafft, um Big/Medium Data besser zu analysieren und damit auch verstehen zu können.

Jochen Jörg, Niko Schmuck
Session

Java FX 8: Die zukunftssichere und produktive Plattform

german

+

HTML5 oder Java FX 8? Was ist mittelfristig die bessere Lösung? Nach Beantwortung dieser Frage werde ich eine Java-FX-8-Anwendung "from Scratch" implementieren und mich dabei auf Produktivität, Wartbarkeit und Architektur fokussieren. Visuelle Effekte kommen dabei garantiert nicht vor.

Adam Bien
Session

Typensysteme für JavaScript

german

+

JavaScript unterstützt keine statische Typisierung und wird es auch in absehbarer Zeit nicht tun. Dennoch sind deklarierte Typen die Voraussetzung für zuverlässige Analyse und Refactoring von Enterprise-Codebasen und damit für deren Wartbarkeit. Firmen wie Google, Facebook und Microsoft haben und/oder entwickeln daher für ihre großen Codebasen jeweils eigene Lösungen.

In diesem Talk untersuchen wir unterschiedliche Typensysteme, die passenden Werkzeuge und warum sie sich insbesondere für große und über lange Zeit wartbare Projekte empfehlen.

Oliver Zeigermann
Session

Continuous Integration (CI) für Java-Backends und JavaScript-Frontends

german

+

Bestehende CI-Infrastrukturen können vor der Herausforderung stehen, moderne MVC-Frameworks wie AngularJS integrieren zu müssen. Die Integration von neuen Build-Tools, Dependency-Mechanismen und Repositories in die bestehende Landschaft ist komplex und wirft neue Fragen auf. Welche Integrationsstrategien gibt es, und welche ist für die bestehende Landschaft sinnvoll? Die Antwort hängt von der Klassifikation der Integrationspfade, grundlegenden Mechanismen und Technologien ab. Ein Praxisbericht einer Gradle- und NPM-Integration belegen die Validität zumindest eines erfolgreichen Integrationspfads.

Dragan Zuvic
Session

Zusammen arbeiten in Unternehmensanwendungen

german

+

Egal, ob Web oder Desktop, mit einer passenden Architektur kann man Applikationen bauen, die neue Wege der Zusammenarbeit ermöglichen. In einer 360-Grad-Rundumsicht betrifft das die Zusammenarbeit mit Kunden, mit Experten, mit Teamkollegen und mit Hilfskräften. Das Neue daran ist, dass auch die sonst eher stumpfen Enterprise-Applikationen plötzlich zu einem gemeinsamen Erlebnis mit einer Interaktivität werden, die man sonst nur von Mehrbenutzerspielen und Werkzeugen wie Google Docs kennt. In dieser Session gehen wir durch Anwendungsbeispiele für dieses Konzept, zeigen Demos und Code, beleuchten die architekturellen Voraussetzungen und zeigen am Beispiel von OpenDolphin Umsetzungsvarianten mit JavaFX und HTML5.

Dierk König
Session

API-Design mit Lambdas

german

+

Neue Sprachmittel ermöglichen neue Programmiertechniken.In Java 8 sind Lambda-Ausdrücke als neue Sprachmittel zu Java hinzu gekommen.Es ist relativ einfach, Lambda-Ausdrücke zu verwenden, beipielsweise um sie an Operationen aus neuen Schnittstellen wie z.B. Streams oder CompletableFuture zu übergeben.Die Syntax ist schnell gelernt, und die Benutzung ist bequem und übersichtlich.Ehrgeiziger als die einfache Benutzung ist hingegen das Design von Schnittstellen für und mit Lambdas. Es eröffnen sich neue Idiome und Designtechniken.Wie definiert man ein Lambda-fähiges API? Was kann man mit Lambdas anders oder besser ausdrücken als früher ohne Lambdas? Worauf muss man beim API-Design achten? Wo sind die die Limitationen?

Angelika Langer
16:00 bis 16:45

Kaffeepause

16:45 bis 17:45
Session

JavaScript Web-Frameworks

german

+

Das Feld der JavaScript Frameworks für Web-Entwicklung ist weit und unübersichtlich. Kaum hat man sich einen Überblick verschafft, schießen neue Frameworks oder neue Versionen von existierenden Frameworks wie Pilze aus dem Boden. Toll wäre es, wenn es das eine Framework gäbe, das alles kann und das alle nehmen. Davon sind wir aber weit entfernt. Je nach Anforderungen ist das eine oder das andere Framework passend.Wie soll man sich nun aber anhand der eigenen Anforderungen und des eigenen Kontexts für das richtige Framework entscheiden?Diese Frage wollen wir in dieser Session gemeinsam anhand von praxisrelevanten Merkmalen Licht in das Dickicht der JavaScript Web-Frameworks bringen. Wir werden uns dabei sowohl clientseitige, als auch serverseitige Frameworks angucken. Mit von der Partie werden Angular.js, React.js, jQuery und hapi.js sein. Man darf also gespannt sein.

Oliver Zeigermann
Session

Next Generation MDM-Architektur mit Neo4j

german

+

MDM (Master Data Management) stellt eine ständige Herausforderung an Unternehmen: Organisations-, Produkt-, Kunden- und Lieferantendaten befinden sich in einer Vielzahl von anwendungsspezifischen Systemen, strukturiert und optimiert, um die jeweiligen Anforderungen zu erfüllen. Diverse Anforderungen aus dem Unternehmen erhöhen den Bedarf einer dynamischen MDM-Architektur, die systemübergreifend Daten und ihre Beziehungen zueinander zur Verfügung stellt. Die Datenstrukturen, ihre komplexen Beziehungen, Hierarchien und Abhängigkeiten können dabei intuitiv am besten mit einer Graphdatenbank wie Neo4j abgebildet und in eine graphbasierende Architektur eingebettet werden. In Neo4j basierenden MDM-Referenzprojekten unterstützen hoch skalierbare, dynamische und performante Ad-hoc-Zugriffe, z.B. mit einer 360-Grad-Sicht auf Kunden und Produkte – das Erzielen von Wettbewerbsvorteilen.

Stefan Kolmar
Session

Die lustigsten IT-Bewerbungen und wie man es richtig macht

german

+

Als Personaler hat man es auch nicht leicht. Tagtäglich liest man hunderte von Bewerbungen. Da braucht man Humor und Durchhaltevermögen. Yasmine Limberger gewährt hier Einblicke hinter die Kulissen bei der Personalauswahl. Sie zeigt die lustigsten IT-Bewerbungen, die ihr die letzten zehn Jahre begegnet sind und zeigt, wie man es richtig macht. Die Session ist unterhaltsam und lehrreich für alle, die beruflich weiterkommen wollen.

Yasmine Limberger
Session

Java 8 - Understanding Functional Interfaces and Writing Mixins

german

+

Java 8 was launched in March 2014 with great fanfare. The new lambda syntax allows us to have a more succinct coding style and get rid of a lot of boilerplate code. However, there is also confusion. Even the "State of the Lambdas" paper starts by comparing lambdas to ActionListener. Even though that is indeed a functional interface, its related listeners such as MouseListener are not. In this talk, Heinz will show a number of interfaces and let the audience decide whether of not it qualifies as a functional interface. We end off the talk with a short demo of how we can write mixins in Java, by combining functional interfaces with default methods.

Heinz Kabutz
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

NoSQL in Practice – Real World Use Cases for In-Memory Computing

english

+

NoSQL is not just about different storage alternatives such as document store, key value store, graphs or column-based databases. The hardware is also getting much more important. In-memory computing is a great solution for lifting the burden on big data, reducing reliance on costly transactional systems, and building highly scalable, fault-tolerant applications.The session begins with an introduction to in-memory computing. Afterwards, different product alternatives are discussed for implementing in-memory solutions, such as Hazelcast, Red Hat Infinispan, TIBCO ActiveSpaces or SAP Hana. Finally, the main part of the session shows several different real world uses cases where in-memory computing delivers business value by supercharging the infrastructure, e.g. to accelerate services, handle spikes in processing or ensure fault tolerance and disaster recovery.

Kai Wähner
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 Artefaktversionen ist die reine Idee einer Pipeline nicht ausreichend. Der Vortrag zeigt am Beispiel mehrerer populärer CD-Server, wie der Toolmarkt auf diese Probleme reagiert und was dies für den Anwender bedeutet.

Steffen Schluff
Session

Risikomanagement mit Kanban und Real Options

german

+

Softwareentwicklung gehört zu den erfinderischen Tätigkeiten. Da kann vieles schiefgehen. Risiken stecken z.B. im Markt, in den Produkt-Features und in den Fähigkeiten der Beteiligten. Risikomanagement soll das abfangen. Matthias Bohlen zeigt, wie Business, Management und Teams die Risiken gemeinsam im Griff behalten. Kanban und Real Options sind dabei hilfreiche Werkzeuge.

Matthias Bohlen
Session

Enterprise Nashorn und Java 8

german

+

Java 8 kommt mit Nashorn — einer interessanten JavaScript-Engine (ECMAScript-262 Edition 5.1). In dieser Session werde ich Nashorn aus der Perspektive der Java-EE-Projekte präsentieren (=codieren), garantiert ohne Node.js, dafür manchmal mit Java EE 7, JCache, BeanValidation und Automatisierung.

Adam Bien
Session

Java EE meets New Web Technologies

german

+

In Zeiten von HTML5, Client-side JavaScript-Frameworks, REST und WebSocket scheinen die Tage von klassischen serverseitigen Webanwendungen und damit auch von Java EE einmal mehr gezählt. Ist dem wirklich so? Natürlich nicht! Im Rahmen der Session wird gezeigt, wie mithilfe von Java-EE-6-/7-Bordmitteln (CDI, JAX-RS, WebSocket, Async APIs ...) und aktuellen Client-side Frameworks moderne Webanwendungen realisiert werden können. Was das für JSF und das neue MVC-Framework bedeutet? Lassen Sie sich überraschen. 

Jens Schumann
Session

Building Microservices with Spring Cloud and Netflix OSS

english

+

Microservices? A thing? Or hype? What does it mean in practice? The answer, like so many Facebook statuses, is complicated. In broad strokes, microservices offer a refreshed approach to application architecture. They're a new way to describe many of the patterns that have fallen out of large-scale applications in practice over the recent years. There is no doubt that the approach works. The question is: how does one build a microservice architecture? Join Dave Syer for this session introducing Spring’s support for building microservice architectures, including both Spring Boot, and the new Spring Cloud project incorporating Neflix OSS.

Dave Syer
Session

DevOps meets BPM

german

+

Seit dem Aufkommen der DevOps-Bewegung lässt sich eine wichtige Kernaussage ableiten: Es tut den Unternehmen gut, wenn Entwicklungsabteilungen und IT-Betrieb näher zusammenrücken. Während Konzepte wie „Continuous Delivery“ oder „Infrastructure as Code“ weiter fortschreiten, trifft man in der Toollandschaft selten auf eine Lösung, die eine übergeordnete Perspektive bietet: maschinengestützte sowie menschliche Aktivitäten, eingebettet in einem Geschäftsprozess. Dies gibt Anlass, sich näher mit BPM (Business Process Management) auseinanderzusetzen, dessen erklärtes Ziel in der systematischen Erfassung, Ausführung und Überwachung von Prozessen liegt. Bei näherer Betrachtung kann diese Displizin im DevOps-Kontext neue Impulse verleihen.

Masroor Ahmad
Session

Practical Continuous Deployment

english

+

Continuous deployment is causing organizations to rethink how they build and release software. Atlassian is adopting this model throughout the company, but not all teams have the same challenges to overcome in doing so. Steve Smith lead the team that converted the company's critical order-processing system from a monolithic, single-server application to a continuously-deployed, high-availablity platform. Along the way there were a lot of practical and organizational issues that needed to be addressed in adopting this development model; in this presentation he shares some of the experiences and lessons of doing so.

Steve Smith
18:00 bis 19:00
Session

JDK 8 Technology Readiness for Enterprises

german

+

Seit einem Jahr ist das JDK 8 verfügbar und jetzt stellt es seinen Reifegrad auf den Prüfstand. Nachdem sich die Entwickler ausgiebig mit dem neuen Release 8 beschäftigt haben, wird es Zeit, dass der IT-Betrieb die Technologie unternehmensweit einsetzen kann, und eine Migration von älteren Java-Versionen sorgsam vollzieht. Die JDK-8-Funktionalität erstreckt sich über die neuen Lambda-Ausdrücke für funktionale Programmierung, das Stream-API, 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 und JDBC 4.0 zu finden. Ein breites Spektrum an Werkzeugen für Entwickler und IT-Betrieb hat sich rund um das JDK angesiedelt: Java Mission Control, Java Flight Recorder, Java Usage Tracker und die Java Advanced Management Console. Die mit Java SE 8 eingeführten Compact Profiles 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 im JDK 9 erfolgt über das Projekt OpenJFX.

Wolfgang Weigend
Session

Na klar muss alles "gestern" fertig sein, wann denn sonst?

german

+

"Lieber Kunde: Natürlich willst du alles auf einmal haben. Und das am liebsten gestern. Und natürlich würden wir gern wie Scotty auf der NCC-1701 die Naturgesetze innerhalb einer Nacht brechen. Doch wir haben Neuigkeiten für dich: ES GEHT HALT EINFACH NICHT! Wir versprechen dir aber eins: Wir liefern dir das Beste, was wir aus deinem Geld innerhalb deiner Zeit machen können. DU WIRST ES LIEBEN. Wir wissen, wie es geht. Und: Wir wissen, wie wir das OHNE STRESS schaffen können, und zwar jedes Jahr wieder neu, für dich und die anderen Kunden." Wenn Sie auch so eine Mail an Ihre Kunden verschicken möchten, kommen Sie in diesen Vortrag. Sie lernen, wie man Software ohne Stress entwickelt und den Kunden dabei begeistert.

Matthias Bohlen
Session

IoT im Warenhaus – Wie hilft eine Event Processing Engine?

german

+

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

Torsten Winterberg
Session

Codereviews: Techniken und Tipps

german

+

Wie kann man erreichen, dass Code, den man vor einiger Zeit geschrieben hat, für einen selbst und auch für andere lesbar und verständlich ist? Wie stellt man sicher, dass alle Entwickler eines Projekts qualitativ gleichwertigen Code schreiben? Wie kann man inhaltliche Fehler im Code finden, bevor dieser beim Kunden im Einsatz ist? Dieser Vortrag stellt die Praxis des Codereviews zum Auffinden von Fehlern und zur Erhöhung der Qualität des Codes vor. Lesbarer und qualitativ hochwertiger Code ist für den langfristigen Erfolg eines Projekts unerlässlich, um Wartung und Erweiterungen möglich zu machen. Es werden zunächst Tools vorgestellt, mit denen sich Codereviews teilweise automatisieren lassen. In einem weiteren Teil geht es um Erfahrungen, Techniken und Tipps um Codereviews manuell und/oder mit Toolunterstützung durchzuführen und den Entwicklern Feedback und Verbesserungsvorschläge zu geben. Dabei stehen folgende Fragen im Vordergrund: Wie fängt man einen Review an? Wer ist für die Reviews zuständig? Sollte man jedes Stück Code reviewen? Wenn ich TDD mache, brauche ich noch Reviews? Wie formuliert man Verbesserungsvorschläge und gibt diese an die Entwickler weiter? Welche Tools können einen Codereview unterstützen? Wie können alle im Team von einem Codereview profitieren?

Rabea Gransberger
Session

Cloud Orchestration with BPM

english

+

With increasing relevance of cloud computing, enterprise IT customers expect both internal and public cloud services to be consumable in a cloud fashion. A highly flexible orchestration platform designed with Open Source BPM and SOA principles automates and combines internal processes with private and public cloud services, keeping them compliant with enterprise policies. This helps to reach the „cloud level“ having all the agility and cost benefits without loosing the comfort of a managed IT environment.

Stefan Koch
Session

Moderne Weblösungen für alle Plattformen mit AngularJS

german

+

Die Entwicklung von JavaScript-basierten Webanwendungen und Single Page Applications (SPA) stellt einige Herausforderungen für .NET-Entwickler dar. In dieser Session zeigt Manfred Steyer, wie Sie diese Herausforderungen mit dem populären JavaScript-Framework AngularJS lösen können. Dazu geht er auf die Themen Datenbindung, Validierung und Routing ebenso ein wie auf Testautomatisierung, Serverkommunikation und den Umgang mit asynchronen Funktionen. Zur Abrundung zeigt er auch, wie man AngularJS an eigene Bedürfnisse anpassen kann.

Manfred Steyer
Session

MVC (JSR 371) - Ein neues Webframework für Java EE

german

+

Der vielleicht am kontroversesten diskutierte JSR für Java EE 8 trägt den Namen "MVC". Dabei handelt es sich um ein Action-basiertes Webframework, das als Alternative (und nicht etwa als Ersatz) zum komponentenbasierten JSF dienen soll. In dieser Session werfen wir einen Blick auf den Early Draft von MVC und auch auf das bereits existierende Jersey MVC, einer Erweiterung der Referenzimplementierung von JAX-RS. Beides erlaubt einen guten Eindruck davon, wie MVC voraussichtlich aussehen wird. Zudem diskutieren wir gemeinsam, ob Java EE ein zusätzliches Webframework überhaupt benötigt.

Thilo Frotscher
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, configuration management and stage-based deployment and introduce the concept of limiting blast radius.

Jonathan Weiss
Session

DevOps und ITIL: Ein Erfahrungsbericht

german

+

Organisationen entwickeln sich weiter. Einige haben einen stark formalisierten Aufbau und wünschen sich mehr Agilität; andere wiederum wollen Standardisierung.Gerade im Managed Services Bereich ist ITIL weit verbreitet oder soll eingeführt werden. Gleichzeitig gibt es Bestrebungen agile und DevOps Prinzipien in Betriebsorganisationen zu etablieren. Wir zeigen, wie wir beide Ansätze in einem Managed Services Bereich miteinander verbinden und welche Erfahrungen wir sammeln konnten.

Richard Attermeyer
Session

Cassandra/Spark integration, theory and practice

english

+

Apache Spark is a general data processing framework which allows you perform map-reduce tasks (but not only) in memory. Apache Cassandra is a highly available and massively scalable NoSQL data-store. By combining Spark flexible API and Cassandra performance, we get an interesting alternative to the Hadoop eco-system for both real-time and batch processing. During this talk we will highlight the tight integration between Spark & Cassandra and demonstrate some usages with live code demo.

DuyHai Doan
Session

Das Schreckgespenst Case Management? Konkrete Beispiele aus der Praxis

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 und Workflow Engines ganz hervorragend, um mehr Flexibilität in die Prozesse zu bekommen? Was ist der richtige Mix? Und funktioniert das eigentlich wirklich? Kurzum: Ich möchte in diesem Vortrag dem Schreckgespenst „ACM“ den Schrecken nehmen und zeigen, wie man schon heute erfolgreich Projekte im Bereich des Case Managements machen kann bzw. wo die heutigen Grenzen und die zukünftigen Entwicklungen liegen.

Bernd Rücker
19:00 bis 20:00

Expo Reception

Mittwoch - 22. April 2015
07:00 bis 08:30

Konferenz Check-In

08:30 bis 09:45
Session

Connecting Things – with BLE (Bluetooth Low Energy)

english

+

This session will explain the basics of BLE (Bluetooth Low Energy) and then fast-forward into the Internet of Things. There are two popular ways to connect things: either via direct internet connection, e.g. via WiFi, or via a hub like a smartphone. It happens that most smartphones today have BLE on board – Windows Phone, Android, iOS – so we will explore prototyping boards that allow you to connect your thing via BLE. But to start with BLE, we figured out that starting with your BLE-enabled Mac or a Raspberry Pi with BLE dongle is even easier. Join the session, let’s start hacking with BLE. 

Sven Haiges
Session

Software as a Market: How to grow Large-Scale Software Systems

english

+

In the 21st century, large-scale software systems are distributed over hundreds to millions of computers, ranging from mobile devices to cloud servers. Large software systems look more like large natural systems than artificial constructs, more like cities than bridges. It makes more sense to grow such systems over time, rather than build them. Yet there is little science on how to grow large scale software systems. The successful systems we see, like the Internet, appear to have emerged by accident rather than planning. Pieter Hintjens explains a way to grow such systems deliberately, as free and competitive markets of suppliers and consumers. In this approach, protocols and RFCs matter more than code, and Pieter will explain how he develops RFCs for large-scale systems, using ZeroMQ for decentralized messaging, connecting applications written in in C/C++, Java, .NET, Erlang, Go, Python, and dozens of other languages.

Pieter Hintjens
Session

Docker on Azure: Container in der Microsoft Cloud

german

+

Seit einiger Zeit unterstürzt Azure Docker auf Linux VMs. Aber was heißt das in der Praxis? Dieser Vortrag gibt einen Überblick, wie Azure Docker in seine tools integriert und wie man unterschiedlichen Plattformen aus  (Linux, Windows) Docker-Container auf Azure erzeugt und verwaltet.

Dr. Holger Kenn
Session

IBM Bluemix - The Cloud Platform Java Developers Have Been Looking For 

english

+

There is a new way to deploy Java apps to the Cloud and it is called IBM Bluemix. IBM Bluemix allows you to forget about the infrastructure and focus on the code.  You do not need to worry about VMs, operating systems, or networking, Bluemix will take care of and manage all of that for you.  This allows you as a developer to focus on the features and functionality you want to build.  Best of all you have the freedom to choose the tools, languages, and frameworks you want to use. From JEE to Spring, from Tomcat to Websphere Liberty, from Ant to Gradle, from Eclipse to IntelliJ, you choose how you want to build your app and Bluemix will run it.  In this session you will get an introduction to Bluemix and immediately see how easy it is for Java developers to get their apps deployed to the cloud.  It is a "must attend" session if you are interested in cloud development! 

Niklas Heidloff, Ryan J. Baxter
Session

What's New in Neo4j 2.2

english

+

Neo4j 2.2 contains a wealth of enhancements to the world's most popular graph database. In this session I'll demo building a large graph based on publicly available, real-world data, and querying it to generate insight. Along the way, I'll show how improvements in a range of areas, from performance, scalability and query planning, to bulk import, visualisation and query profiling, help in quickly building an effective graph database application.

Ian Robinson
Session

arc42-Realitycheck

german

+

Seit über zehn Jahren gibt es arc42 - die pragmatische Vorlage/Arbeitshilfe für Architekturdokumentation. Im Vortrag stelle ich diverse Optionen für den Praxiseinsatzvon arc42 vor - von Werkzeugen bis hin zur Organisation von Dokumentation im Projekt. Anhand von Beispielen zeige ich auf, wie Architektur- und Codedokumentationzusammenspielen und wie wir eine pragmatische und nützliche (technische) Projektdokumentation aufsetzen können. Insbesondere sehen Sie textbasierte (AsciiDoc-)Dokumentation im Zusammenspiel mit Modellierungswerkzeugen wie Enterprise Architect und Visual Paradigm im Einsatz - und wie das zusammen mit git auch entwicklerfreundlich funktioniert.Gerne dürfen Sie mir (dem Sprecher) im Vorfeld Ihre konkreten Fragen zu Architekturdokumentation und arc42 zukommen lassen. Im Vortrag werde ich möglichst viele davon beantworten.

Gernot Starke
Session

Andocken bitte! Eine Einführung in Docker

german

+

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

Michael Johann
Session

Was gibt es neues in Spring 4.2?

german

+

Auch 2015 erwartet die Javawelt ein neues Release des Spring Frameworks. Nach dem Wechsel auf die 4.0 Generation und einem Featureupdate 2014 folgt nun ein weiteres, das viele spannende Neuigkeiten mit sich bringt. Der Vortrag beleuchtet kurz die Kernthemen aus 4.0 und 4.1 um dann anschließend anhand einiger Demos die wichtigsten Bereiche des 4.2 Releases vorzustellen. Hierbei wird es um Erweiterungen am Konfigurationsmodell, annotationsbasierter Applikations-Events gehen, sowie Neuerungen im MVC-Bereich in Bezug auf CORS, HTTP Caching und Server Send Events.

Oliver Gierke
Session

Geb und Graphene im Vergleich

german

+

In den letzten Jahren sind zwei Frameworks um Selenium entstanden, die für sich beanspruchen, die Tests im Browser robuster und wartbarer zu gestalten: Geb (gebish.org) und Arquillian Graphene. Beide setzen auf eine an jQuery angelehnte Syntax zur Selektion und bieten die Möglichkeit, den Testcode über Page-Objekte und wiederverwendbare Module wartbarer zu strukturieren. Zusätzlich gibt es Unterstützung für Ajax. Dieser Vortrag stellt die Stärken und Schwächen der beiden Neulinge in unterschiedlichen Umgebungen und im Vergleich zu Selenium vor und gibt Entscheidungshilfen für die Auswahl des geeigneten Werkzeugs.

Stefan Hildebrandt
Session

Moderne Gestaltungen für den Java-Desktop

german

+

Hier wird frische Gestaltung für den Java-Desktop gezeigt, die man in Swing, SWT, JavaFX und Webtechnologien umsetzen kann. An vielen Bildschirmbeispielen lernen Sie, wie man Omas funktions- und formularzentriertes GUI in eine rollenbasierte, aktionszentrierte Anwendung überführt, die zeitgemäße User Experience bietet und bei der Desktop mit Web mithält. Dazu beleuchten wir, wie man technische, politische und menschliche Hürden bei einer solchen Neugestaltung überwindet.

Karsten Lentzsch
Session

Das Performancemodell des Stream-API

german

+

Worauf muss man bei der Verwendung von Stream-Operationen bez. der Performance achten? Die Session behandelt u.a. den Performancevergleich von einem sequenziellen Stream mit einer for-Schleife und erläutert, welche Eigenschaften der auszuführenden Funktionalität den Performanceunterschied ausmachen. Des Weiteren wird diskutiert, wann und um wie viel parallele Stream-Abarbeitung schneller ist als sequenzielle. Dazu sehen wir uns interne Details der Stream-Implementierung wie Iterator/Spliterator und Reduktions- vs. Akkumulationsalgorithmen an. Wann lohnt sich parallele Abarbeitung bzw. wann eher nicht?

Klaus Kreft
Session

20th Century IT meets 21st Century IT (Cloud)

english

+

The promise of Cloud Computing is a compelling one; costs aligned with business activity, increased agility and automated upgrades. Cloud is now firmly established as best practice for start-up companies, allowing them to focus on creating value rather than IT infrastructure. So if there is little benefit to running IT in-house then why are large companies not adopting it in droves? In this talk we will look at the barriers to migrating large scale IT installations to Cloud and consider how these might be addressed.

Lewis Foti
09:45 bis 10:30

Kaffeepause

10:30 bis 11:30
Session

Grails und AngularJS - das Beste von Server und Client vereint

german

+

Grails ist ein sehr produktives Full-Stack-Framework für die Entwicklung klassischer serverseitiger Webanwendungen und Web-APIs. AngularJS ist einer der Favoriten für die Entwicklung moderner Clients mit Single-Page-Architektur. Dieser Vortrag zeigt, wie Grails und AngularJS integriert werden können, und beleuchtet Vor- und Nachteile der Alternativen. Insbesondere wird dabei die Grails-Asset-Pipeline vorgestellt und die sich dadurch ergebenden Integrationsmöglichkeiten zur Einbettung von AngularJS präsentiert.

Stefan Glase, Stefan Scheidt
Session

Docker-Orchestrierung in virtuellen Umgebungen

german

+

Container sind das neue Schwarz. Zumindest wenn es nach vielen Entwicklern geht. In den IT-Abteilungen jedoch sind Begriffe wie Docker, Kubernetes oder Mesos oftmals noch Fremdwörter. In diesem Talk gehen wir auf die Unterschiede und Gemeinsamkeiten der beiden Welten ein und zeigen am Beispiel einer mit VMware virtualisierten Infrastruktur, wie sie heute in vielen IT-Abteilungen präsent ist, dass man  gewachsene Strukturen mit neuen Technologien wie Docker kombinieren kann, um die Kluft der Realitäten zwischen Development und Operations zu verkleinern.

Robert Szymczak
Session

Spring Ecosystem

german

+

Im Spring-Umfeld hat sich in den letzten Jahren einiges getan. So sind viele nützliche Projekte entstanden, die den aktuellen Stand moderner Softwareentwicklung prima unterstützen: Big Data, Mobile, Cloud, Security, Integration, Selfdescribing REST, Workflow und einiges mehr. Wer den Überblick verloren hat und wieder in der Enterprise-Liga mitspielen möchte, für den ist diese Session genau das richtige Comeback. Ebenso können sich aber auch Freunde von EJB und anderen Enterprise-Plattformen informieren, was bei der Konkurrenz so vor sich geht. Die Session vermittelt einen guten Überblick über die Features und zeigt exemplarisch mit wie wenig Aufwand sie zu nutzen sind.

Felix Heppner, Hermann Woock
Session

Von "Enterprise" zu "Reactive"

german

+

Wer eine Weile mit Java Enterprise Edition gearbeitet hat und sich für asynchrone, verteilte, "reaktive" Architekturen interessiert, muss erst einmal einiges in der Vergangenheit Gelerntes aus dem Weg schaffen. Übliche Architekturmuster mit einem Thread per Request, Nutzung von ThreadLocals für Session-Caches, synchrone Aufrufe von Services und Datenbanken und (möglicherweise verteilte) Transaktionen mit 2-Phase-Commit lassen sich nicht eins zu eins in ein System, das auf Aktoren basiert, übertragen. Wie können wir die Transition einfacher machen? Was tritt an die Stelle dieser Enterprise-Ansätze? Welche Tools muss ich aus meinem Werkzeugkasten entfernen? Und warum lohnt sich das Ganze? Diesen Fragen werden wir in dieser Session nachgehen.

Die Session wird "Enterprise"-Entwicklern einen Einblick in "Reactive Development" und einige Denkanstöße geben.

 

Lutz Huehnken
Session

Testgetriebene Infrastruktur als Code

german

+

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

Peter Roßbach
Session

Anwendungsfälle für Elasticsearch

german

+

Elasticsearch findet als verteilte Volltextsuchmaschine immer weiter Verbreitung. Die Basis Lucene bietet viele für die Suche notwendige Features, die durch ein einfach zu bedienendes REST-API von Elasticsearch zur Verfügung gestellt werden. In diesem Vortrag werden anhand unterschiedlicher Anwendungsfälle einige wichtige Eigenschaften von Elasticsearch vorgestellt: Die verteilte Natur ermöglicht die Speicherung auch großer Datenmengen, auf denen dann einfach gesucht werden kann. Die Verteilung ermöglicht eine einfache Skalierung und damit die Entlastung sonstiger Datenbanken in der Anwendung. Geo-Spatial-Features dienen der Handhabung von Geokoordinaten und der Suche darauf. Über die JavaScript-Anwendung Kibana können unterschiedliche Dashboards verwaltet werden, oftmals zur Logfile-Analyse in Verbindung mit logstash, aber auch für die Auswertung sonstiger Daten.

Florian Hopf
Session

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

german

+

Es gibt Qualitätsanalysewerkzeuge wie Sand am Meer. Sie werden auch von vielen Teams eingesetzt. Meistens führen sie jedoch nicht zu Qualitätsverbesserungen. Was macht sie für wenige Teams wertvoll, für die meisten aber scheinbar nutzlos? Die Ursachen sind vielfältig, aber interessanterweise bei den meisten Teams die gleichen. Dieser Vortrag stellt Erfahrungen, Lessons Learned und Best Practices aus sieben Jahren Praxiseinsatz in unterschiedlichen Teams, Domänen und Firmen vor. Dabei gebe ich konkrete Empfehlungen und gehe neben technischen Faktoren auch auf Prozesse und Change-Management ein.

Elmar Juergens
Session

Bau deine eigene IoT-Plattform mit Java

german

+

Durch die Vielzahl offener Hardwareplattformen ist es heutzutage ein Leichtes, eigene Geräte für Anwendungen im Internet der Dinge zu bauen. Die meisten Gadgets haben mit einem Arduino- oder Raspberry-Pi-Prototyp begonnen, bevor sie eigene Geräte fertigen ließen. Genauso einfach wie das Erstellen von Hardwareprototypen ist das Bauen einer eigenen IoT-Cloud-Plattform für die Kommunikation mit den Geräten und der Darstellung der verarbeiteten Daten für den Endbenutzer. Eine Grundanforderungen an solch eine Platform ist, dass Geräte, die unterschiedliche Protokolle sprechen, trotzdem miteinander kommunizieren können.

In dieser Session werden zuerst die wichtigsten Bestandteile einer IoT-Plattform im Detail erklärt und ihr Zusammenspiel erläutert. Anschließend werden wir uns anschauen, wie man eine solche Plattform beispielhaft auf Basis bekannter Java-Technologien aufbaut. Dabei sollen Geräte über HTTP und MQTT mit der Plattform kommunizieren sowie historische Daten abrufen können. Am Ende sehen wir die Plattform bei einer Livedemonstration in Aktion .

Ziel des Vortrags ist es, einen Einstieg in das Thema IoT-Plattform zu bieten, dabei die Architektur sowie die Grundzüge einer IoT-Plattform zu erläutern und eine beispielhafte praktische Umsetzung zu zeigen.

Christian Götz
Session

Functional Thinking in Java 8, Clojure, Groovy and Scala

english

+

Learning the syntax of a new language is easy, but learning to think under a different paradigm is hard. This session helps you transition from a Java writing imperative programmer to a functional programmer, using Java, Clojure and Scala for examples. This session takes common topics from imperative languages and looks at alternative ways of solving those problems in functional languages. As a Java developer, you know how to achieve code-reuse via mechanisms like inheritance and polymorphism. Code reuse is possible in functional languages as well, using high-order functions, composition and multi-methods. I show examples from my book “Functional Thinking” of shifting your perspective on problems, ceding messy details to the language, working smarter, not harder, and how to deal with multiparadigm languages.

 

Neal Ford
Session

Beinhart, aber doch butterweich - Architekturen für dynamische Unternehmen

german

+

Die IT ist das Nervensystem praktisch jedes Unternehmens. Das bedeutet, dass die IT-Systeme stets laufen und zügig antworten müssen. Das bedeutet auch: Keine Businessänderung ohne eine Änderung der IT-Systeme, d.h. die IT limitiert die mögliche Dynamik des Unternehmens. Aber wie sehen Architekturen aus, die sowohl superrobust in Produktion und gleichzeitig total flexibel in der Weiterentwicklung sind? In dieser Session werden wir dieser Frage nachspüren, einige aktuelle Architekturtrends diesbezüglich überprüfen und auch eine konkrete Architektur kennen lernen, die diese Anforderungen erfüllt.

Uwe Friedrichsen
Session

Ist Industrie 4.0 nur eine Hightechstrategie für die Industrie?

german

+

Mit Industrie 4.0 verbindet man in erster Linie die "Smart Factory" oder die industrielle Fertigung von morgen. Die dort forcierten Ziele wie Wandlungsfähigkeit, Ressourceneffizienz und Ergonomie sind ebenso wichtige Maxime sprechende Geschäftsprozessabläufe oder intelligente Prozessabläufe. Denn in der zukünftigen serviceorientierte Architektur wird die technologische Prozessdurchführung sich "selbst heilen" können und sich somit interaktiv an ihr Umfeld im Sinne der Geschäfts- und Wertschöpfungskette anpassen.

Daniel Albrecht
12:20 bis 12:50
Keynote

The Prepared Mind

english

+

How can you tap into the most significant trends and opportunities in technology? "Fortune favours the prepared mind" as Pasteur's famous quote goes. As a technologist at a venture capital firm, Accel Partners in London, Adrian is in a fortunate position to see many great teams, technologies, and companies across Europe. In this keynote, Adrian will explain some of the the approaches he uses to keep a prepared mind, including 'The Morning Paper,' in which he writes-up a new research paper every weekday. Then he’ll share some of the trends and research he is most excited about at the moment in the areas of distributed systems, cloud infrastructure, and data.

Adrian Colyer
12:45 bis 14:15

Mittagessen

14:15 bis 15:15
Session

DevOps in a Microservices World

german

+

DevOps und Microservices -- muss das sein? Für viele ist alleine schon der Hype um ein Thema Grund genug, sich NICHT damit zu beschäftigen. In dieser Session wird der Hypefaktor außen vor gelassen und aus einem sehr pragmatischen Blickwinkel betrachtet, wie und wann nicht nur das "Dev" in "DevOps" am besten mit Microservices funktioniert, sondern auch das "Ops".

Martin Gutenbrunner
Session

Reaktive Geschäftsanwendungen

german

+

Asynchrone Verarbeitung, reaktive Architektur, Eventual Consistency - moderne Ansätze versprechen Skalierbarkeit und Robustheit, Geschäftsanwendungen dagegen werden oft komplett synchron, in Schichtenarchitektur und voll transaktional gebaut. Und dafür gibt es ja auch gute Gründe. Diese Session schlägt die Brücke zwischen modernen Konzepten und "klassischen" Anforderungen. Sie zeigt, wo Geschäftsanwendungen von Asynchronität profitieren können und gibt praktische Hilfestellungen.

Arno Haase
Session

NoSQL-Einsatzszenarien in transaktionalen Enterprise-Systemen

german

+

"Wir haben hier nur ein paar Java-Clients vor einem Host, wir profitieren nicht von NoSQL in unserer Architektur." Falsch! Der Vortrag zeigt, dass es auch in klassischen transaktionalen (ACID) Architekturszenarien Bedarf und Platz für Optimierung durch nicht relationale Storages mit Support für ACID-Transaktionen gibt. Konzepte wie Caching, parallele Ausführung oder die Unterstützung von MapReduce-Algorithmen können komplementäre Ansätze von NoSQL-Storages sein, die auch im relational dominierten transaktionalen Umfeld Vorteile erbringen.

Christian Dedek
Session

Embedded Android - die Kommandobrücke des IoT

german

+

Viele IoT Anwendungen fordern eine grafische Benutzerschnittstelle um mit uns zu kommunizieren. Dies kann auf ganz klassische Wege wie Webseiten oder Apps erfolgen. Hardwarenahe Anwendungen fordern aber meist auch ein speziell abgestimmtes Human Machine Interface, zum Beispiel im Auto oder im SmartHome. Diese zentrale HMI-Hardware übernimmt häufig auch zentrale, steuernde Aufgaben und integriert sich mit verschiedensten Protokollen und Komponenten. Setzt man Android auf einem Single Board Computer (SBC) in Verbindung mit einem Display + Touch Sensor ein, hat man eine ideale Kombination für diese Herausforderung. Wir zeigen, wie sich Android in das IoT eingliedert und welche Vorteile diese Lösung bietet.

Christian Meder
Session

Das „Transformation-Triangle” – IT und Business erfolgreich transformieren

german

+

Die industrielle Revolution haben wir hinter uns, doch seit geraumer Zeit befinden wir uns in der digitalen Revolution. Aufgrund der Digitalisierung verändern sich Industrien und Märkte rasend schnell. Nach Kotter – Change-Experte - sind nur 30 Prozent der Transformationsprojekte erfolgreich. Diese Session zeigt Möglichkeiten, digitale, diskrete Transformationen von IT und Business erfolgreich zu machen. Drei Kernaspekte spielen eine zentrale Rolle: Leadership, Driver und Master-Plan. Theorie, gespickt mit praktischen Beispielen, untermauert durch Research-Ergebnisse zeigen diesen Weg auf - und das wie üblich bildhaft dargestellt und angereichert mit vielen persönlichen Erfahrungen.

Carsten Sensler, Thomas Grimm
Session

What's new in Spring Data?

german

+

In diesem Vortrag geben wir einen Überblick über die Neuerungen aus dem aktuellen Release der Spring Data Projekte. Nach einer kurzen Einführung in die wichtigsten Features von Spring Data stellen wir die wichtigsten Neuerungen in allgemeinen und den Datastore spezifischen Modulen wie z.Bsp. JPA, MongoDB, Solr, REST und Redis sowie der Community Module wie zB. ElasticSearch vor.

Christoph Strobl
Session

Optimierung 2.0 - Lösung von Optimierungsproblemen mit JBoss OptaPlanner

german

+

Wettbewerbsfähigkeit unter Kostendruck erfordert den effizienten Einsatz von Ressourcen. Dafür müssen die geeigneten Mittel in angemessener Menge zur richtigen Zeit eingeplant werden. Dies gilt für die Maschinennutzung ebenso wie für Transportmittel oder Personal. Durch die toolgestützte Nutzung mathematischer Optimierungsverfahren lassen sich komplexe Planungsaufgaben lösen, automatisieren und ergebnisseitig verbessern. In diesem Talk stellen wir ein Vorgehensmodell am Beispiel des Open-Source-Tools JBoss OptaPlanner vor.

David Jorch
Session

MongoDB - Eine Einführung

german

+

Der Umgang mit schnell wachsenden Datenmengen, sich ändernden Strukturen sowie dem Wunsch nach Skalierbarkeit stellt herkömmliche RDBMS System vor neue Herausforderungen. Eine adäquate Lösung hierfür bieten NoSQL Datenbanken. Im Rahmen dieser Session werden die Grundlagen zu MongoDB behandelt um abschließend auf die Themen Skalierbarkeit, Ausfallsicherheit und Map/Reduce eingegangen.

Andreas Hartmann
Session

Fünf Dinge, die Sie beim Erstellen moderner Browseranwendungen wissen sollten

german

+

Diese Session informiert über fünf ausgewählte Themen, über die Sie sich vor der Erstellung einer moderner JavaScript-getriebenen Anwendung bzw. Single Page Application (SPA) auseinandersetzen sollten: Internationalisierung, offlinefähige Browseranwendungen mit AppCache und IndexedDB, Qualitätssicherung von Browseranwendungen, asynchrone und parallele Programmierung mit JavaScript und Deep Linking.

Manfred Steyer
Session

Neo4j Worst Practices

german

+

Graphdatenbanken sind eine spannende Technologie, die es uns erlaubt, viele Problemstellungen in einem Bruchteil der Zeit bzw. der Kosten zu lösen, die wir von anderen Speichertechnologien kennen. Wie bei jeder neuen Technologie, steht am Anfang die Lernphase. Bei Graphdatenbanken ist die Lernkurve typischerweise sehr steil, produktiver Code kann oft schon nach wenigen Tagen geschrieben werden. Trotzdem wird man früher oder später in die ein oder andere Falle tappen. Sei es Datenmodellierung, Testen, Konfiguration oder auch Tuning - alle halten sie für Anfänger die ein oder andere Überraschung bereit.

Der Vortrag wird Wege aufzeigen, wie man ganz bewusst in all diese Fallen tappt. Die Darstellung von Anti-Patterns wird zum einen lehrreich, zum anderen aber auch hoffentlich sehr unterhaltsam werden. Abgerundet wird der Talk durch Erfahrungen und Anekdoten aus Kundenprojekten und der Community, die ich seit über drei Jahren als Field Engineer bei Neo Technology aktiv begleite.

Stefan Armbruster
Session

Use Cases und Technologien für Big Data und Advanced Analytics

german

+

Big Data und Advanced Analytics werden zunehmend von Unternehmen genutzt. Aus Daten werden Informationen gewonnen: die Basis für eine digitale Dividende. Wie sehen konkrete Einsatzszenarien und Anwendungsfälle für Big Data und Advanced Analytics aus? Auf welchen Technologien und Produkten basieren sie? Hintergründe, Tools und ein exemplarischer Abriss rund um das Themenspektrum.

Ralph Kemperdick
Session

Garbage-Collection-Pausen

german

+

Der Garbage Collector einer JVM kümmert sich um das Aufräumen von nicht mehr benötigten Objekten.Früher hat man sich Gedanken darüber machen müssen, wie stark der Garbage Collector den Durchsatz der Applikation belastet, d.h. wie viel Prozent der Gesamtablaufzeit einer Applikation für Garbage Collection "verschwendet" wird. Oder man hat sich darum kümmern müssen, wie effektiv der Garbage Collector ist, d.h. ob er es schafft, dass die Applikation mit wenig Speicher auskommt. Diese Probleme haben sich auf 64-Bit-Systemen von allein erledigt: enge Speichersituationen sind ein Problem der Vergangenheit. Heute arbeitet man mit großen Heaps und kämpft nun mit dem Problem, dass große Heaps bei den traditionellen Garbage Collectors zu langen GC-Pausen führen. Heute ist die GC-Pause das primäre Problem.

In dieser Session wird erläutert, warum das so ist, wie die klassischen GC-Algorithmen (Serial/Parallel Old und CMS) funktionieren und wie jüngere Garbage Collectors (G1) arbeiten.  Unter anderem wird an einem neuen Garbage Collector für die HotSpot-JVM gearbeitet, der kurze Pausen unabhängig von der Heap-Größe haben soll (Shenandoah). Und wir sehen uns an, wie kommerzielle JVMs (Azul und JRocket) ihre kurzen Pausenzeiten erreichen.

Angelika Langer
15:15 bis 16:00

Kaffeepause

16:00 bis 17:00
Session

Guerilla-Architektur

german

+

Es soll tatsächlich in freier Wildbahn noch Projekte geben, die mit Scrum, Kanban oder gar Lean Startup nichts zu tun haben wollen oder dürfen. Gerade Programm- und Projektmanager mit hoher Budgetverantwortung scheuen Experimente mit modernen Methoden und suchen Sicherheit in der Pseudoplanbarkeit des klassischen Wasserfalls. IT-Architekten gelten in solchen „statischen“ Kontexten häufig als „Generalproblemlöser“. Dies bietet Chancen, um nachträglich doch noch wichtige agile Aspekte wie z. B. schnelle Feedbackschleifen trotz Widerstands der Heeresleitung zu etablieren. In diesem konspirativen Treffen werden zehn Guerilla-Taktiken vorgestellt, die klassische Projektmodelle unbemerkt unterwandern können.

Bernd Rederlechner
Session

Enterprise Flight into DevOps Space

english

+

Enterprise adoption of DevOps is something that is already happening, but like with other trendy methodologies it happens quite differently with different level of success. This presentation accumulates speaker's experience in helping different size organizations to implement DevOps initiatives and gives interesting real life examples: war stories, jokes, myths. During last years we accumulated a lot of experience helping our clients automating their JVM projects starting from automated deployments and ending with fully automated production infrastructure configuration.

Andrey Adamovich
Session

What's wrong with RDBMS?

english

+

Apache Cassandra is an open source distributed database management system designed to handle large amounts of data across many commodity servers, providing high availability with no single point of failure; during this talk we will analyse why traditional RDBMS are not ideal for today's requirements regarding availability, maintainability and scalability.

Robert Stupp
Session

What still matters in Enterprise

german

+

Bestanden die Architektur- und Designparadigmen der Enterprise-Java-Welt vor einigen Jahren noch aus unzähligen Vorgaben und Formalismen und letztendlich einzuhaltenden Mustern, so konzentrieren sie sich heute eher auf das Weglassen, Verschlanken und Vereinfachen. Dank grundlegender Ansätze wie DDD, DRY, COC und DI hat sich die Anwendungsarchitektur moderner Enterprise-Anwendungen erheblich vereinfacht. Wo früher Abstraktionen und Patterns im Fokus standen, stehen heute Fachlichkeit, Effizienz, Robustheit und sicherer Umgang mit Technologien im Vordergrund. Doch was macht eine moderne Anwendungsarchitektur abseits der etablierten grundlegenden Ansätze aus, und welche Rahmenbedingungen müssen weiterhin von einer guten Architektur bereitgestellt werden, ohne als Over-Engineering zu gelten? Die Antworten liefert diese Session.

Jens Schumann
Session

Dirigent im Hintergrund: ZooKeeper

german

+

Wer heute Clustersoftware schreibt, setzt zur Koordinierung höchstwahrscheinlich ZooKeeper ein. ZooKeeper erlaubt die Abbildung typischer Nebenläufigkeitspatterns (Lock, Counter, Semaphore) über Hunderte von Servern. Hadoop implementiert mittels ZooKeeper Fail-over seiner wichtigsten Systemkomponenten. Dieser Vortrag erklärt die Features und Eigenschaften von ZooKeeper inklusive seiner Datenhaltung, Fail-over und Korrekturmechanismen.Inklusive kurzer Livedemo.

Bernd Fondermann
Session

Optional<T> - Ein kontroverser Typ in Java 8

german

+

Mit Java 8 ist der neue Typ java.util.Optional zum JDK dazu gekommen. Er wird im JDK als Returntyp von Stream-Operationen genutzt.  Erstaunlicherweise hat diese unscheinbare Klasse heftige und kontroverse Diskussion ausgelöst, als sie für Java 8 definiert wurde. Das liegt u.a. daran, dass es ähnliche Abstraktionen in anderen Sprachen gibt, z.B. Option in Scala. Dort gibt es den Ansatz, Option als "better null" zu verwenden. Kann man Optional in Java ähnlich wie Option in Scala benutzen? Dann hätte Optional das Potenzial, null und NullPointerExceptions in Java gänzlich überflüssig zu machen. Die Session erläutert die kontroversen Positionen und stellt den gesamten Funktionsumfang sowie die Nutzungsmöglichkeiten von Optional in Java vor , inklusive Ausblick auf die zukünftige Bedeutung von Optional in Java-Versionen, die ValueTypes unterstützen werden.

Klaus Kreft
Session

Microservices mit Spring Boot und Spring Cloud

german

+

Microservices stellen Entwickler vor neue Herausforderungen. Der Spring-Stack hält zwei Lösungen bereit: Spring Boot zur Implementierung des Microservices und Spring Cloud für den Aufbau der notwendigen Infrastruktur. Dieser Vortrag zeigt, wie die beiden Technologien praktisch funktionieren und Microservices-Architekturen mit diesem Ansatz implementiert werden können.

Eberhard Wolff
Session

Xilften - Die umgekehrte Architekturbewertung eines Internetgiganten

german

+

Netflix, das größte Internetbusiness in den USA, zeichnet sich zeitweise für ein Drittel des Downstream-Traffics im Web verantwortlich. Die Erfolge der Video-on-Demand-Plattform basieren nicht nur auf einer guten Geschäftsidee, sondern auch auf topmodernen, effizienten und robusten Technologien, Frameworks und Architekturansätzen. Was können wir daraus lernen? Ist es an der Zeit, unsere Systeme und Architekturen in Microservices zu refactoren, große Datenbanksysteme aufzubrechen, polyglott zu programmieren und reaktive Ansätze zu verwenden? Diese Session hilft Ihnen bei der individuellen Beantwortung dieser Fragen. In einer umgekehrten Architekturbewertung haben wir jene Anforderungen und Rahmenbedingungen herausgearbeitet, die man haben müsste, um die Netflix-Architektur als ideal zu bewerten. Welche Qualitätsaussagen müssten Ihnen wichtig sein? Zu welchen Kompromissaussagen müssten Sie "Ja" sagen? Welche Risiken müssten Sie eingehen, und welche Rahmenbedingungen bräuchten Sie?

Stefan Toth
Session

Next Generation GWT: Bringing Java and JavaScript Ecosystems closer together

english

+

GWT has been tremendously successful in bringing the Java ecosystem into client-side web applications, but looking at the web today there is a large and vibrant JavaScript ecosystem. By making fundamental changes to the GWT compiler, developers will be able to painlessly reuse both the Java ecosystem as well as the JavaScript ecosystem for writing hybrid Web applications. Join this session to learn about our new JavaScript interoperability system, how it supports the new Web Components specification, as well as the material design introduced at Google I/O, a new, efficient, standardized RPC system for JavaScript/Java and how we make GWT code execution even faster.

Daniel Kurka
17:15 bis 18:15
Session

Single und trotzdem glücklich - Eine Einführung in Meteor

german

+

Single-Page-Apps sind in der Webentwicklung ein angesagter Trend. Das Konzept der „Reactivity“ bietet eine ganz neue  Nutzererfahrung und erlaubt die „Echtzeitaktualisierung“ von tausenden Webclients. Entwickler brauchen sich dabei nicht um Low-Level-Protokolle zu kümmern, sondern können sich auf das Wesentliche konzentrieren. Der Vortrag zeigt mit viel Live-Coding das Erstellen einer echten Anwendung, die das Management von Docker-Containern vereinfacht.

Michael Johann
Session

Nur Chuck Norris kann hybride Desktopanwendungen

german

+

Das stimmt nicht. Mit JavaFX hindert uns nichts mehr daran, ganze Teile von Webanwendungen in komplexe Desktopanwendungen zu integrieren. Anhand von konkreten Beispielen stellen wir verschiedene Stufen der Integration von Webcontent in JavaFX-Anwendungen vor. Herausforderungen, notwendige Designentscheidungen und der eigentliche Business Value werden dabei eine zentrale Rolle spielen.

Alexander Casall, Stefan Bley
Session

Java 8, the other Stuff

english

+

Everyone knows and talks about Lambdas in Java 8 and as important as that addition is, there is other stuff in Java 8. This talk will explore some of the other stuff that came with Java 8. For example, the removal of PermGen and what it means to every day developers. Also there are a number of new tools including Java Mission Control, a new diagnostic tool that can offer insights into what your application is doing.

Kirk Pepperdine
Session

Mut zur Fachlichkeit – Second Season

german

+

Nach dem großen Erfolg auf der letzten JAX geht es in diesem Jahr mit „Mut zur Fachlichkeit“ in die 2nd Season. Denn leider gilt nach wie vor, dass viele Architekturen stark durch die verwendeten Technologien, Frameworks, Generatoren etc. getrieben werden, statt die eigentliche Fachlichkeit der Anwendung in den Fokus zu stellen. Im Quellcode ist die Fachlichkeit daher kaum noch auffindbar, das Chaos beim Bug-Fixing entsprechend vorprogrammiert. Die Session zeigt wieder 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

Datenbank am Limit. Spaltenorientiert als Ausweg

german

+

Wir alle kennen und schätzen SQL und NoSQL­Datenbanken. Doch es gibt Anwendungsfälle, in denen diese Datenbanken an ihre Grenzen stoßen. Zum Beispiel bei der Analyse von Finanzmarktdaten. Dort müssen Zeitreihen von enormer Größe verarbeitet werden. Der Vortrag zeigt auf, wie spaltenorientierte Datenbanken dieses Problem lösen. Die Architektur solcher Tickdata­Systeme wird beleuchtet. Der Vortrag endet mit dem Beispiel einer technischen Implementierung für Finanzmarktdaten.

Michael Wittig
Session

Hypermedia-APIs für das Internet of Things

german

+

Ein wesentliches Merkmal von Diensteplattformen im Internet of Things ist deren hohe Dynamik. Verschiedenste Arten von autonom kommunizierenden "Dingen" können jederzeit kommen und gehen, stellen unterschiedlichste Arten von Informationen über sich und ihre Umwelt bereit und lassen sich ihrerseits auf vielfältige Weise von außen beeinflussen. Geht es nun darum, für solche Diensteplattformen Programmierschnittstellen zu schaffen, stellt sich eine Reihe von Fragen: Wie kann ein Nutzer einer solchen Schnittstelle "Dinge" finden? Wie kann er erkennen, welche Informationen "Dinge" liefern und was er mit ihnen tun kann? Und wie lässt sich das alles realisieren, ohne eine zu enge Kopplung zwischen Nutzer und "Dingen" zu erfordern?

Zu diesen und vielen weiteren Fragen liefern hypermediagetriebene (REST-)Web-APIs eine überzeugende Antwort. Nach einer kurzen Einführung in die Grundlagen von Hypermedia zeigt dieser Vortrag anhand eines konkreten Projektbeispiels aus dem Bereich Smart Home, wie sich aktuelle Hypermediaformate sinnvoll einsetzen lassen, um flexible, erweiterbare und entwicklerfreundliche Programmierschnittstellen für das Internet of Things zu schaffen.

Oliver Wolf
Session

Security-DevOps - Wie Sie in agilen Projekten trotzdem sicher bleiben

german

+

Diese Session zeigt Ihnen, welche Automatisierungsoptionen zur Überwachung bestimmter Sicherheitsaspekte in der agilen Softwareentwicklung bestehen. Ausgehend von dem etablierten DevOps-Konzept, mit dem im Übergang von Entwicklung zu Betrieb Prozesse automatisiert und verzahnt werden, wird mit "Security-DevOps" dieser Antrieb aufgegriffen und auf die Absicherung von Anwendungen gegen Hackerangriffe übertragen. Durch frühe Rückkopplung sicherheitstechnischer Findings an die Entwicklung im Rahmen der Automatisierung haben Ihre Pentester die Möglichkeit, sich auf die kniffligeren Sicherheitschecks zu konzentrieren - trotz geforderter kurzer Releasezyklen.

Christian Schneider
Session

Spring Data REST - Repositories meet Hypermedia

german

+

Die Spring-Data-Repository-Abstraktion erleichtert das Implementieren von Datenzugriffsschichten erheblich. Darauf aufbauend erlaubt das REST-Modul der Spring-Data-Familie diese Repositories als hypermediagetriebene REST-Resourcen zu veröffentlichen. Der Vortrag diskutiert die Patterns, die Spring Data REST implementiert, wie Internetstandards und Spezifikationen das Design beeinflussen und wie das Modul Metadaten exponiert, um lose gekoppelte Clients zu bauen. Der Vortrag zeigt viele Codebeispiele, um die diskutierten Aspekte live zu demonstrieren.

Oliver Gierke
Session

So sieht’s aus! Architekturüberblicke: Tipps und Tricks

german

+

Ihr habt eine bestehende Softwarelösung und wollt deren Architektur erklären. Vielleicht einem neuen Teammitglied oder einem Kooperationspartner. Der Quelltext ist zu „ausführlich“ und erzählt trotzdem nicht die ganze Geschichte. Was zeigt Ihr in solchen Fällen von Eurer Dokumentation? Ach habt Ihr nicht ... Nicht schlimm: In dieser Session geht es um das Anfertigen eines Architekturüberblicks aus dem Nichts. Das stumpfe Ausfüllen eines Templates führt dabei oft zu Frust. Ich zeige stattdessen, wie Ihr die Aufgabe pragmatisch und zugleich wirkungsvoll angeht und diskutiere Formen, Zutaten, Werkzeuge und Vorgehen. Ihr lernt die minimale Ausprägung eines Architekturüberblicks kennen und erfahrt in welchen Situationen Ihr von diesem Minimalset abweicht.

Stefan Zörner
Session

Conway‘s Law Revisited oder Die Einführung einer SOA in einer Silo-Organisation

german

+

Das Gesetz von Conway besagt, dass die Architektur von Systemen durch die Kommunikationsstrukturen der leistenden Organisationstrukturen bestimmt wird. Für ein IT-Unternehmen mit klassischer Anwendungssystem-bezogenen Organisationsform (Silos) stellt sich daher die Frage, ob eine SOA überhaupt realisierbar ist.Wir berichten von den Erfahrungen, die wir über die letzten Jahre aus den SOA-Einführungen bei einem transnationalen DAX30 Telko-Konzern einerseits und dem IT-Dienstleister eines regionalen Versicherungskonzerns andererseits gesammelt haben. Welche Fallstricke lauern in der Organisation des Hauses, in der etablierten Anwendungslandschaft, in den gelebten Verfahren und der Kultur? Was funktioniert, was funktioniert nicht? Wie können Sie die gegebenen Rahmenbedingungen zum Vorteil des Vorhabens einsetzen? Sie lernen, wie Kommunikationsstrukturen verändert werden können, und welche Rolle Richtlinien, ein kanonisches Datenmodell oder eine adäquate Toolunterstützung dabei spielen, auch werden wir auf kulturelle Fallstricke eingehen.Einige der Thesen, die wir mit Ihnen diskutieren:• Die Einführung einer SOA ist primär ein Change-Thema• Nur einfache Richtlinien werden gelebt• Hausaufgaben müssen erledigt sein, bevor SOA gespielt wird• Der Service Contract als Dosenöffner• A Fool with a Tool ... aber das richtige Tool ist Gold wert• Nur greifbarer Nutzen überzeugt• Ein langer Atem zahlt sich aus.

Carsten Sensler, Michael Heinke
Session

Apache Lucene 5 – Neue Features und Verbesserungen für Apache Solr und Elasticsearch

german

+

Dieser Vortrag wird einen kurzen Rückblick über Apache Lucene geben und dann die neuen Features und Verbesserungen präsentieren, die in Version 5 hinzugekommen sind:Lucene 5 ist ganz auf Datensicherheit ausgelegt: Der Wechsel zu Java 7 als Systemvoraussetzung ist nun vollzogen. Lucene benutzt nun ausschließlich die neuen Java NIO.2 Dateisystemfunktionen, was zu einer deutlichen Verbesserung der Stabilität des Indexing-Prozesses und der Durabilität von Commits führt. Außerdem wurden Checkummen in allen Index-Bestandteilen eingeführt, so dass gerade im Umfeld von Apache Solr und Elasticsearch, wo ein Index über das Netzwerk in der Cloud verteilt wird, Fehler bei der Replikation ausgeschlossen werden. Die vorherige Version 4 von Apache Lucene führte Index Codecs ein, deren API sich nun in Lucene 5 endlich stabilisiert.Parallel zu Apache Lucene 5 wurde auch Apache Solr 5 veröffentlicht. Diese Session wird ebenfalls auf die Neuerungen hier eingehen: Apache Solr ist nun nicht mehr länger eine Web Applikation, es kann jetzt nur noch als Server wie zum Beispiel MySQL oder andere Datenbanken gestartet werden. Es wurden passende für SysV-Init-Skripte hinzugefügt und ebenfalls zahlreiche Möglichkeiten zum schnellen Aufsetzen einer Solr Cloud bereitgestellt.Dieser Vortrag wird ebenfalls den Hintergrund die Änderungen diskutieren und zeigen, wie das Beste aus den Neuerungen gemacht werden kann.

Uwe Schindler
Session

Der Myth Buster, oder: Lernen wir eigentlich?

german

+

Wie viele Projekte wählen den Wasserfall als Modell? Kennt jemand die Ursprünge des Modells? Nein? Kein Wunder, denn eigentlich gibt es das Modell gar nicht. Diese und andere überraschende Erkenntnisse zeigt der Vortrag - er wird einige Ihrer grundlegenden Überzeugungen in Frage stellen.

Eberhard Wolff
18:15 bis 19:30

Expo Reception

19:30 bis 20:00
Keynote

OpenWorm: Building a digital Organism in Software

english

+

In this talk, we will explore the techniques of using a multi-algorithm simulation engine to calculate many of the essential physics necessary to reproduce a simple organism, the c. elegans, a microscopic roundworm. Our open source java-based platform, Geppetto, supports web-based visualization of the simulation and is being developed by an international open science community.

Stephen Larson
20:00 bis 21:00
Session

Cryptocurrency: Implementation and Implications

english

+

Bitcoin has generated a lot of both negative and positive buzz, but it’s important to differentiate between the different aspects of cryptocurrency: the algorithm, the commodity, and the implications. This session takes a deep dive on the design and implementation of the proof of work algorithm at the heart of most cryptocurrencies, along with details of how difficult it is to spoof, how transactions work, what happens when all the coins have been mined, and other practical considerations. I also discuss the use of the proof of work algorithm to implement a wide variety of other types of distibuted trust: legal documents, voting systems, and a modification of the entire commerce structure that has existed since medieval times. Don’t be confused by the hype around specific implementations: this algorithm will have wide reaching, tectonic repercussions.

 

Neal Ford
Session

Neues aus der Java-Trickkiste

german

+

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

Arno Haase
Donnerstag - 23. April 2015
07:00 bis 08:30

Konferenz Check-In

08:30 bis 09:45
Session

Hystrix in Action - Ein Weg zu robuster Software

german

+

Jede Software profitiert von mehr Robustheit, insbesondere wenn die Integration von externen Diensten eine Rolle spielt. Hierbei unterstützt Hystrix mit Implementierungen von bekannten Resilience-Patterns wie u.a. "Fail Fast" und "Graceful degradation". Anhand von Beispielen aus realen Projekten wird die Praxistauglichkeit bewiesen.Doch Hystrix hilft uns nicht nur im Notfall, wenn ein integrierter Dienst nicht mehr so zuverlässig antwortet wie erwartet, sondern auch zur genaueren Ursachenanalyse. Die wertvollen von Hystrix gesammelten Daten zusammen mit dem mächtigen ELK-Stack ergeben ein ideales Analysetool. Spätestens nach der Demo sollte das Bedürfnis für den sofortigen Einsatz geweckt sein.

Gerrit Brehmer
Session

JavaFX 8 Jumpstart

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

Live-Hacking gegen Webanwendungen: Übernahme von DB-Servern und Angriffe auf XML-Schnittstellen

german

+

Sehen Sie anhand einer Livedemo, wie Angreifer gegen Webanwendungen vorgehen, Sicherheitslücken aufspüren und sie zu realen Ausnutzungsszenarien eskalieren. Erleben Sie, wie unerwartet einfach mithilfe von typischen (und untypischen) Sicherheitslücken sensitive Daten exfiltriert werden, wie XML-Standards aus Sicht eines Angreifers nutzbar sind und wie Serversysteme komplett übernommen werden können. Lassen Sie sich von den professionellen Vorgehensweisen bei der Ausnutzung von so genannten "Blind Attacks" allein mittels Seitenkanalangriffen überraschen.

Christian Schneider
Session

Speeding-up Java Persistence

german

+

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

Dirk Weil
Session

Das A in ACM. Ein Interpretationsversuch

german

+

Adaptive Case Managment (ACM) verspricht für viele Unternehmen ein Lösungsansatz zu sein, die ihre Wissensarbeiter möglichst optimal bei der Bearbeitung ihrer Geschäftsvorfälle unterstützen wollen. Während das klassische Case Management klar definiert ist und seinen Markt gefunden hat, bleibt die Idee des Adaptiven noch vage. Es gibt verschiedene Ansätze, die aber meistens bei einem leicht angereicherten Case Management stecken bleiben. Diese Session stellt ein Konzept vor, das Adaptive mit Hilfe aktueller Technologien aus dem Bereichen Process Mining, Decision Management und Business Intelligence zum Leben zu erwecken. Dabei wird am Beispiel der Schadenbearbeitung einer Versicherung ein selbstlernendes System präsentiert, das hilft, die Lücke zwischen freier und prozessgesteuerter Bearbeitung zu schließen.

Holger Hagen
Session

Docker für Java-Entwickler

german

+

Docker verändert die Art und Weise, wie Applikationen gebaut und in Produktion gesetzt werden. Bisher werden Java Enterprise WARs oder EARs in vorinstallierte JEE-Server deployt. Jetzt können dank Docker die Anwendungen direkt in Containern ausgeliefert werden, die den Ausführungskontext gleich mitbringen.

Dieser Vortrag zeigt, wie Docker Entwicklern bei diesem Übergang helfen kann. Dabei stehen zwei Aspekte im Vordergrund: Die Erstellung von Docker-Containern aus dem Build-Prozess heraus und die Realisierung autarker Integrationstests.

Dazu wird ein Docker-Maven-Plug-in vorgestellt. Anhand eines Microservices in Zusammenspiel mit einer PostgreSQL-Datenbank wird in einer Livevorführung veranschaulicht, wie einfach sich eine Docker-Build-Integration realisieren lässt.

Roland Huß
Session

CAS meets REST – Identitätsmanagement für Web- und Mobile-Anwendungen

german

+

In vielen Unternehmen ist der Zugang vom Internet auf interne Services per REST zu einem Standard geworden. Dies beinhaltet jedoch gleichermaßen den Zugriff auf sensible Daten. Im Enterprise-Umfeld müssen daher Sicherheitsaspekte wie Authentifizierung und Identitätsmanagement beachtet werden. Eine Möglichkeit hierfür ist CAS (Centralized Authentification Service).

Der Vortrag gibt eine kurze Einleitung in die CAS-Architektur und zeigt anhand eines lauffähigen Codes die Integration von Java REST Services mit CAS. Der Kern des Vortrags ist die Realisierung eines REST-Clients mit CAS-Authentifizierung inklusive des Sourcecodes. Weitere Inhalte sind die Umsetzung von REST Services für mobile Geräte und der Vergleich zwischen CAS und alternativen Systemen. Abschließend gibt der Referent Empfehlungen für die Auswahl von Authentifizierungssystemen und eine Übersicht alternativer Plattformen, beispielsweise CAS auf Node.js.

Alexander Klimuk
Session

Making Mobile fly

english

+

Performance on the mobile web is much more important than on desktop. A few bad decisions can lead to a very significant performance drop. This session will take you through common pitfalls and how to avoid them, while introducing you the latest tools to analyse your mobile (web) app.

Daniel Kurka
Session

Raus aus dem Featuredschungel — Webarchitekturoption statt Framework

german

+

Komponenten? Templates? View Models? RESTfulness? Single-Page? Hersteller von Webframeworks bombardieren uns Webinteressierte permanent mit angeblichen Killerfeatures und überlegenen Architekturen. Doch bei der Auswahl des richtigen Frameworks hilft uns das nicht. Dieser Vortrag soll wirkliche Unterschiede in der Architektur von Webframeworks aufzeigen und Kriterien zur Bewertung an die Hand geben, die über das Aufzählen von Features in blödsinnigen Featuretabellen hinaus gehen – und dabei zeigen, dass sie sich weniger für ein Framework als für eine Architekturoption entscheiden.

Robert Glaser, Till Schulte-Coerne
Session

Implementing Reactive Manifesto

english

+

So you have read the reactive manifesto (http://www.reactivemanifesto.org/). You understand the value and the need of such an architecture. But how does one implement - event-driven, scalable, resilient & responsiveness in an application? I think its time to act on it. Its time to take ideas from the manifesto and implement them in an application and learn how these ideas are used in real world to build large IoT and real time applications.

 

Nilanjan Raychaudhuri
Session

Hello iBeacon

german

+

Das Thema iBeacon ist momentan „hip“ – jeder spricht darüber, doch wie viel Substanz steckt wirklich dahinter? Und wie entwickelt man überhaupt iBeacon-gestützte Anwendungen? Die Session gibt Aufschluss darüber und zeigt anhand von Livedemos und -Codings, wie iBeacons funktionieren, was heute möglich ist und welche Limitierungen aktuell bestehen.

Florian Müller
09:45 bis 10:30

Kaffeepause

10:30 bis 11:30
Session

JavaFX - Standortbestimmung

german

+

Zunächst: Zu Release-1-Zeiten stimmte vieles an der Technologie nicht. Danach stimmte vieles an der Techonlogie viel besser (Release 2) und ist mittlerweile (Release 8) ein recht solider UI-Standard von Java 8. Somit: alles gut? Nicht so ganz; JavaFX tut sich immer noch schwer mit einer Positionierung sowohl gegenüber HTML5-basierten Ansätzen als auch gegenüber Szenarien, in denen Swing oder SWT dominieren. Und technologisch verläuft die Portierung auf Nicht-Desktopplattformen immer noch recht zäh...

Der Vortrag gibt einen Abriss über den aktuellen Zustand von JavaFX. Was sind die aktuellen Entwicklungen? Welche Frameworks setzen auf JavaFX? Wer nutzt JavaFX? Wie und wo wird es genutzt?

Björn Müller
Session

The Walking Dead - A Survival Guide to Reactive Applications

english

+

The more you sweat in peace, the less you bleed in war"" - the US marines certainly know how to deal with the unexpected. Building resilient distributed applications is not an easy task and you better prepare for failure during development. In this talk you will learn how to build event-driven applications that are resilient from the bottom up, allowing you to deal with remote services that are failing, slow or misbehaving. Even if you are just consuming data from a database over the network, this talk is for you.The talk introduces different stability patterns and showcases them with real code, utilizing the fantastic RxJava and Hystrix libraries. Finally, you will see a resilient application in action, performing thousands of queries against a Couchbase Server 3.0 cluster while withstanding node failures and latency spikes.

Michael Nitschinger
Session

Top-10-Android-Tools und Libraries

german

+

Es führen viele Wege nach Rom … das gilt auch bei der Entwicklung von Android-Anwendungen, nur dass mancher Pfad steiniger ist als der andere. Deshalb werden in der Session zehn Bibliotheken und Tools vorgestellt, die in den Handwerkskasten eines jeden Android-Entwicklers gehören. Mit den vorgestellten Werkzeugen kommen Sie einfach und effizient an Ihr Ziel und verlieren in Zukunft keine Zeit mehr mit mühsamen „Do-it-yourself-Konstrukten“ im Android-Kontext.

Florian Müller
Session

Sicherheit im Softwareentwicklungsprozess (Secure SDLC)

german

+

Eine Anwendung so zu entwickeln, dass sie bereits bei ihrer Produktivnahme ein hohes Sicherheitsniveau besitzt und gängige Angriffe abwehren kann, erfordert verschiedene Maßnahmen, idealerweise über deren gesamten Entwicklungsprozess hinweg. Deutlich schwieriger wird es, wenn ein Unternehmen erreichen möchte, dass sämtliche bei ihm entwickelten oder von ihm zugekauften Anwendungen ein bestimmtes Sicherheitsniveau besitzen. Neben technischen Maßnahmen setzt eine solche nachhaltige Integration von Sicherheit in den Entwicklungsprozessen auch zahlreiche organisatorische Maßnahmen voraus, die gewöhnlich über ein schrittweises Vorgehen eingeführt werden. Natürlich müssen sich diese Maßnahmen an den Sicherheitszielen und der Art des Unternehmens ausrichten und nicht zuletzt berücksichtigen, wie in diesem letztlich Software entwickelt und getestet wird. In diesem Vortrag stellt der Referent praktische Erfahrungen aus mehreren entsprechenden Projekten vor, die er in den vergangenen Jahren in verschiedenen Unternehmen geleitet hat.

Matthias Rohr
Session

Continuous Delivery mit Docker

german

+

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

Halil-Cem Gürsoy
Session

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 Java Client- und Serverbibliotheken anhand von praktischen Beispielen vor.

Matthias Weßendorf
Session

Enterprise meets Mobile aka Lust statt Frust

german

+

„Hilfe, wir brauchen eine App!“ Erschreckend, aber wahr: Nicht selten starten Unternehmen genau so ihre mobilen Projekte. Dabei wird gerne vergessen, dass eine mobile App nicht nur zum Selbstzweck dient, sondern auch einen Mehrwert mit sich bringen sollte. Doch wie findet man diesen? Und hat man ihn einmal gefunden, ist dann das Backend überhaupt in der Lage, den neuen Channel „Mobile“ sinnvoll zu bedienen? Keine Frage, eine Mobile-Enterprise-Strategie muss her! Die Session zeigt die typischen Stolpersteine vieler Unternehmern auf dem Weg in die Wunderwelt „Mobile“ und gibt praxisnahe Tipps an die Hand, wie man diese mit ein wenig Planung umgehen kann. Am Ende steht – statt einer Menge Frust - eine gelungene App mit Anbindung an das Unternehmens-Backend.

Lars Röwekamp
Session

Wider den Blindflug: Logging und Metriken in verteilten Anwendungen

german

+

Ein Softwaresystem kann nur dann erfolgreich betrieben werden, wenn es feinmaschig überwacht wird. Mit dem Aufschwung der Microservices-Architekturen reichen die traditionellen Monitoringmittel nicht mehr aus, denn der Erfolg dieses Architekturmodells hängt maßgeblich von den erfassten Kennzahlen ab. Je mehr Informationen man zur Laufzeit erfassen kann, desto genauer kann man den Gesundheitszustand des Gesamtsystems bestimmen. Dafür müssen neue Konzepte für Logging und Metriken umgesetzt werden, die die Aggregation, Korrelation und Visualisierung von Laufzeitinformationen an zentraler Stelle erlauben. In dieser Session zeigen wir, welche Metriken erfasst und welche Informationen geloggt werden sollten, wie man sie zentral aggregiert und auswertet, und welche freien Tools dabei helfen, so einen reibungslosen Betrieb zu sichern.

Alexander Heusingfeld, Tammo van Lessen
Session

Apache Storm vs. Spark Streaming - zwei Stream Processing Platforms im Vergleich

german

+

Sowohl bei Storm als auch bei Spark Streaming handelt es ich um Open-Source-Frameworks für Distributed Stream Processing. Storm wurde von Twitter mitentwickelt und später Apache überreicht. Spark ist als Ersatz für Hadoop MapReduce angedacht, mit dem Vorteil der besseren Performance, wurde vom Berkeley AMPLab entwickelt und gehört mittlerweile auch zu Apache. Spark Streaming, eine Erweiturung von Spark erlaubt die Verarbeitung von Nachrichten in Echtzeit.  Dieser Vortrag behandelt Gemeinsamkeiten, aber natürlich auch die Unterschiede zwischen den beiden Lösungen und zeigt, wie sich damit Event-Streams verarbeiten lassen.

Guido Schmutz
12:45 bis 14:15

Mittagessen & Verlosung

14:15 bis 15:15
Session

Das Minimum, das ein Webentwickler über Security wissen sollte

german

+

Fast im Wochenrhythmus erfahren wir, wie wieder mal ein Webdienst gehackt und Millionen von Datensätzen abgegriffen wurden. Erschreckenderweise benutzen diese Hacks oft immer noch erfolgreich Angriffe, gegen die es längst bekannte und einfach zu implementierende Gegenmaßnahmen gibt. Erfahren Sie in dieser Session alles Wichtige über typische Angriffe wie CSRF, Session-Hijacking oder SQL Injection. Lernen Sie, welche Gegenmaßnahmen es gibt, und welche Frameworks, Bibliotheken und Tools Sie bei der Implementierung unterstützen können.

Christoph Iserlohn
Session

Know your Enemies

german

+

Know your Enemies: Problembewusstsein als Grundlage von Änderungs- und EvolutionsprojektenDie meiste Zeit verbringen wir in der Softwareentwicklung mit Änderung oder Verbesserung bestehender Systeme - dabei ist es besonders wichtig, an den richtigen Stellen zu ändern (und nicht willkürlich die bekannten Refactoring-Patterns anzuwenden). Ich zeige auf, wie Sie systematisch die aus langfristiger und ökonomischer Sicht schlimmsten Probleme in Ihren Softwaresystemen und -architekturen finden können - und wie Sie dann deren Lösung angehen können. Dabei spannen wir den Bogen von der Analyse der beteiligten Stakeholder und externen Schnittstellen über verschiedene Ansätze der (quantitativen) Code- und (qualitativen) Architekturanalyse bis hin zu fortgeschrittenen Themen wie Datenanalyse, Prozessanalyse oder Kontextanalyse. Anhand realer Probleme aus mittleren und großen Projekten zeige ich auf, dass die "Feinde" manchmal an überraschenden Stellen lauern... 

Gernot Starke
Session

RESTful Hypermedia-APIs

german

+

RESTful Web Services sind schon seit einiger Zeit in aller Munde und sehr beliebt. Viele der bekannten öffentlichen Web-APIs behaupten von sich, RESTful zu sein. Die meisten sind es allerdings nicht wirklich, unter anderem, da sie ein wichtiges Element von REST nicht erfüllen: Hypermedia as the Engine of Application State (HATEOAS). Diese Session gibt einen Überblick über das Thema und zeigt an vielen konkreten Beispielen, warum RESTful Hypermedia-APIs sinnvoll und sehr nützlich sind. Dabei geht Kai Tödter sowohl auf verschiedene Repräsentationen wie z. B. HAL und Siren ein als auch auf deren Einbindung in existierende Infrastrukturen wie z. B. Spring oder Jersey.

Kai Tödter
Session

Web Components und Polymer - Klassen für das Web

german

+

Webanwendungen werden immer komplexer, jedoch fehlt dem heutigen Web eine logische Einteilung in einfach zu verwaltende Bausteine. Web Components ermöglichen die einfache, native Erstellung neuer HTML-Elemente, die eigene Logik und Styles kapseln. ?In dieser Session zeigen wir, was Web Components sind und wie sie bereits heute mit dem Polymer Framework eingesetzt werden können. Welche Vorteile sich für Entwickler ergeben, soll anhand von praktischen Beispielen verdeutlicht werden, wo die Grenzen liegen, selbstverständlich ebenfalls.

Christian Meder, Patrick Hillert
Session

Chicken Little, Cold Turkey … oder? Welche Migrationsstrategie ist die richtige?

german

+

Unter Migration versteht man jegliche Art von Umstellung. Nicht selten sind davon ganze Anwendungssysteme betroffen, d. h. es ändert sich die Plattform, das Frontend, die Datenbank usw., wie es z. B. bei der Migration von Großrechnersystemen häufig der Fall ist. Die Gründe für eine Migration können vielfältig sein. Ziel dieser Umstellungen ist jedoch immer, die fachliche Funktionalität beizubehalten. Der Vortrag stellt die folgenden sechs Migrationsstrategien aus Theorie und Praxis vor: Big Bang Approach (Cold Turkey Strategy), Chicken Little Strategy, Database First Approach (Forward Migration Method), Database Last Approach (Reverse Migration Method), Composite Database Approach (Parallel Database Strategy) und Butterfly Methodology.

Stephan Kaps
Session

The Future of Applications: Three Strategies for the high-velocity, Software-driven Business

german

+

We see a fundamental shift happening in the applications space today. Technology drivers – social, mobility, analytics, Big data and more – are accelerating the pace of business.  These drivers are becoming dramatically out of sync with business processes as well as with applications. Because existing business and IT approaches lag behind, companies are being forced to change their business models and to redefine their approach to the “business of applications” (i.e. software as a core competency). Companies must fundamentally change the way they design, build and use applications to be successful in a software-driven world.

Jochen Malinowski
Session

Tomcat als Basis deiner Microservices-Anwendungen mit Docker

german

+

Der Apache Tomcat besitzt ein umfangreiches Embedded-API, das als Basis für die Implementierung von Microservices-Frameworks dient. Um die eigenen Microservices auch nach den eigenen Bedürfnissen zu gestalten, zeigt diese Session, welche Möglichkeiten der aktuelle Tomcat 8 dazu bietet. Es werden verschiedene Varianten vorgestellt. In einem weiteren Schritt wird dann vorgestellt, wie daraus mithilfe des Docker-Ökosystems eine produktionsreife Lösung entsteht. Die Gestaltung eigener Microservices bringt enorme Erleichterung in allen Phasen des Projekts, aber die Gestaltung der Betriebsumgebung stellt uns vor neue Herausforderungen.

Peter Roßbach
Session

Enterprise JavaFX

german

+

Mit dem Erscheinen von Java 8 ist nun auch JavaFX fester Bestandteil von JavaSE und wird von Oracle als das empfohlene UI-Toolkit genannt. Da Swing ab Java 8 auch nicht mehr weiterentwickelt wird, ist es an der Zeit, sich kritisch mit JavaFX und dessen Gebrauch in produktiven Businessanwendungen auseinanderzusetzen. JavaFX bietet als UI-Toolkit eine Fülle an Features, um moderne und interaktive Oberflächen zu erstellen. Daneben gibt es aber auch noch weitere wichtige Voraussetzungen, die beim Erstellen von Businessanwendungen mit JavaFX berücksichtigt werden müssen. Ein tolles UI ist hier nicht alles.

Der Vortrag gibt einen Überblick über verschiedene Best-Practices-Ansätze, um Problemstellungen wie die Kommunikation zwischen Server und Client, Background Tasks, MVC-Ansätze und das Designen von komplexen Dialog-Flows zu lösen. Im JEE-Sektor gibt es hier bereits viele gute Lösungsansätze, die in Teilen auch einfach auf eine JavaFX-Anwendung konvertiert werden können. Bereits vorhandene Frameworks und APIs wie DataFX oder OpenDolphin werden hierbei auch angesprochen. Während des Vortrags wird beispielhaft ein JavaFX-Client realisiert, der über verschiedene Kommunikationswege mit Servern und Datenbanken kommuniziert. Hierbei werden unterschiedliche CRUD-Dialoge und Dialog-Flows erzeugt und alles in eine moderne und interaktive Anwendung verpackt.

Der Vortrag richtet sich hierbei nicht an JavaFX-Einsteiger. Ein Grundverständnis der JavaFX-APIs sollte mitgebracht werden, um den Ausführungen in Gänze folgen zu können.

Hendrik Ebbers
Session

Reactive Apps with Akka and AngularJS

german

+

Akka and AngularJS are a great combination for Reactive Apps. Akka takes care of vertical and horizontal scaling as well as resilience and with AngularJS it's easy to implement a rich and highly responsive UI talking to an Akka backend via messages. In this session we will build an exemplary Reactive App step by step: starting from a single node and mocked UI, we will introduce features like Server-Sent Events over Akka HTTP, eventual consistent Data Replication with CRDTs and Cluster Sharding.

 

Heiko Seeberger
Session

The dark Art of Performance Tuning, from Newts to Newton

english

+

Performance tuning is still considered to be a dark art that could not be easily formalized, scheduled into a predictable workflow. However, there are some common patterns all performance engineers could follow in their investigations. This session describes some approaches and tools to analyze modern application performance problems in Java. During the session a number of best practices that eliminate the need for magic to help you meet your performance goals.

Kirk Pepperdine
Session

Easy Android Persistence

german

+

Die Datenanbindung bei der Android-Entwicklung ist durch die direkte Verwendung von SQLite und häufiges Schreiben gleichartigen Codes ein mühseliges und damit auch fehleranfälliges Unterfangen. Die Erstellung der Datenbanktabellen, die Zugriffe darauf, das Mapping von Projektionen zu POJOs und das Implementieren von Content-Providern sind Standardaufgaben, welche häufig gleichartig wiederholt werden müssen. In diesem Vortrag zeigen wir Ihnen live, wie wir mit „Datarobot for Android“ Möglichkeiten geschaffen haben, diese Probleme mit Annotations und Codegenerierung zu adressieren und trotzdem den vollen Zugriff auf die Android-Standard-APIs zu ermöglichen.

Alexander Frank, Falk Appel
15:15 bis 15:45

Kaffeepause

15:45 bis 16:45
Session

Der Just-in-Time-Compiler, das unbekannte Wesen

german

+

Java ist schon echt schnell. Das liegt im Wesentlichen daran, dass der Java-VM-Just-in-Time-Compiler optimierten Maschinencode erstellt. So nutzt er einen "Conditional Move (cmov)", wenn verschiedene Codezweige nicht vorhergesagt werden können. Wird dagegen fast immer ein bestimmter Zweig betreten, dann wird es zu einem optimierten "Jump (je)". Doch es muss nicht immer komplizierter Assembler-Code sein, auch Entfernen von Locks und totem Code sowie Inlining von Methoden gehören zum Repertoire von JIT. In diesem Vortrag verwenden wir "-XX:+UnlockDiagnosticVMOptions" und steigen hinab in finstere Tiefen. Wir entdecken Erstaunliches und Verblüffendes und lernen Code so zu schreiben, dass er extra schnell wird. Mit dem im Vortrag Erlerntem ist man in der Lage zu verstehen, was im eigenen Code passiert, und kann hervorragend auf der nächsten Java User Group mit esoterischem Wissen angeben.

Fabian Lange
Session

Mobile Push for the Enterprise

german

+

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

Matthias Weßendorf
Session

Einfach sichere Patterns - in De-Mail?

german

+

„Ohne Ende-zu-Ende-Verschlüsselung ungeeignet“, „wie eine Steuererklärung auf Postkarte“, „De-bakel“ – all diese netten Expertenaussagen vermitteln den Eindruck, dass De-Mail überhaupt keine gesicherte Kommunikationsplattform bietet und schlechter abgesichert ist als die bekannten und vielfrequentierten Websites. Tatsächlich haben allerdings die staatlich vorgegebenen Sicherheits- und Datenschutzanforderungen von Anfang an hohe Hürden für den Aufbau einer De-Mail-Plattform aufgestellt. Da ein De-Mail-Anbieter für eine Akkreditierung all diese Hürden überwinden muss, enthält das Design eines De-Mail-Systems viele Lösungsblaupausen, die auch anderen Angeboten im Internet gut zu Gesicht stehen würden.

Bernd Rederlechner
Session

Skalierbare Webanwendungen mit CoreOS

german

+

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

Timo Derstappen
Session

Die Hitliste der Legacy-Sünden

german

+

Jeder kennt Systeme mit schlechter Codequalität und Architektur - und die sind schwer änderbar. Aber andere Faktoren sind oft noch viel wichtiger. Was ist mit Tests? Oder dem Releaseprozess? Dieser Vortrag zeigt die populärsten Sünden in Legacy-Anwendungen, wie man sie beheben kann und so ein erfolgreiches Projekt auch mit einer alten Codebasis umsetzen kann.

Eberhard Wolff
Session

Web-API – the Web becomes more native

german

+

Das Telefon vibriert, wenn der Link auf der mobilen Seite geklickt wird. Das Farbschema der Web-App passt sich der Helligkeit der Umgebung an. Eine Umkreissuche basierend auf dem aktuellen Standort. Das alles kann bereits heute für Webanwendungen eingesetzt werden. Web-APIs stellen z. B. Zugriff auf Hardwareeigenschaften eines Telefons zur Verfügung. Der Vortrag beantwortet die Fragen: Was funktioniert schon heute – auch ohne mobile Devices? Was können wir erwarten? Wie kann ich es einsetzen? Und warum Firefox OS eine große Rolle spielt.

Carsten Sandtner
Session

Mit JSF, WebSocket und SSE zu modernen UIs

german

+

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

Andy Bosch
Session

Industrial Remote Monitoring and Control Systems with JavaFX 8

english

+

In this session, an integrated platform of electronic instrumentation, data acquisition and client/server software for monitoring and control the boiler room of a sport pavilion’s swimming pool, is presented. In the backend, an industrial embedded PC with data acquisition and control cards, an application server, which communicates with the industrial PC, and a web server, which allows remote access to the system, are installed. As a frontend, a JavaFX 8 client application is developed, to monitor and control the daily performance of the installation. CAD drawings were converted to fancy JavaFX custom drawings and controls with the help of SVG, CSS and Scene Builder 2.0.

José Pereda
17:00 bis 18:00
Session

Dos und Don’ts beim Performance-Monitoring

german

+

Wenn das Monitoring über die reine Verfügbarkeit von Systemen hinausgehen und die Performance von Anwendungen überwacht werden soll, ist guter Rat – im wahrsten Sinne des Worts – oft teuer. Wie legt man Performanceziele fest? Wie kann eine zufriedenstellende Performance im gesamten Entwicklungszyklus sichergestellt werden? Welches Monitoring ist in welcher Phase sinnvoll? Wie führe ich Lasttests aus? Wie kann ich die Performance meiner Anwendung optimieren?Diese und weitere Fragen werden von dem Entwickler des Open Source Java Application Performance Monitoring Tools „stagemonitor“ beantwortet.

Felix Barnsteiner, Sven Ruppert
Session

Event Sourcing für reaktive Anwendungen

german

+

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

Im Rahmen des Vortrags werde ich Ihnen eine Einführung in das Thema Event Sourcing geben und gängige Patterns rund um das Thema vorstellen. Des Weiteren werde ich erläutern warum Event Sourcing ein sehr guter Ansatz für Architekturen im Sinne des Reactive Manifesto ist.

 

Michael Plöd
Session

Design von Businessanwendungen mit JavaFX

german

+

JavaFX befindet sich nun auch mit Java 8 auf einem Stand,  um damit erfolgreich Rich-Client-Geschäftsanwendungen entwickeln zu können. Doch was sind die Vorteile gegenüber Swing, warum lohnt sich ein Umstieg, was gilt es architekturell zu beachten, und wo liegen die Fallstricke? Im Vortrag geben wir Antworten auf all diese Fragen, berichten über unsere Erfahrungen beim praktischen Einsatz von JavaFX und stellen hilfreicheDesign-Patterns vor, die sich bewährt haben. Abgerundet wird der Vortrag mit einem Ausblick, was in den nächsten Monaten und Jahren bez. JavaFX zu erwarten ist und wie die Zukunftsperspektiven dieser UI-Plattform generell einzuschätzen sind.Der Vortrag richtet sich sowohl an Entwickler, die insbesondere Geschäftsanwendungen bisher mit Swing realisieren, als auch an technikaffine Manager, die insbesonderedie Technologie einschätzen wollen.

Tom Krauss
Session

Wie soll ich den REST verstehen? - Das Ende aller privater Schnittstellenspezifikationen

german

+

Im Web reden HTML-Browser ganz selbstverständlich mit Servern, ohne dass Sie deren Schnittstellenschreibung brauchen. Bei REST-APIs funktioniert das bisher nur eingeschränkt - vor allem dann, wenn sie auf JSON setzen. Mit Linked Data ist es möglich, ein API auf Grund von öffentlichen Konventionen für Clients verständlich zu machen, ähnlich wie HTML-Seiten für Browser allgemein verständlich sind. In der Session zeigen wir Ansätze, wie Linked Data und RESTful Services zusammen spielen und über Hypermedia hinaus einen echten Mehrwert bieten können.

Dietrich Schulten, Kristian Köhler
Session

Innovation dank DevOps

german

+

“You build it, you run it!” - wenn du als Entwickler weißt, dass du deine Software selbst betreiben musst und bereit bist zu tun, um den späteren Betrieb zu vereinfachen. Bei Wooga haben Dutzende von Teams ihre eigene Antwort auf die Frage gesucht und dabei von den Erfahrungen der anderen Teams gelernt. Herausgekommen ist ein großes Experimentierfeld beim Betrieb von Web Services und eine technologische Innovation, die uns innerhalb weniger Iterationen von einem simplen LAMP-Stack zu lastabhängig skalierenden stateful Servern auf Basis von Erlang oder Akka gebracht hat.

Jesper Richter-Reichhelm
Freitag - 24. April 2015
09:00 bis 17:00
Workshop

Eine praktische Einführung in Continuous Delivery

german

+

Continuous Delivery dient dazu, Software automatisiert und so wesentlich schneller in Produktion zu bringen. In diesem Power Workshop lernen Teilnehmer diesen Ansatz ganz praktisch kennen. Als Erstes werden die Konzepte hinter Continuous Delivery erläutert. Dann lernen die Teilnehmer Build-Werkzeuge kennen, um binäre Artefakte zu erzeugen und dabei auch zu testen. Konkret werden Maven, Jenkins und einige typische Jenkins-Plug-ins für die Implementierung der Build Pipeline genutzt. Dann erläutern die Referenten, wie die so entstandene Software automatisiert auf Servern installiert wird. Dazu werden als Werkzeug Puppet, Vagrant und Docker genutzt, um Server zu provisionieren. Der Workshop ist sehr pragmatisch und interaktiv aufgebaut, zudem können Teilnehmer das Gelernte sofort an praktischen Beispielen umsetzen. Dabei wird eine Java-Anwendung als Beispiel genutzt, aber die besprochenen und eingesetzten Werkzeuge funktionieren auch für andere Plattformen.

Eberhard Wolff, Halil-Cem Gürsoy
Workshop

Werden Sie Git-Experte!

german

+

Sie haben bereits erste Git-Kenntnisse, die Sie vertiefen möchten? In unserem Workshop zeigen wir Ihnen zunächst, wie Git intern funktioniert, wie Git Versionen verwaltet, Merges durchführt und Daten zwischen Repositories austauscht.Nach dem Einstieg stellen wir Ihnen weiterführende Möglichkeiten von Git vor, mit denen Sie Ihren Projektalltag und das Release-Management vereinfachen können.Dazu gehören unter anderem:Welche Branch-Strategie passt am besten zu Ihrem Projekt?Wie können sie Pull-Requests zur Qualitätssicherung einsetzen?Wie können Sie mit Rebasing eine "schöne" Historie erzeugen?Wie verwenden Sie Submodules oder Subtrees dazu, andere Projekte einzubinden?Darüber hinaus haben Sie natürlich die Möglichkeit, Ihre eigenen Fragen und Themen einzubringen.

Für die Übungen sollten Sie Ihren eigenen Laptop mitbringen, auf dem nach Möglichkeit VirtualBox installiert ist.

 

Nils Hartmann, René Preißel
Workshop

Coole Web-Apps mit AngularJS, TypeScript und Spring Boot

german

+

In diesem Workshop werden wir eine kleine, aber vollständige Webapplikation entwickeln. Der Clientteil basiert auf AngularJS, TypeScript und ein wenig Bootstrap. Der Serverteil basiert auf Spring Boot, verwenden werden wir außerdem Spring Data/Rest/HATEOAS. Wir werden also RESTful Web Services entwickeln, die um Hypermedia angereichert sind. Dabei wird Kai die Grundlagen von Spring Boot und den verwendeten Farmeworks erklären und auch die generellen Prinzipien von REST und HATEOAS (Hypermedia as the engine of application state, ein wichtiges REST-Architekturprinzip). Für die Cliententwicklung gibt Kai eine kurze Einführung in AngularJS, TypeScript und die gängigen JavaScript-Entwicklungstools wie Grunt, npm, Bower, Jasmine etc.

Der Workshop ist sehr interaktiv mit vielen praktischen Übungen. Jeder Teilnehmer sollte einen eigenen Notebook mit installiertem Java JDK 7 oder 8 mitbringen.

Kai Tödter
Workshop

Web Application Hacking

german

+

In diesem Workshop werden wir gemeinsam eine Demo Web-Anwendung angreifen, Sicherheitslücken finden und diese ausnutzen, um ein tieferes Verständnis der zugrundeliegenden Probleme zu erlangen. Ebenso werden wir primäre und sekundäre Gegenmaßnahmen zur Absicherung der Sicherheitslücken erörtern und aufzeigen wie die untersuchten Lücken in der zukünftigen Entwicklung hiermit vermieden werden können.Wir starten den Workshop mit dem entsprechenden Werkzeugkasten des Angreifers (bzw. Pentesters :)) inkl. einer grundlegenden Einführung in die Anwendung der benötigten Werkzeuge. Über den Workshop-Tag hinweg finden wir gemeinsam in vielen Praxisübungen zahlreiche Schwachstellen aus der OWASP Top10 und darüber hinausgehende typische Sicherheitsprobleme von Web-Anwendungen an realen Beispielen. Hierzu wird eine Demo Web-Anwendung für den Workshop vorab verteilt, damit sämtliche Übungen lokal nachvollzogen werden können und die Vorgehensweise und der passende Werkzeugeinsatz erlernt werden. Ebenso werden wir die Wirkungsweise verschiedener Härtungsmaßnahmen am realen Beispiel untersuchen und anwenden.Um die zahlreichen Übungen nachvollziehen zu können ist ein eigenes Notebook mit der Möglichkeit Java Web-Anwendungen lokal laufen zu lassen und ggf. das eine oder andere Werkzeug installieren zu können hilfreich. Ebenso benötigen wir einen Firefox-Browser (mit der Möglichkeit die Proxy-Einstellungen modifizieren zu können). Am Ende des Workshops erhält jeder Teilnehmer die Slides der Präsentation zur weiteren Nachbereitung als PDF mit zusätzlichen tiefergehenden Inhalten. Expect some eye-openers & hacking fun!

Christian Schneider
Workshop

REST mit JAX-RS 2.0 für Fortgeschrittene

german

+

Dieser Workshop richtet sich an Entwickler, die bereits erste Erfahrungen mit JAX-RS gesammelt haben und entsprechende Grundkenntnisse mitbringen. Es werden überwiegend fortgeschrittene Aspekte behandelt. Einen Schwerpunkt bilden dabei die neuen Features aus JAX-RS 2.0. Anhand von Beispielen aus der Praxis wird demonstriert, wie sich diese einsetzen lassen, um typische Anforderungen in Projekten umzusetzen. Konkret beschäftigen wir uns mit Themen wie Validierung, Logging, Hypermedia, Fehlerbehandlung, wiederverwendbare Erweiterungen, Bindings, Paging und Security.

 

Thilo Frotscher
Workshop

Praxisworkshop Architekturbewertung - Das Wesentliche

german

+

Architekturbewertung reduziert die Unsicherheiten beim Treffen größerer Entscheidungen, hilft Ihnen Risiken und Kompromisse mit fachlichen Ansprechpartnern zu diskutieren und kann Ihre konzeptionellen Tätigkeiten ordnen und leiten. Das hilft Ihnen als Entwickler genauso wie als Architekt oder technischer Projektleiter. Auf der anderen Seite werden Bewertungsmethoden für Softwarearchitektur häufig als groß, teuer oder schwergewichtig beschrieben. Dieser Workshop destilliert die in der Praxis relevante Essenz aus diesen Methoden - in interaktivem Format werden die wesentlichsten Aspekte von Architekturbewertungen greifbar.

Stefan Toth, Stefan Zörner
Workshop

Mehr Client wagen – Next Generation Web mit Java EE

german

+

In Zeiten von HTML5, Client-side JavaScript-Frameworks, REST und WebSocket scheinen die Tage von klassischen serverseitigen Webanwendungen und damit einhergehend von Java EE einmal mehr angezählt. Doch weit gefehlt! Im Rahmen dieses praktischen Workshops wird gezeigt, wie mithilfe von Java-EE-6/7-Bordmitteln (JAX-RS, WebSocket, Async APIs ...) und aktuellen Client-side JavaScript-Frameworks moderne (Multi-Channel-)Webanwendungen 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-)Servertechnologien beleuchtet und damit praktische Grundlagen vermittelt, von denen nicht nur einfache Web-UIs, sondern vor allem auch herkömmliche Businesswebanwendungen 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 Webframework (z. B. JSF) handelt. Notebook nicht vergessen!

Jens Schumann