Aller Anfang …

Begrüßung und Organisatorisches

Das Herbstcampus-Team

Bookware
Dienstag, 3. 9., 09:30 – 10:00 Uhr Di de

In den Fängen des Wirtschaftsdarwinismus

Agilität ist nur ein Anfang

Uwe Friedrichsen

codecentric AG
K10 Dienstag, 3. 9., 10:00 – 10:50 Uhr Di de PDF

Der Darwinismus sagt, dass diejenigen überleben werden, die sich am besten auf Veränderungen einstellen können. Das gilt für die heutige Wirtschaft mehr denn je: Globalisierung im Kleinen wie im Großen, der Siegeszug des Internet-Handels und eine Vielzahl innovativer Neueinsteiger sorgen für immer höheren Wettbewerbsdruck auf die Unternehmen. Immer mehr Wettbewerber buhlen um die vorhandenen Kunden, die Erwartungshaltung steigt, die Loyalität sinkt. Wer sich als Unternehmen nicht zügig auf veränderte Marktanforderungen einstellen kann, ist schnell weg vom Fenster.

Entsprechend muss die IT als zentrales Nervensystem des Business schnell und flexibel reagieren können, denn was helfen die tollsten Ideen, wenn die notwendige Unterstützung in den IT-Systemen erst in einem halben Jahr oder später kommt. Aber wie stellt man sich für eine solche IT von morgen auf?

Die traditionellen Vorschläge zur Prozess- und Qualitätsverbesserung helfen nicht weiter. Meistens wir es dadurch noch komplizierter und noch langsamer. Aber auch Scrum, XP oder Kanban scheinen nicht der Weisheit letzter Schluss, denn häufig wird damit nur noch mehr „Mist“ in noch kürzerer Zeit gebaut – bei gleichzeitiger Aufgabe der Sicherheiten des alten Vorgehens. Was ist der Haken?

Das Problem ist, dass die meisten Ansätze für eine IT von morgen zu kurz greifen. Lassen Sie uns deshalb in diesem Vortag alles in Frage stellen: Was sind die Herausforderungen und warum greifen die üblichen Ansätze zu kurz? Lassen Sie uns alles abreißen und neu aufbauen: Was sind unsere Ziele, was ist unser Wertesystem und welche Bausteine benötige ich für meine IT von morgen? Lassen Sie uns herausfinden, warum Themen wie DevOps, Continuous Delivery, Cloud Computing und Software Craftsmanship eine Menge damit zu tun haben – neue Blickwinkel auf die tägliche Arbeit garantiert.

Einheitsrahmenwerk

Entity Framework 6

Thomas Haug

MATHEMA Software GmbH
N12 Dienstag, 3. 9., 11:20 – 12:30 Uhr Di de PDF

Das Entity Framework 6 ist zwar noch in einer frühen Entwicklungsphase, aber es zeichnet sich jetzt schon ab, dass diese Version im Vergleich zur Vorgängerversion eine Vielzahl an Neuerungen mitbringen wird. Doch erleichtern diese Features die Entwicklung unternehmenskritischer Anwendungen? In dieser Session werden die wesentlichen Neuerungen vorgestellt und demonstriert, welche Verbesserungen sich für Entwickler ergeben können. Des Weiteren wird gezeigt, an welchen Stellen im Entity Framework noch Handlungsbedarf besteht, um Konkurrenzprodukte im ORM-Geschäft überflügeln zu können.

Fundamental

Neuheiten in der Base Class Library mit .NET 4.5

Rainer Stropek

N13 Dienstag, 3. 9., 14:00 – 15:10 Uhr Di de PDF

Die große Verbesserung in der BCL (Base Class Library), die mit .NET 4.5 kam, ist die Vereinfachung von paralleler und asynchroner Programmierung. Von den Grundlagen in der TPL (Task Parallel Library) über optimierte Datenstrukturen bis hin zu Spracherweiterungen - alles wurde auf Parallelisierung ausgerichtet. In diesem Vortrag zeigt der Referent anhand von Beispielen, wie Sie von den Innovationen von .NET 4.5 in der Praxis profitieren können.

Loser Verbund

