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.
Politische AGILtation
Scrum in der Staatsführung
Udo Wiegärtner
K20 Mittwoch, 4. 9., 08:30 – 09:20 Uhr | Keynote Mi de PDF |
Scrum rettet alles - zumindest scheint es so, wenn man manchen Software-Teams zuhört. Ist die Zeit nicht reif, agile Prozesse auch zur Rettung einer unserer größten Baustellen zu benutzen: Der Politik. Was würde denn passieren, wenn für Politiker anstatt eines unverbindlichen Koalitionsvertrages ein priorisiertes Product Backlog das Maß aller Dinge wäre? Wie würde Politik aussehen, wenn Bundestagsdebatten nicht endlose Ansammlungen von Floskeln, sondern kurze, knackige Daily Scrum Meetings wären?
Zeigen wir der Politik doch mal, wie man mit Scrum große Projekte stemmt! Wir IT-Experten könnten es schließlich besser. Könnten wir doch, oder?
Dies & das
Allerlei in aller Kürze
Michael Wiedeking
MATHEMA Software GmbH
Ramon Anger
Capgemini Deutschland GmbH
Martin Aschoff
AGNITAS AG
Nicole Rauch
msgGillardon AG
Walery Strauch
David Tanzer
K30 Donnerstag, 5. 9., 08:30 – 09:20 Uhr | Do de PDF PDF PDF |
In dieser Keynote wird – fast schon traditionsgemäß – in aller Kürze über Wissenswertes und Persönliches rund um die Software-Entwicklung referiert.
Ramon Anger
Schlanke Architekturen in der Praxis
Best practices zur Unterstützung schlanker Architekturen
Martin Aschoff
Die 10 schlechtesten Bewerbungstipps
Empfehlungen für ein Todes-CV, damit Sie garantiert kein Headhunter mehr nervt
Nicole Rauch
Craftsman Swaps
Software-Entwickler auf der Walz
Walery Strauch
Atmosphere Framework
Einheitliche API für Asynchrone Web Kommunikation
David Tanzer
Ja/nein/vielleicht
Abstimmungen in agilen Projekten
Michael Wiedeking
Spaßbremse
Die Lichtgeschwindigkeit als limitierender Faktor
Das Beste kommt zum Schluss
Verabschiedung
Das Herbstcampus-Team
Bookware
Donnerstag, 5. 9., 17:00 – 17:15 Uhr | Do de |
In der Abschlussveranstaltung wird noch einmal resümiert, die besten Sprecher gekürt und unter den Anwesenden einige wenige glückliche „gesucht“, die mit mehr als nur einem Wissensgewinn nach Hause gehen sollen.
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.
App in die Cloud!
Daten-Backends in der Cloud und dessen Integration
Peter Kirchner
Microsoft Deutschland GmbH
N21 Mittwoch, 4. 9., 09:40 – 10:50 Uhr | Mi de PDF |
Apps sind dann erfolgreich, wenn diese eine gegebene Problemstellung perfekt lösen, genial aussehen und fehlerfrei sind. Dies sind für Entwickler keine leichten Anforderungen! Wenn Sie zudem ein Daten-Backend benötigen, können die Aufgaben einem leicht über den Kopf wachsen und Sie müssen abwägen, wofür Sie Ihre kostbare Zeit aufwenden. In die App, die so wie sie ist von jedem Nutzer nach wenigen Sekunden bewertet wird oder in das Backend, das unsichtbar im Hintergrund schlummert? Dieser Vortrag zeigt Ihnen die Vorteile der Windows Azure Mobile Services auf, mit sehr wenig Aufwand ein stabiles Daten-Backend zu entwickeln, damit Sie sich weiterhin voll auf die Entwicklung Ihrer App fokussieren können. Damit Sie sehen, dass dies Realität ist, wird alles am Beispiel einer Windows 8-App demonstriert.
Simple.Data
ORM ohne O, R und M
Timothée Bourguignon
MATHEMA Software GmbH
N22 Mittwoch, 4. 9., 11:20 – 12:30 Uhr | Mi de PDF |
Simple.Data ist ein leichtgewichtiges Framework für .NET, um Datenbanken auf einfache Art und Weise anzubinden. Hauptaugenmerk des Frameworks ist die Vermeidung von SQL-Injection. Es basiert auf dem .NET-Schlüsselwort „dynamic“ und Simple.Data ermöglicht eine leichte, einfache und elegante Anbindung an Datenbanken.
Dieser Vortrag beleuchtet die Philosophie, die Konzepte und den Aufbau diese Framework. Hierbei werden in verschiedene Demonstrationen, ausgehend von einem "Hallo Welt"-Beispiel bis hin zu einem komplexeren SQL und NoSQL Beispiel die Fähigkeiten aber auch Grenzen des Frameworks aufgezeigt.
Geschichtet, nicht gerührt?
Einführung in die N-Layer Domain-Oriented Architecture
Tobias Krügel
conplement AG
N23 Mittwoch, 4. 9., 14:00 – 15:10 Uhr | Mi de PDF |
Um eine hohe Qualität und einen langen Lebenszyklus gewährleisten zu können, müssen moderne Anwendungen eine Vielzahl von Kriterien erfüllen. Hierbei stehen insbesondere die Flexibilität hinsichtlich Wartungs- und Erweiterungsarbeiten sowie die Schaffung der optimalen Voraussetzungen zur Einführung automatisierter Tests im Fokus. Doch wie sollten Anwendungen idealerweise strukturiert sein, um diesen Anforderungen gerecht zu werden? Dieser Vortrag führt in die von Microsoft Spain veröffentlichten Richtlinien der N-Layer-Domain-Oriented Architecture ein und zeigt auf, wie sich flexible und skalierbare Anwendungen mit bewährten Patterns auf Basis des Microsoft Technologie Stacks realisieren lassen. Zudem werden Stärken und Schwächen der teilweise kontrovers diskutierten Architektur aufgeführt.
Himmlische Nachrichten!
Service Bus für Windows Server - Cloud-Technologien nun auch im eigenen Unternehmensnetzwerk
Peter Kirchner
Microsoft Deutschland GmbH
N25 Mittwoch, 4. 9., 17:20 – 18:30 Uhr | Mi de PDF |
Mit dem Service Bus für Windows Server bietet Microsoft Unterstützung für Publish-Subscribe-Kommunikation in lokalen Netzwerken ohne zusätzliche Kosten. Der Service Bus für Windows Server ist ein Set installierbarer Komponenten, die die Kommunikationsfähigkeiten des Windows Azure Service Bus auf den Windows Server bringen. Der Service Bus für Windows Server ermöglicht das Erstellen, Testen und Ausführen lose gekoppelter, Nachrichten-getriebener Anwendungen. Der Service Bus für Windows Server bietet ähnliche Fähigkeiten über Windows Azure und Windows Server und damit Flexibilität bei der Erstellung und Installation von Anwendungen, da er auf der gleichen Architektur aufgebaut ist wie der Windows Azure Service Bus. In diesem Vortrag lernen Sie, wie Sie eine Service Bus-Farm aufsetzen und wie diese in Anwendungslösungen genutzt werden kann.
From Zero to Azure Hero
Professionelle Cloud Entwicklung mit Windows Azure und C#
Robert Eichenseer
Microsoft Deutschland GmbH
N31 Donnerstag, 5. 9., 09:40 – 10:50 Uhr | Do de PDF |
Grundlegendes Azure Know How ist mittlerweile bei vielen Entwicklern angekommen. Spätestens bei der konkreten Umsetzung von Aufgabenstellungen stößt man jedoch häufig auf unerwartete Probleme bzw. Fehlermeldungen aus der Cloud. Der Vortrag blickt hinter die klassischen ?Hello World?-Beispiele und zeigt wie Windows Azure für die Entwicklung von professionellen und ausfallsicheren Anwendungen genutzt werden kann.
Das [C]Kreuz mit den Lambdas
Eine erweiterbare generisch-parallele Suche mit C#-PLinq
Dr. Ulrich Hilburger
NÜRNBERGER Versicherungsgruppe
N32 Donnerstag, 5. 9., 11:20 – 12:30 Uhr | Do de PDF |
Während die Java-Gemeinde sehnlichst auf die Lambda-Funktionen von Java 8 im nächsten Jahr wartet, gibt es diese in C# bereits seit 2006 (dotnet 2.0) und in Verbindung mit [P]Linq (dotnet 3.5 [4.0]) seit 2007 [2008]. Damit bietet sich eine elegante Möglichkeit, eine generisch formulierte Suche einfach mit eigenen Suchfunktionen zu erweitern und mittels PLinq automatisch von einer Beschleunigung auf Multiprozessorsystemen zu profitieren. Dieser Vortrag zeigt eine Schritt-für-Schritt-Einführung in das Thema bis hin zur Live-Kodierung einer Wunsch-Erweiterung des Publikums und ist auch für Java-Fans geeignet, die für 2014 ein praxisrelevantes Beispiel für die Verwendung von Lambda-Funktionen suchen.
Flaschenhälse eliminieren
Performance Optimierung von .NET-Applikationen
Markus Müller
datainfo.de
N33 Donnerstag, 5. 9., 14:00 – 15:10 Uhr | Do de PDF |
Moderne CPUs werden immer schneller und gleichzeitig immer sparsamer. Doch ist moderne Software in Unternehmen auch so Umweltbewusst geworden? In der heutigen Zeit ist das Thema „Performance“ gerade durch Serviceorientierung und horizontaler Skalierung ein wenig in den Hintergrund geraten. Doch haben moderne Software-Techniken und Architekturen auch oft einen hohen Preis, der sich durch eine höhere Stromrechnung oder im schlimmsten Fall aber auch durch frustrierte Anwender niederschlägt. In diesem Vortrag erfahren Sie anhand einfacher Beispiele, wie man mit modernen Tools Flaschenhälse in .NET-Applikationen finden, und durch Profiling sichtbar machen kann. Damit in Zukunft moderne Software- Architekturen auch wirklich zur „Green IT“ passen.
Dynamisch und gefährlich?
C# Dynamics in freier Wildbahn
Timothée Bourguignon
MATHEMA Software GmbH
N34 Donnerstag, 5. 9., 15:40 – 16:50 Uhr | Do de PDF |
Seit der Einführung des "dynamic" Schlüsselworts in der 4.0-Version von C# streitet sich die .NET-Community zwischen "böse und gefährlich" und "praktisch und cool". Von ASP.NET ViewBags, ExpandoObjects, ElasticObjects, JSON Parser mit ExpandoObjects oder NancyFx Model Objekte bis Simple.Data und Oak's Gemini Bindings, dieses Vortrag wird böse dynamische Konstrukte unter die Lupe nehmen, die in unserer stark typisierten .NET-Welt nicht nur Sinn haben sondern von echtem Vorteil sind.
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.
Beschleunigung
X ways to improve your web application's performance
Eduard Tudenhöfner
adesso AG
H21 Mittwoch, 4. 9., 09:40 – 10:50 Uhr | Mi de PDF |
Schlüpfen Sie häufig in die Rolle eines Entwicklers oder eines Architekten und wollen den Benutzern Ihrer Anwendung eine bessere Performanz bieten? Haben Sie sich jemals gefragt, wie Sie die Ladezeiten Ihrer Anwendung, das Caching-Verhalten oder das Rendering des Browsers verbessern und dabei zugleich eine effiziente Netzwerkauslastung erreichen? Wollten Sie schon immer mal wissen, welche Werkzeuge zur Verfügung stehen, um diese Fragen zu beantworten? Besuchen Sie diesen Vortrag und gewinnen Sie die Kontrolle über die Performanz Ihrer Anwendung zurück.
Meteor vor dem Einschlag
Ein flexibles JavaScript Framework
Heiko Spindler
H22 Mittwoch, 4. 9., 11:20 – 12:30 Uhr | Mi de PDF |
Vor 65 Millionen Jahren beendete der gewaltige Einschlag eines Meteoriten das lange Zeitalter der Dinosaurier. Der Aufstieg der Säugetiere begann. Diese waren flexibler und intelligenter im Umgang mit der neuen, sich radikal veränderten Situation. Meteor ist ein JavaScript-Framework basierend auf Node.js, das sich durch eine hohe Flexibilität, Einfachheit und neue Ansätze auszeichnet und den klassischen Web-Frameworks die Stirn bietet. Einige der Key-Features sind die einheitliche Basis im JavaScript-Code für Client und Server, automatisches Propagieren von Änderungen von Code und Daten, ein einfaches Design und intelligentes Packaging von Applikationen. Wird der Einschlag von Meteor die Vorherrschaft der klassischen Applikations-Frameworks vernichten? Dieser Vortrag stellt Meteor mit seinen wichtigsten Features vor und führt mit einer Life-Demo in die Entwicklung ein.
Offline. Na und?
Strategien für offlinefähige Applikationen in HTML5
Stephan Hochdörfer
bitExpert AG
H23 Mittwoch, 4. 9., 14:00 – 15:10 Uhr | Mi de PDF |
Lange Zeit standen die Begriffe "web" und "online" in einer sehr engen Beziehung. Dank HTML5 hat sich dies geändert. HTML5 fokussiert sich auf die Entwicklung von Web-Applikationen. Dies bedingt die Notwendigkeit Daten lokal vorhalten zu müssen. APIs wie Web Storage, IndexedDB, Web SQL Database und die File API geben Entwicklern genügend Möglichkeiten an die Hand um vom Nutzer generierte Daten persistent lokal vorhalten zu können. Der Vortrag gibt einen Überblick über die verschiedenen technischen Möglichkeiten und stellt die Limitierungen der einzelnen Ansätze einander gegenüber.
Webanwendungen? Aber sicher!
Sicherheitsprobleme in Web-Anwendungen (und wie man sie vermeidet)
Dr. Stefan Schlott
BeOne Stuttgart GmbH
H24 Mittwoch, 4. 9., 15:40 – 16:50 Uhr | Mi de PDF |
In den News-Tickern und den einschlägigen Mailing-Listen sieht man in regelmäßigen und viel zu kurzen Abständen die Warnung vor Sicherheitslücken in Web-Anwendungen, verbunden mit der Aufforderung diese durch einspielen eines Patches zu schließen. Zu leicht schleichen sich während der Entwicklung durch Flüchtigkeit oder Unwissenheit Fehler ein, welche zu Sicherheitsproblemen führen. Dieser Vortrag will häufige Probleme (und deren tatsächliche Exploits) an praktischen Beispielen aufzeigen, und Hinweise für die Vermeidung der Schwachstellen geben. Neben den "Klassikern" wie Cross-Site-Scripting oder SQL-Injection wird es auch um Varianten gehen, die bei den Stichworten nicht sofort in den Sinn kommen; dem Thema Login und Authentisierungs-Credentials wird sich der Vortrag etwas ausführlicher widmen. Zu allem wird es Tipps zur Vermeidung und - sofern möglich - Hinweise auf nützliche Tools oder Bibliothekten geben.
Hybride Schönheit
Die (Wieder-)Entdeckung des Java/JavaScript Webframeworks Echo
Christof May
Barco
Benjamin Schmid
eXXcellent solutions
H25 Mittwoch, 4. 9., 17:20 – 18:30 Uhr | Mi de PDF |
Es gibt unzählige Web-Frameworks - also warum ein weniger bekanntes wie Echo3 aus der Mottenkiste herauskramen? Einfach deshalb, weil es – seiner Zeit weit voraus – bis heute kein Besseres gibt! Das zumindest glaubt eine eingeschworene Fan-Gemeinde, die entschlossen ist das Projekt nach einem kurzen Winterschlaf zu neuem Leben zu erwecken. Warum ein Blick auf das leichtgewichtige und kern-solide Framework lohnenswert ist, und welche attraktive Zukunft sein einzigartiger hybrider Ansatz mit einer server-seitigen Java-API und einer auch standalone nutzbaren client-seitigen JavaScript-API verspricht, das verrät dieser Vortrag. Technische Konzepte, Anwendungsgebiete und Code-Beispiele sollen das Framework illustrieren. Ein Vergleich mit den anderen gängigen Frameworks wie GWT, Vaadin, ZK und Eclipse RAP mit entsprechenden Erfahrungsberichten runden den Vortrag ab und geben auch weiterführende Orientierungshilfe. Zum Abschluss betrachten wir verschiedene Demo-Projekte die z. B. durch mobile Endgeräte und Echtzeitkommunikation glänzen.
Zur Hölle mit Responsive!
Ein Streitgespräch
Florian Hirsch
adorsys GmbH & Co. KG
H31 Donnerstag, 5. 9., 09:40 – 10:50 Uhr | Do de ZIP |
Responsive Webdesign ist nicht nur "der" Trend der letzten zwei Jahre, es scheint auch die Lösung für viele Probleme zu sein: Der Redakteur pflegt den Content nur einmal, der Entwickler erstellt nur eine Website und der User bekommt auf jedem Gerät ein optimiertes Layout. Super! Bei so einer Wunderwaffe drängt sich eine Frage auf: Wo ist der Haken?
Script Factory Method Builder
Fortgeschrittene Techniken mit JavaScript
Frank Goraus
MATHEMA Software GmbH
H32 Donnerstag, 5. 9., 11:20 – 12:30 Uhr | Do de PDF |
Design Patterns mit JavaScript? Das geht! Durch seinen Mix aus prozeduraler, objektorientierter und funktionaler Programmierweise kann JavaScript in der Entwicklung manchmal ziemlich sperrig und das andere mal ziemlich einfach sein. Doch dank Unterstützung durch Frameworks oder Patterns kann man so einige Klippen umschiffen. Und neben aus dem Java-Bereich bekannten Design Patterns gibt es in JavaScript auch Ansätze für eigene Code-Konstrukte, welche die Arbeit erleichtern. In diesem Vortrag werden häufige Tücken von JavaScript und deren Lösungsansätze, sowie häufige Patterns vorgestellt und anhand von Beispielen erläutert. JavaScript-Kenntnisse werden vorrausgesetzt.
<Superheld/>
Web-Applikationen mit AngularJS
Joachim Weinbrenner
jsolutions
H33 Donnerstag, 5. 9., 14:00 – 15:10 Uhr | Do de ZIP |
Betrachtet man die Entwicklung der client-seitigen Web-Frameworks, so sticht in jüngster Zeit ein Kandidat mit enormen Zuwachsraten heraus: AngularJS. Das JavaScript-Framework bietet einen optimalen Weg zur Trennung von Design und Anwendungslogik sowie der Anbindung an Backends. Der Vortrag gibt eine Einführung in die Implementierung von AngularJS-Anwendungen und zeigt Wege zum Aufbau von modernen, hoch skalierbaren Web-Architekturen.
Die ultimative Herausforderung
Responsive Webdesign und Parallax Scrolling
Uwe Frieser
adorsys GmbH & Co. KG
H34 Donnerstag, 5. 9., 15:40 – 16:50 Uhr | Do de PDF |
Dieser Vortrag bietet eine Einführung in die beiden großen Webdesign-Trends des Jahres und zeigt praktische Beispiele, wie der Effekt der Bewegungsparallaxe auf unterschiedliche Geräteklassen übertragen werden kann.
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.
TomEE
Was braucht man mehr für JavaEE?
Frank Pientka
MATERNA GmbH
J21 Mittwoch, 4. 9., 09:40 – 10:50 Uhr | Mi de PDF |
Apache TomEE schließt die Lücke zwischen dem weit verbreiteten Tomcat-Webcontainer und einem ausgewachsenen Applikationsserver. Neben seinem zertifizierten Webprofile bietet er einige hilfreiche Erweiterungen an. Durch ausgereifte Komponenten, wie Tomcat, CXF, OpenEJB und OpenJPA bietet er sowohl Ab- als auch Aufwärtskompatibilität an. Mit eigenem im-Container-Testen oder mit Arquillian wird das Testen und Entwickeln von JavaEE-Anwendungen so einfach wie nie. Wir stellen TomEE mit einem REST-Beispiel vor.
JavaFX - Lessons Learned?
Ein Vergleich mit WPF(X)
Philipp Dörfler
imbus AG
J22 Mittwoch, 4. 9., 11:20 – 12:30 Uhr | Mi de PDF |
Nicht alles ist neu in der Welt von JavaFX - vieles ist anderen Frameworks entlehnt. Eines, aus dem sich besonders reich bedient wurde, ist Windows Presentation Foundation. Doch wurde dabei das Richtige übernommen? Wer einen kritischen Blick auf die Konzeptvielfalt nicht scheut, kann aus diesem Vortrag mitnehmen, wie gut dies gelang und wie man diese Konzepte für sich nutzen kann. Auch werden Vorschläge gezeigt, wie sich Fehlendes nachbauen lässt und was es von der Community hierzu bereits gibt. Den Abschluss bildet Live-Coding, in welchem mit einer Umsetzung des Presentation Models in JavaFX der konzeptuelle Flickenteppich zum Fliegen gebracht wird.
Verflixte(?) Sieben
Ein Blick auf den JBoss AS 7 – von JBoss Modules bis Clustering
Werner Eberling
MATHEMA Software GmbH
J23 Mittwoch, 4. 9., 14:00 – 15:10 Uhr | Mi de PDF |
In regelmäßigen Abständen scheint JBoss (seit einigen Jahren ein Teil von RedHat) die Notwendigkeit zu sehen den gleichnamigen Applicationserver auf technisch neue Beine zu stellen. Mit Version 7 stand wieder ein solcher „Re-Write“ ins Haus. Einige der Neuerungen (u. a. JBoss Mudules und das Domänenkonzept), die diese neue Version mit sich bringt, sollen anhand praktischer Beispiele beleuchtet werden.
E-Neuauflage
Die Java Enterprise Edition 7 und GlassFish
Wolfgang Weigend
ORACLE Deutschland B.V. & Co. KG
J24 Mittwoch, 4. 9., 15:40 – 16:50 Uhr | Mi de PDF |
Kurz vor der Freigabe vom JDK 8 hat sich die Java Enterprise Edition 7 (Java EE7) bereits im Sommer voll entfaltet. Als übergeordnete Spezifikation beinhaltet Java EE7 (JSR-342) einzelne überarbeitete Teilspezifikationen, wie JPA 2.1, EJB 3.2, JMS 2.0, CDI 1.1, Common Annotations 1.1, Servlet 3.1, JAX-RS 2.0, EL 3.0, JSP 2.3, JSF 2.2, Bean Validation 1.1 und die neu hinzugekommenen Spezifikationen wie Concurrency Utilities for Java EE (JSR-236), Batch Application for the Java Platform (JSR-352), Java API for JSON Processing (JSR-353) und Java API for WebSocket (JSR-356). Der Applikationsserver GlassFish ist die Referenzimplementierung für die Java EE7 und wird im Vortrag auch demonstriert.
Stapelweise Kaffeesäcke
Batch-Verarbeitung mit Java EE 7
Thomas Much
muchsoft.com
J25 Mittwoch, 4. 9., 17:20 – 18:30 Uhr | Mi de PDF |
Stapelverarbeitung ist aus vielen Enterprise-Anwendungen nicht wegzudenken. Beispielsweise wird am Tages- oder Monatsende automatisch eine Massendatenverarbeitung für regelmäßige Abrechnungen angestoßen, oder ein Benutzer fordert die asynchrone Generierung eines Berichts an. Solchen Batch-Jobs ist gemeinsam, dass es sich meist um lang laufende, geschäftskritische Prozesse ohne Benutzerinteraktion handelt, die sequenziell oder parallel ablaufen. In Java EE7 wurde nun die Batch-Verarbeitung im Java-Umfeld mit dem JSR-352 standardisiert. Aufbauend auf diversen, schon lange - auch außerhalb der Java-Welt - existierenden Lösungen wie JCL, WebSphere Compute Grid oder Spring Batch wurde nicht das Rad neu erfunden, sondern es wurden bewährte Praxis-Konzepte übernommen und daraus der nun offizielle Standard entwickelt. Dieser Vortrag stellt die Konzepte und Möglichkeiten von "Batch Applications for the Java Platform" vor, d. h. das Programmiermodell und die Konfiguration der Laufzeitumgebung. Die Server-Integration wird anhand der Java EE7-Referenzimplementation (GlassFish 4) besprochen.
Weltoffen
Einsatz des TFS 2012 in heterogenen .NET/Java-Umgebungen
Thomas Rümmler
AIT GmbH & Co. KG
J26 Mittwoch, 4. 9., 20:00 – 21:10 Uhr | Mi de PDF |
Immer wieder sind Teams anzutreffen, die in beiden Welten arbeiten: Java und .NET. Dies hat unterschiedliche Gründe. Manchmal gibt es ältere Komponenten in der einen Technologie und nach einem Wechsel wird die andere bevorzugt. Andernfalls müssen Teilsysteme plattformunabhängig in Java entwickelt werden und andere Teile werden in .NET implementiert. Möchte man in solch einer Umgebung ein Application Lifecycle Management System etablieren und hat vielleicht sogar schon den Team Foundation Server im Auge, stellt sich sofort eine Frage: "Können wir dieses Microsoft-Tool überhaupt verwenden oder hängen wir damit die Java-Entwickler völlig ab?" Der Vortrag zeigt, wie beide Welten, Java und .NET, mit dem Team Foundation Server vereinbar sind. Außerdem wird dargestellt, wo out-of-the-box Funktionalität ausreichend ist und wo evtl. noch Erweiterungen notwendig sind.
Schwarze 8
Änderungen in Java 8
Michael Wiedeking
MATHEMA Software GmbH
J31 Donnerstag, 5. 9., 09:40 – 10:50 Uhr | Do de PDF |
Endlich scheint es tatsächlich soweit zu sein: Nächstes Jahr kommt Java 8 mit lang ersehnten Neuerungen. Angefangen bei der Parallelisierung der Collection-Klassen, über die Anpassungsmöglichkeiten beim Compilieren, bis hin zu den längst überfälligen Lambda-Ausdrücken und den daraus resultierenden Schnittstellenänderungen. Dieser Vortrag stellt die Liste der geplanten Änderungen vor und beschäftigt sich mit den wichtigsten Änderungen etwas mehr im Detail.
Lambdas I
Funktionale Programmierung in Java mit Lambdas
Angelika Langer
J32 Donnerstag, 5. 9., 11:20 – 12:30 Uhr | Do de PDF |
Im Release 8 wird Java um Elemente der funktionalen Programmierung erweitert: es wird sogenannte Lambda Expressions geben. Diese Spracherweiterung wird die Art, wie wir in Java programmieren, substantiell verändern. In der Session werden die neuen Sprachmittel vorgestellt: Funktionale Typen, Lambda-Ausdrücke und Methoden-Referenzen. Anhand von Beispielen wird erläutert, wie man mit den neuen Sprachmitteln programmieren kann, welche Idiome sich damit elegant umsetzen lassen und welche Vorteile die Nutzung von Lambdas hat. Da die neuen Sprachmittel Eingang in den JDK (und dabei insbesondere in die Collections) finden werden, wird zur Ergänzung die Session "Lambdas II: Funktionale Erweiterungen der Java-Collections" empfohlen.
Lambdas II
Funktionale Erweiterungen der Java-Collections
Klaus Kreft
J33 Donnerstag, 5. 9., 14:00 – 15:10 Uhr | Do de PDF |
Mit dem Release 8 von Java wird das Collection-Framework im JDK radikal überarbeitet. Es wird möglich sein, auf Collections sogenannte "Bulk Operations" (JEP 107) auszuführen. Zentrales Element dieser Erweiterungen wird die Abstraktion java.util.stream.Stream sein. In der Session wird erläutert, was Streams sind, wie sie sich von herkömmlichen Collections unterscheiden und wie sie welche Operationen parallel oder sequentiell, "eager" oder "lazy" ausführen. Da die Session elementare Grundkenntnisse von Lambdas voraussetzt, wird zur Vorbereitung der Besuch der Session "Lambdas I: Funktionale Programmierung in Java mit Lambdas" empfohlen.
Die Ecke
Das vert.x Framework – modular, polyglott, asynchron
Eberhard Wolff
adesso AG
J34 Donnerstag, 5. 9., 15:40 – 16:50 Uhr | Do de PDF |
Hochperformante Lösungen werden schon seit einiger Zeit mit asynchronen Mechanismen implementiert. vert.x bietet genau das - und noch viel mehr: Es werden praktisch alle gängigen Sprachen auf der JVM unterstützt. Es gibt ein eigenes ausgefeiltes Modul-System. Insgesamt also ein ganz neuer Ansatz, Anwendungen für die JVM zu implementieren. Der Vortrag gibt eine kurze Einführung in vert.x und zeigt die hauptsächlichen Vorteile auf.
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.
Nachgemessen und angezeigt
Code-Metriken
Thomas Haug
MATHEMA Software GmbH
Q21 Mittwoch, 4. 9., 09:40 – 10:50 Uhr | Mi de PDF |
Die Visualisierung von großen Software-Systemen erlaubt eine schnelle Orientierung auf wesentliche Bestandteile in Bezug auf Qualität und Wartbarkeit. Code-Analyse Werkzeuge wie z. B. MOOSE und CodeCity erlauben die Darstellung vermessener Systeme in 2D und 3D. In dieser Session wird praktisch demonstriert wie Java- als auch .NET-Systeme analysiert und anschließend in MOOSE und CodeCity visualisiert werden können. Es werden unterschiedliche Darstellungsformen wie Polymetric View, ClassBluePrint und Städtemetapher in den beiden Werkzeugen gezeigt. Zusätzlich wird demonstriert, wie statische Analysemodelle mit dynamischen Analyseergebnissen, zum Beispiel von Whitebox-Tests, angereichert werden können, um anschließend als "Hybridmodell" in CodeCity bzw. SharpCity dargestellt werden zu können.
Hilfe zur Selbsthilfe
Testautomatisierung im Browser aus Entwicklersicht
Stefan Hildebrandt
consulting.hildebrandt.tk
Q22 Mittwoch, 4. 9., 11:20 – 12:30 Uhr | Mi de ZIP |
Bei der Software-Entwicklung mit agilen Prozessen und immer schneller werdenden Releasezyklen bilden gute automatisierte Tests mit schnellem Feedback das Rückgrat, ohne dass kein Entwickler gut arbeiten kann. Bei einer Web-Anwendung gehören dazu zwangsläufig Tests im Browser. Hier sind die Prozesse und Tools einiger QS-Abteilungen weniger nützlich, da dass Feedback häufig zu spät und in der falschen Form kommt. In diesem Vortrag wird ein Überblick über die Teststrukturierung beginnend bei Unit-Tests, über einfache Integrationstests hin zu Tests der ganzen Anwendung aufgezeigt und in den Entwicklungsprozess eingeordnet. Schwerpunkt wird die Entwicklung und Strukturierung von wartbaren Tests sein, die im Browser ablaufen.
Testen, aber richtig
Komponententests, Integrationstests und Mocks vernünftig einsetzen
David Tanzer
Q23 Mittwoch, 4. 9., 14:00 – 15:10 Uhr | Mi de |
Es klingt so einfach: "Red" – einen Test schreiben, "Green" – Funktionalität entwickeln, "Refactor" – die interne Struktur des Programms verbessern. Und doch trifft man in der freien Wildbahn immer wieder auf schlechte Tests, fehlende Tests oder ein ungünstiges Verhältnis zwischen UI-, Integrations- und Komponententests. Und auf Entwickler, die sich bei diesem Thema etwas unsicher sind. Dieser Vortrag will das ändern: Hier erfahren Sie, anhand von praktischen Beispielen, wie Sie Komponententests und Integrationstests sinnvoll einsetzen. Und wie Sie Mocks verwenden können, um Tests einfacher und übersichtlicher zu entwickeln.
XLS-based Testing!
Unit- und Integrationstests in Excel definieren
Matthias Reining
RGI Deutschland GmbH
Q24 Mittwoch, 4. 9., 15:40 – 16:50 Uhr | Mi de PDF |
Unit-Tests sind für jeden Entwickler im agilen Umfeld selbstverständlich. Nicht selten ist dies auch daher begründet, dass zum Teil auch Kunden eine Testabdeckung von über 80% in den Abnahmekriterien fordern. In diesem Vortrag wird gezeigt, wie man den Prozess der Testfallerstellung Richtung Excel verlagern kann und sich somit auch von Nicht-Entwicklern (bspw. dem Fachbereich) Unterstützung einholen kann. Dabei werden verschiedene Möglichkeiten und Java-Frameworks präsentiert, wie Excel in den Testprozess integriert werden kann. Um die Mächtigkeit xls-basierender Tests zu demonstrieren, sind viele kleine Beispiele in den Vortrag integriert.
Tut er's oder tut er's nicht
Wie ich Web?Apps richtig Testen kann
Stephan Müller
open knowledge GmbH
Q25 Mittwoch, 4. 9., 17:20 – 18:30 Uhr | Mi de PDF |
Automatisierte Tests gehören zum Standard in der Software-Entwicklung. Aber welche Technik bietet sich für welchen Test an? Kann ein Service nur in der Laufzeitumgebung getestet werden, an welchen Stellen setze ich Mocks ein, sind Datenbank-Tests sinnvoll, was ist ein Arcyl-Box-Test und wie teste ich JavaScript. Der Vortrag zeigt am Beispiel einer Web-Anwendung mit welchen Werkzeugen eine hohe und sinnvolle Testabdeckung über alle Layer erzielt werden kann.
Test-Driven Development - Möge der Test beginnen
Entwickler vs. Architekt
Gregor Biswanger
Robert Walter
Q31 Donnerstag, 5. 9., 09:40 – 10:50 Uhr | Do de ZIP |
Ein neues Software-Projekt beginnt. Das Design der Architektur steht auch schon. Nun können die hoch motivierten Entwickler starten, ihre Fachbereiche mit Code zu füllen. Doch kommt es schon nach kurzer Zeit zu großen Problemen! Die Anwendung macht an unterschiedlichen Stellen alles andere als das, was gefordert wurde. Keiner kann am Ende sagen woran das liegt, jeder versucht seine Position zu verteidigen. Ist das Projekt nun zum Scheitern verurteilt? Wird nun der Fertigstellungstermin noch weiter nach hinten geschoben, der sowieso schon an der Schmerzgrenze lag?! Nein, durch Test Driven Development kann dieses Problem verringert werden. Damit ist nicht die Fehleranfälligkeit gemeint sondern das rechtzeitige Erkennen, an welcher Stelle es gerade nicht funktioniert wie es soll. Was ist überhaupt TDD? Wie kann ich TDD für neue oder bestehende Projekte richtig nutzen? Welche Arten von Testmöglichkeiten für heutige Software-Projekte geboten wird, soll auch verdeutlicht werden. Dabei wird einmal die Theorie und anschließend die Praxis genauestens durchleuchtet. Dementsprechend werden dabei folgende Punkte besprochen: Unit-Tests, Integrations-Tests, Akzeptanz-Tests und Mocking.
Akzeptanztests und Regression
Komplexe Schnittstellen und Prozesse mit FitNesse testen
Frank Ganske
MATHEMA Software GmbH
Q32 Donnerstag, 5. 9., 11:20 – 12:30 Uhr | Do de PDF |
Wenn eine Zertifizierung mit hohem Aufwand verbunden ist, werden permanente Tests oft zu reinen Stichproben. Durch das gezeigte Vorgehen kann gesichert werden, dass der bestehende Zustand erhalten bleibt, wenn sich das System in Teilen ändert.
Sichere Software
Vermeidung von Angriffspunkten bei der Software-Entwicklung
Andreas Vombach
Q33 Donnerstag, 5. 9., 14:00 – 15:10 Uhr | Do de PDF |
Aufzeigen von Risiken bei der Entwicklung, Tools zur Gefährdungserkennung, bekannte best practices.
Selenium WebDriver
Automatisches Testen von Webapps auf gängigen Browsern
Walery Strauch
Q34 Donnerstag, 5. 9., 15:40 – 16:50 Uhr | Do de PDF |
Selenium ist eine Software zum Testen von Web-Anwendungen. Die Tests werden nativ in gängigen Browsern ausgeführt (Firefox, IE, Chrome, Safari, Opera, Android).
Dieser Vortrag schafft einen Einstieg in die Thematik. Es wird gezeigt, wie man solche Tests schreibt und welche Möglichkeiten man hierfür hat. Dabei werden auch weiterführende Themen, wie die Ausführung in headless-Systemen (z. B. auf einer Linux EC2-Instanz), Selenium Grid oder aber die API, welche die Nutzung durch andere Sprachen wie .NET, Ruby oder Python ermöglicht, durchgenommen.
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.
Unabhängigkeitserklärung
Abhängigkeiten managen mit Degraph
Jens Schauder
T-Systems onsite services GmbH
V21 Mittwoch, 4. 9., 09:40 – 10:50 Uhr | Mi de PDF |
Wer mit offenen Augen Software entwickelt (und alles andere erschwert die Sache ungemein) merkt schnell, dass Abhängigkeiten zwischen verschiedenen Teilen einer Anwendung ein schier unerschöpflicher Quell von Problemen sind. Die Antwort auf diese Probleme lautet, Abhängigkeiten von Anfang an unter Kontrolle zu behalten. Zwischen Artefakten (d. h. z. B. Jar-Files) erledigt dies in einem gewissen Umfang das Build-Tool der Wahl. Aber wie sieht es mit Abhängigkeiten zwischen Packages aus? Hier geht oft alles wie Kraut und Rüben durcheinander. Viele Tools bieten die Möglichkeit Warnungen zu produzieren, wenn z. B. zyklische Abhängigkeiten entstehen. Aber wenn es darum geht solche Zyklen aufzulösen, in einem Projekt welches dutzende davon enthält, ist die Unterstützung minimal. In diesem Vortrag wird demonstriert, wie Abhängigkeiten aussehen sollten um die langfristige Wartbarkeit von Anwendungen zu unterstützen. Es wird auch gezeigt wie sie oft in der Realität aussehen. Dafür werden Antipattern identifiziert und beschrieben, wie man von Letzterem zu Ersterem kommt. Dabei wird für die Visualisierung das OpenSource-Werkzeug Degraph genutzt, das auf ganz bensondere Weise die Optionen zum Aufbrechen von ungewünschten Abhängigkeiten aufzeigt.
You are not Facebook or Google?
Warum Sie sich trotzdem mit Big Data beschäftigen sollten
Kai Wähner
Talend
V22 Mittwoch, 4. 9., 11:20 – 12:30 Uhr | Mi de PDF |
Big Data stellt einen bedeutenden Paradigmenwechsel für Unternehmen dar. Dieser Vortrag geht über die bekannten Beispiele von großen Firmen wie Facebook oder Google mit Millionen von Nutzern hinaus. Stattdessen wird das Paradigma Big Data und der dadurch kommende technologische Wandel für Ihr Unternehmen erläutert. Es wird an Hand von mehreren Anwendungsfällen aufgezeigt, wie große Datenmengen auch kleinen und mittelständischen Unternehmen neue Geschäftsmöglichkeiten (und Risiken) bringen werden.
Erfahren Sie mehr über die Lösungsmöglichkeiten für die einzigartigen Herausforderungen von Big Data. Erfahren Sie wie Daten aus verschiedenen Datenbanken und Anwendungen in einem großen Daten-Cluster für die weitere Analyse integriert werden. Erfahren Sie, wie Sie relevante Anwendungsfälle für Ihr Unternehmen umsetzen, indem Sie OpenSource-Frameworks einsetzen, welche die Verarbeitung von großen Datenmengen vereinfachen und dabei die Kosten gering halten.
Der polyglotte Architekt
Willkommen in Babylon
Frank Pientka
MATERNA GmbH
V23 Mittwoch, 4. 9., 14:00 – 15:10 Uhr | Mi de PDF |
Bis vor wenigen Jahren entwickelte die IT den größten Teil ihrer Software in nur einer Programmiersprache und mit wenigen Architekturstilen für eine Plattform. Heute muss ein Architekt mehrere Sprachen sprechen und oft mehrere Projekt-Hüte aufsetzen, da hier der "One-Size-Fit's-All"-Ansatz nur selten passt. Neben der Sprache des Kunden muss der Architekt auch lernen die Sprache der Entwickler und Projektleiter zu sprechen.
Wir bauen uns ein fehlertolerantes System
Muster für Fehlertoleranz einfach umgesetzt
Uwe Friedrichsen
codecentric AG
V24 Mittwoch, 4. 9., 15:40 – 16:50 Uhr | Mi de PDF |
Hochverfügbare Systeme und Scale-Out-Systeme benötigen ein fehlertolerantes Anwendungsdesign, da die gewohnten Fehlertoleranz-Mechanismen auf der Infrastrukturebene nicht mehr verfügbar sind oder nicht ausreichen. Entsprechend müssen sie auf der Anwendungsebene implementiert werden. Aber, Fehlertoleranz gilt als eine äußerst komplizierte und herausfordernde Domäne. Oje! Müssen wir jetzt Panik bekommen? Okay, fehlertolerantes Anwendungsdesign als Domäne ist nicht trivial, aber es gibt eine ganze Reihe Muster in dem Bereich, die bei verblüffend geringem Implementierungsaufwand erstaunlich viel Nutzen bringen. Ein paar dieser Muster möchte ich in dieser Session vorstellen und anhand von konkreten Code-Beispielen erläutern, wie man sie implementieren kann. Ein kleiner Schritt für Sie als Entwickler, aber ein Riesensprung für stabilere Systeme in der Produktion. Lernen Sie, wie man mit einfachen Mitteln einen Administrator glücklich machen kann.
Think outside the box
Kreativitätstechniken in agilen Software-Projekten
Heiko Spindler
V25 Mittwoch, 4. 9., 17:20 – 18:30 Uhr | Mi de PDF |
Agile Projekte sind im Mainstream und Alltag vieler Unternehmen angekommen. Endlich haben die Teams viel mehr Freiheiten um effizient zu arbeiten. Im nächsten Schritt sollte die Freiheit auch konsequent und effizient genutzt werden, um die Herausforderungen besser als in der Vergangenheit zu meistern. Und gute Lösungsideen haben wir doch alle. Vielleicht sind wir aber viel öfter in unseren üblichen Denkmustern gefangen und trampeln alte Pfade aus? Mit den richtigen Techniken können Sie Ihre Kreativität verbessern und die Chance auf neue Lösungen erhöhen. Dieser Beitrag stellt Techniken für die Ideenfindung vor und zeigt den Einsatz speziell für agile Teams im Rahmen der Software-Entwicklung. Ein interaktiver Teil vermittelt Tipps und Tricks für die praxisnahe Durchführung der Techniken jenseits vom allseits bekannten Brainstorming.
I, Robot
Programmiersession mit LEGO Mindstorms (Teil 2)
Jan Leßner
arvato IT services
V26 Mittwoch, 4. 9., 20:00 – 21:10 Uhr | Mi 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.
Identitätskrise
Zeit, Zustand und das Reinheitsgebot
Andreas Flierl
imbus AG
V31 Donnerstag, 5. 9., 09:40 – 10:50 Uhr | Do de PDF |
Kann das Programmieren von der Von-Neumann-Maschine befreit werden? 35 Jahre nachdem John Backus diese Frage stellte, hat sich nur oberflächlich viel verändert. Die am weitesten verbreiteten Paradigmen zeugen immer noch unverkennbar von ihren jetzt schon altertümlich anmutendenden Wurzeln: ein Computerprogramm verändert seine Welt, d. h. den Speicher, direkt. Das gedankliche Modell der Maschine sickert also wie durch ein Leck über die konventionellen Programmiersprachen in die Algorithmen und deren Implementierung. Genauso wie für den Menschen jedoch das direkte Arbeiten auf der Ebene des Maschinenmodells zum Lösen der meisten Probleme ziemlich unangemessen ist, erhöht der undifferenzierte Umgang mit Zeit und Zustand die Komplexität der Software-Systeme völlig unnötig und macht diese so oft nur noch schwer beherrschbar. Der Vortrag möchte das Problem von verschiedenen Seiten beleuchten und anhand von Code-Beispielen in Scala Lösungsansätze vorstellen und so jeder und jedem, die bzw. der sich nicht scheut, die Komfortzone etablierter Techniken zu verlassen, etwas Handwerkszeug, Entscheidungshilfen und Anregungen für den Programmieralltag mitgeben.
Maßnahmen gegen das Code-Chaos in Standard-Software
Erweiterung von Standard-Software um kundenindividuelle Funktionalitäten
Martin Aschoff
AGNITAS AG
V32 Donnerstag, 5. 9., 11:20 – 12:30 Uhr | Do de PDF |
Hat man es endlich geschafft, dass aus einem individuellen Software-Projekt für einen einzelnen Kunden ein Software-Produkt für mehrere Kunden geworden ist, so ist die Freude beim Entwickler zunächst groß. Sobald die Software jedoch von den Unternehmen intensiv genutzt wird, regt sich bei den ersten Anwendern der Wunsch nach individuellen Funktionserweiterungen. Auf der einen Seite will man als Entwickler den Wünschen dieser Kunden natürlich gerne nachkommen, auf der anderen Seite möchte man aber nicht in die Projektzeit zurückfallen und für jeden Kunden eine eigene Software-Variante weiterentwickeln. Packt man dagegen alle Erweiterungswünsche in eine gemeinsame Code-Basis, so wird diese unangenehm aufgebläht. Wie lassen sich individuelle Kundenwünsche funktional in die Code-Basis und organisatorisch in den Release-Prozess einer Standard-Software integrieren? Dieser Vortrag stellt Lösungsansätze von der Nutzung von Konfigurationsdateien und -Tabellen über Interfaces und Plugins bis hin zu kompletten Komponenten-Architekturen vor und beleuchtet die jeweilige Stärken und Schwächen der verschiedenen Ansätze auf Basis der Erfahrungen des Referenten aus der Praxis.
NoSQL hoch drei
3 NoSQL Datenbanken in 70 Minuten
Eberhard Wolff
adesso AG
V33 Donnerstag, 5. 9., 14:00 – 15:10 Uhr | Do de PDF |
NoSQL-Datenbanken gibt es wie Sand am Meer. Jede Datenbank deckt einen besonderen Einsatzkontext ab. Dieser Vortrag zeigt drei Beispiele: Der Document-Store MongoDB kommt auch mit großen Datenmengen zurecht und erlaubt einen effektiven Umgang mit komplexen Datenstrukturen. Redis scheint auf den ersten Blick ein einfacher Key/Value-Store zu sein - bietet aber Features und Möglichkeiten, die weit über klassische Datenbanken hinausgehen. Und schließlich vervollständigt elasticsearch das Trio: Eigentlich eine Suchmaschine, aber in Wirklichkeit ein komplexer Datenspeicher.
ALM konkret
Die Aspekte des Application Lifecycle Management entdecken, verstehen und nutzen
Sebastian Rölz
conplement AG
V34 Donnerstag, 5. 9., 15:40 – 16:50 Uhr | Do de PDF |
Einige Software-Hersteller schaffen es bereits alle drei bis sechs Wochen neue Versionen zu releasen. Google Chrome und Microsofts Team Foundation Services sind nur zwei Beispiele. Aber wie gelingt es diesen Teams ständig neue Features zu veröffentlichen, ohne dass die Qualität leidet oder der Testaufwand durch die Decke schießt? Der Vortrag zeigt, wie sich agile Teams diesem Ziel Schritt für Schritt nähern können. Die ersten Etappen mit Code-Verwaltung und Integration-Builds sind oftmals schon etabliert. Die nächsten Schritte bedürfen einer Erweiterung des Repertoires um agile Prozesse, Branching-Konzepte und automatisierte Tests. Experten-Tipps für automatisiertes Deployment, Collaboration Tooling und Diagnose runden den Talk ab und inspirieren zu einem vollständigeren ALM.
Putztag
Clean Code Workshop
Jens Schauder
T-Systems onsite services GmbH
René Pfeuffer
T-Systems onsite services GmbH
T01 Montag, 2. 9., 09:40 – 18:30 Uhr | Tutorium Mo de PDF |
Anwendungen verbringen wesentlich mehr Zeit in der Wartungsphase als in der Entwicklungsphase, daher sollte in jedem Entwicklungsprojekt ein starker Fokus auf der Erstellung von wartbarem Code liegen. Code, der einfach zu verstehen, einfach zu ändern und zu erweitern ist. Leider ist dies nicht so einfach, wie es klingt. In diesem Workshop werden die Grundlagen von Clean Code vermittelt und geübt. In theoretischen Abschnitten werden Konzepte und Prinzipien vorgestellt, die dann an Code-Beispielen ausprobiert werden. Dazu gehören auch unterstützende Methoden, wie TDD und die Mikado Methode, die helfen auch arg vernachlässigten Code in den Griff zu bekommen.
Was zählt ist auf'm Platz
Testautomatisierung im Browser
Stefan Hildebrandt
consulting.hildebrandt.tk
T02 Montag, 2. 9., 09:40 – 18:30 Uhr | Tutorium Mo de |
Wer eine Anwendung mit Browserinterface schreibt, sollte neben Unit-Tests und Tests auf Service-Ebene, Tests auf der Web-Oberfläche vorsehen, da nur so realitätsnahe Integrationstests durchgeführt werden können. geb (gebish.org) ist eine auf Selenium und Groovy basierende Lösung, die bei der Strukturierung unterstützt und sich sehr gut in den Entwicklungsprozess einer JVM-Anwendung einbinden lässt. Neben den geb-Grundlagen werden Best Practices bei der weitergehenden Strukturierung der Tests vorgestellt sowie Möglichkeiten für kleinere Last-Tests gezeigt. Für die aktive Mitarbeit werden gute Programmierkenntnisse sowie ein Notebook mit installiertem VirtualBox, mindestens 2GB Arbeitsspeicher für die VM und 8GB freiem Platz auf der Festplatte benötigt.
Mind the Gap
Multiplattformentwicklung mobiler Anwendungen mit PhoneGap und jQuery Mobile
Werner Eberling
MATHEMA Software GmbH
T03 Montag, 2. 9., 09:40 – 18:30 Uhr | Tutorium Mo de |
In keinem Bereich der Software-Entwicklung scheinen gerade so viele neue Projekte aus dem Boden zu sprießen, wie bei der Entwicklung für mobile Endgeräte. Doch sobald mehrere Plattformen adressiert werden sollen, kämpfen diese Projekte mit der Heterogenität der mobilen Welt. Wer kann es sich schon leisten die selbe Anwendung in drei verschiedenen Sprachen zu entwickeln und zu pflegen. Genau hier setzen hybride Entwicklungsansätze wie z. B. die HTML 5-basierte Applikationsplattform phonegap (Distribution des Apache Projektes cordova) an. Dieser Workshop führt nach einer kurzen Übersicht über native und plattformübergreifende Entwicklungsansätze für mobile Endgeräte in die Multiplatform-Entwicklung ein. Am Beispiel von phonegap und jQuery mobile lernt der Teilnehmer, wie er ein und die selbe Anwendung für verschiedene Plattformen entwickeln kann, ohne dabei auf die Verwendung von Hardware-Funktionen wie GPS, Kontaktliste oder Kamera zu verzichten. Die Beispiele können auf dem Android- oder iPhone-Simulator auf dem eigenen Laptop oder auf Wunsch auf dem eigenen Android Smartphone nachvollzogen werden.
Spezialeffekte
JavaFX 2.0
Sascha Groß
MATHEMA Software GmbH
T04 Montag, 2. 9., 09:40 – 18:30 Uhr | Tutorium Mo de |
JavaFX 1.0 ist tot, es lebe JavaFX 2.0 – der erste Versuch Swing mit JavaFX abzulösen ist gescheitert. Der Grund hierfür ist wohl in JavaFX Script zu finden, der Programmiersprache, in der Anwendungen für JavaFX 1.0 erstellt werden mussten. Mit JavaFX 2.0 erfolgt die Rückkehr in das altbekannte Java-Ökosystem. JavaFX fühlt sich wieder wie Java an und ermöglicht auf einfache Art und Weise die Implementierung von Benutzeroberflächen. Dabei hat sich JavaFX einiges vom Web abgeschaut, wie das Styling mit CSS oder die Beschreibung der Anwendung über FXML (FX markup language). Aber keine Angst, FXML muss nicht selbst geschrieben werden, dafür gibt es den JavaFX Scene Builder, oder man verzichtet ganz darauf und zieht sich auf die Java API zurück. Dieser Workshop gibt einen Einblick in JavaFX 2.0 und behandelt Themen wie Grafiken, Komponenten, Einbindung von Web- und Multimedia-Inhalten (Video, Audio), Effekte, Paketierung und Auslieferung der Anwendung usw.
Komponiert
Komponentenbasierte GUI-Entwicklung mit Wicket
Tom Hombergs
adesso AG
T05 Montag, 2. 9., 09:40 – 18:30 Uhr | Tutorium Mo de |
Apache Wicket ist ein Java Web-Framework, das stetig an Aufmerksamkeit gewinnt und mittlerweile auch in großen Enterprise-Anwendungen Einzug findet. Kein Wunder, da man als Java-Entwickler mit HTML-Kenntnissen und Wicket sehr schnell sehr produktiv werden kann. Statt XHTML Tag Libraries zu durchforsten, programmiert man die Komponenten der Web-Oberfläche in Java und verbindet sie mit dem HTML Markup. Dabei hat man trotz des komponentenorientierten Ansatzes immer noch komplette Kontrolle über das gerenderte HTML, was die Rollenteilung zwischen Web-Entwickler und HTML-Designer besonders einfach macht. Dieses Tutorial dient als Einstieg in die Programmierung von Web-Oberflächen mit Wicket. Nach dem gemeinsamen Aufsetzen eines frischen Wicket-Projekts werden anhand einer Beispiel-Anwendung die Konzepte des Frameworks erarbeitet und selbst ausprobiert. Neben der Erstellung und Verarbeitung von Formularen als Kern jeder Geschäftsanwendung werden auch Themen wie Spring-Integration und Unit-Testing von Wicket-Oberflächen behandelt. Das Tutorial richtet sich an Java-Entwickler ohne Wicket-Vorkenntnisse, die in die Lage versetzt werden möchten, eine bestehende Wicket-Anwendung verstehen und bewerten zu können oder eine neue Wicket-Anwendung selbst von Grund auf zu erstellen. Zur Teilnahme wird ein Notebook benötigt.