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.