Trennung von User Interface & Code Behind mit Model View ViewModel für Einsteiger

Christoph Wentzke

infoteam Software AG
N14 Dienstag, 3. 9., 15:40 – 16:50 Uhr Di de PDF

Model View View Model (MVVM) ist ein Design Pattern für Windows Presentation Foundation (WPF)-Anwendungen. In diesem Vortrag wird anhand eines konkreten Beispiels aufgezeigt, wie das MVVM-Pattern theoretisch und praktisch funktioniert und wo Fallstricke lauern. Hierbei wird auch auf die technischen Grundlagen von Data Bindings eingegangen. Der zweite Teil des Vortrags beschäftigt sich mit Anfängerproblemen bei den ersten Verwendungen des MVVM-Pattern und wie man diese Probleme löst. Im Speziellen wird hier auf Input Validation und Value Converter eingegangen. Hiernach wird noch auf die Vor- und Nachteile des MVVM-Patterns eingegangen. Während des Vortrags wird viel Programm-Code gezeigt. Dieser ist ausschließlich in C# geschrieben, UI-Elemente in XAML. Ziel dieses Vortrags ist es, dass die Zuhörer nach dem Vortrag in der Lage sind, eine einfache Anwendung unter Verwendung des MVVM-Patterns zu realisieren.

Echt jetzt ?!

Echtzeitanwendungen für das Web mit SignalR

Tobias Krügel

conplement AG
N15 Dienstag, 3. 9., 17:20 – 18:30 Uhr Di de PDF

Die Erwartungen an moderne Web-Anwendungen haben sich inzwischen an jene klassischer Desktopapplikationen angepasst. In Zeiten sozialer Netzwerke gehören Benutzerinteraktionen, die in Echtzeit erfolgen, längst zum Standard. Doch die Mechanismen von HTTP & Co sind in ihrer ursprünglichen Form hierfür nicht ausgelegt. Glücklicherweise haben sich im Laufe der Jahre zahlreiche Technologien, wie z. B. ?Web Sockets? oder ?Server-Sent Events? etabliert, die diese Schwächen ausgleichen. Mit SignalR veröffentlicht Microsoft nun eine Reihe von server- und client-seitigen Frameworks, welche die gängigsten Technologien zur Realisierung von ?Push-Notifications? abstrahieren und für die ASP.NET-Plattform zur Verfügung stellen. Dieser Vortrag führt in SignalR ein und zeigt anhand eines Beispiels, wie sich Echtzeitanwendungen einfach und schnell realisieren lassen.

Geht nicht gibt's nicht!

Einsatz von HTML5-Features im Jetzt

Yann Massard

BTC Business Technology Consulting AG
H12 Dienstag, 3. 9., 11:20 – 12:30 Uhr Di de PDF

HTML5 bietet eine Menge neuer Möglichkeiten für die Entwicklung von Web-Applikationen. Allerdings werden viele Features erst in neueren Browser-Versionen unterstützt. Dieser Vortrag zeigt anhand von Beispielen, wie HTML5-Technologien jetzt schon eingesetzt werden können, ohne ältere Browser von der Nutzung auszuschließen.

Hallo JavaScript

Eine Einführung in JavaScript

Frank Goraus

MATHEMA Software GmbH
H13 Dienstag, 3. 9., 14:00 – 15:10 Uhr Di de PDF

Früher wurde JavaScript noch eher als Schreckgespenst, welches den Browser heimsucht, verachtet. Heute ist es jedoch aus der Web-Entwicklung nicht mehr wegzudenken. Jede Web-Anwendung, die schick, schnell und hip sein will, greift auf JavaScript zurück, um mit hübschen Effekten oder netten Features zu glänzen. Und dabei kann JavaScript inzwischen noch so viel mehr und sogar als Web- oder Mail-Server auftreten. Und nicht zuletzt ist es heute dank vielen Frameworks einfacher mit JavaScript zu arbeiten als noch vor ein paar Jahren. Für alle, die JavaScript lieben oder hassen lernen möchten, gibt es hier eine Einführung in die Sprache und ihre Tücken. Für den richtigen Einstieg werden diese auch anhand von einfachen und nachvollziehbaren Beispielen vorgestellt.

