Das Programm der BED-Con 2012 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, 29. März 2012

Zeit Hörsaal Seminarraum 1 Seminarraum 2
ab 08:00 Einlass
09:00 – 10:00 Toolbox für den täglichen Kampf eines Entwicklers
Patrick Baumgartner, Odilo Oehmichen
Gradle, der neue Stern am Himmel der Open-Source-Build-Systeme
René Gröschke
Wie wird mein Code testbar?
David Völkel
10:00 – 10:10 Pause
10:10 – 11:10 Kann Software schön sein?
Jörg Friedrich
Apache Buildr in Action
Halil-Cem Gürsoy
Need(le) for Speed – Effective Unit Testing for Java EE
Heinz Wilming
11:10 – 11:20 Pause
11:20 – 12:20 Modularisierung wagen: warum es sich lohnt, diesen Weg einzuschlagen (und wie man unterwegs überlebt)
Ansgar Konermann, Jacob Fahrenkrug
Maven Packaging Plugin – Creating distribution packages for Java software artifacts
Robert Schuster English Talk
Automatisches Testen für Java-Anwendungen mit dem Eclipse Jubula Projekt
Oliver Goetz
12:20 – 13:20 13:00 – 13:10 Mini-Talk WebFWD: Mozillas Open Innovations-Förderprogramm für OpenSource Mittag
13:20 – 14:20 Was tut ein guter Software Architekt?
Eberhard Wolff
On the Road to Continuous Delivery
Thorsten Kamann, Hanno Wendt
Web Services mit Dropwizard und MongoDB
Alexander Reelsen
14:20 – 14:30 Pause
14:30 – 15:30 Darf’s ein wenig größer sein – Architekturmuster für hochskalierbare Systeme
Uwe Friedrichsen
Continuous Delivery in der Praxis – 7+ Lektionen
Jörg Müller
Was Frankenstein und Anwendungen gemeinsam haben
Verena Würfel
15:30 – 16:00 Pause
16:00 – 17:00 Matt in drei Iterationen. Lebendiger Architekturentwurf am Beispiel einer Schach-Engine
Stefan Zörner
Continuous Delivery: Konfigmanagement mit RPM, Deployment mit YADT
Arne Hilmann, Marcel Wolf
How to build a recommender system based on Mahout and Java EE
Manuel Blechschmidt English Talk
17:00 – 17:10 Pause
17:10 – 18:10 Design Thinking – unerwartete Lösungen kreieren
Bernd Oestereich
Kanban & DevOps bei Nokia – ein Erfahrungsbericht
Alexander Schwartz
µServices for the rest of us
Karl Pauls English Talk
18:10 – 18:20 Pause
ab 18:20 Newcomer und Verlosung

Activiti und Java EE 6: Das perfekte Team für Prozessanwendungen?

Speaker: Bernd Rücker

Java EE 6 kann fast alles, außer BPM. Doch zum Glück lässt sich die leichtgewichtige Process Engine Activiti integrieren.

Wir zeigen wie man Activiti nahtlos in die Welt von CDI, JSF, JPA & co. einbauen und damit prozessorientierte Applikationen entwickeln kann, die ganz ins Java EE 6 Programmiermodell passen. Dabei werden Best Practices und Lessons Learned aus unseren Praxisprojekten diskutiert. Fazit: BPM ist was für Business-Kasper? Das war gestern!

Apache Buildr in Action

Speaker: Halil-Cem Gürsoy

Es gibt inzwischen eine Vielzahl von verschiedenen Buildwerkzeugen. Da gibt es Ant, von vielen immer noch geliebt wegen dessen Flexibilität und Zuverlässigkeit. Maven, als Heilsbringer erwartet, um am Ende doch zu enttäuschen.

Und dann noch weitere Tools wie Gradle und SBT, die aus dem Umfeld alternativer JVM-Sprachen kommen. In diesem Gemenge schlägt sich seit Jahren Apache Buildr mehr oder weniger unentdeckt von der Masse und hat sich inzwischen zu einem beachtlichen Werkzeug mit einem großen Funktionsumfang gemausert. Welches Potential steckt wirklich in diesem Geheimtipp und ist es in der Lage, Maven oder Ant in einem Projekt zu ersetzen?

Länge: normal | Slides: BED2012-buildr.pdf

Automatisches Testen für Java-Anwendungen mit dem Eclipse Jubula Projekt

Speaker: Oliver Goetz

Anfang 2011 wurden Kernteile des Testwerkzeugs GUIdancer als Open Source Projekt in der Eclipse Foundation unter dem Namen „Jubula” veröffentlicht.

Ziel des Jubula-Projekts ist es, die Wirtschaftlichkeit und Effektivität automatisierter GUI Tests durch eine kostengünstige und einfache Einbindung in den Entwicklungsprozess zu erhöhen. Der Fokus des Tools liegt bei der Erstellung von Black-Box Tests, die frühzeitig und kontinuierlich laufen können, um die Kundensicht immer in Vordergrund zu halten und eine hohe Akzeptanz zu gewährleisten. Dabei handelt es sich nicht um den klassischen (aber ungeeigneten) Record-And-Replay (Aufnehmen und Wiederabspielen) Ansatz.

In diesem Vortrag werden die Konzepte hinter Jubula erklärt. Wir erzählen, wie Akzeptanztests komplett aus der Benutzerperspektive (sprich: ohne Programmieraufwand) automatisiert, ausgeführt und analysiert werden und erläutern wie sie den Best Practices aus der Softwareentwicklung (Lesbarkeit, Wartbarkeit, Modularität) gerecht werden. Auch die agile Perspektive wird betrachtet: Testfallerstellung vor der Verfügbarkeit einer lauffähigen Software.

Zur Veranschaulichung der Konzepte, Architektur und Arbeitsweise wird eine Demonstration des Tools gegeben.

Länge: normal | Slides: Automatisiertes-Testen-mit-Jubula.pdf

Blazing fast! JBoss 7

Der kürzlich vorgestellte JBoss 7 Application Server bietet neben einer Startzeit von unter 3 Sekunden völlig neue Möglichkeiten für Entwickler und Administratoren.

In diesem Talk wird betrachtet, wie Features wie z.B. Domain-Mode, REST-API und die CLI im täglichen Einsatz genutzt werden können.

Continuous Delivery: Konfigmanagement mit RPM, Deployment mit YADT

Teil I “Konfigmanagement mit RPM” erläutert, wie man eine große Anzahl von Maschinen automatisiert via Subversion und RPM aufsetzen und konfigurieren kann.

Ein einfaches Templating-System mit hierarchischer Variablenersetzung erlaubt das Konfigurieren einzelner Hosts bis hin zu ganzen Hostgruppen und minimiert Redundanz. RPMs mit den geaenderten Konfigurationen werden automatisch generiert und publiziert.

Teil II “Deployment mit YADT” setzt auf einem paketbasierten Deployment auf und berücksichtigt darüber hinaus auch die Abhängigkeiten zwischen Paketen und Services bzw. von Services untereinander.

Dabei stellt YADT sicher, dass bei Updates die direkt und indirekt abhaengigen Services ermittelt und diese in richtiger Reihenfolge gestoppt bzw. gestartet werden. Das Deployment kann dann als sequentielle Welle, teilparallel mit vorheriger “Pilotphase” oder komplett parallel durchgeführt werden.

Länge: normal | Slides: yadt-bedcon2012.zip

Continuous Delivery in der Praxis – 7+ Lektionen

Speaker: Jörg Müller

Seit fast zwei Jahren setzen wir Continuous Delivery bei der Entwicklung eines neuen Produktes ein. Trotz anfänglicher Zweifel hat sich die Vorgehensweise als erfolgreich erwiesen.

