Das Programm der BED-Con 2013 in der Übersicht

Haben Sie Fragen zum Programm? Bitte schreiben Sie uns über die Kontaktseite. Bei gegebenem Anlass können noch kurzfristig Änderungen im Programm erfolgen.


Donnerstag, 04. April 2013

Zeit Hörsaal 1 Hörsaal 2 Seminarraum 1 Seminarraum 2
ab 08:00 Einlass
09:00 – 10:00 JavaScript + Java EE = ♥
Kris Borchers English Talk
OAuth 2.0 – Ein Standard wird erwachsen
Uwe Friedrichsen
Search Evolution – Von Lucene zu Solr und ElasticSearch
Florian Hopf
Offline Strategien für HTML5 Web Applikationen
Stephan Hochdörfer
10:00 – 10:15 Pause
10:15 – 11:15 NoSQL aus Sicht eines Architekten
Eberhard Wolff
Memory Management: TP, CMS und G1 – welche GC-Strategie ist die richtige?
Tobias Frech
Kurzvortrag-Session
Guttenbase Markus Dahm,
DB versionieren Niko Köbler,
Togglz Niko Köbler
Spring Data Repositories unter der Lupe
Oliver Gierke
11:15 – 11:30 Pause
11:30 – 12:30 Warum empfehle ich meinen Kunden das Spring Framework?
Michael Plöd
Unternehmensentwicklung von Unten
Ingmar Krusch
Daten natürlich modellieren und verarbeiten mit Neo4j
Patrick Baumgartner
Gradle wird den Build schon schaukeln
Rene Groeschke
12:30 – 13:30 Mittag
13:30 – 14:30 Schnelle und leichtgewichtige Anwendungsentwicklung mit HTML5 und JEE/REST
Alexander Schwartz
Performance? That’s what version 2 is for!
Eduard Tudenhöfner English Talk
Graphdatenbanken – Ein Überblick
Benjamin Gehrels
Enjoy Code Review Again – Marrying Gerrit with Jenkins in 20 Minutes
Johannes Nicolai, Dharmesh Sheta English Talk
14:30 – 14:45 Pause
14:45 – 15:45 Hochverfügbarkeit mit dem JBoss AS 7
Heinz Wilming
MoSKito – Live-Session with a DevOp-Tool
Leon Rosenberg

Handling humongous data with NoSQL/MongoDB
Andreas Hartmann
Kurzvortrag-Session
Leiningen versus the Ants Jörg Müller,
Logdateien live und in Farbe Alexander Schwartz
15:45 – 16:00 Pause
16:00 – 17:00 Rethinking Enterprise Java–Reloaded
Adam Bien
Verteiltes Suchen mit Elasticsearch
Dr. Halil-Cem Gürsoy
17:00 – 17:15 Pause
17:15 Panel und Verlosung

"There is no 'My Machine'"

Speaker: Jörg Müller

“It works on my machine” ist ein Fluch der Softwareentwicklung seit nicht mehr gemeinsam auf Großrechnern entwickelt wird.

Continuous Integration hat in den letzten Jahren viel dafür getan, dieses Problem zu entschärfen. Eigentlich ist der Aufwand aber nur aus der Integrationsphase in die Verantwortung des einzelnen Entwicklers verlagert worden. Gleichzeitig steigt die Heterogenität weiter an. Mehrere Projekte mit unterschiedlichen Technologiestacks und verschiedenen Betriebssystemen sind Alltag. Das Ergebnis ist ein Verwaltungsalptraum auf dem Entwicklerrechner.

Vagrant bietet hier eine elegante Lösung. Mit Hilfe von Virtualisierung schafft es einen Weg, eine einheitliche Umgebung zu definieren. Dazu nutzt es textbasierte Konfigurationsdateien, die auch ohne Weiteres in das Code-Repository des Projektes eingecheckt werden können. Konsequent umgesetzt nutzt am Ende hat jeder Entwickler die gleiche Konfiguration und “It works on my Machine” verliert den Schrecken.

Länge: normal | Slides: There_is_no_My_Machine.pdf

Absturz unerwünscht – Architekturmuster für fehlertolerante Systeme

Fehlertoleranz hat für große, hochskalierbare Cloud-Systeme eine ganz andere Bedeutung als für normale Unternehmensanwendungen.

Fertige HA-Lösungen skalieren nicht beliebig oder sind zu teuer, nur klassische Anwendungsüberwachung ist auch keine Option, regelmäßige Systemausfälle aber ebenso wenig.

Als Konsequenz muss man Fehlertoleranz explizit in die Anwendungen einbauen. Aber wie geht das eigentlich? Wir haben uns so lange auf fertige Lösungen verlassen, dass wir das ganz verlernt haben.

In dieser Session möchte ich ein wenig auf die Grundkonzepte von fehlertoleranten Anwendungen eingehen und eine Reihe alternative und komplementäre Muster vorstellen, mit denen Sie Ihre Anwendung fehlertolerant gestalten können – mit Hinweisen zu Tradeoffs der Muster, praktischen Entscheidungshilfen und Umsetzungstipps … nicht nur in großen Cloud-Systemen gewinnbringend anwendbar.

Angewandtes Cloud Computing: Von der Idee zum profitablen Lean Startup

Speaker: Per Fragemann

Nicht nur kapitalkräftige Firmen haben eine Chance am Weltmarkt. Mit Fokus und Mut zur Lücke kann auch ein kleines Startup aus Deutschland erfolgreich ins Silicon Valley verkaufen.

In diesem Vortrag zeigen wir, wie wir Cloud Computing, Continuous Delivery und Lean-Startup-Konzepte einsetzen um mit etablierten Firmen wie SAP und Salesforce zu konkurrieren… und wie dies auch jedem anderen Team im Raum gelingen kann!

Neben der reinen Technik (App Engine für Java & Apache Wicket) geben wir Tips zu agilem Produkt-Management und reissen Themen an wie Gründung, Marketing und Recruiting – stets aus der Perspektive eines Entwicklers.

Alle Vortrags-Inhalte sind auch für Teams in etablierten Firmen relevant: Spannende Prototypen scheitern schließlich häufiger an internem Marketing und an fehlender Priorisierung als an der reinen Technik.

Länge: normal

AngularJS made easy with Yeoman

JQuery hat die JavaScript Entwicklung revolutioniert. Doch es geht noch weiter:

AngularJS ist ein auch für JavaScript-Neulinge einfach zu erlernendes JavaScript Framework, welches mit Funktionen wie Dependency Injection, Custom Html Elements (aka Directives) und einer schönen Model View Controller implementierung auch eingefleischte JavaScript-Phobiker beeindruckt. Zusammen mit Yeoman als JS Build Tool haben wir bei TestObject endlich Spass an der Webentwicklung

Der Vortrag richtet sich an Entwickler und die, die es noch werden wollen.

Länge: normal | Slides: AngularJS_made_easy_with_Yeoman.pdf

A real-world JEE Application written in Scala

This presentation summarizes the experiences made while implementing a real-world Java EE application that is completely implemented in Scala.

The general approach is presented as well as source code of the application (depending on the available time).