Aber eben lief das doch noch!

HTML5 Testing mit Jasmine BDD

Alexander Schwartz

msg systems ag
H14 Dienstag, 3. 9., 15:40 – 16:50 Uhr Di de PDF

Mit einer HTML5-Anwendung können gleichzeitig verschiedenste klassische und mobile Plattformen erreicht werden. Doch wie testet man diese modularen Anwendungen mit hohem JavaScript-Anteil? Für den Test bietet sich Jasmine als JavaScript-basiertes Test-Framework an. Es überzeugt durch seine strikte Trennung zwischen Test-Runner und Reporter sowie durch eine einfache Integration in modulare HTML5-Anwendungen. Durch die „Behaviour Driven Development (BDD)“-Anzahl bleiben die Tests lesbar. Außerdem kann es leicht in den Entwicklungsprozess integriert werden. Neben einfachen Unit-Tests für den JavaScript-Code kann auch die Interaktion mit den HTML-Anteilen der Anwendung getestet werden. Um Tests unabhängig vom echten Backend zu schreiben, wird das Mock-Framework Sinon.JS vorgestellt. Den Abschluss bildet die Build-Automatisierung am Beispiel von Jenkins.

JavaScript on Steroids

Eine Einführung in TypeScript

Rainer Stropek

H15 Dienstag, 3. 9., 17:20 – 18:30 Uhr Di de PDF

JavaScript hat einen riesigen Vorteil: die Verbreitung. Kaum jemand behauptet aber, dass JavaScript eine geniale Programmiersprache für komplexere Anwendungen ist. Manche Leute argumentieren, dass nur mangelnde Tool-Unterstützung das Problem sei. Obwohl die Entwicklungsumgebungen (IDE) in letzter Zeit massiv verbessert wurden, kann JavaScript in Sachen Entwicklerproduktivität und Laufzeitstabilität Sprachen wie C# nicht das Wasser reichen. Der „Godfather of Programming Languages“ bei Microsoft, Anders Hejlsberg, ist angetreten um dieses Problem an der Wurzel zu packen und zu lösen: TypeScript ist geboren. Der Referent zeigt Ihnen wie TypeScript Ihre Sicht auf JavaScript auf den Kopf stellen wird. Sehen Sie TypeScript-Beispiele für das Web, den Server und Windows Store Apps.

Neues Gesicht

Neues und Erwähnenswertes aus JavaServer Faces 2.2

Michael Kurz

IRIAN
J12 Dienstag, 3. 9., 11:20 – 12:30 Uhr Di de PDF

Mehr als drei Jahre sind seit der Veröffentlichung von JavaServer Faces 2.0 ins Land gezogen. Und während es in JSF 2.1 nur geringfügige Änderungen gab, bringt Version 2.2 eine ganze Reihe von relevanten Neuigkeiten mit sich. Diese Session gibt einen praxisorientierten Überblick über die wichtigsten neuen Features von JSF 2.2.

Ausgeswingt

JavaFX 2.0

Sascha Groß

MATHEMA Software GmbH
J13 Dienstag, 3. 9., 14:00 – 15:10 Uhr Di de PDF

JavaFX, der nicht mehr so neue Star am Himmel der Oberflächenbibliotheken für Java, hat es mit Version 2.0 zu den Standardbibliotheken von Java geschafft. Nach der bewegten Vergangenheit mit Version 1.x, die vom Handy bis zum Fernseher die Welt der Konsumergeräte erobern sollte und dann doch wieder beerdigt wurde, weil die Entwicklergemeinde mit der neumodischen Scriptsprache JavaFX Script nichts anfangen wollte. Mit Version 2.0 hat sich JavaFX wieder seinen Java-Ursprüngen besonnen und fühlt sich für einen Java-Entwickler wieder wie Java an. Das altehrwürdige Swing hat seinen Nachfolger gefunden, der vieles einfacher macht, mehr Funktionalität mitbringt und auch einfacher zu verstehen ist. Dieser Vortrag zeigt wie JavaFX 2.0 funktioniert, was es kann und wieso es sich lohnt Swing mit der Zeit in den wohlverdienten Ruhestand zu entlassen.