Um dahin zu gelangen mussten wir einige Lektionen lernen, manche davon gleich am Anfang, einige wurden erst viel später deutlich.

Der Vortrag richtet sich an Interessierte, die die theoretischen Grundlagen von Continouos Delivery bereits gehört oder gelesen haben. Manche habe vielleicht Zweifel, ob das Ganze wirklich funktioniert. Andere sind mitten in der Einführung und suchen den Erfahrungsaustausch. Der Vortrag berichtet von unseren Erfahrungen, die Theorien in die Praxis umzusetzen und von Dingen, die in den Theorien nicht erwähnt werden. Das Ganze wird zusammengefasst in sieben Lektionen und ein paar Kleinigkeiten.

Darf’s ein wenig größer sein – Architekturmuster für hochskalierbare Systeme

Hochskalierbare Anwendungen sind anders. Die normalen Gesetze von Anwendungs-Architekturen gelten hier nicht mehr.

Viele selbstverständlich erscheinende Konzepte müssen für sehr große Anwendungen komplett überdacht werden und Architekturentscheidungen müssen neu getroffen werden.

In dieser Session möchte ich mit Ihnen einige ausgesuchte Architekturthemen wie z.B. State Management, Entitätsdesign, Datenkonsistenz, Fehlerbehandlung oder Skalierbarkeit betrachten, die Probleme und Grenzen klassischer Lösungsansätze aufzeigen und Ihnen Lösungsmuster für hochskalierbare Anwendungen vorstellen – mit Hinweisen zu Tradeoffs der Muster, praktischen Entscheidungshilfen und Umsetzungstipps.

Wie so häufig können wir auch in dieser Session nur einige ausgesuchte Aspekte des Themengebiets streifen, aber Sie bekommen eine Reihe alternativer Ideen und Konzepte an die Hand, die Sie nicht nur in großen Cloud-Systemen gewinnbringend anwenden können.

Länge: normal | Slides: bed-2012-scalability-patterns.pdf

DB Transformation und Migration

Wir haben des öfteren Projekte, wo bestehende Anwendungen (die ein RDBMS nutzen) erweitert werden müssen. Oft lassen sich Änderungen am DB-Schema und -Daten nicht vermeiden.

In der Regel werden oft Skripte verwendet um diesen Anforderungen gerecht zu werden. Die aktuellen Lösungen sind meist selbst geschriebene SQL-Skripte. Dies ist fehleranfällig und die SQL-Skripte sind meist für eine DB spezifisch und für weitere DBs fallen entsprechende Aufwände an.

Im Rahmen des Projekts “DB Transformation und Migration” haben wir verschiedene Produkte evaluiert um diese Problematik zu lösen. In diesem Vortrag werden wir sowohl die zwei stärksten Kandidaten präsentieren als auch interessante Anwendungsmöglichkeiten der leistungsfähigsten Produkte (liquibase).

Länge: normal | Slides: DB-Transformation-und-Migration.pdf

Design Thinking – unerwartete Lösungen kreieren

Design Thinking ist eine Vorgehensweise und eine Sammlung von Techniken um die Entwicklung disruptiver Innovationen (spielverändernde Lösungen und bahnbrechende Produkte, Dienstleistungen oder Organisationsformen) wahrscheinlicher zu machen.

Dazu müssen Entwickler/Techniker und ebenso Manager ihr gewohntes rationales und deduktives Denken verlassen und sich in eine neue Arbeitskultur begeben.

Scheinbar klare Fakten und Projektaufträge sind zu hinterfragen. Wir fühlen uns in Menschen und Problemsituationen ein und gewinnen völlig neue Einsichten über die eigentlichen Herausforderungen.

Der Vortrag gibt einen Einblicke in die Kernelemente des Design Thinkings und zeigt praktische Anwendungsbeispiele.

Elasticsearch – Search made easy for (web) developers

Eine funktionierende Suche zu bauen ist komplex. Infrastruktur, Relevanz, Geschwindigkeit, Skalierbarkeit sind Faktoren, die schwer zu erreichen und bei wachsender Datenmenge zu halten sind.

Elasticsearch ist eine seit 2010 existierende Open-Source Suchmaschine, die ähnlich wie Solr auf Lucene aufsetzt und sich anschickt, einige immer wieder auftretende Probleme in den oben genannten Problemfeldern zu vereinfachen. In dieser Präsentation wird es einen ersten Einblick in die Konzepte und Möglichkeiten geben sowie ein kurzer Einblick in komplexere Features gegeben.

Der Vortrag gibt einen Einblicke in die Kernelemente des Design Thinkings und zeigt praktische Anwendungsbeispiele.

Enterprise Integration Patterns and DSL with Apache Camel

Speaker: Claus Ibsen

Apache Camel, a very popular integration framework, builds on the principles of the EIPs (Enterprise Integration Patterns) and DSLs (Domain Specific Language).

In this talk we show how integration can become much easier and accessible with Camel. By wiring together EIP patterns, processes and transports, integrating becomes as simple as building routes “lego style.”, The wiring is done using the Camel DSL. We will cover some of the most used EIP patterns such as Splitter, Aggregator, Recipient List, Dead Letter Channel, Idempotent Consumer etc. And give pointers about tips and tricks along the way. This talk includes live demos that show how to build integration flows in DSLs: plain Java, XML and Groovy.

We will also show you how you can use Eclipse tooling to build routes using a graphical drag’n'drop environment, as well how to gain insights into running Camel applications, such as message tracing.

We will cover how Apache Camel is related to Apache ServiceMix, and why you should consider using Apache ServiceMix to host your integration applications.

In the end of the talk we take a look at the noteworthy new features of the latest Camel release, as well what we have planned for the upcoming releases.

Länge: normal | Slides: Apache-Camel-BED-March-2012.pdf

Gradle, der neue Stern am Himmel der Open-Source-Build-Systeme

Gradle ist der neue Stern am Himmel der Open-Source-Build-Systeme.

In dieser Session 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-Skripts, noch schnellere Builds und innovative Features freuen.

Länge: normal

Hands On: Wicket + JEE6 Full Stack

Speaker: Jochen Mader

Im Rahmen der Session werden wir ausgehend vom Wicket-Quickstart-Archetypen eine vollständige Anwendung basierend auf Wicket und Java EE 6 live entwickeln.

Neben grundlegenden Wicket-Themen werden ebenfalls Anforderungen wie Authentifizierung, Ajax, Behaviours oder Validierung adressiert. Die Session verzichtet auf Folien und findet komplett in der Entwicklungsumgebung statt.

Länge: normal

How to build a recommender system based on Mahout and Java EE

This talk will cover the basic principles of personalization especially in the context of recommendations.

Recommender algorithms based on memory and models will be shown and compared. The comparison is based on time- and space requirements. A small demo application based on the Java EE 6 standard with maven as the build tool will be provided and explained. It will contain a small sample of data from facebook friends of the author. The application integrates the machine learning library mahout through a dependency and is therefore easily embeddable and maintainable in any modern software project. Key concepts from Java EE 6 like EJB, WebServices, and REST interfaces will be part of the application and the integration will be explored.

The recommendation technology is applicable for content, product, music or video recommendation and a lot of companies are currently deploying these on their websites.