Agenda:

  • Motivation: Why using Scala instead of Java? Why using Scala with the JEE stack?
  • Runtime Environment Overview: Scala, JEE 6 Application Server, JVM, SQL Database
  • JEE Technologies Overview: CDI, EJB, JPA, JSF end additional Java libs like JUnit
  • Application in Detail
  • Mixed Scala and Java Applications
  • Build, Test and Deployment
  • Experiences: Results and Limitations
  • Aus dem Spring Nähkästchen

    In diesem Vortrag lernen Sie einige praktische – und auch einige überraschende – Eigenschaften des Spring-Frameworks kennen.

    Damit können Sie auf Parties andere Entwickler beeindrucken – oder den Umgang mit Spring in Ihren Projekten weiter optimieren. So lernen Sie die kleinste Spring Bean kennen und auch das Method-Injection-Feature.

    Länge: normal | Slides: Aus_dem_Spring_Naehkaestchen.pdf

    Bean Validation 1.1 – What’s Cooking?

    Eingeführt in Java EE 6, hat sich das Bean Validation API rasch als Standard zur Validierung von Objekten im Java-Umfeld etabliert.

    Mit Bean Validation 1.1 steht nun ein erstes Update der Spezifikation bereit. Schwerpunkt der neuen Version sind u.a. die Integration mit verschiedenen Java-EE-APIs (CDI, JAX-RS) sowie die Validierung von Methodenparametern und -rückgabewerten. Der Vortrag stellt diese und weitere Neuerungen im Detail vor und zeigt deren Verwendung anhand einiger Beispiele.

    Beziehungskiste. Abhängigkeiten im Softwareentwurf planen und überwachen

    Das Planen von Beziehungen zwischen Bausteinen (“Wer mit wem?”) ist zentraler Bestandteil der Strukturierung eines Softwaresystems.

    Hier werden grundlegende Entscheidungen getroffen, die auf Wartbarkeit, Portierbarkeit etc. signifikante Auswirkung haben können. Leider oft negative. In vielen Fällen wird das Abhängigkeitsmanagement nicht bewusst betrieben, oder das Einhalten der Architektur nicht überwacht. In diesem Vortrag stelle ich diesen Problemraum speziell für die Java-Welt vor. Sie erleben an einem nachvollziehbaren Beispiel, wie Abhängigkeiten für ein Java-System entworfen und überwacht werden können. Im Anschluss können Sie auch den Einsatz von Frameworks und Komponentenmodellen in diesen Kontext einordnen. Als Hilfsmittel kommen Methodik aus der Softwarearchitektur zum Einsatz, und aktuelle, frei verfügbare Tools, die es Ihnen auch im Team und ohne zentrale Architektenrolle ermöglichen, entscheidende Ziele zu erreichen.

    Datenbank versioniert – agil und einfach!

    Speaker: Niko Köbler

    Dein Quellcode ist versioniert im Repository abgelegt! Warum Deine Datenbank nicht?

    Jederzeit einen beliebigen Stand der Datenbank in der Entwickler-, Test- oder Produktions-Umgebung wiederherstellen? Machs doch einfach! Die Flyway-Bibliothek lässt sich nahtlos in jede Java-Anwendung und in den Build für agiles Continuous Delivery integrieren. Es war noch nie so einfach!

    Länge: normal

    Daten natürlich modellieren und verarbeiten mit Neo4j

    Der Social Graph von Facebook ist mit Abstand die bekannteste Anwendung für eine Graphendatenbank.

    Darüber hinaus gibt es noch weit spannendere Anwendungsfälle wie Spatial Data, Financial Trail, Indexing, und andere. Kombiniert man unterschiedliche Graphen lassen sie sich, mit den aus der Graphentheorie bekannten Algorithmen, gemeinsam auswerten.

    Obwohl Graphendatenbanken nicht neu sind, haben sie dank der ganzen NoSQL-Bewegung frischen Aufwind halten. Eine Domäne lässt sich oft leichter schemalos und natürlicher als Graph, anstatt mit vielen normalisierten Tabellen, abbilden. Dies fordert neben einer anderen Denkweise bei den Entwicklern auch Unterstützung aus der Community für die Verbreitung.

    Dieser Vortrag führt in das Thema der Graphendatenbanken ein und vermittelt wie man Modelle mit grossen, komplexen und stark vernetzten Daten mit Neo4j umsetzen kann. Anschliessend werden die Themen Querying, Indexierung, Import / Export, Skalierung sowie weitere Tools und APIs betrachtet. Zum Schluss beleuchten wir die Highlights & Challenges beim Einsatz der Technologie.

    DB-Migrationen mit GuttenBase

    Speaker: Markus Dahm

    Aus vielerlei Gründen müssen oft komplette Datenbanken kopiert oder migriert werden. Z.B., um lokal entwickeln zu können oder damit eine separate Anwendung mit den selben Daten arbeiten kann. Schwierig wird eine Migration insbesondere zwischen verschiedenen RDBMS.

    Bisherige Werkzeuge sind für diese Aufgaben oft unzureichend:

  • Es fehlen Konfigurationsmöglichkeiten
  • Jede Datenbank ist auf subtile Weise anders
  • Stabilität und Performanz sind oft ungenügend
  • Die Konvertierung von Daten(typen) zwischen verschiedenen RDBMS ist problematisch
  • Eine Lösung bietet das Framework “GuttenBase”, mit dem man Datenmigrationen programmieren kann. Dies ist ein wesentlicher Unterschied zu bestehenden Werkzeugen, wo eine Migration lediglich konfiguriert werden kann. Der Framework-Ansatz erlaubt neben den o.a. Möglichkeiten zum bloßen Kopieren von Daten zwischen beliebigen Systemen z.B. auch Analysewerkzeuge zu erstellen oder kopierten Daten zu validieren.

    Länge: kurz

    Eclipse of idleness and focus on current task

    Did you ever wonder how you can improve your productivity and accomplish more in less time ?

    Do you know how to reduce context switches to improve yours focus ? What Eclipse plugins can help you increase productivity ? This presentation will answer for all those questions and more. It will be about Mylyn project and other Eclipse productivity plugins; about (less or more know) keyboard shortcuts and how to avoid disruptions from other team members, etc.

    Länge: normal

    Enjoy Code Review Again – Marrying Gerrit with Jenkins in 20 Minutes

    Code Review usually rocks: You detect up to 80 percent more faults per hour than with a testing only approach.

    Automated Code Reviews are key for concepts like CD and DevOps.

    Code Review Tools usually suck: You have to manually extract changes from clumsy interfaces and waste your time on reviewing half-baked patches that do not even compile. Uploading/reworking patches is painful as well and once you got approval, you can no longer cleanly merge them.

    Welcome to Gerrit and Jenkins, making Code Review enjoyable again!

    Gerrit, a Java based Git server and Code Review Tool allows you to stay in your favorite environment for every step of the code review process. Gerrit deeply integrates with CI tools like Jenkins. Jenkins will make sure that whatever you are going to review/merge passes all defined quality gates.

    After introducing Gerrit and its interaction with Jenkins, we will show how to configure and connect those two from scratch and have a live demo on what can be done with this setup.

    Entwicklung moderner Webanwendungen mit Apache Wicket

    Speaker: Jochen Mader

    Mithilfe von Apache Wicket lassen sich komponentisierte Webapplikationen nach objektorientierten Prinzipen mit reinem HTML und Java entwickeln.

    Im Rahmen des Vortrags stellen wir Apache Wicket vor. Dabei werden sowohl Grundlagen als auch fortgeschrittene Features der aktuellen Version 6 behandelt. Ein kritisches Resümee rundet den Vortrag ab.

    Gradle wird den Build schon schaukeln

    Gradle ist ein innovatives Open-Source-Build- und Automatisierungstool. Es verbindet die Vorzüge von Ant mit denen von Maven, beeindruckt aber mit Fähigkeiten, die weit über deren Möglichkeiten hinausgehen.

    Gradle liefert intelligente Lösungen für die vielfach auftretenden Probleme der Enterprise-Automatisierung und erreicht so eine maßgebliche Steigerung der Performance, Wartbarkeit, Erweiterbarkeit und Standardisierung.

    In diesem Vortrag wird anhand einiger Livebeispiele ein Einblick in die Konzepte und die Anwendung von Gradle gegeben. Weiterhin demonstrieren wir, wie Gradle sich nahtlos in vorhandene Buildumgebungen integrieren lässt und gehen auf die vielen einzigartigen Funktionen ein, die in der letzten Zeit zu Gradle hinzugefügt wurden. Die Teilnehmer dürfen sich auf elegante Build-Skripte, noch schnellere Builds und innovative Features freuen.

    Graphdatenbanken – Ein Überblick

    Viele Strukturen der realen Welt lassen sich als Graphen interpretieren, einer Repräsentation von Netzen. Bei einigen Problemen ist dies offensichtlich, beispielsweise bei Straßennetzen oder Beziehungsgefechten zwischen Personen.

    Aber auch in der objektorientierten Programmierung werden Graphen aufgebaut: So lassen sich Objektinstanzen als Knoten und ihre Beziehungen als Kanten interpretieren.

    Liegt es da nicht nahe, seine Daten auch als Graph zu persistieren? Den Objektgraphen 1:1 zu speichern, ohne OR-Mapping und mit darauf ausgelegten Anfragesprachen erscheint zumindest charmant.

    Dieser Vortrag versucht einen Einführung in das Gebiet der Graphdatenbanken zu bieten: Welche Lösungen gibt es am Markt? Wie sehen ihre Datenmodelle aus? Wie steht es um ihre Produktionsreife? Welche Anfragesprachen und paradigmen gibt es? Wie Mächtig sind sie? Und was ist mit der aus dem SQL-Umfeld gewohnten Tool und Framework-Unterstützung?

    Länge: normal | Slides: Graphdatenbanken–Ein_Ueberblick.pdf

    Handling humongous data with NoSQL/MongoDB

    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 mittlerweile NoSQL Datenbanken. MongoDB wird als prominenter Vertreter der Dokumentorientierten Datenbanken detailliert vorgestellt. Neben des Basics werden u.a. Sharding, Replica Sets, Map/Reduce und das Schema Design aufgegriffen.

    Haskell aus einer Java-Enterprise Perspektive

    Speaker: Torsten Fink

    Die funktionale Programmiersprache Haskell ist über viele Jahre im akademischen Kontext entstanden und gereift. In der kommerziellen Geschäftswelt kam sie dagegen praktisch nie zum Einsatz.

    Nun hat sich in den letzten Jahren Haskell und insbesondere das begleitende Umfeld massiv gewandelt. Es ist nun möglich mit dem Benutzer zu interagieren, größere Projekte zu verwalten, Datenbanken anzusprechen und Webanwendungen zu erstellen. Dabei bleiben die Vorteile von Haskell als reine, also durchgehend seiteneffektfreie Programmiersprache erhalten.

    In diesem Vortrag werden wir, evtl. etwas schwärmerisch, die programmiersprachlichen Vorteile von Haskell kurz vorstellen, und dann aufzeigen, was sich im Umfeld der Programmiersprache an Werkzeugen entwickelt hat zur Erstellung typischer Geschäftsanwendungen. Die Messlatte wird dabei Java mit seiner reichhaltigen Ökosphere sein.

    Hochverfügbarkeit mit dem JBoss AS 7

    Speaker: Heinz Wilming

    Der JBoss AS 7 enthält ausgereifte Technologien um kritische Java EE Anwendungen Hochverfügbar auf Ebene der Middleware zu betreiben.

    Die enthaltenen Profile sind bereits für kleinere Cluster Topologien entsprechend konfiguriert. Mit dem Domain Mode des Applikationsservers lassen sich mehrere Server Instanzen komfortabel verwalten. Jedoch birgt ein Cluster eine hohe Komplexität, die Detailkenntnisse der grundlegenden Technologien wie JGroups und Infinispan erfordern. Im Vortrag werden die grundlegenden Konzepte beleuchtet und in einer Live-Demo wird gezeigt, wie ein Cluster im Domain Mode mit dem JBoss AS 7 betrieben werden kann.

    Huch, wo ist meine Architektur hin?

    Speaker: Oliver Gierke

    Wenn Applikationen über eine bestimme Größe oder einen bestimmten Zeitraum hinaus wachsen wird Modularität ein Kernaspekt für Wartbarkeit.

    Designentscheidungen die getroffen wurden sind kaum noch im Code wiederzufinden, Abhängigkeiten zwischen einzelnen Modulen der Applikation wachsen oft wild. Der Vortrag Patterns und Best Practices rund um generelle Code-Organisation und Package-Strukturen vor um eine solide Grundlage für langlebige Java-Applikationen zu legen, sowie eine möglichkeit mit Spring lose gekoppelte Komponenten und dedizierte Erweiterungspunkte in Applikationen zu definieren und zu verwenden.

    Ist das Groovy? – Fachliche DSLs mit Groovy

    Speaker: Michael Heck

    Groovy eignet sich als dynamische Programmiersprache ausgezeichnet für die Erstellung von fachlichen Domain Specific Languages (DSLs).

    Wie baut man aber eine solche DSL und vor allem wie erfolgt die möglichst nahtlose Integration mit einer bestehenden Java-Anwendung?

    Länge: normal

    Java Persistence Frameworks für MongoDB

    Speaker: Tobias Trelle

    Nach einer kurzen Einführung in den MongoDB Java-Treiber widmen wir uns ausführlich den abtrakteren Persistenz-Frameworks wie Spring Data MongoDB, Hibernate OGM, Morphia und Jongo mit vielen Beispielen.

    JavaScript + Java EE = ♥

    Speaker: Kris Borchers

    This romantic comedy begins with a quick stroll through the server side. Here we meet the AeroGear Controller, AeroGear Security and the JAX-RS configuration for our application.

    From there, we meet our client side. AeroGear.js, jQuery Mobile, Apache Cordova and a few other resources combine to form the user experience. When these two sides meet, the magic begins. Join me on this journey of love and laughter where the end result is a collection of web and native mobile applications with identical functionality and a (mostly) unified code base.

    Länge: normal

    JSR 354 – Java Money and Currency

    The presentation gives a summary and overview about the use cases that lead to JSR 354 (Java Money).

    It is shown how the new API allows to flexible represent and manipulate monetary amounts in different currencies, and how the current ISO currencies can effectively merged and extended with other currency schemes. Finally the presentation will show more advanced usage scenarios such as currency exchange, formatting and parsing, as well as considerations about numeric precision and performance. Finally the presentation includes a simple example how the JSR can be extended using its SPIs.

    Länge: normal | Slides: JSR354-CSLayout_en_CD.pdf

    Leiningen versus the Ants

    Speaker: Jörg Müller

    Leiningen heißt der Held einer Kurzgeschichte von Carl Stephenson aus dem Jahre 1938. Er führt einen aussichtslos erscheinenden Kampf gegen die übermächtigen Ameisen.

    Leiningen ist auch der Name des de facto Standard Build-Tools für Clojure. Neben der ordentlichen Prise Humor in der Benennung bietet Leiningen eine interessante Mischung von Konzepten. Es ist deklarativ wie Maven aber deutlich kompakter. Plugins lassen sich sehr einfach erstellen. Es bietet erstaunlich viel Funktionalität direkt nach dem Anlegen eines neuen Projektes. Andere Build-Tools verlangen für vergleichbare Ergebnisse oft deutlich mehr Arbeit. Diese Mischung lohnt es sich auf jeden Fall mal gesehen zu haben, auch wenn man nicht direkt ein Clojure Projekt starten will. Im Übrigen, Java-Code lässt sich mit Leiningen ja auch bauen …

    Länge: kurz

    Logdateien live und in Farbe – statt nur schwarzweiß

    Wenn Log-Informationen in Dateien landen ist es meist ein Datenfriedhof. Spätestens bei der Fehlersuche in der Produktion zeigen sich die Grenzen, wenn die Logdateien über verschiedene Server verstreut, die Dateien groß sind, und der Weg über das Operating für den Zugriff lang ist.

    Ein Logserver bringt hier Ordnung: Historische Daten können in einer (No)SQL-Datenbank gespeichert und gefunden werden, Events können live und in Farbe am Bildschirm mitverfolgt werden, der Zugriff ist nach Anmeldung direkt und ohne Umwege möglich.

    Ein Denkanstoß mit Erfahrungen zu logFaces für Log-Events nicht nur aus Java-Anwendungen.

    Länge: kurz | Slides: Logdateien_live_und_in_Farbe.pdf

    Memory Management: TP, CMS und G1 – welche GC-Strategie ist die richtige?

    Speaker: Tobias Frech

    Eine der Aufgaben eines Java Middleware-Administrators ist die optimale Konfiguration des JVM-Memory Managements.

    Die sogenannte Garbage Collection (GC) muss dabei genau auf die Anforderungen der betrachteten Anwendung angepasst werden. Dies kann unerlässlich sein, um gesetzte Performanceziele beim Durchsatz oder bei der Antwortzeit zu erreichen. Bisher standen die beiden GC-Strategien ‘Throughput-Collector’ und ‘Concurrent Mark and Sweep’ zur Verfügung. Nun hat SUN/Oracle eine dritte Strategie, den sogenannten ‘Garbage First-Collector’ (G1), für den produktiven Einsatz freigegeben. Zu Beginn des Vortrags wird es einen kurzen Überblick über die bisher verfügbaren Strategien geben. Anschließend soll die Frage, welche Vor- und Nachteile mit dem Einsatz des neuen G1-Garbage Collectors zu erwarten sind, beantwortet werden. Einige Beispiele aus dem produktiven Einsatz und aus Tests werden ebenfalls vorgestellt.

    Mobile Apps extern entwickeln. Ein Erfahrungsbericht

    Speaker: Danny Preussler

    eBay Kleinanzeigen hatte seinen mobilen Auftritt zu Beginn outgesourced, das beinhaltet eine Android app, iPhone app und die mobile Webseite.

    Zu Beginn des Jahres 2012 begannen wir jedoch den Aufbau eines eigenen Teams für diesen Bereich um agiler und schneller arbeiten zu können.

    Was wir als Grundlage hatten war sehr unterschiedlich. Eine Codebasis war gut, eine schlecht und eine schrecklich.

    Wir wählten aufgrund dessen und der uns zur Verfügung stehenden Resourcen verschiedene Ansätze: Neuschreiben eines Teils, komplettes Neuschreiben und ein schrittweises Refactoring.

    Nach nun einem Jahr wird es Zeit zurückzublicken. Welcher Weg war der beste?

    Aber auch : Wie geht man um mit undokumentiertem Code der 0% Testabdeckung hat? Was waren die schrecklichsten Dinge auf die wir mit der Zeit stießen? Was sollte man beachten wenn man mobile apps extern entwickerln lässt? Und wie kommt ein kleines Team mit der plötzlichen Verdopplung der Codezeilen klar?

    Länge: normal

    Mobile UX: Interaktions- und Designmuster auf Android und iOS

    Speaker: Philipp Kumar

    Eine sehr gute User Experience gehört heute zu den Grundvoraussetzungen erfolgreicher Apps. Deshalb ist es elementar, besondere Anforderungen an mobile Benutzungsschnittstellen zu kennen und zu berücksichtigen.

    Dazu gehören insbesondere diejenigen Design- und Interaktionsmuster, die von der Zielplattform abhängen. Entsprechend umfangreich und bisweilen unübersichtlich fallen die UX-Styleguides aus, die Apple und Google mittlerweile für ihre Plattformen iOS und Android bereitstellen.

    Dieser Vortrag erläutert zunächst die Besonderheiten mobiler User Experience gegenüber Desktopanwendungen. Danach werden die wichtigsten plattformspezifischen UX-Pattern der Plattformen Android und iOS, die zusammen über 85% des Smartphone-/Tabletmarkts abdecken, erläutert und gegenübergestellt.

    Länge: kurz | Slides: MobileUX.pdf

    Mocking Libraries Shootout

    Speaker: Michael Tamm

    In diesem Vortrag werden die bekanntesten Java-Mocking-Bibliotheken verglichen:

    jMock 2 und EasyMock – die gestandenen Veteranen, Mockito – der Shooting Star, der eine etwas andere Testphilosophie verfolgt, und schließlich PowerMock – der Newcomer mit interessanten Features, die keine der drei anderen Bibliotheken bietet.

    Länge: normal | Slides: Mocking_Libraries_Shootout.pdf

    MoSKito – Live-Session with a DevOp-Tool

    Es ist geschafft. Der Livegang ist gemeistert. Doch jetzt beginnt die Software sich durch die Nutzung und ständige Weiterentwicklung zu verändern.

    In diesem ständigen Wandel ist es entscheidend, das Laufzeitverhalten seiner Anwendung rechtzeitig zu verstehen. Das ist die Aufgabe der Devops. Doch auf welche Tools können sie zurückgreifen? Serverbasierte Monitoring-Lösungen wie Nagios sind etabliert, jedoch auf Betriebssystemebene spezialisiert. Die Analyse auf Applikationsseite ist meist sehr aufwändig.

    Im Rahmen dieses Talks wird MoSKito anhand einer produktiven Platform kurz vorgestellt.

    OAuth 2.0 – Ein Standard wird erwachsen

    OAuth ist ein weitverbreiteter Standard im Web-Umfeld, mit dem man den Zugriff auf Web-Ressourcen absichern kann, ohne dass dafür Passwörter oder andere sensible Credentials über das Netz übertragen werden müssen.

    Version 2.0 dieses Standards ist nach zähem Ringen und vielen schwierigen Diskussionen über zweieinhalb Jahre im Oktober 2012 freigegeben worden, ein vollständig neuer Standard, nicht abwärtskompatibel zu Version 1.0, der den Anspruch hat, die Stärken von Version 1.0 zu übernehmen, aber auch die Schwächen und Lücken der ersten Version zu beheben.

    Dieser Vortrag stellt Version 2.0 von OAuth vor, sowohl die Konzepte, die damit umgesetzt werden (inklusive der Fallstricke) als auch die Anwendung in der täglichen Arbeit in Form von praktischen Code-Beispielen. Als Teilnehmer verstehen Sie die Konzepte und Anwendungsgebiete von OAuth und bekommen gleichzeitig ein Gefühl dafür, was die Nutzung von OAuth für Sie in der täglichen Arbeit bedeutet.

    Offline Strategien für HTML5 Web Applikationen

    Lange Zeit standen die Begriffe “web” und “online” in einer sehr engen Beziehung zu einander. Dank HTML5 ändert sich dies nun.

    HTML5 fokussiert sich auf die Entwicklung von Web Applikationen. Dies bedingt die Notwendigkeit Daten lokal speichern zu müssen. APIs wie Web Storage, IndexedDB, Web SQL Database und die File API geben Entwicklern die Möglichkeit Web Applikationen zu entwickeln die vom Nutzer generierte Daten persistent lokal vorhalten können um damit „offline” arbeiten zu können. Die Session gibt einen Überblick über die verschiedenen technischen Möglichkeiten und stellt die technischen Limitierungen der einzelnen Ansätze einander gegenüber.

    OWASP Top 10

    Die überwiegende Anzahl von Angriffen erfolgt heutzutage nicht auf Netzwerk- oder Protokollebene sondern vielmehr auf die Anwendungen selbst.

    Dabei werden Sicherheitslücken, die aus Fehlern oder Schwachstellen in den jeweiligen Programmen resultieren, ausgenutzt. Im Rahmen dieser Session wird zunächst das Thema Application Security aufgegriffen und u.a. die Fragestellung betrachtet wo die Einsatzgebiete und Grenzen von Web Application Firewalls liegen. Im weiteren Verlauf der Session werden die von der Open Web Application Security Projekts (OWASP) aufgeführten Top Ten Angriffsarten und ihre Relevanz für Java Server Faces (JSF) betrachtet. Anhand von Showcases werden einzelne Angriffe praktisch demonstriert und entsprechende Schutzmechanismen aufgezeigt. Abschließend wird die Architektur einer Applikation Security Komponente für JSF skizziert.

    Länge: normal | Slides: OWASP_Top_10.pdf

    Performance? That’s what version 2 is for!

    Despite the widespread recognition that performance is important to the success of a project, many software products fail to respond fast enough to user requests or to handle a certain amount of parallel business transactions.

    Reasons for that can be insufficiently or not defined performance goals and the fact that performance is addressed late in an application’s lifecycle and usually only after performance issues are discovered. Memory leaks, poor response times, timeouts, concurrency and scaling issues, or caching problems are only a few examples that occur when an application is put to production and exposed to real users.

    The first part covers the importance and the necessity of performance in nowadays software projects and shows what the consequences could be when having a poor performing application. The second part dives into different architectural layers of a usual software application and shows where performance issues can reside and which impact they can have. In addition to that, various possibilities are presented in order to tackle and prevent possible performance issues before an application reaches its production stage.

    Provisionierung von Development bis in die Produktion

    Im Juni 2012 stand die Entwicklung für ein Relaunch eines Produktes an, welches in einer neu definierten Architektur entwickelt werden sollte.

    Der bestehende Weg Software auszurollen war nicht flexibel genug, um unseren Ansprüchen gerecht zu werden: schnell Features live zu bringen, produktionsnahe Entwicklungsumgebungen und eine Durchlaufzeit vom Checkin bis zum Release innerhalb von 30 Minuten.

    Betrachtet werden Aspekte wie die lokale (virtualisierte) produktionsähnliche Entwicklerumgebung, Testsysteme, Produktionssysteme und eine einheitliche Provisionierung. Ziel war es, daß keinerlei manuelle Konfiguration mehr erfolgt.

    Der Vortrag reflektiert die Erfahrungen die gesammelt und Architekturentscheidungen die getroffen wurden. Weiterhin werden die nächsten Schritte die wir angehen wollen vorgestellt.

    Rethinking Enterprise Java–Reloaded

    Speaker: Adam Bien

    Pragmatischer Code kann sich negativ auf den Blutdruck mancher Architekten auswirken.

    Im ersten Teil der Session werden wir einige, für Elfenbein-Turm-Architekten lebensgefährliche, Designpraktiken und Source Beispiele diskutieren. Im Hauptteil würde ich gerne Java EE FAQs mit deploybarem Source beantworten. Im letzten Teil werde ich einige Java EE Tips und Tricks präsentieren. Fragen der Teilnehmer werden auf jeden Fall kontinuierlich beantwortet.

    Schnelle und leichtgewichtige Anwendungsentwicklung mit HTML5 und JEE/REST

    Über die Jahre haben sich HTML und JEE stark gewandelt. Mit den heute vorliegenden Versionen ist eine effektive und effiziente Anwendungsentwicklung möglich.

    Bei HTML wurde aus einer reinen Seitenbeschreibungssprache durch JavaScript, DOM und CSS eine vollwertige Client-Plattform, die nicht nur auf Effekte und Komponenten wie z.B. jQuery und jQuery UI setzt, sondern auch zusehends durch MV*-Frameworks strukturiert wird.

    In der letzten Iteration brachte JEE neben den vorher schon starken Bereichen wie z.B. Persistenz zum ersten Mal Context Dependency Injection (CDI), Validierung von Werten mittels Annotationen (Bean Validation) und REST-Schnittstellen (JAX-RS) mit.

    Im Laufe des Vortrags wird Schritt für Schritt eine strukturiere HTML5-Anwendung entwickelt, mit der ein leichtgewichtiges JEE REST-Backend mit Persistenz und Validierung alle seine Vorteile ausspielen kann. Außerdem wird gezeigt, wie diese Anwendung inkrementell erweitert und automatisiert getestet werden kann.

    Search Evolution – Von Lucene zu Solr und ElasticSearch

    Speaker: Florian Hopf

    Für die Implementierung performanter Suchlösungen hat sich die Bibliothek Apache Lucene in der Java-Welt fest etabliert.

    Neben einem invertierten Index, dem Kernstück der Suche, sind zahlreiche Algorithmen zum Analysieren von Texten implementiert. In den letzten Jahren machen jedoch verstärkt auch die darauf aufbauenden Suchserver Apache Solr und ElasticSearch von sich reden, die die Funktionalität von Lucene über eine Http-Schicht abstrahieren.

    Dieser Vortrag stellt an einem Beispiel vor, wie die Suche mit Apache Lucene grundlegend funktioniert und welche Vorteile Solr und ElasticSearch zusätzlich bringen können.

    Länge: normal

    Sorting Domain Objects via Vector Space Classification

    Der Vortrag erklärt am lustigen Beispiel von Hamburgern, wie man Klassifizierungsalgorithmen auf beliebige Domain-Objekte anwenden kann.

    Außerdem wird der mathematische Hintergrund und dessen Übertragung auf den lauffähigen Code gezeigt. Der Vortrag basiert auf einem realen Anwendungsfall (Eclipse Bugfix 317785) und es werden lauffähige Sourcen in Javascript und Java verwendet.

    Diese Verwendung von Vektor-Space-Klassifizierungsalgorithmen zur Sortierung ist ein eher unüblicher Ansatz, welcher aber in der Praxis bereits prima funktioniert.

    Länge: kurz

    Spring Data Repositories unter der Lupe

    Speaker: Oliver Gierke

    Die Repository Abstraktion ist einer der Kernpunkte der Spring Data Module. Sie bildet ein konsistentes, Interface-basiertes Programmiermodell um sehr einfach Datenzugriffsschichten zu implementieren.

    Im Talk werden Schritt für Schritt komplexer werdende Anforderungen bzgl. der Persistenzschicht umgesetzt und so Best-Practices für die Arbeit mit Spring Data Repositories vermittelt. Abgerundet wird das ganze mit einem kurzen Einblick in Spring Data REST, das die Funktionalitäten der Repositories nutzt um einfach REST Web Services zu implementieren.

    Testing, do you speak it?

    Speaker: Felix Müller

    Mittlerweile wissen wir es alle: Testen ist wichtig! Test-getriebene Entwicklung ist noch besser. Das zu sagen ist einfach.

    Aber wie fängt man am besten mit Tests im Projekt an? Wie sieht ein guter Unit-Test überhaupt aus? Und gibt es Best Practices beim Testen? In diesem Vortrag wird versucht, all diese Fragen zu beantworten.

    Länge: kurz

    Togglz: FeatureToggle Pattern für Continuous Delivery

    Speaker: Niko Köbler

    Wer agil entwickelt und Continuous Delivery umsetzen und betreiben will, hat nicht zuletzt mit Features zu kämpfen, deren Entwicklung noch nicht abgeschlossen ist, oder die noch nicht oder nur für eine bestimmte Benutzergruppe in Produktion gehen sollen, die aber bereits entwickelt sind.

    Und da kein Feature-Branch existiert, bzw. nur der Master-Branch, aus dem auch regelmäßig deployed wird, könnte das eine Herausforderung werden. Mit dem FeatureToggle Pattern von Martin Fowler und der Realisierung dessen mit Togglz ist es ganz einfach, all das im Handumdrehen zu realisieren.

    Länge: kurz

    Unternehmensentwicklung von Unten

    Speaker: Ingmar Krusch

    Wenn Teams anfangen agil zu arbeiten, dann fangen Sie unweigerlich an, Prozesse und Unternehmenstrukturen zu verändern. Oftmals schreitet die Agilisierung auf Teamebene weit schneller vorran als auf Unternehmensebene.

    Man muss aber kein Geschäftsführer oder Bereichsleiter sein, um das Unternehmen in dem man arbeitet spürbar weiterzuentwickeln. Sondern auch Mitarbeiter oder dem mittleren Management stehen in der Regel vielfältige Möglichkeiten zur Verfügung, um teilweise sehr weitreichende positive Veränderungen zu bewirken. Man muss sie nur erkennen und geschickt einsetzen.

    Anhand von Praxisbeispielen schildert der Autor, wie der agile Mindset-Change von unten bei Immobilienscout24 funktioniert hat und noch das Unternehmen verändert.

    Länge: normal | Slides: Unternehmensentwicklung_von_Unten.pdf

    Verteiltes Suchen mit Elasticsearch

    Mit Elasticsearch existiert eine auf Apache Lucene basierende Suchmaschine, die auf eine Anwendung in großen verteilten Systemen optimiert sein möchte.

    Hierdurch bietet sie sich insbesonderer für Cloud-Szenarien an. In dieser Session erfolgt eine Einführung in diese schemalose und dokumentenorientierte Suchengine, die auf REST und JSON setzt. Dabei werden auch fortgeschrittene Aspekte wie Sharding oder Routing betrachtet.

    Länge: normal

    Warum empfehle ich meinen Kunden das Spring Framework?

    Speaker: Michael Plöd

    In den letzten Jahren wurde vermehrt die Diskussion JEE 6 vs. Spring geführt, wobei immer öfter die Irrelevanz des Spring Frameworks heraufbeschworen wurde.

    Im Rahmen der Session möchte ich – abseits jeglicher Polemik – in einer ganzheitlichen Betrachtung schildern, warum ich meinen Kunden noch immer zum Einsatz von Spring rate.

    Länge: normal

    Web Development mit Clojure

    Clojure ist eine JVM-basierte funktionale Sprache mit besonderen Konzepten, die das Unmögliche möglich macht:

    Ein tatsächlich in der Praxis von normalsterblichen Entwicklern einsetzbares Lisp. In dieser Session zeigen wir nach einer Minimaldosis Theorie, wie mit Clojure und einem Satz von Open Source-Bibliotheken effizient eine hochqualitative Web-Anwendung realisiert werden kann.

    Länge: normal | Slides: WebDevelopmentmitClojure.pdf

    We do it ROCA-Style!

    Speaker: Jacob Fahrenkrug, André von Deetzen

    Welchen Architekturansatz wählen Sie, wenn Sie den Relaunch eines Privatkunden-Web-Portals angehen? Ältere Browser und mobile Clients sollen unterstützt werden.

    Die gesamte Funktionalität soll auch ohne den Einsatz von JavaScript gewährleistet sein. Einzelne funktionale Säulen des Portals müssen unabhängig von einander betrieben werden können. Wir haben uns für den ROCA-Style entschieden, um ein skalierbares, entkoppeltes und den REST-Prinzipien folgendes Web-Portal zu entwickeln. Der ROCA-Style (http://roca-style.org/) besteht aus einer Sammlung von Grundsätzen, die zu einer hohen Enkopplung von Server und Client führen. Unabhängig von Technologien, Werkzeugen und Programmiersprachen, kann durch die Umsetzung von ROCA ein Ökosystem von sich ergänzenden Server- und Clientanwendungen geschaffen werden.

    Länge: kurz | Slides: We_do_it_ROCA-Style.pdf

    Wie SoundCloud skaliert

    Vor fast 5 Jahren ging SoundCloud live, jetzt ist es eine der 200 meistbesuchtesten Websites der Welt, hat über 28 Millionen User und hat über 150 Mitarbeiter in 4 Ländern.

    Dieses enorme Wachstum bringt eine Menge Herausforderungen, sowohl auf technischer Seite als auch organisatorisch. Dieser Talk beschreibt, wie SoundCloud technisch (Mysql, Cassandra, Rabbitmq) skaliert und wie die Organisation angepaßt wird um die große Zahl an neuen Mitarbeitern optimal zu integrieren.

    Länge: normal | Slides: Wie_SoundCloud_skaliert.pdf
    Adam Bien

    Adam Bien

    Consultant and author Adam Bien is an Expert Group member for the Java EE 6 / 7, EJB 3.X, JAX-RS and JPA 2.X JSRs. He has worked with Java technology since JDK 1.0 and with Servlets/EJB 1.0 and is now an architect and developer for Java SE and Java EE projects. He has edited several books about JavaFX, J2EE, and Java EE, and he is the author of Real World Java EE Patterns—Rethinking Best Practices (http://realworldpatterns.com) and Real World Java EE Night Hacks. Adam is also a Java Champion, Top Java Ambassador 2012, and JavaOne 2009, 2011, 2012 Rock Star. Adam organizes occasionally Java (EE) workshops at Munich’s Airport (http://airhacks.com).

    Alexander Grosse

    Alexander Grosse

    Alexander Grosse is currently VP Engineering at SoundCloud, the world’s leading social sound platform. Before SoundCloud he worked as R&D director at Nokia, where he headed Places Development at Nokia’s Location Services and had overall responsibility for the Operations department. Alexander has worked in a wide range of positions (Development, Consulting, CTO) in the software industry since 1996, including co-founding two start-ups.He holds a Masters in computer science from the University of Oldenburg and an Executive MBA from FOM Berlin. Besides computer science Alexander works(ed) as a techno DJ in Berlin’s party scene.

    Alexander Schwartz

    Alexander Schwartz

    Alexander Schwartz arbeitet als Lead IT Consultant bei msg systems ag. In den vergangenen Jahren hat er Softwareprojekte mit J(2)EE und Spring in verschiedenen Rollen als Entwickler, ScrumMaster, Architekt und Projektmanager begleitet. Im Laufe der Zeit kam er mit verschiedensten Web-Technologien in Verbindung. Er schätzt produktive Arbeitsumgebungen, agile Projekte und automatisierte Tests.

    Anatole Tresch

    Anatole Tresch

    twitter: @atsticks

    Anatole Tresch After his studies at the University of Zurich, Anatole founded and worked several years as a Consultant being able to gain huge experiences in all areas of Java engineering, in both, small and large enterprise context. Anatole developed several frameworks and reusable components, some of them also open sourced. During the years he always has a strong focus on clean code, stability and simplicity. As of today Anatole also acts as Specification Lead for JSR 354 (Java Money) and shares its knowledge as a speaker. Anatole is working as a leading engineer and framework architect within Credit Suisse.

    Andreas Hartmann

    Andreas Hartmann

    Andreas Hartmann ist Principal Software Engineer bei der adesso AG, Vortragender auf diversen Konferenzen und Autor verschiedener Fachartikel. Sein Tätigkeitsschwerpunkt liegt in der Konzeption und Implementierung von Softwarearchitekturen und Frameworks auf Basis der JEE-Plattform. Seine Interessensschwerpunkte sind serviceorientierte Architekturen und Portaltechnologien sowie NoSQL.

    Andreas Lüdeke

    Andreas Lüdeke

    twitter: @aluedeke

    Andreas Lüdeke Chief Technology Officer, co-founder of TestObject
    After studying Business Computing in an IBM co-op program, he gained several years of profound experience as a scrum-master and senior software engineer while working for SAP and ImmobilienScout 24.

    Bed Con Newcomer 2012

    Andrè von Deetzen

    Andrè von Deetzen

    twitter: @vdandre

    Andrè von Deetzen: Principal Engineer at Deutsche Post E-Post, architecture, dev, ops and ship things.

    Benjamin Gehrels

    Benjamin Gehrels

    Benjamin Gehrels ist Java-Freelancer und Diplomand der Humboldt-Universität zu Berlin. Zuvor war er bei tech@spree (heute aquinet) und im Bereich Immobiliensuche bei Immobilien Scout beschäftigt. Seine flüchtigen Gedanken kippt er von Zeit zu Zeit als @BGehrels über Twitter ins Internet.

    Christian Hapke

    Christian Hapke

    Christian Hapke

  • CTO and Co-Founder of Start-up Oximity
  • Worked for computer science Research Institute GMD FOKUS (now: Fraunhofer), vectos GmbH, iLove GmbH/Jamba! GmbH (subsidiaries of News Corporation), VeriSign Inc., Immobilien Scout GmbH, Questico AG/adviqo AG. Focus on development and management building backend software, software rollout, new technologies and processes.
  • Founder of IT-security related open source project silvertunnel.org – Java tools to easily access the Tor anonymity network
  • Study of Technical Computer Science (degree: German graduate engineer/Dipl.-Ing.) and (ii) Mathematics (intermediate examination with Vordiplom)
  • Dariusz Luksza

    Dariusz Luksza

    twitter: @dluksza

    Dariusz Luksza is a Open Source enthusiast and long time Linux user with wide range of interests and knowledge starting from Java and Git through new JVM languages, functional programming to programmer productivity. Is also committer on EGit project and contributes to JGit and Gerrit projects. In 2011 was recognized as Top Eclipse Contributor. In his free time he is contributing to OpenSource projects, write blog, run, ride a motorcycle and co-organize DevCrowd conference.

  • Study of Technical Computer Science (degree: German graduate engineer/Dipl.-Ing.) and (ii) Mathematics (intermediate examination with Vordiplom)
  • Dharmesh Sheta

    Dharmesh Sheta

    Dharmesh Sheta is a Software Engineer at CollabNet GmbH developing ALM tool integrations with version control system like Git & Subversion & Tools like Gerrit & Jenkins Continuous Integration.

    Eberhard Wolff

    Eberhard Wolff

    twitter: @ewolff

    Eberhard Wolff ist Gründungsmitglied der Java Champions, Autor zahlreicher Fachartikel und Fachbücher (u.a. das erste deutschsprachige Spring-Buch) und regelmäßiger Sprecher auf internationalen Konferenzen. Sein fachlicher Schwerpunkt sind Enterprise-Systeme, Java, Spring und Cloud-Technologien. Er arbeitet als Architecture und Technology Manager für die adesso AG.

    Eduard Tudenhöfner

    Eduard Tudenhöfner

    Eduard Tudenhöfner studied Software Technology at Stuttgart University of Applied Sciences and brings a lot of experience with developing tools for performance analyses and load generation. In customer projects he mainly focuses on the different layers of performance engineering, which comprise the definition of proactive performance activities, detailed performance analyses of JEE-based applications and the conduction and assessment of load tests.

    Felix Müller

    Felix Müller

    twitter: @fmueller_bln

    Felix Müller ist als Software Engineer bei der adesso AG tätig und beschäftigt sich dort mit der Entwicklung von Web-Anwendungen im Java-Umfeld und mit dem firmeninternen Build Management. Dabei interessieren ihn besonders Test Automatisierung, Continuous Delivery und agile Vorgehensweisen.

    Florian Hopf

    Florian Hopf

    twitter: @fhopf

    Florian Hopf arbeitet als freiberuflicher Softwareentwickler mit den Schwerpunkten Content Management und Suchlösungen in Karlsruhe. Er setzt Lucene und Solr seit Jahren in unterschiedlichen Projekten ein und ist einer der Organisatoren der Java User Group Karlsruhe.

    Gunnar Morling

    Gunnar Morling

    Gunnar Morling ist als Senior Software Engineer für Red Hat tätig. Als Mitglied des Hibernate-Teams arbeitet er aktuell an der Spezifikation für Bean Validation 1.1 (JSR 349) und der Referenzimplementierung Hibernate Validator 5. Er verfügt über mehrjährige Erfahrungen im Java-EE-Umfeld und bloggt gelegentlich unter http://in.relation.to/.

    Dr. Halil-Cem Gürsoy

    Dr. Halil-Cem Gürsoy

    Dr. Halil-Cem Gürsoy ist als Software Architect bei der adesso AG (http://www.adesso.de) tätig. Sein technologischer Schwerpunkt liegt dabei auf Java Enterprise (JEE, Spring). Er fokusiert sich aktuell auf verteilte Applikationen, vorzugsweise in “der Cloud”, sowie die Herausforderungen, die im Zusammenhang mit der Persistenz in solchen Applikationen einhergehen.

    Heinz Wilming

    Heinz Wilming

    Heinz Wilming ist Leiter des JBoss Competence Center der akquinet AG. Er beschäftigt sich dort mit Technologien und Architekturen für verteilte Anwendungen. Sein Fokus liegt dabei auf der Java EE Plattform und Open Source Technologien.

    Ingmar Krusch

    Ingmar Krusch

    twitter: @IngmarKrusch

    Ingmar Krusch is head of production at germany’s leading real estate search portal.
    Through his former life as a developer and teamlead of developers, he first got in contact with the agile mindset through Scrum. Ingmar started to implement Scrum at his employer as a dev teamlead and broadened his agile mindset with DevOps and Kanban trough his work in the ops realm, first as a systems architect and then as a teamlead of Sysadmins and Systemdevelopers.
    Currently he is implementing Kanban and promoting the DevOps mindset at his employer while implementing a continuous delivery platform. ImmobilienScout24 uses this to deploy 1400+ VMs completely (including configuration) via RPMs.

    Jacob Fahrenkrug

    Jacob Fahrenkrug

    Jacob Fahrenkrug, Senior Architect at Deutschen Post E-Post, motivated by the prospective of building software products that actually have an impact on peoples life. Collaboration, transparency, short feedback cycles.

    Jochen Mader

    Jochen Mader

    Dipl.-Inf.(FH) Jochen Mader ist Senior Developer bei der Senacor Technologies AG. Dort beschäftigt er sich seit 2009 mit der Entwicklung komponentenbasierter Web-Frontends auf Basis von Apache Wicket. Neben seiner Projekttätigkeit beschäftigt er sich in seinem Buch und mehreren Fachartikeln mit diesem Thema.

    Johannes Nicolai

    Johannes Nicolai

    Johannes Nicolai is CollabNet’s Development Manager leading all Git and Gerrit related development efforts. Furthermore, he is responsible for CollabNet Connect /synch, CollabNet’s platform to integrate TeamForge with third party ALM platforms.

    Jörg Müller

    Jörg Müller

    twitter: @joergm

    Jörg Müller ist Software Entwickler, Manager und DevOps-Verfechter. Er arbeitet bei der Hypoport AG in Berlin und entwickelt mit an EUROPACE 2, der neuen Generation des B2B-Finanzmarktplatzes für Baufinanzierungen. Ihn interessiert alles, was dazu führt, dass Softwareentwicklung und Betrieb effektiver werden und dabei allen Beteiligten Spaß macht.

    Kris Borchers

    Kris Borchers

    twitter: @kborchers

    Kris Borchers is a front-end/mobile web app developer, primarily focused on JavaScript, HTML5 and CSS3. He is a Senior Software Engineer on the AeroGear team at Red Hat where their goal is to help JBoss, and non-JBoss users alike, bring enterprise level web, hybrid and native applications to mobile devices. Kris is also a committer on the jQuery UI project and has been dabbling in open source projects for years.

    Leon Rosenberg

    Leon Rosenberg

    twitter: @dvayanu

    Leon Rosenberg widmet sich als Softwarearchitekt seit über 10 Jahren der Entwicklung von hochskalierenden Portalen (z.B. Parship oder FriendScout24) und ist Commiter diverser Open Source Projekte.
    Seit 2007 Founder und Commiter von MoSKito.

    Markus Dahm

    Markus Dahm

    Markus Dahm ist Java-Entwickler seit 1996 und Architekt

    Martin W. Kirst

    Martin W. Kirst

    twitter: @nitram509

    Martin W. Kirst

  • Hobby zum Beruf gemacht
  • Informatik studiert
  • Große Begeisterung für Open Source
  • Eigene Projekte
  • Viele Contributions von Apache (POI) Eclipse (P2 Download Mirror BugFix)
  • Michael Heck

    Michael Heck

    Michael Heck ist Expert-Consultant bei der Cofinpro AG. Er beschäftigt sich mit der technischen Umsetzung von Wertpapierprozessen in der Kapitalanlagegesellschaft auf Basis von Java-Technologien, Groovy und Drools. Darüber hinaus gilt sein aktuelles Interesse agilen Entwicklungsansätzen und innovativen Testvorgehen.

    Michael Plöd

    Michael Plöd

    twitter: @bitboss

    Michael Plöd ist Principal Architect und Partner bei der Senacor Technologies AG und in dieser Rolle überwiegend in Projekten tätig, die die Transformation großer IT-Landschaften anstreben. Michael ist Speaker auf zahlreichen Konferenzen und regelmäßiger Autor diverser Fachartikel zu den Themen Java Persistence, Apache Wicket und Präsentationstechniken.

    Michael Tamm

    Michael Tamm

    twitter: @MichaelTamm

    Michael Tamm ist seit seinem Informatikstudium 1999 als Programmierer und Systemarchitekt tätig und hat seitdem zahlreiche Enterprise-Webauftritte realisiert. Über die Jahre hat er sich auf die automatisierte Qualitätssicherung und ständige Optimierung von Entwicklungsprozessen spezialisiert. Zudem veröffentlicht er gelegentlich Fachartikel in Computermagazinen, hält regelmäßig Vorträge auf diversen IT-Konferenzen und ist aktiver Committer in den Open-Source-Projekten Selenium und Fighting Layout Bugs.

    Niko Köbler

    Niko Köbler

    twitter: @dasniko

    Niko Köbler ist freiberuflicher Berater und Software-Architekt für Java Enterprise Lösungen, Integrationen und Web Services. Er berät und unterstützt Kunden verschiedenster Branchen, hält Workshops und Trainings und führt Architektur-Reviews durch. Zudem ist er Co-Organisator der Java User Group Darmstadt (JUG DA) und regelmäßig als Sprecher auf Fachkonferenzen anzutreffen.

    Olaf Siefart

    Olaf Siefart

    Dipl.Inf. Olaf Siefart ist Chief Developer bei der Senacor Technologies AG. Beruflich ist er schon seit mehreren Jahren als Technical Lead mit der Konzeption von Middleware und Clientarchitekturen im Java-Umfeld tätig. Mit komponentenbasierten Web-Frameworks beschäftigt er sich seit 2007 im Rahmen seines Wicket-Buchs und im aktuellen Projektgeschäft. Er studierte Informatik an der Universität Marburg.

    Oliver Gierke

    Oliver Gierke

    twitter: @olivergierke

    Oliver Gierke ist Teil des Spring Data Teams bei SpringSource, a division of VMware und leitet dort das JPA, MongoDB und Core Modul. Seit über 6 Jahren widmet er sich dem Entwicklen von Java Enterprise Applikationen, Open Source Projekten und ist Mitglied der JPA 2.1 Expert Group. Seine Arbeitsschwerpunkte liegen im Bereich Softwarearchitektur, Spring und Persistenztechnologien. Er ist regelmäßiger Sprecher auf deutschen und internationalen Konferenzen sowie Autor von Fachartikeln und des ersten Spring Data Buches.

    Oliver Wehrens

    Oliver Wehrens

    twitter: @owehrens

    Oliver Wehrens arbeitet als Principal Engineer bei der EPost. Dort entwickelt er die nächste Generation der EPost Services. Er ist an allem interessiert um Software schneller auszuliefern sowie die Entwicklung einfacher und testbarer zu machen.

    Patrick Baumgartner

    Patrick Baumgartner

    Patrick Baumgartner ist Senior Software Consultant und Partner bei der Swiftmind GmbH in Zürich und Dozent für Webserver und Software Technologien am Zentrum für berufliche Weiterbildung in St. Gallen. Seine Fachgebiete umfassen die Architektur und Entwicklung von OSGi- und Webanwendungen mit Java/JEE und Open Source Technologien. Der Focus liegt hier im Speziellen bei der Beschäftigung mit dem Spring Framework, agilen Projektmethoden sowie bei Software Engineering Best Practices.

    Per Fragemann

    Per Fragemann

    Per Fragemann Seit 2010 Gründer und CEO von Small Improvements in Berlin. Wir sind ein kleines SAAS Startup, bestehend aus 5 Leuten (3 in Berlin, 1 in Sydney, 1 in New York) und wir verkaufen an Kunden wie Klout, Opera, Quiksilver, Meraki, Logmein und viele mehr.

    Vorher Entwicklungsleiter Confluence bei Atlassian, Sydney. Dort habe ich zwischen 2007 und 2010 ein Team von 10 Software-Entwicklern übernommen, Scrum eingeführt, provisorisch das Produktmanagement übernommen, und das Team bis auf 25 Entwickler aufgebaut.

    Davor Software-Entwickler bei Gentleware (Hamburg) und Technischer Leiter bei Wirecard (München).

    Philipp Kumar

    Philipp Kumar

    Philipp Kumar ist Leiter des Competence Center für mobile Lösungen bei der akquinet AG in Berlin. Er verfügt über langjährige Erfahrungen in der Durchführung von Projekten mit mobilen Klienten und ist spezialisiert auf Android-basierte Applikationen sowie deren Integration in Enterprise-Infrastrukturen.

    Philipp Schirmacher

    Philipp Schirmacher

    twitter: @pschirmacher

    Philipp Schirmacher arbeitet als Consultant bei der innoQ Deutschland GmbH. Sein Schwerpunkt liegt auf der Entwicklung von Java-Applikationen in agilen Teams. Darüber hinaus interessiert er sich insbesondere für moderne Programmiersprachen wie Clojure und Scala.

    Rene Groeschke

    Rene Groeschke

    twitter: @breskeby

    Rene Groeschke has more than seven years experience in developing software for the enterprise and and defence industry, both nationally and internationally. He regularly shares his passion and experience with bachelor students of the Baden-Wuerttemberg Cooperative State University (DHBW) in germany, lecturing on development methodologies and software craftsmanship.

    Supporting Gradle and the Gradle community by providing plugins, patches, screencasts and talks since the early days, René has turned his hobby into his occupation and is now part of the core developer team. When he’s not working on Gradle, he’s contributing to other open source projects such as Macports or Griffon. From time to time he’s putting his notebook aside for traveling, riding his motorcycle or to go for a jog.

    Stefan Tilkov

    Stefan Tilkov

    twitter: @stilkov

    Stefan Tilkov ist Geschäftsführer und Principal Consultant bei der innoQ Deutschland GmbH, wo er sich vorwiegend mit der strategischen Beratung von Kunden im Umfeld von Softwarearchitekturen beschäftigt. Er ist Autor des Buchs „REST und HTTP”, Mitherausgeber von „SOAExpertenwissen” (beide dpunkt Verlag), Autor zahlreicher Fachartikel und häufiger Sprecher auf internationalen Konferenzen.

    Stefan Zörner

    Stefan Zörner

    Stefan Zörner ist Anwendungsarchitekt, Berater, Trainer und Coach bei oose (http://www.oose.de) in Hamburg. Seine inhaltlichen Schwerpunkte sind Softwarearchitektur und Java-Technologien. Ganz besonders interessiert ihn, wie sich Entwürfe effizient festhalten und kommunizieren lassen. Sein Wissen hierzu teilt er regelmäßig in Form von Vorträgen und Artikeln (u.a. im Java Magazin) mit. Sein Buch “Softwarearchitekturen dokumentieren und kommunizieren” ist 2012 im Hanser-Verlag erschienen. Stefan ist Apache-Committer, Certified Spring Professional und aktives Mitglied im International Software Architecture Qualification Board (iSAQB).

    Stephan Hochdörfer

    Stephan Hochdörfer

    Stephan Hochdörfer ist Head of IT bei der Firma bitExpert AG in Mannheim. Seine Themenschwerpunkte liegen im Bereich Web Entwicklung und Automatisierungstechniken, von der Code Generierung bis hin zum automatischen Deployment.

    Tobias Frech

    Tobias Frech

    twitter: @TobiasFrech

    Tobias Frech hilft Unternehmen als Trainer und Coach ihre Java-Anwendungen besser zu betreiben. Sein Interesse im Java-Umfeld gilt der JVM- und Java EE-Optimierung, performanten Anwendungsarchitekturen, Clustering, Monitoring, Fehlerdiagnose/Troubleshooting und Deployment. Weitere Informationen unter www.frech.info.

    Tobias Trelle

    Tobias Trelle

    twitter: @tobiastrelle

    Tobias Trelle ist Senior IT Consultant bei der codecentric AG, Düsseldorf. Er ist seit knapp 20 Jahren im IT-Business unterwegs und interessiert sich für Software-Architekturen und skalierbare Lösungen. Tobias organisiert die Düsseldorfer MongoDB Usergruppe und hält Vorträge zum Thema MongoDB (z.B. OOP 2013, MongoDB Munich 2012, MongoDB Berlin 2013). Außerdem schreibt er gerade ein deutschsprachiges Buch über MongoDB.

    Dr. Torsten Fink

    Dr. Torsten Fink

    Dr. Torsten Fink ist als Geschäftsführer bei der akquinet tätig und kümmert sich um die strategische Ausrichtung im Bereich Anwendungsentwicklung. Neben organisatorischen Aufgaben führt er auch Architektur- und Technologieberatungen durch.

    Uwe Friedrichsen

    Uwe Friedrichsen

    twitter: @ufried

    Uwe Friedrichsen ist ein langjähriger Reisender in der IT-Welt. Als CTO der codecentric AG darf er seine Neugierde auf neue Ansätze und Konzepte sowie seine Lust am Andersdenken ausleben. Seine aktuellen Schwerpunktthemen sind agile Architektur und verteilte, hochskalierbare Systeme. Er ist außerdem Autor diverser Artikel und diskutiert seine Ideen regelmäßig auf Konferenzen.

    Freitag, 05. April 2013

    Zeit Hörsaal 1 Hörsaal 2 Seminarraum 1 Seminarraum 2
    ab 08:00 Einlass
    09:00 – 10:00 Haskell aus einer Java-Enterprise Perspektive
    Dr. Torsten Fink
    Absturz unerwünscht – Architekturmuster für fehlertolerante Systeme
    Uwe Friedrichsen
    Angewandtes Cloud Computing: Von der Idee zum profitablen Lean Startup
    Per Fragemann
    A real-world JEE Application written in Scala
    Christian Hapke English Talk
    10:00 – 10:15 Pause
    10:15 – 11:15 Entwicklung moderner Webanwendungen mit Apache Wicket
    Dipl.-Inf.(FH) Jochen Mader
    Beziehungskiste. Abhängigkeiten im Softwareentwurf planen und überwachen
    Stefan Zörner
    Kurzvortrag-Session
    Mobile UX Philipp Kumar,
    ROCA-Style Jacob Fahrenkrug, André von Deetzen,
    Java and MongoDB Tobias Trelle
    Ist das Groovy? – Fachliche DSLs mit Groovy
    Konstantin Diener
    11:15 – 11:30 Pause
    11:30 – 12:30 Web Development mit Clojure
    Philipp Schirmacher
    Provisionierung von Development bis in die Produktion
    Andrè von Deetzen, Oliver Wehrens
    JSR 354 – Java Money and Currency
    Anatole Tresch English Talk
    Kurzvortrag-Session
    Vector Space Martin W. Kirst,
    Bean Validation 1.1 Gunnar Morling,
    Testing Felix Müller
    12:30 – 13:30 Mittag
    13:30 – 14:30 Newcomer
    14:30 – 14:45 Pause
    14:45 – 15:45 Aus dem Spring Nähkästchen
    Eberhard Wolff
    Wie SoundCloud skaliert
    Alexander Grosse
    Mocking Libraries Shootout
    Michael Tamm
    “There is no ‘My Machine’”
    Jörg Müller
    15:45 – 16:00 Pause
    16:00 – 17:00 Huch, wo ist meine Architektur hin?
    Oliver Gierke
    AngularJS made easy with Yeoman
    Andreas Lüdeke
    OWASP Top 10
    Andreas Hartmann
    Eclipse of idleness and focus on current task
    Dariusz Luksza English Talk

    English Talk = Talks in English

    Sponsoren

    Small Improvements
    techdev Solutions
    idealo
    Thoughtworks
    codecentric
    Bosch Software Innovations
    ROHDE & SCHWARZ
    innoQ
    pro!vision
    whatever mobile
    dmc
    akquinet
    MeteoGroup
    Deveo
    Axel Springer

    Partner

    Java User Group Berlin Brandenburg Logo
    iJUG

    Medien Partner

    O'Reilly
    dpunkt.verlag
    rheinwerk