Unter Beobachtung

Reactive Programming auf der JVM

Joachim Hofer

imbus AG
J14 Dienstag, 3. 9., 15:40 – 16:50 Uhr Di de PDF

In .NET gibt es mit den "Reactive Extensions" (Rx) schon länger die Möglichkeit "reaktiv" zu entwickeln, statt sich in Callbacks zu verheddern. Auf der JVM sieht es da bisher nicht so gut aus: Die ersten Frameworks für Reactive Programming sind erst im Entstehen. Der Vortrag führt an Hand eines Beispiels mit Hilfe von "RxJava" in Reactive Programming ein, zeigt Einsatzgebiete auf und gibt einen groben Überblick über den Stand der derzeitigen Frameworks.

Ein Blick ins Aquarium

Was gibt's Neues in Bean Validation 1.1 and CDI 1.1?

Hardy Ferentschik

JBoss / Red Hat
J15 Dienstag, 3. 9., 17:20 – 18:30 Uhr Di de PDF

Dezember 2009 wurde Java EE6 veröffentlicht und Entwickler mussten bis 2013 auf den Nachfolger Java EE7 warten. Die Referenzimplementierung ist Glassfish 4 und integriert mehr als 30 JSRs in seinem Aquarium. In dieser Präsentation werden wir einen Blick auf zwei dieser JSRs werfen, nämlich JSR 349 (Bean Validation 1.1) und JSR 346 (CDI 1.1). Was gibt es Neues in diesen Technologien? Wie sind sie in Java EE7 integriert und was ist der Zusammenhang zwischen diesen JSRs. Unter anderem werden wir über Bean Validation's Gruppenkonvertierung und Methodenvalidierung reden. Schon mal etwas von dem "Liskov substitution principle" gehört? Falls nicht, ist es an der Zeit sich mit diesem Leitsatz vertraut zu machen. Er ist wichtig, wenn man Methoden validieren will. In CDI werden wir uns Portable Extensions und Interceptors anschauen. Wie kann man zum Beispiel das Verhalten von CDI Beans verändern in dem man Ereignisse wie BeforeBeanDiscovery oder ProcessAnnotatedType verarbeitet?

Himbeeren im Herbst

Embedded JavaFX auf dem Raspberry Pi

Jens Deters

Empic GmbH
J16 Dienstag, 3. 9., 20:00 – 21:10 Uhr Di de PDF

Minicomputer wie der Rapsbberry Pi sind bei Bastlern zur Zeit hoch im Kurs. Durch die für ARM-Architekturen angepassten JDKs ergeben sich auch für Java-Entwickler interessante Anwendungsmöglichkeiten für die "Taschengeld"-Computer. Gezeigt wird, wie mittels einer JavaFX-UI auf dem Raspberry Pi dessen GPIO-Schnittstelle angesteuert werden kann.

Spock und Geb in Action

Behavior Driven Development von Web-Applikationen mit Groovy, Spock und Geb

Christian Baranowski

SEITENBAU GmbH
Q12 Dienstag, 3. 9., 11:20 – 12:30 Uhr Di de PDF

Der Vortrag zeigt wie Tests für Web-Applikationen mit Spock und Geb (WebDriver) effizient und strukturiert erstellt werden können. Spock stellt für Java und Groovy Anwendungen ein beeindruckendes Open Source Test-Framework zur Verfügung. Mit Spock können Tests als Spezifikation in Groovy formuliert werden. Das OpenSource-Werkzeug Geb bietet eine an JQuery angelehnte Groovy-basierte domänenspezifische Sprache zur Anbindung der Tests an eine Web-Applikation. Mit diesen beiden Werkzeugen lassen sich Tests, gerade auch für dynamische Web-Oberflächen (Rich-Clients), sehr elegant erstellen. Der Vortrag zeigt anhand einer durchgehenden Live-Demo ganz konkret alle dazu notwendigen Aspekte. Insgesamt bietet der Vortrag eine kompakte und sehr praxisnahe Einführung in die Erstellung von automatisierten Tests für moderne Web-Applikationen auf Basis von Spock und Geb.

Schmiedekunst

Forge Beanstest Plugin für DI in Junit-Tests