Agenda:

  • What is personalization?
  • What algorithms can be used?
  • Architecture of a recommender system
  • How to bundle Mahout into an Java EE application
  • Interface with the recommender
  • Conclusion
  • Inversion of Flow

    Inversion of Control ist scheinbar ein Standard bei der Implementierung komplexer Softwaresysteme.

    Doch meist wird IoC mit Dependency Injection gleichgesetzt. Dependency Injection entkoppelt das Wie und ist somit ein wichtiger Teil von IoC. Aber wie entkoppelt man das Was und Wann? Was fehlt noch zu wirklichem Inversion of Control? Diesen fehlenden Teil bezeichne ich als Inversion of Flow und möchte in diesem Vortrag zeigen, wie mit Hilfe einer Art Self Populating Cache auch die restlichen Teile von Inversion of Control realisiert und mit Dependency Injection integriert werden können.

    Java EE 6 – das volle Programm

    Entwicklung mit Java EE 6 anhand eines ganzheitlichen Beispiels

    Die Java EE 6 Spezifikation bietet mit den zahlreichen kombinierbaren Einzelspezifikationen mehr als nur eine Grundlage für die effiziente Entwicklung moderner Softwaresysteme. Gerade durch die Kombinierbarkeit der einzelnen Spezifikationen untereinander sowie mit weiteren im Java EE Bereich verfügbaren Technologien steht eine robuste und zukunftsträchtige Technologie-Landschaft bereit. Es wird Zeit, diese ganzheitlich exemplarisch zu beleuchten. Der erste Schritt bei der Umsetzung eines Java EE Projektes ist bekanntlich das Aufsetzen der Software-Infrastruktur und -Architektur. Dieser Schritt erfordert umfangreiches und tief gehendes technisches Wissen um die beteiligten Technologien. Bereits hier wird die Grundlage für die Effizienz bei der Umsetzung des Projektes sowie für die Wartbarkeit der fertiggestellten Software gelegt. Ein Problem stellt hierbei nicht nur die Komplexität der Aufgabe als solche dar, sondern auch der in Projekten übliche Zeitdruck, durch welchen oft wichtige Aspekte wie zum Beispiel eine Umgebung für die Testautomatisierung unter den Tisch fallen gelassen werden.

    Der Vortrag beleuchtet das Thema auf eine praktische Art. So wird viel auf Livecode gesetzt. Der Quellcode wird auf GitHub zur allgemeinen Verwendung bereitgestellt.

    Länge: normal

    JavaScript in the Cloud

    Speaker: Jan Jongboom

    If we advocate the web, develop for the web, and move more and more of the applications we use every day to the web – then why are we still developing software using desktop IDEs and desktop code editors?

    Don’t all the advantages of the web apply to IDEs as well? Nothing to install, nothing to configure, seamless software updates, real-time collaboration with other users, offloading computationally expensive tasks (like large compiles) to the cloud. It seems to make perfect sense. Still, nobody seemed to do it. So, we decided to do it ourselves – build an IDE in the browser: Cloud9 IDE.

    In this talk I will describe the vision and architecture of Cloud9 IDE and programming “in the cloud” in general. In addition I will describe what the architecture of Cloud9 looks like and the challenges we face.

    jBPM5 in Java EE 6

    Bei dem Vortrag handelt es sich um einen Erfahrungsbericht über die BPM Suite jBPM 5 von JBoss, wobei der Fokus auf der Process-Engine und dem Human-Task-Service liegt.

    Wir werden über Erfahrungen berichten, die wir während der Umsetzung zweier unterschiedlicher Projekte sammeln konnten und stellen hierzu eine kleine Demo-Webanwendung vor, welche die Integration von jBPM5 demonstriert. Der Vortrag fokussiert sich zudem auf die Integration von jBPM5 in eine Java EE 6 Webanwendung unter Einsatz von Technologien wie JPA 2, JSF 2, CDI und dem JBoss AS 7. Wir gehen dabei sowohl auf die positiven Eigenschaften als auch auf die im Zuge der Integration von jBPM5 aufgetretenen Probleme und Schwächen ein und geben einen Ausblick auf zukünftige Features.

    Länge: normal | Slides: jBPM5-in-Java-EE-6.pdf

    Kanban & DevOps bei Nokia – ein Erfahrungsbericht

    Wann generiert ein Autohersteller Wert beim Verkauf eines Autos? Nicht bevor das Auto zum Kunden ausgeliefert und bezahlt worden ist.

    Wir sieht es für uns Softwareentwickler aus? Wann generieren wir einen Wert mit unserer Arbeit, jenseits von 0en und 1en in Form von schön refrakturiertem Software-Code? Nicht bevor die neue Version der Software vom Kunden benutzt werden kann und sich dies positiv auf den finanziellen Erfolg des Produkts auswirkt.

    Wo zur Erreichung dieses Ziels in der Auto-Industrie seit Jahrzehnten Lean Management und Kanban sehr erfolgreich eingesetzt wird, gibt es nach seit einigen Jahren auch in der IT-Industrie im Umfeld der Agilen Methoden den Trend zu “Software-Kanban”.

    Basierend auf seinen Erfahrungen bei Nokia zeigt Alex wie Kanban kombiniert mit Idee von DevOps – Entwickler, QA und Operations arbeiten sehr eng zusammen – wirklich helfen kann mit Software schneller Wert zu generieren und die Qualität zu verbessern, auch in durchaus herausfordernden Situationen.

    Kann Software schön sein?

    Der Web-Pionier David Gelernter hat vor einem Jahr ein “Bauhaus für Software” gefordert. Wie das Bauhaus in den 1920er Jahren sollte nun für Software ästhetische Forderungen nach dem Prinzip “Form follows Function” aufgestellt werden?

    Welchen Sinn kann eine Ästhetik für Software haben? Wann könnte man sagen, dass Software “schön” oder “hässlich” ist? Und was bringt das für die Kundenzufriedenheit oder für die Qualität der Software, besonders für die Erfüllung nichtfunktionaler Anforderungen?

    Tatsächlich ist es sinnvoll, ästhetische Kategorien, die z.B. von Kant, Heidegger oder Frank Sibley entwickelt wurden, auf Software anzuwenden. So lassen sich ästhetische Kriterien für Software entwickeln, die über das design von Oberflächen und den modularen Architekturentwurf hinaus die Akzeptanz durch den Benutzer und die Wartbarkeit erhöhen.

    Aber kann man Softwareästhetik lernen, und wenn ja, wie? Hier hilft eine Debatte der analytischen Ästhetik aus den 1960er Jahren weiter. Man kann Eleganz und Schönheit auch bei Software nicht einfach durch Regeln lernen, aber durch Zeigen, Nachmachen und Übung.

    Länge: normal | Slides: kann-software-schoen-sein.pdf

    Matt in drei Iterationen. Lebendiger Architekturentwurf am Beispiel einer Schach-Engine

    Ein Jahrhunderttraum wie das Fliegen: Eine Maschine, die Menschen im Schach bezwingt. Auch heute für viele Java-Entwickler noch eine faszinierende Aufgabe! Wie zerlegt man das Problem geschickt?

    Welche wichtigen Entscheidungen sind bei der Umsetzung zu treffen? Schritt für Schritt entsteht eine spielfähige Schach-Engine. Nach jeder Iteration messen wir anhand einer Live-Partie den Fortschritt. Ihr erhaltet in diesem Vortrag nützliche Tipps für den Start und lernt eigentlich alles, um selbst ein Schachprogramm in Java bauen zu können. Und Ihr erfahrt auf vergnügliche Weise nebenbei, wie Ihr ganz allgemein eine nachvollziehbare, angemessene Softwarearchitektur entwerfen, bewerten und festhalten könnt. En passant. Zielgruppe dieses Vortrags sind in erster Softwareentwickler und -architekten, die neugierig sind, wie eine Schach-Engine funktioniert. Und die anhand dieses Beispiels ein wenig über Architekturentwurf erfahren wollen. Fundierte Schachkenntnisse sind nicht erforderlich.

    Maven Packaging Plugin – Creating distribution packages for Java software artifacts

    Primarilary developed as an in-house tool to create Debian packages for the Maemo platform the maven-packaging-plugin turned into a full-featured solution to support the deployment pipeline of a modern software development process.

    The plug-in is able to create binary packages for Debian-, RPM- and IPK-based GNU/Linux-distributions and integrates well with build servers such as Jenkins. The talk will present the plug-in and how it represents a large part of an automated deployment pipeline. Besides a demo there will also be an outlook towards the future development of this free software project.

    Modularisierung wagen: warum es sich lohnt, diesen Weg einzuschlagen (und wie man unterwegs überlebt)

    Studien zufolge verdoppelt sich die Menge der zu wartenden Software alle sieben Jahre. Modularisierung von Software-Systemen kann helfen, die damit einhergehende Steigerung von Wartungskosten zu begrenzen (Parnas 1972).

    Dennoch wird Modularisierung von Software heute vielerorts noch immer sehr skeptisch betrachtet. Häufig gehörte Argumente gegen die Nutzung von Modularisierungstechniken in Projekten sind:

  • ein konsequent modularisiertes System ist zu kompliziert: sowohl die Technik (Tools) als auch die Prozesse (Entwicklung, Release, Deployment) werden zu komplex und damit teuer, wenn man modularisiert
  • es gibt zu wenige prominente Positiv-Beispiele für modulare Systeme; aufgrund dieses Mangels wird das Argument “Modularisierung funktioniert überhaupt nicht” konstruiert
  • Modularisierung bringt keine Vorteile
  • “Modularisierung” wird gleichgesetzt mit “verwende OSGi”, ohne tatsächlich vorher ein modulares System geschaffen zu haben (führt zum Scheitern der Modularisierungs-Bemühungen)
  • Im Rahmen unseres Erfahrungsberichtes werden wir anhand einiger Beispiele aus unserem Projektalltag zeigen, mit welchen Strategien man auch in anfänglich quasi-monolithischen Java-Projekten in kleinen Schritten die Modularisierung des Gesamtsystems verbessern kann und welche konkreten Vorteile wir aus jedem der Schritte ziehen konnten. Wir beleuchten dabei die Möglichkeiten zur Modularisierung verschiedener Teilsysteme unserer Anwendung und unseren darauf zugeschnittenen Software-Entwicklungsprozess.

    Länge: normal | Slides: modularisierung-wagen.pdf

    MongoDB für Java Entwickler und Architekten – Schema Evolution und Maintenance: Was wurde uns am Anfang verschwiegen?

    Was sind die Anforderungen von Entwicklern und Architekten an die MongoDB nach der ersten Hype Phase?

    Nach gut anderthalb Jahren Entwicklung mit und um die MongoDB herum sind interessante Strategien und Lösungen für den Produktions- und Test-Code entstanden um mit Modell-Evolution / Schema Migration um zu gehen.

    An konkrete Beispielen aus der Entwicklung und Wartung einer Finanztransaktionsplattform werden die hinter den Lösungen liegenden Überlegungen transportiert und anhand von klaren Diagrammen und gut lesbarem Code anschaulich präsentiert.

    Länge: normal | Slides: mongoDB-fuer-java-entwickler.pdf

    Move fast and break things

    Es mag eine Vielzahl von Methoden in der Software Entwicklung geben, aber die allermeisten vernachlässigen sträflich die Grundlagen: Die Engineering Kultur einer Firma.

    Wie arbeiten Entwickler zusammen, wie offen ist die Kommunikation, dürfen Entwickler jederzeit auf Produktion deployen. Ist es eher ok, mal einen Fehler zu machen anstatt in Angststarre zu verharren? Insbesondere in Start-ups passen die etablierten Prozesse (auch Scrum) nicht, bzw. bauen unnötigen Overhead auf. Dieses zeigt sich dann sehr schnell, wenn Features immer länger brauchen und man dann der Verlockung nachgibt mehr und mehr Entwickler einzustellen – was dann die Situation eher verschlimmert. Dieser Talk gibt einen Einblick in die Engineering Kultur von einigen aktuellen Start-ups wie z.B. SoundCloud und zeigt wie man ein Start-up skaliert, wie man ohne QA Rollen auskommen kann und was für Elemente von Scrum und Kanban in diesem Kontext Sinn machen.

    Länge: normal

    Multi-core für jedermann mit GPars

    Speaker: Dierk König

    Seit jeher bietet die Java platform gute Unterstützung für die nebenläufige Programmierung. Die Bordmittel für multithreading und Synchronisation haben aber ihre Tücken.

    Dierk König stellt daher zusätzliche Konzepte für den vereinfachten Umgang mit Nebenläufigkeit vor: fork/join, map/reduce, Aktoren, Agenten und Datenflüsse. Der Beispielcode wird mit GPars vorgeführt, Groovys Standardbibliothek für Nebenläufigkeit.

    Länge: normal | Slides: BED-CON_GPars_2011.pdf

    Need(le) for Speed – Effective Unit Testing for Java EE

    Speaker: Heinz Wilming

    Das Schreiben von Unit Tests für Java EE Komponenten kann ziemlich umständlich sein. Die Komponenten können eine Menge Abhängigkeiten zu anderen Komponenten haben, die normalerweise der Container bereitstellt. Jedoch nicht in einem Unit Test.

    Um eine Komponente in Isolation zu testen, können die Abhängigkeiten durch Stellvertreter ersetzt werden. Jedoch bleibt weiterhin das Problem, die Stellvertreter mit der zu testenden Komponente zu verbinden. Eine Möglichkeit ist, die Kapselung der Abhängigkeiten zu lockern, eine andere die Nutzung von Reflexion. Die Lockerung der Kapselung verletzt die Design Prinzipien, der Einsatz von Reflexion erfordert sehr viel Initialisierungscode.

    Mit Needle werden die Abhängigkeiten der zu testenden Komponente automatisiert durch Stellvertreter ersetzt, die mit dem Framework EasyMock oder Mockito erzeugt werden.

    Der Vortrag zeigt, wie einfach es ist, Unit Tests mit Needle zu schreiben, und geht dabei auf die wichtigsten Features und auf die Flexibilität von Needle ein.

    Länge: normal | Slides: needle-bed-2012-hwilming.pdf

    On the Road to Continuous Delivery

    Seit dem letzten Jahr ist Continuous Delivery in aller Munde. Überall gibt es Vorträge dazu, es wird über Werkzeuge und Prozesse geredet – und darüber, wie Continuous Delivery idealerweise sein sollte.

    Viel wesentlicher ist jedoch der konkrete Fahrplan zur Umsetzung. Fragt man danach, wird die Antwort entweder kompliziert oder sehr abstrakt.

    Der Vortrag liefert diesen Fahrplan. Schritt für Schritt wird erklärt, wie eine gelungene Implementierung aussehen kann – Varianten inklusive, denn nicht alle Projekte sind gleich. Die von uns entwickelte CD-Matrix hilft bei der Einordnung des Projektes innerhalb der Entwicklungsstufen hin zum Continuous Delivery. Mit ihr wird initial die Position bestimmt, sowie die nächstliegenden möglichen Schritte zur Verbesserung ermittelt. Eine detaillierte Roadmap führt mit Hilfe von der Continuous Delivery Matrix und Checklisten durch alle Stationen der Einführung von Continuous Delivery. Im Mittelpunkt steht dabei eine stufenweise Umstrukturierung des Prozesses basierend auf dem aktuellen Stand der Projekt-Infrastruktur.

    Länge: normal | Slides: On-the-road-to-CD.pdf

    Open-Source Integrationslösungen mit Apache

    Datenintegrationsarchitekturen auf Basis von Open Source Software müssen sich mittlerweile kaum noch hinter etablierten, proprietären Lösungen verstecken.

    Mit Projekten der Apache Software Foundation lassen sich leistungsfähige Open Source Integrationslösungen entwerfen. Das Bundle der Apache Produkte Camel, Karaf, CXF und ActiveMQ wird auch von kommerziellen Software-Anbietern in eigenen Lösungen zusammengeschnürt und mit Enterprise-Support angeboten. Der Vortrag gibt einen Überblick über die Eigenschaften und Features der Apache Komponenten und stellt ein mögliches Anwendungsszenario auf Basis von Projekterfahrungen vor.

    Scala – eine rundum Einführung

    Speaker: Felix Müller

    Scala ist eine objektfunktionale Sprache für die JVM, die seit 2003 kontinuierlich weiterentwickelt wird. Neben Groovy ist Scala die Alternative zu Java auf der JVM.

    In diesem Talk erhaltet ihr einen Schnellstart in die Sprache. Die wichtigsten Sprachfeatures werden im Live-Coding erklärt. Nach dem Talk könnt ihr Scala Code verstehen und schnell ein eigenes Scala-Projekt aufsetzen.

    Länge: normal

    Toolbox für den täglichen Kampf eines Entwicklers

    Jeder Entwickler kämpft täglich gegen Unterbrechungen, die Langeweile sich ständig wiederholender Tätigkeiten und Spaghetti Code – um nur drei Dinge zu nennen, die ihm den Spass an seiner Arbeit verderben können.

    Patrick Baumgartner und Odilo Oehmichen präsentieren ihre Toolbox, gefüllt mit Methoden und kleinen Helfern, die sich aus ihrer Erfahrung in der Projektarbeit bewährt haben. Dabei werden sie sowohl Werkzeuge zeigen, die den Entwickler beim Programmieren und seinen Projekttätigkeiten unterstützen, als auch auf Techniken eingehen, die helfen den Fokus auf die wirklichen Herausforderungen zu setzen. Jeder Teilnehmer bekommt so einen Werkzeugkasten mit nach Hause, welchen er sofort und spürbar in seinem Projekt einsetzen kann.

    Tuning von Hibernate und JPA Anwendungen

    Speaker: Jochen Mader

    Zahlreiche Projekte kämpfen mit Performanceproblemen bezüglich des Einsatzes eines OR-Mappers. Im Rahmen der Session werden Tuningmöglichkeiten und Herangehensweisen an einen Tuningprozess für Hibernate-Anwendungen vorgestellt.

    Des Weiteren werden die Themen “Second-Level-Caching” und die “Analyse des Laufzeitverhaltens von Hibernate” besprochen. Ein weiterer Schwerpunkt des Vortrags liegt auf der Schaffung eines Verständinisses für Performanceprobleme und deren Ursachen.

    Länge: normal | Slides: hibernate-tuning.pdf

    Type-Classes in Scala

    Speaker: Piyush Purang

    Playing on the Scala REPL can lead one to discover Type-Classes, quiet naturally. Regular refactoring and asking searching questions on how to remove boiler-plate and make things succinct leads to lasting abstractions.

    A step-by-step journey through some of the more advanced features like implicits, pimp my library pattern, type variance and functional design. The field of study will be type-safe equality and if time permits then some ‘Show’. The presentation will require two things: the REPL and a text editor. How Scala tops Type-Classes in Haskell ends it.

    Was Frankenstein und Anwendungen gemeinsam haben

    Wir reagieren auf vermeintlich charakterlose Geräte, Anwendungen und Websites mit Freude, Neugier, Frust, Angst oder Interesse, lieben oder hassen sie, ja fühlen uns sogar verstanden oder abgelehnt. Sie können viel mehr als nur eine Funktion ausüben – sie lösen, oft nachhaltige, Emotionen aus. Immer!

    Jeder Entwickler, der Interesse an der Benutzeroberfläche hat, sich viel Mühe mit gutem Code gibt und stolz darauf ist, sollte auch darüber nachdenken, welchen Eindruck er bei seinen Nutzern hinterlassen möchte. Aber wie geht man dabei vor? Was ist notwendig für eine gute Nutzererfahrung? Wie versetzt man sich in seine Zielgruppe? Was macht eine Anwendung glaubwürdig? Wann sieht etwas „gut” und “aufgeräumt” aus? Und was, wenn kein UI Spezialist zur Hand ist? Vorgestellt werden u.a. konkrete Tipps und Methoden zu Informationsarchitektur, Design, Usability, Kommunikation und Verhalten von Anwendungen, die Entwickler wissen sollten, um ihrer Arbeit die richtige Persönlichkeit geben zu können.

    Länge: normal | Slides: persoenlichkeitscheckliste.pdf

    Was tut ein guter Software Architekt?

    Die Berufsbezeichnung “Software Architekt” ist weit verbreitet – aber was tut ein Software Architekt überhaupt? Was unterscheidet einen guten Architekten von einem schlechten?

    Dieser Vortrag gibt Hinweise und Antworten – ganz praktische Anregungen, um in der alltäglichen Arbeit besser und effektiver zu werden. Dabei fließen langjährige Erfahrungen aus vielen Architektur-Reviews, Coachings und einem Architekten-Ausbildungsprogramm ein.

    Länge: normal | Slides: WasTutEinGuterSoftwareArchitekt.pdf

    Web Services mit Dropwizard und MongoDB

    Why Coffee is good for Developers

    Speaker: Moritz Grauel

    Eine kurze Einführung in CoffeeScript für Java Frontend Entwickler.

    CoffeeScript ist eine kompakte Sprache, die nach JavaScript kompiliert. CoffeeScript räumt dabei mit vielen Problemen und Stolpersteinen auf, für die JavaScript berüchtigt ist. Das erzeugte JavaScript ist sauber, menschenlesbar und orientiert sich an gängigen JavaScript best-practices. CoffeeScript stellt dadurch eine schon heute produktiv einsetzbare Alternative für alle dar, die von JavaScript genug haben.

    Dieser Vortrag ist eine Einführung in die Sprache und versucht das Publikum dazu zu motivieren, CoffeeScript in zukünftigen, Projekten zu verwenden.

    Wie wird mein Code testbar?

    Speaker: David Völkel

    Soll ein Legacy System nachträglich um automatisierte Tests erweitert werden, so steht man gleich vor zwei Problemen auf einmal: einerseit verfügt das Team noch über wenig Test-Knowhow, andererseits ist Code schwer testbar, der nicht testgetrieben entwickelt wurde.

    So schwindet im Team schnell die Akzeptanz, automatisierte Tests zu schreiben: zu aufwändig! Der Vortrag stellt den Ansatz “Design for Testability” vor und illustiert anhand konkreter Java-Beispiele Potentiale zur Verbesserung der Testbarkeit, so dass Tests einfacher umgesetzt aber auch gewartet werden können.

    µServices for the rest of us

    Speaker: Karl Pauls

    Many people are drawn into OSGi because it provides class loaders on steroids, however, one of the often overlooked feature of OSGi is the Service Registry and the (µ)service model.

    µServices provide a much more powerful alternative to the traditional Java factories and listeners in your code or xml, which are the usual culprits for class loading headaches. Alas, you need to migrate your application to OSGi first in order to take advantage of µServices which would make it so much easier to migrate your application to OSGi in the first place.

    The idea of PojoSR (a.k.a OSGi Lite) is to remedy this situation by providing OSGi without the module layer. PojoSR is based on Apache Felix and runs in any standard Java environment: from the class path, inside a WAR, wherever your current Java runs because it never touches a class loader. It allows any application built in Java to reap the benefits of service-based modularity without first having to rid existing code of any class loader tricks. This approach also allows, many existing bundles work out of the box – just by adding them to the class path (PojoSR will detect bundles on the class path and execute their activators).

    It works so well that OSGi is thinking of standardizing the approach. This talk will show you how you can take advantage of µServices using PojoSR to modularize and OSGi’fy an existing application.

    Länge: normal
    Patrick Baumgartner

    Patrick Baumgartner

    Patrick Baumgartner ist Senior Software Consultant bei der Swiftmind GmbH in Zürich. Seine Fachgebiete umfassen die Architektur und Entwicklung von OSGi- und Webanwendungen mit Java/JEE und Open Source Technologien. Er beschäftigt sich im Speziellen mit dem Spring Framework sowie der agilen Softwareentwicklung mit Scrum. Als Referent von Vorträgen und Workshops sowie Co-Autor von „OSGi für Praktiker” (Hanser Verlag, 2010) teilt er seine in Projekten gesammelten Erfahrungen.
    Pedro Lafuente Blanco

    Pedro Lafuente Blanco

    Pedro Lafuente Blanco
    Nach mehreren Jahren als Unix Systemoperator und Erfahrungen als Business Analyst für eBay International AG fokussierte sich auf der Java EE-Softwareentwicklung und ist seit Juni ’11 als Softwareentwickler bei der tarent GmbH aktiv. Seine Kernaufgaben liegen im Release- und Changemanagement mit dem Schwerpunkt der sicheren Aktualisierung der Datenbanksysteme in produktiv-Systeme bei Kunden.
    Manuel Blechschmidt

    Manuel Blechschmidt

    twitter: @Manuel_B
    Manuel Blechschmidt was born 1986 in Berlin and studied from 2005-2011 at the Hasso-Plattner-Institut. He holds a Master Degree in IT System Engineering and is the CTO of the Apaxo GmbH which is specialized in recommendation technology. Besides the university he worked for the company mobizcorp Europe Ltd. in Germany, France, Belgium, and the USA. He developed solutions for big eCommerce sites with thousands of orders per day and more. His master thesis was about “An architecture for evaluating recommender systems in real world scenarios”. There he developed a platform including evaluation metrics for current recommendation techniques. He is an expert in eCommerce including shop design, maintenance, marketing, analytics and production planning. Manuel attended multiple education programs for highly talented people like CTY from the John Hopkins University and the Deutsche Schüler Akademie. He is active in supporting highly gifted students and has a network of young researchers and economical leaders. His hobbies are running and motor cycling.
    Arne Burmeister

    Arne Burmeister

    Arne Burmeister studierte Informatik mit Schwerpunkt Softwaretechnik an der TU-Berlin. Neben Projektentwicklungen und Schulungen entwickelte er Produkte wie eine Bauunterlagengenerierung für Airbus, ein Kassensystem für Kaufland und ein Web Content Management System. Momentan entwickelt er als Senior Software-Architekt das Backend einer Immobilienfinanzierungsplattform.
    Jacob Fahrenkrug

    Jacob Fahrenkrug

    Jacob Fahrenkrug hat 2007 sein Informatik Studium mit einem Bachelor of Science abgeschlossen. Während des dualen Studiums an der Berufsakademie Berlin arbeitete er für das Unternehmen Schering AG bzw. Bayer Schering Pharma AG. Dort hat er in verschiedenen Projekten der ‘Research and Development’ Abteilung mit Technologien wie JSF, BPEL und SOA auf der IBM WebSphere Plattform gearbeitet.
    Seit 2007 ist er bei der Hypoport AG beschäftigt. In seiner Rolle als Software Architekt und entwickelt er einen Hypotheken-Marktplatz für den niederländischen Finanzmarkt in einem agilen Entwicklungsprozess.
    Timmo Freudl-Gierke

    Timmo Freudl-Gierke

    twitter: @timmo_gierke
    Timmo Freudl-Gierke studierte technische Informatik mit Schwerpunkt Softwaretechnik. Er wechselte nach drei Jahren in der Forschung in die Finanzbranche und entwickelte dort als Software Entwickler und Architekt zahlreiche Enterprise Anwendungen – am liebsten mit leichtgewichtigen Tools und Frameworks welche agile Vorgehensmodelle ideal unterstützen.
    Aktuell verantwortet er ein b2b Frontend-Projekt für Baufinanzierungen.
    Jörg Friedrich

    Jörg Friedrich

    twitter: @JoergFr
    Jörg Friedrich ist seit 1994 einer der geschäftsführenden Gesellschafter der INDAL GmbH & Co. KG in Münster, einem Softwarehaus, das individuelle Softwareprojekte durchführt. Außerdem hat er einen Master of Arts in Philosophie. Diese Mischung führt dazu, dass er Themen der IT-Welt mit Vorliebe aus philosophischer Perspektive betrachtet.
    Uwe Friedrichsen

    Uwe Friedrichsen

    twitter: @ufried
    Uwe Friedrichsen hat langjährige Erfahrung als Architekt, Berater und Projekt Manager. Als CTO der codecentric AG beschäftigt er sich mit neuen Konzepten, Ansätzen und Trends, insbesondere in den Gebieten Architektur, Agilität und moderne Technologien. Er ist außerdem Autor diverser Artikel und diskutiert seine Ideen regelmäßig auf Konferenzen.
    Oliver Goetz

    Oliver Goetz

    Oliver Goetz
    Moritz Grauel

    Moritz Grauel

    twitter: @mo_gr
    Moritz Grauel entwickelt bei der akquinet tech@spree GmbH JavaEE Anwendungen. Dabei befasst er sich mit modernen Open-Source Technologien, wie dem JBoss AS 7 und vereint die aktuellen Entwicklungen der Web Technologien mit denen des JavaEE Stack. Sein zweiter Schwerpunkt liegt im mobilen Bereich, insbesondere in der Entwicklung von nativen iOS Anwendungen.
    Alexander Grosse

    Alexander Grosse

    twitter: @klangberater
    Alexander Grosse ist VP Engineering bei SoundCloud. Davor leitete er die Entwicklung von location-based Services bei Nokia Berlin. Alexander hat Informatik in Oldenburg studiert and arbeitet seit 1997 in der Software Industrie.
    René Gröschke

    René Gröschke

    twitter: @breskeby
    René Gröschke arbeit als Principal Software Engineer bei Gradleware, ein Unternehmen, das Training, Support und Beratung für Gradle und Enterprise-Projektautomatisierung im Allgemeinen anbietet. Er sieht Softwareentwicklung als Handwerkskunst und übt diese seit dem Abschluss seines Studiums hauptsächlich im Java-Umfeld aus. Als Verfechter von agilen Methoden und Werkzeugen war er für mehr als 7 Jahre in internationalen Industrieprojekten als Entwickler, DBA, Build- und ScrumMaster unterwegs. Wenn die Zeit es erlaubt, widmet er sich weiteren Open Source Projekten, vorzugsweise aus dem Groovy Umfeld.
    Dr. Halil-Cem Gürsoy

    Dr. Halil-Cem Gürsoy

    twitter: @hgutwit
    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). In diesem Kontext konzentriert er sich auf verteilte Systeme, Cloud Architekturen sowie Build- und Deploymentprozesse in verteilten Systemen.
    Zef Hemel

    Zef Hemel

    Zef Hemel is a senior developer at Cloud9 IDE, Inc. where he works on the language intelligence features of the IDE and in addition manages the cloud back-end. He has a PhD from Delft University of Technology on programming language design and implementation and an M.Sc. in Distributed Systems from Trinity College Dublin.
    Arne Hilmann

    Arne Hilmann

    Arne Hilmann arbeitet seit über acht Jahren bei Immobilienscout24 und entwickelt seit zwei Jahren das Deploymenttool YADT.
    Claus Ibsen

    Claus Ibsen

    Claus Ibsen is a software engineer and integration specialists from FuseSource (http://fusesource.com/). Claus is a full time committer on the open source integration framework Apache Camel (http://camel.apache.org) and author of the “Camel in Action” book (http://www.manning.com/ibsen). Claus is the most active contributor to Apache Camel and is very active in the Camel community. Claus is a frequent speaker at various conferences.
    Marek Iwaszkiewicz

    Marek Iwaszkiewicz

    Marek Iwaszkiewicz ist für die akquinet AG als Senior Software Engineer tätig. Den Schwerpunkt seiner Arbeit bilden seit mehreren Jahren Java Enterprise Architekturen und Technologien. Sein aktueller Fokus liegt derzeit in den Bereichen Seam und jBPM.
    Thorsten Kamann

    Thorsten Kamann

    Thorsten Kamann leitet für die itemis AG die Arbeitsgruppe Better Software. Er ist zertifizierter ScrumMaster und Product Owner. Im Rahmen seiner Tätigkeit sind Software-Qualität, Continuous Delivery und leichtgewichtige Software-Architekturen seine Hauptthemen. Er veröffentlicht regelmässig Artikel in Fachmagazinen und hält Vorträge auch den verschiedenen Events.
    Ansgar Konermann

    Ansgar Konermann

    Ansgar Konermann studierte Informatik mit Schwerpunkt Softwaretechnik an der TU Dresden. Er hat in unterschiedlichem Umfang Beiträge zu zahlreichen Open-Source-Projekten geleistet, darunter JBoss Drools, FEST-Assert, Sonatype Aether und TestNG. Er arbeitet als Senior Software Developer bei der HYPOPORT AG in Berlin und treibt dort die Entwicklung der Baufinanzierungsplattform EUROPACE NL für den niederländischen Markt voran.
    Dierk König

    Dierk König

    twitter: @mittie
    Dierk König ist Fellow bei der Canoo Engineering AG in Basel. Er betreibt das Open-Source-Projekt Canoo WebTest und ist Committer in den Projekten Groovy, Grails und GPars. Er publiziert und spricht auf internationalen Konferenzen zu Themen moderner Softwareentwicklung. Er ist Autor des Buchs “Groovy in Action”.
    Jochen Mader

    Jochen Mader

    twitter: @codepitbull
    Dipl.-Inf. (FH) Jochen Mader ist Senior Developer bei der Senacor Technologies AG. Im Verlauf der letzten Jahre war er als Technical Lead für Konzeption und Umsetzung verschiedener Projekte verantwortlich. Sein besonderes interesse gilt dabei dem Bereich Performance-Optimierung und Wicket. Mit Wicket arbeitet er seit 2009 und hat hierzu Artikel im Java Magazin und ein Buch veröffentlicht.
    Sascha Möllering

    Sascha Möllering

    twitter: @sascha242
    Sascha Möllering ist seit Januar 2012 als Software-Architect mit dem Schwerpunkt JBoss Middleware bei der Zanox.de AG in Berlin tätig. Zuvor war er bei der Allianz Managed Operations & Services als Solution Architect für Konzeption, Aufbau und Betriebssteuerung des JBoss Middleware-Stacks von RedHat verantwortlich. Zu diesem Zeitpunkt brachte Sascha Möllering bereits Consulting-Know-How aus Unternehmensberatungen wie z.B. Accenture Technology Solutions und Cirquent mit. Neben seiner beruflichen Tätigkeit schreibt er regelmäßig zu Java- und JBoss-Themen im Java Magazin und seinem Blog http://www.der-maschinenstuermer.de.
    Felix Müller

    Felix Müller

    twitter: @fmueller_bln
    Felix Müller ist Student der Angewandten Informatik (Master) an der Hochschule für Technik und Wirtschaft Berlin und als Softwareentwickler bei der adesso AG tätig. Dort entwickelt er Web-Anwendungen im Java Umfeld und hilft, wo er kann. In seiner Freizeit beschäftigt er sich mit Open Source Entwicklung, aktuell mit der Entwicklung eines Scala-Plugins für Sonar.
    Jörg Müller

    Jörg Müller

    twitter: @joergm
    Jörg Müller ist Software Entwickler und Manager bei der Hypoport AG. Dort entwickelt er mit seinem Team an EUROPACE 2, der nächsten Generation des führenden B2B-Finanzmarktplatzes. Ihn interessiert alles, was dazu führt, dass Softwareentwicklung effektiver wird und dabei allen Beteiligten Spaß macht. Dazu zählen neue Technologien im Umfeld von Webanwendungen genauso, wie innovative Vorgehensweisen bei Entwicklung und Betrieb.
    Odilo Oehmichen

    Odilo Oehmichen

    Odilo Oehmichen ist Senior Software Consultant bei Swiftmind GmbH in Zürich. Seine mehr als 10-jährige Erfahrung im Java- und Web-Umfeld nutzt er, um Kunden bei der Umsetzung ihrer Enterprise Java Projekte von der Architektur über Design bis zur Entwicklung zu unterstützen. Dabei bedient er sich gerne aus dem Ökosystem des Spring Frameworks und diversen anderen Open Source Libraries, um so eine saubere Lösung zu entwickeln, die gut testbar ist.
    Bernd Oestereich

    Bernd Oestereich

    Bernd Oestereich ist Gründer der oose Innovative Informatik GmbH, Autor zahlreicher (auch international übersetzter) Bücher und Fachbeiträge, Veranstaltungsorganisator und -sprecher, Blogger, Berater, Coach und Trainer mit den Schwerpunkten Design Thinking, Innovationskultur, systemischer Organisationsentwicklung und agilem Projektmanagement.
    Karl Pauls

    Karl Pauls

    Karl Pauls is a software architect and OSGi expert with broad experience in different operating systems, programming languages, and (distributed) systems. He implemented the Apache Felix Framework Security Provider and is an active member of the Apache Felix Framework development team as well as other Felix subprojects. He is a member of the Apache Software Foundation and is involved in various Apache and other open source projects. He regularly speaks at conferences such as Apachecon, Eclipsecon, JavaOne, and OSGi DevCon. Karl is a fellow at Luminis and a co-author of the OSGi in Action book.
    Piyush Purang

    Piyush Purang

    twitter: @ppurang
    Piyush Purang is the Technical Lead of Backend Services at Groupon’s IT unit in Berlin, Germany. As a group they are responsible for supporting the Groupon websites for Europe, Latin America and Asia. Piyush holds a Masters in Software Engineering from the University of
    Oxford in Oxford, United Kingdom. Piyush setup the Scala User Group – Berlin Brandenburg; to be found at www.meetup.com/Scala-Berlin-Brandenburg.
    github.com/ppurang.
    Alexander Reelsen

    Alexander Reelsen

    twitter: @spinscale
    Alexander Reelsen lebt und arbeitet als Softwareentwickler in München.
    Er ist Autor des “Play Framework Cookbook”. Weitere Interessen neben aktuellen Java Webframeworks sind aktuelle JavaScript Technologien sowie NoSQL Systeme.
    Bernd Rücker

    Bernd Rücker

    twitter: @berndruecker
    Bernd Rücker ist Gründer und Geschäftsführer der camunda services GmbH. Er verfügt über umfangreiche Projekterfahrung im Bereich BPM sowie Java Enterprise. Sein Schwerpunkt liegt im Bereich Process Execution, Business Rules, SOA und Business-IT-Alignment. Er ist Autor mehrerer Fachbücher, zahlreicher Zeitschriftenartikel und Sprecher auf Konferenzen. Bernd ist langjähriger Commiter im Activiti und JBoss-jBPM-Projekt.
    Christopher Sobotta

    Christopher Sobotta

    Christopher Sobotta ist Expert Consultant bei der COINOR AG in Berlin und im Bereich der Enterprise Webentwicklung und der Datenintegration mit Hilfe von ETL-Werkzeugen tätig. Sein technologischer Hintergrund ist im Java Bereich angesiedelt.
    Pascal Schaerf

    Pascal Schaerf

    Pascal Schaerf ist 24, studiert Wirtschaftsinformatik an der HTW Berlin und ist neben dem Studium als Werksstudent bei der akquinet tech@spree GmbH tätig. Als WI Student beschäftigt er sich besonders mit BPM und Software-Engineering. Seine Bachelorarbeit hat er zum Themenbereich Workflow-Anwendungen mit jBPM 5 und JEE 6 Technologien geschrieben.
    Robert Schuster

    Robert Schuster

    Robert Schuster beschäftigt sich seit 2005 mit freier Software und hat an verschiedenen Projekten wie GNU Classpath und gcj mitgearbeitet. Zu seinen vielfältigen Interessen zählen unter anderem die Programmiersprache Java und ihr Einsatz auf Server, Desktops und eingebetteten Systemen. Weiterhin engagiert er sich seit einigen Jahren im Projekt OpenEmbedded, wo er neben der Pflege von Paketen vor allem auch organisatorische Aufgaben übernimmt.
    Michael Schütz

    Michael Schütz

    Michael Schütz arbeitet als Senior Software Engineer bei der akquinet AG in Berlin und beschäftigt sich seit Jahren mit Java Enterprise Architekturen und Technologien. Er ist Gründer und Moderator der Seam-Plattform auf Xing und wirkt regelmäßig an JBoss Open Source Projekten mit. Michael’s berufliche Interessen liegen derzeit in den Bereichen Seam/CDI, Java EE Testing, Java EE Cloud Hosting und Git.
    Alexander Schwartz

    Alexander Schwartz

    Alexander Schwartz leitet in Nokia in Berlin ein Software-Delivery-Team, welches mit Hilfe von Kanban und DevOps Software schnell und zuverlässig ausliefert.
    Studiert hat er Mathematik und Informatik an der TU Berlin und in Mathematik promoviert. Alexander verdient seit 20+ Jahren seine Brötchen in der IT-Industrie in verschieden Rollen von Entwickler, Consultant, Projektleiter, Build- und Release-Manager und Agile Coach und mehr.
    Paul Trommler

    Paul Trommler

    Paul Trommler ist Expert Consultant bei der COINOR AG in Berlin. Er ist im Bereich der Integration von Anwendungslandschaften zur
    Abbildung von Bankprozessen tätig. Sein Aufgabenspektrum reicht von der Konzeption, Evaluierung und Implementierung bis hin zur Produktiveinführung und Optimierung von Integrationsarchitekturen.
    Technologisch beschäftigt er sich mit JEE, synchronem/asynchronem Messaging sowie der Nutzung von ETL Werkzeugen und Open Source Datenintegrationslösungen.
    David Völkel

    David Völkel

    twitter: @davidvoelkel
    David Völkel arbeitet seit neun Jahren für die 4A Solutions GmbH und unterstützt deren Kunden als Berater für Software-Engineering-Themen bei der Umsetzung von Java Enterprise Solutions. Sein besonderes Interesse gilt dabei dem Softwaredesign im Kontext Agiler und Testgetriebener Softwareentwicklung.
    Hanno Wendt

    Hanno Wendt

    Hanno Wendt arbeitet als Berater und Entwickler bei der itemis AG in Bonn und hat sich auf Werkzeugketten rund um den Build- und Integrationsprozess spezialisiert. In seinen Projekten wendet er regelmäßig die aktuellen Best Practices von Continuous Delivery an.
    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 integrierte Geschäftsanwendungen. Sein Fokus liegt dabei auf der Java EE Plattform und Open Source Technologien.
    Marcel Wolf

    Marcel Wolf

    Marcel Wolf ist Application Manager und betreut die Softwareentwicklungsteams bei Immobilienscout24, unter anderem ist er für das Team Internationalisierung, hinter dem Portal immobilienscout24.at, verantwortlich. Des Weiteren ist er an der Entwicklung von YADT und der RPMisierung bei Immobilienscout24 beteiligt. Er beschäftigt sich mit der Automatisierung der Plattform, continuous delivery, Linux und agiler Softwareentwicklung.
    Eberhard Wolff

    Eberhard Wolff

    Eberhard Wolff ist Gründungsmitglied der Java-Champions, Autor zahlreicher Fachartikel und Fachbücher und regelmäßiger Sprecher auf internationalen Konferenzen. Sein fachlicher Schwerpunkt sind Enterprise Systeme, Java, Spring und Cloud-Technologien. Er arbeitet als Architecture & Technology Manager für die adesso AG.
    Verena Würfel

    Verena Würfel

    Verena Würfel ist freiberufliche User Experience Designerin und Trainerin. In den letzten 13 Jahren sammelte sie Erfahrungen in verschiedenen Ländern, Unternehmen und Branchen zur Konzeption und Gestaltung von vielfältigen Anwendungen und deren Benutzeroberflächen. Ihr Fokus liegt in der Beratung und Umsetzung des User Centered Design Prozesses in enger Zusammenarbeit mit Kunden, Entwicklern und Endverbrauchern.
    Stefan Zörner

    Stefan Zörner

    Stefan Zörner ist Anwendungsarchitekt, Berater, Trainer und Coach bei oose 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. Stefan ist Apache-Committer, Certified Spring Professional und aktives Board-Mitglied im International Software Architecture Qualification Board (iSAQB).
    Jan Jongboom

    Jan Jongboom

    Jan Jongboom


    Freitag, 30. März 2012

    Zeit Hörsaal Seminarraum 1 Seminarraum 2
    ab 08:00 Einlass
    09:00 – 10:00 Inversion of Flow
    Arne Burmeister
    Open-Source Integrationslösungen mit Apache
    Paul Trommler, Christopher Sobotta
    Scala – eine rundum Einführung
    Felix Müller
    10:00 – 10:10 Pause
    10:10 – 11:10 Blazing fast! JBoss 7
    Sascha Möllering
    Enterprise Integration Patterns and DSL with Apache Camel
    Claus Ibsen English Talk
    Type-Classes in Scala
    Piyush Purang English Talk
    11:10 – 11:20 Pause
    11:20 – 12:20 Activiti und Java EE 6: Das perfekte Team für Prozessanwendungen?
    Bernd Rücker
    DB Transformation und Migration
    Pedro Lafuente Blanco
    Multi-core für jedermann mit GPars
    Dierk König
    12:20 – 13:20 Mittag
    13:20 – 14:20 jBPM5 in Java EE 6
    Pascal Schaerf, Marek Iwaszkiewicz
    Tuning von Hibernate und JPA Anwendungen
    Jochen Mader
    Why Coffee is good for Developers
    Moritz Grauel
    14:20 – 14:30 Pause
    14:30 – 15:30 Hands On: Wicket + JEE6 Full Stack
    Jochen Mader
    MongoDB für Java Entwickler und Architekten – Schema Evolution und Maintenance: Was wurde uns am Anfang verschwiegen?
    Timmo Freudl-Gierke
    JavaScript in the Cloud
    Jan Jongboom English Talk
    15:30 – 15:40 Pause
    15:40 – 16:40 Java EE 6 – das volle Programm
    Michael Schütz
    Elasticsearch – Search made easy for (web) developers
    Alexander Reelsen
    Move fast and break things
    Alexander Grosse

    Sponsoren

    Coinor
    akquinet
    Hype
    Saperion
    kaufda
    Versant
    tarent solutions
    adesso
    immobilienscout24
    whatever mobile
    nokia

    Partner

    Java User Group Berlin Brandenburg Logo