Christian Brandenstein

adorsys GmbH & Co. KG

Sandro Sonntag

adorsys GmbH & Co. KG
Q13 Dienstag, 3. 9., 14:00 – 15:10 Uhr Di de PDF

Wer heutzutage in JUnit-Tests CDI-Injection verwenden möchte, kommt an JBoss Arquillian nicht vorbei. Arquillian hat sich als Test-Framework bewährt und ist auf dem Wege zum De-Facto-Standard im Bereich JEE zu werden. Wenn allerdings lediglich CDI-Injection für JUnit-Tests gebraucht wird, ist die Power von Arquillian manchmal schon zu viel des Guten. Und für test-driven development ist das Integrationstest-Tool schon fast zu schwergewichtig. Was tun? Wieder Getter und Setter im Produktivcode schreiben für die Tests? Zum Glück besteht die Möglichkeit im JUnit-Test die Java SE-Version der CDI-Referenzimplementierung Weld zu starten und so in den Genuss der Dependency Injection im Test zu kommen. Dieser Vortrag will diese Technik vorstellen sowie das Forge Beanstest Plugin, mit dem die wichtigsten Klassen fürs eigene kleine Test-Framework generiert werden können.

Testobjekt: Geschäftsprozess

Qualitätssicherung und Testen von automatisierten Geschäftsprozessen

Tammo van Lessen

innoQ Deutschland GmbH

Daniel Lübke

innoQ Schweiz GmbH
Q14 Dienstag, 3. 9., 15:40 – 16:50 Uhr Di de PDF

Ausführbare Geschäftsprozesse sind Software-Komponenten, die ebenfalls getestet werden müssen. Dabei gibt es jedoch aufgrund der Modellierung und der Domäne andere Fallstricke und Probleme. In diesem Vortrag werden wir diese konzeptionell unabhängig von BPEL und BPMN2 herausarbeiten und vorstellen, als auch praktisch mit BPELUnit und Apache ODE demonstrieren.

Geister, Gurken und Halbmetalle

Tools für Web-UI-Acceptance-Tests

Malte Clasen

Q15 Dienstag, 3. 9., 17:20 – 18:30 Uhr Di de PDF

Automatisierte Unit-Tests und Integrations-Tests gehören inzwischen für viele Entwickler zum Alltag. Wir zeigen in einer Live-Demo, wie man darüber hinaus durch Acceptance Tests einer Web-UI sicherstellt, dass der Benutzer auch genau das Gewünschte sieht. Mit einer KnockoutJS-basierten Seite führen wir Selenium, PhantomJS und SpecFlow vor, um von der Beschreibung in Textform zu C#-Code zu kommen. Abgerundet wird die Demo durch konkrete Hinweise aus der Entwicklerpraxis.

Die Register Factory

Industrialisierte Entwicklung von betrieblichen Informationssystemen

Ramon Anger

Capgemini Deutschland GmbH
Q16 Dienstag, 3. 9., 20:00 – 21:10 Uhr Di de PDF

Capgemini hat mit und im Auftrag des Bundesverwaltungsamts eine Vorgehensweise entwickelt, um Software standardisiert und effizient zu entwickeln: die Register Factory (www.register-factory.de). Sie enthält unter anderem standardisierte Referenzarchitekturen für die Entwicklung betrieblicher Informationssysteme jeder Größe. In diesem Vortrag wird der Software-Engineering-Ansatz der Register Factory als Ganzes vorgestellt und die OpenSource-basierten Architekturen für große Java-Systeme vertieft.

Macht der Gewohnheit

Usus – ein Werkzeug zur Verbesserung der Code-Qualität

Nicole Rauch

msgGillardon AG
V12 Dienstag, 3. 9., 11:20 – 12:30 Uhr Di de PDF

Gewohnheiten bestimmen unser Handeln. Dies gilt auch beim Entwickeln. Der Vortrag möchte ein Werkzeug vorstellen, das uns quasi in Echtzeit hilft gute Gewohnheiten beizubehalten und schlechte Gewohnheiten abzulegen - und das direkt im Workspace, während wir arbeiten. Bei dem Werkzeug handelt es sich um das Project Usus, ein Eclipse-Plugin zur Analyse von Java-Code. Usus ist kein Metrik-Tool im klassischen Sinne, sondern es versteht sich als ein "Programmierer-Kollege", der uns beim Arbeiten über die Schulter schaut und uns freundlich darauf hinweist, wenn wir im Code irgendwo weniger sorgfältig gearbeitet haben als sonst. Eine weitere Stärke von Usus ist die Betrachtung von Beziehungen zwischen Klassen. Hierbei werden Paketzyklen analysiert und durch die beteiligten Pakete bzw. Klassen graphisch dargestellt, die Anzahl der Zusammenhangskomponenten innerhalb von Paketen untersucht, oder auch Klassen gefunden, die nirgendwo benutzt werden. Durch die Quasi-Echtzeit-Darstellung kann man die Effekte von Veränderungen (z. B. Verschieben einer Klasse) unmittelbar beobachten, ohne ein separates Analysewerkzeug bemühen zu müssen. Neugierige können sich hier schon vorab über Usus informieren: http://projectusus.org.

Volle Fahrt voraus!

Continuous Delivery praktisch

Dr. Halil-Cem Gürsoy

adesso AG
V13 Dienstag, 3. 9., 14:00 – 15:10 Uhr Di de PDF

Continuous Delivery ist zur Zeit in aller Munde und in diversen Fachartikeln und Büchern wurden die zugrundeliegenden Konzepte vielfältig erläutert. Aber wie setzt man nun solche Konzepte in die Wirklichkeit um? Welche Werkzeuge sind notwendig, was muss beachtet werden? In dieser Session implementieren wir eine Continuous Delivery Build Pipeline und setzen dabei Werkzeuge wie Jenkins, Puppet und Vagrant ein.

Überlebensfähig

Der moderne App Lifecylce

Artur Speth

Microsoft Deutschland GmbH
V14 Dienstag, 3. 9., 15:40 – 16:50 Uhr Di de PDF

Erstklassige Software zu erstellen erfordert mehr als Top Entwickler. Wichtig ist es die Stakeholder in die Fertigung der Software einzubeziehen, damit das Ergebnis auch wirklich seinen Vorstellungen entspricht. In diesem Vortrag geht es um kontinuierliches Feedback und konkrete Beispiele wie Visual Studio das Entwicklungsteam von der Kommunikation der Anforderungen über die Entwicklung und das Testing bis hin zum Deployment der Software unterstützt.

Zukunfstssicher

Konkurrenzfähig in die Zukunft

David Tanzer

V15 Dienstag, 3. 9., 17:20 – 18:30 Uhr Di de PDF

Wie können Unternehmen dafür sorgen, auch in Zukunft konkurrenzfähig zu sein? Was können Teams tun um konkurrenzfähige Produkte zu entwickeln? Wie können wir als Entwickler dafür sorgen, dass wir auch noch in einigen Jahren auf dem Arbeitsmarkt begehrt sind? Um diese drei Fragen zu beantworten, analysiert der Referent in diesem Vortrag aktuelle Trends und erklärt, was das für die Zukunft bedeuten könnte. Außerdem skizziert er mögliche Antworten auf diese Fragen. Und natürlich wird, gerade bei diesem Thema, auch die Diskussion nicht zu kurz kommen.

I, Robot

Programmiersession mit LEGO Mindstorms (Teil 1)

Jan Leßner

arvato IT services
V16 Dienstag, 3. 9., 20:00 – 21:10 Uhr Di de PDF

Wer den ganzen Tag viel Neues gehört hat, kann Abends auch mal was Neues ausprobieren: die Programmierung von LEGO Mindstorm Robotern mit Java. Das Toolkit LEJOS ermöglicht das ohne Einstiegshürden und inzwischen sehr komfortabel in Eclipse, inklusive Debugging und extrem hohem Suchtfaktor. Für Entdecker steht an zwei Abenden eine Reihe vormontierter Bots zur Verfügung, die z. B. Aufgaben aus den Rescue-Wettbewerben des alljährlich stattfindenden Robocup-Turniers erfüllen können.

KaffeeKlatsch
Bookware
MATHEMA
CLEAR IT
Capgemini