Aller Anfang …

Begrüßung und Organisatorisches

Das Herbstcampus-Team

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

Wasser auf die Mühlen

Continuous Feedback: Mit Kontinuierlichkeit zu erfolgreichen Projekten

Neno Loje

K10 Dienstag, 2. 9., 10:00 – 10:50 Uhr Keynote Di de PDF

Technologien, Entwicklungsprozesse und Methoden ändern sich mit der Zeit, aber die grundlegenden Herausforderungen bleiben die gleichen. In einer schnelllebigen Zeit mit kurzen Innovationszyklen, wie können wir da als Unternehmen schneller, kosteneffizienter und mit hoher Qualität Software erstellen?

In dieser Keynote geht es um Dinge aus dem Alltag und wie diese überhaupt in kurzen Zyklen funktionieren können: Anforderungen aufnehmen, Planen und Priorisieren, im Team entwickeln (Continuous Integration), (agil?) Testen (Continuous Testing), Ausliefern (Continuous Deployment) und Feedback einbeziehen (Continuous Feedback) mit dem ultimativen Ziel Nutzen und Mehrwert zu schaffen (Continuous Value Delivery).

Das geht?

Neue Möglichkeiten für das Web

Daniel Kurka

Google Germany GmbH
K20 Mittwoch, 3. 9., 08:30 – 09:20 Uhr Keynote Mi de

Die Geschwindigkeit in der sich Browser weiterentwickeln ist in den letzten Jahren deutlich gestiegen. Browser werden performanter und bieten viele neue Features. Anwendungen die noch vor sechs Monaten im Web ohne ein Plug-in unmöglich erschienen, können heute einfach realisiert werden. Auf diese neuen Features von Browsern aufzusetzen bringt eine völlig neue Klasse von Anwendungen ins Web.

Diese Keynote zeigt die neuesten und wichtigsten HTML5-Features und bringt Sie in die Position Anwendungen zu schreiben, die Sie vorher nicht für möglich gehalten haben.

Dies & das

Allerlei in aller Kürze

Michael Wiedeking

MATHEMA Software GmbH

Ramon Anger

Capgemini Deutschland GmbH

Alexander Schwartz

msg systems ag
K30 Donnerstag, 4. 9., 08:30 – 09:20 Uhr Keynote 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
Für alle IT-Lebenslagen
Die Welt der Manifeste

Alexander Schwartz
Live und in Farbe
Logging mit Errbit, logFaces und grayLog2

Michael Wiedeking
Nachgemessen
Wissenswertes über Einheiten

Das Beste kommt zum Schluss

Verabschiedung

Das Herbstcampus-Team

Bookware
Donnerstag, 4. 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.

Was bist Du groß geworden!

8 Jahre Team Foundation Server

Neno Loje

N12 Dienstag, 2. 9., 11:20 – 12:30 Uhr Di de PDF

Den Visual Studio Team Foundation Server, das Herzstück der Microsoft ALM-Plattform, gibt es nun schon seit 2006 auf dem Markt. Die meisten Unternehmen nutzen jedoch nicht annähernd die vielen Möglichkeiten aus, die von Version zu Version und auch in den Updates (4 mal im Jahr) hinzugekommen sind.

Dieser Vortrag gibt Antworten auf: Was der TFS – nach heutigem Stand – alles kann, welche Highlights man keinesfalls verpassen sollte, ausgewählte Tipps & Best Practices, die sich im Laufe der Jahre angesammelt haben, sowie einen Ausblick auf die zukünftige Entwicklung. Somit ist dieser Vortrag für Einsteiger, Umsteiger und bestehende Nutzer zu empfehlen.

Home Improvement

Entity Framework 6.x

Thomas Haug

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

Das Microsoft Entity Framework 6.x wartet mit einer Vielzahl von (neuen) Eigenschaften auf und bietet im Vergleich zu den Vorgängerversionen weitreichende Möglichkeiten, um Anpassungen und Erweiterungen am Basis-Framework vorzunehmen. Die neuen Features und die Fähigkeit, Anpassungen vorzunehmen, bilden die Grundlage, nützliche Frameworks und Hilfsmittel um das Entity Framework „herum“ zu legen.

In diesem Vortrag werden bestehende Frameworks rund um das Entity Framework 6.x vorgestellt. Des Weiteren wird exemplarisch gezeigt wie (Basis-)Dienste des Frameworks durch eigene Implementierungen ausgetauscht beziehungsweise erweitert werden können.

Bunte Welt

Es muss nicht immer Windows sein

Markus Müller

datainfo.de
N14 Dienstag, 2. 9., 15:40 – 16:50 Uhr Di de ZIP

.NET und C# bringt man immer ganz klar mit Windows in Verbindung. Doch mit C# lassen sich zwischenzeitlich auch ganz ausgereifte Anwendungen und Apps für Mac OS X, iOS und Android herstellen.

In diesem Vortrag erfahren Sie, wie man eine einheitliche Code-Basis für Windows, iOS und Android mit Hilfe von Xamarin unter einen Hut bekommt. Bekommen Sie einen Geschmack für Multiplattformentwicklung unter C#.

Ausgereizt

Visual Studio Tipps und Tricks

Daniel Meixner

Microsoft Deutschland GmbH
N15 Dienstag, 2. 9., 17:20 – 18:30 Uhr Di de

Visual Studio ist eine wahre Goldgrube, wenn es darum geht, neue Features zu entdecken. In diesem Vortrag zeigt der Referent eine Handvoll erlesener Shortcuts, Features und Funktionen, die im Visual Studio verborgen sind und manch ein Entwickler vielleicht noch nicht kennt. Die Tipps und Tricks sorgen dafür, dass man schneller, sicherer, sauberer und vielleicht auch einfach komfortabler durchs Visual Studio navigiert.

Über Kreuz

Cross-Device-Entwicklung mit Universal Windows Apps

Gregor Biswanger

N21 Mittwoch, 3. 9., 09:40 – 10:50 Uhr Mi de PDF

Ab Windows 8.1 und Windows Phone 8.1 verschmelzen beide Welten zu einer Code-Einheit. Es gibt nur noch wenige Unterschiede zwischen der neuen Windows Runtime und der Windows Phone Runtime.

Dieser Vortrag zeigt, wie mit der richtigen Architektur und Vorgehensweise die neuen Universal Windows Apps für alle Microsoft-Geräte entwickelt werden.

ALM aus der Wolke

Durchstarten mit Visual Studio Online

Artur Speth

Microsoft Deutschland GmbH
N22 Mittwoch, 3. 9., 11:20 – 12:30 Uhr Mi de PDF

Visual Studio Online (www.visualstudio.com) ist Microsofts Application Lifecycle Management-Lösung aus der Cloud, die den Team Foundation Server sowie Microsoft Azure in einem einfach zu konsumierenden Dienst zusammenfasst. Anhand von vielen Demos möchte der Referent die ersten Schritte mit Visual Studio Online aufzeigen.

In diesem Vortrag lernen Sie, wie mit VSO der Quellcode verwaltet werden kann, wie Sie weitere Entwickler einladen um gemeinsam am Projekt zu arbeiten und wie Sie mit den Planungstools Ihr Backlog verwalten können. Aber auch das Thema Qualitätssicherung und Applikationstelemetrie kommt nicht zu kurz. Wie kann man Akzeptanztests mit dem Web-Test-Manager ausführen und wie nutzt man Microsofts Cloud-basierten Last-Test-Dienst um meine Applikation zu testen? Was hat es mit Application Insights, Microsofts Applikations-Telemetrie-Dienst, auf sich und wozu sollte das gut sein? Abschließend gibt es noch ein paar Tipps, worin sich der Team Foundation Server von Visual Studio Online unterscheidet, damit Sie wissen welche Version wann benutzt werden sollte.

Broadcasting in nur wenigen Schritten

Einführung in SignalR

Gregor Biswanger

N23 Mittwoch, 3. 9., 14:00 – 15:10 Uhr Mi de PDF

Ein Broadcast pusht Nachrichten von einem Punkt aus an alle Teilnehmer. SignalR ist ein leichtgewichtiges Client- und Server-Framework, das Web-Services mit Broadcast-Funktionalitäten bereitstellt.

Der Vortrag zeigt wie kinderleicht mit nur wenigen Schritten ein Service erzeugt wird, der technologieneutral zur Verfügung steht.

Ansichtssache

CodedUI in der Praxis

Nico Orschel

AIT GmbH & Co. KG
N24 Mittwoch, 3. 9., 15:40 – 16:50 Uhr Mi de PDF

Wie effizient auch immer Ihre Testfälle verwaltet werden, der Aufwand für die Durchführung der Tests entscheidet letztlich darüber, wie häufig Software-Stände veröffentlicht werden können. Im Kontext der agilen Bewegung wird es immer wichtiger, öfter Software-Inkremente abzuschließen und auch getestet zu haben. Vom kontinuierlichen Testen ist da die Rede. Nur mit entsprechender Testautomatisierung ist das zu meistern.

Die Referenten zeigen, welche Probleme bei einer UI-basierenden Testautomatisierung in der Praxis lauern und welche Lösungsansätze sich in der Praxis bewährt haben. Themenschwerpunkte sind dabei Wartbarkeit, Lokalisierung und Nachhaltigkeit. Wesentliche Inhalte sind CodedUI-Tests, die Optimierung von Anwendungen für UI-Tests, wartbare CodedUI-Tests, Large Scale CodedUI-Tests und das Testen von lokalisierten Software-Versionen.

Nie wieder ohne

Unverzichtbare Bibliotheken unter .NET

Timotheé Bourguignon

MATHEMA Software GmbH
N25 Mittwoch, 3. 9., 17:20 – 18:30 Uhr Mi de PDF

Können Sie sich an die Zeit erinnern, als Sie Ihren eigenen Logger entwickeln mussten? Haben Sie düstere Erinnerungen daran, „per Hand“ XML-Dokumente zu deserialisieren? Zum Glück haben sich die Zeiten geändert. Wir stehen auf den Schultern von Riesen und verwenden täglich schlauere Tools und Bibliotheken. Wenn man an Programmieren ohne unsere Lieblings-Bibliotheken denkt, klingt das so, als wollte man einen Marathon ohne Schuhe laufen: man könnte es wahrscheinlich schaffen, würde es aber ungern machen wollen. 

In diesem Vortrag werden fünf kleine OpenSource-Bibliotheken vorgestellt, die Ihnen immer wieder das Leben einfacher machen werden:
NodaTime, um nie wieder mit Zeitzonen ringen zu müssen; JsonFx und Json.NET, sodass Sie auch denken, dass JSON und C# füreinander gemacht wurden; TinyIoc, weil Inversion of Control eigentlich ein Kinderspiel ist; RESTSharp, als Paracetamol für Ihre HTTPWebRequest-Kopfschmerzen.

Lost in Translation

Reguläre Ausdrücke als englische Sätze

Timotheé Bourguignon

MATHEMA Software GmbH
N31 Donnerstag, 4. 9., 09:40 – 10:50 Uhr Do de PDF

Kennen Sie dieses Gefühl, vor einem regulären Ausdruck zu stehen und keine Ahnung zu haben, was er eigentlich tut oder tun sollte? Ein paar Mal im Jahr muss man wirklich reguläre Ausdrücke schreiben. Einige Stunden brauchen wir um das ganze Regex-Wissen in unserer Gehirn-RAM zurückzustellen. Und sobald es nicht mehr gebraucht wird, werden unsere Neuronen mit unnötigen Film-Quoten und Kindergeschichten glatt gebügelt. Beim nächsten Mal fängt es wieder von vorne an.

Dieser Vortrag beschreibt wie sich reguläre Ausdrücke anhand einer schönen englisch-nahen Syntax – die „MagicExpressions“ – definieren lassen; eine Fluent API-Syntax, die versucht so nah wie möglich an unserer Sprache zu bleiben. Neben der Geschichte, dem Aufbau und Umsetzung des MagicExpressions-Projekts werden typische Probleme, die während des Aufbaus einer solchen DSL-Syntax auftauchen, dargestellt und diskutiert.

Spontan testen!

Das Test-Lab für jeden in der Cloud

Peter Kirchner

Microsoft Deutschland GmbH
N32 Donnerstag, 4. 9., 11:20 – 12:30 Uhr Do de PDF

Kurzfristig wurde Ihnen für den Nachmittag eine Besprechung abgesagt. Was anstellen mit der gewonnenen Zeit? Wir hätten da eine Idee! Bauen Sie sich doch ein Test-Lab auf, um (Ihre) Software in einer größeren Umgebung zu testen, zu debuggen und Erfahrungen zu sammeln. In vielen Unternehmen dauert es mehr als einen Nachmittag, um spontan einen, zwei oder zwanzig Server für diese Zwecke zu erhalten. Dabei ist diese Flexibilität möglich! Und zwar durch Infrastructure-as-a-Service.

In 60 Minuten zeigt Ihnen der Referent in mehreren Demos, wie Sie sich ein Test-Lab mit mehreren Servern und virtuellen Netzwerken schnell und kostengünstig in der Cloud mit Windows Azure aufbauen können und es so betreiben, dass es auch im längeren Einsatz wirtschaftlich bleibt.

Risiko Datensicherheit

End-to-End-Verschlüsselung von Anwendungsdaten

Peter Kirchner

Microsoft Deutschland GmbH
N33 Donnerstag, 4. 9., 14:00 – 15:10 Uhr Do de PDF

Datensicherheit ist wichtig, macht aber Arbeit. In Zeiten von Abhörskandalen, fehlerhaften SSL-Überprüfungen und Zeitdruck trennt sich allerdings die Spreu vom Weizen und man sieht, welche Anwendungen Best Practices beherzigen und bei wem es etwas schneller gehen musste.

In diesem Vortrag erfahren Sie, welche Gefahren für die Datensicherheit von gespeicherten Daten und während der Übertragung von Daten existieren und wie Sie hier am besten vorgehen. In mehreren Demos wird dies beispielhaft unter Windows 8.1, C# und einem Cloud-Backend vorgeführt.

TFS liebt GIT

TFS im Zusammenspiel mit GIT

Karsten Kempe

conplement AG
N34 Donnerstag, 4. 9., 15:40 – 16:50 Uhr Do de PDF

Promi-Hochzeiten hat und wird es immer geben. Meist sind die beiden Partner erfolgreich und sexy. Als sich TFS und Git zueinander bekannten, war die Skepsis groß. Er (der TFS) ist laut Gartner die führende ALM-Plattform, gilt aber als schwer und behäbig. Sie (Git) ist eine der angesagtesten Versionskontrollen unserer Zeit, leicht und sexy! Würde diese Beziehung gut gehen? Diese Liebe hält nun schon seit mehr als einem Jahr und ist enger als je zuvor. Grund genug also, um sich die Partnerschaft einmal näher anzusehen. Wer profitiert von wem? Und warum sind sie als Paar so außerordentlich erfolgreich?

In diesem Vortrag erhalten Sie einen Eindruck über das Zusammenspiel von Git und TFS und sehen wie man als Entwickler von den Stärken der Beiden profitieren kann.

Data Driven Documents

Infografiken für Jedermann mit D3

Axel Feix

ITech Progress GmbH
A12 Dienstag, 2. 9., 11:20 – 12:30 Uhr Di de PDF

Haben Sie nicht auch schon ab und an einmal neidisch auf eine Infografik im „Spiegel“, der „New York Times“ oder in „Die Zeit“ geschaut und im Stillen bei sich gedacht: das würde ich auch gerne können – am besten sogar auf meiner Homepage? Die gute Nachricht ist: das geht jetzt. Mit D3 sind komplexe Infografiken ohne komplexe Programmierung möglich – wenn man weiss wie. Data Driven Documents, kurz D3, ist ein JavaScript-Framework für die einfache Erzeugung von komplexen Infografiken auf HTML-Seiten.

Dieser Vortrag beleuchtet die Philosophie, die technischen Prinzipien, den Aufbau der API und erläutert an mehreren aussagekräftigen Beispielen die Fähigkeiten dieses schönen und spannenden Frameworks.

Built to last

Nachhaltige Software-Entwicklung

Frank Pientka

MATERNA GmbH
A13 Dienstag, 2. 9., 14:00 – 15:10 Uhr Di de PDF

Nichts bleibt für die Ewigkeit. Oft wurde die Software auf Plattformen mit Werkzeugen entwickelt, die heute gar nicht mehr existieren und hat inzwischen sogar seine Ersteller überlebt. Damit eine Software den aktuellen, fachlichen und technologischen Anforderungen genügt, muss sie permanent angepasst werden. Damit Altprodukte nicht später zu unkalkulierbaren Risiken werden, ist es wichtig bereits frühzeitig einige Kardinalfehler zu vermeiden, die eine spätere Modernisierung oder Anpassung erschweren.

Doch muss es nicht soweit kommen, wenn man einige wenige Erkenntnisse konsequent umsetzt, wie kleine Einheiten statt großer Monolithen, Design-by-Community statt Design-by-Committee, Design-for-Replacement statt Design-for-Reuse oder fachübergreifende Teams, die den gesamten Software-Zyklus kontinuierlich begleiten. Damit lassen sich Verzögerungskosten vermeiden, Anpassungsaufwände reduzieren und teure Migrationsprojekte vermeiden.

Aller klar? Von wegen!

Die Fallstricke des Denkens und wie man sich gegen Fehlentscheidungen wappnet

Dr. Karl Kollischan

kobaXX Consultants
A14 Dienstag, 2. 9., 15:40 – 16:50 Uhr Di de PDF

Unser Leben besteht aus Entscheidungen, im Beruflichen wie auch im Privaten. Häufig hängt unser Geld, unsere Karriere oder unser Glück davon ab. Wem sollen wir unser Vertrauen schenken? Wen halten wir für kompetent? Welcher Mitarbeiter ist für eine bestimmte Aufgabe am besten geeignet? Sollen wir ein aus dem Ruder gelaufenes Projekt, in das schon viel Geld investiert wurde, retten oder abbrechen? Was macht uns in Zukunft glücklich? Für viele unserer wichtigen Entscheidungen kennen wir die Gründe. Wirklich? Die moderne Kognitionspsychologie liefert verblüffende Antworten darauf, was in unserem Gehirn passiert, wenn wir Entscheidungen treffen. Wir haben zwei Denksysteme, ein langsames, rationales, das wir bewusst erfassen und ein schnelles, intuitives, das ständig präsent ist und uns automatisch in Bruchteilen von Sekunden mit Einschätzungen versorgt. Dies ist in vielen Situationen sinnvoll, führt jedoch häufig zu eklatanten Fehlentscheidungen.

In diesem Vortrag werden einige der mentalen Muster vorgestellt, denen wir bei unseren Urteilen folgen und die uns immer wieder in fatale Denkfallen tappen lassen. Wer weiß, welchen Fehlschlüssen wir unterliegen, ist besser gewappnet.

SAP HANA

Was ist drin für Java-Anwendungen?

Holger Seubert

SAP Deutschland SE & Co. KG
A15 Dienstag, 2. 9., 17:20 – 18:30 Uhr Di de PDF

Neben einer In-Memory SQL-Datenbank für transaktionale- und analytische Aufgabenstellungen, bietet SAP HANA weitere Funktionen, die bei der Umsetzung Java-basierter Lösungsarchitekturen interessant sein können.

So lassen sich unstrukturierte Daten mittels Textanalyse auf Basis mitgelieferter, oder eigener Dictionaries verarbeiten, lokationsbasierte Daten mit der GeoSpatial Engine auswerten, oder integrierte Data Mining-Algorithmen zur Datenanalyse nutzen. An Hand von Beispielen werden die verschiedenen Mehrwertfunktionen vorgestellt.

Grunt.js

Im Schweinsgalopp zum Ziel

Frank Goraus

MATHEMA Software GmbH
A16 Dienstag, 2. 9., 20:00 – 21:10 Uhr Di de PDF

JavaScript ist inzwischen in aller Munde. In nahezu keiner Web-Anwendung gibt es nicht irgendein Feature, das auf JavaScript basiert. Doch inzwischen ist JavaScript schon weit über den Browser hinaus gewandert und kann sogar für sich allein stehend als Anwendung genutzt werden. Mittels Node.js kann man zum Beispiel seinen eigenen Web- oder Mail-Server aus 100% JavaScript gestalten. Was spricht also noch dagegen auch seine Build-Prozesse per JavaScript abzubilden? An dieser Stelle kommt Grunt.js ins Spiel. Als so genannter Task Runner kann man eigene Task definieren und laufen lassen. Natürlich auf JavaScript-Basis.

Was Grunt so alles bietet und leisten vermag soll in diesem Vortrag beleuchtet werden. Und auch wie man Grunt in sein bestehendes Eco-System integrieren kann, soll kurz vorgestellt werden.

1, 2, fertig

Ajax-Frontend, REST-API, Java-Backend – vollständige Web-Anwendung in 3 Minuten

Stefan Isele

prefabware UG
A21 Mittwoch, 3. 9., 09:40 – 10:50 Uhr Mi de PDF

Web-Anwendungen sollen ein modernes User-Interface haben, über eine REST-API verfügen und robuste Services und Persistenz bieten. Dazu einfach zu entwickeln sein, automatisch gebaut, getestet, released und deployed werden können.

Der Referent zeigt, mit welcher Architektur, Frameworks und Tools man diese Anforderungen erfüllen kann. Wie man eine solche durchaus komplexe Web-Anwendung in nur 3 Minuten entwickeln kann, wird mit dem Framework appdriver gezeigt. Dieses integriert die vorgestellten Technologien, ermöglicht einen schnellen Projektstart und iterative Weiterentwicklung.

Das Kung Fu des Code Reviews

Bessere Qualität mit Git und Gerrit

Christian Erhardt

proSoft EDV-Lösungen GmbH & Co. KG

Sebastian Main

proSoft EDV-Lösungen GmbH & Co. KG
A22 Mittwoch, 3. 9., 11:20 – 12:30 Uhr Mi de PDF

Gerrit ist ein Tool für Code Review mit dem Quellcode-Verwaltungssystem Git, welches von Google entwickelt wurde und z. B. für die Android-Entwicklung genutzt wird. Dabei ist es vollkommen egal welche Sprache eingesetzt wird. Das Java-basierte Programm kann ohne Probleme auch im Windows-Umfeld eingesetzt werden.

Zunächst gehen wir darauf ein, wie Code Review die Software-Qualität bei uns verbessert hat. Wir zeigen live, wie leicht es ist dieses Review-System zu installieren und zu konfigurieren. Dies tun wir unter Windows für ein .NET-Projekt, aber jeder dieser Schritte kann auch für z. B. ein Java-Projekt unter Linux durchgeführt werden. Anhand eines idealen Entwicklertages beschreiben wir wie man das System als Entwickler benutzt. Abschließen werden wir den Vortrag damit, dass wir das weitere Potential von Gerrit zeigen, indem wir den Build-Server Jenkins an Gerrit anbinden. Dieser compiliert beim Erstellen eines neuen Changesets den Code und übermittelt Feedback über Erfolg/Misserfolg an Gerrit.

Mock me Baby

Attrappen, Spione und Kidnapper mit Mockito

Martin Dilger

Effective Trainings & Consulting - Martin Dilger
A23 Mittwoch, 3. 9., 14:00 – 15:10 Uhr Mi de PDF

Unit-Tests sind wichtig. Sie sind für uns Entwickler das was das Auffangnetz für den Hochseilkünstler ist. Richtig effizient sind Unit-Tests aber nur, wenn man sie richtig schreibt. Ein Unit-Test testet eine isolierte in sich geschlossene Funktionalität. Was aber machen wir mit Tests für Komponenten, die Abhängigkeiten auf andere Services, Repositories oder Klassen haben? Da wir nur die Komponenten selbst und nicht alle Abhängigkeiten testen möchten, brauchen wir ein effizientes Mock-Framework. Eines der einfachsten und gleichzeitig mächtigsten Frameworks ist Mockito.

In diesem Vortrag werden wir die Möglichkeiten von Mockito live in der IDE ausloten. Wir werden zusammen Tests schreiben und dabei mit Attrappen, Spionen und Kidnappern zusammenarbeiten.

Vorsicht: Schuldenfalle

Was die IT aus der Finanzwelt lernen kann

Tammo van Lessen

innoQ Deutschland GmbH
A24 Mittwoch, 3. 9., 15:40 – 16:50 Uhr Mi de PDF

Schulden machen ist leicht, zu leicht manchmal und ehe man sich versieht, hat man Mühe die Schuldenlast zurück zu zahlen. Ähnlich verhält es sich auch bei Software-Architektur. Ein „das fixen wir später“ hier, „die Dokumentation ziehen wir nach der Abnahme nach“ dort, ein kleiner Hack da, ein schnelles Feature dazu und schon sieht man sich einer degenerierten Software(-Architektur) gegenüber, die hohe Wartungskosten nach sich zieht und eine weitere Entwicklung nur bedingt zulässt. Damit es nicht so weit kommt muss man sich der Schulden bewusst sein, die man durch manche Entscheidungen aufnimmt und muss den Schuldenberg im Griff behalten.

In diesem Vortrag gehen wir auf verschiedene Arten technischer Schulden ein und zeigen Wege auf, wie man ihnen im Projektalltag begegnet.

Motorhaube auf, Kernkonzepte verstehen, sicher einsteigen

Git started für Fortgeschrittene

Benjamin Schmid

eXXcellent solutions gmbh
A25 Mittwoch, 3. 9., 17:20 – 18:30 Uhr Mi de PDF

Dieser Vortrag langweilt Sie nicht mit einer weiteren, oberflächlichen Einführung, sondern nutzt direkt Ihre bisherigen Erfahrungen im Umgang mit Subversion & Co. für einen fundierten Einblick in die Vorteile und Funktionsweise von Git. Dazu erläutern wir auch die Konzepte hinter der Technologie, um insbesondere professionellen Anwendern ein fundiertes Verständnis und soliden Umgang schnell und sicher zu ermöglichen.

Nach einem kurzen Portrait wagen wir daher direkt einen Blick unter Git's Motorhaube und erschließen uns daraus erste Best Practices. Anschließend lernen wir die neuen Möglichkeiten für Team und Workflow kennen, die Git aufgrund seiner verteilten Struktur bietet, bevor wir auf ausgewählte, fortgeschrittenere Funktionen eingehen. Aus der Praxis mitgebrachte Erfahrungen zu Stolperfallen, Do's und Dont's sowie ein kurzer Blick auf das attraktive Ökosystem runden schlussendlich den Vortrag ab.

Applikation mit Migrationshintergrund

Lessons learned bei einer Portierung von SWT nach JavaFX

Olaf Grönemann

A26 Mittwoch, 3. 9., 20:00 – 21:10 Uhr Mi de PDF

Java Password Safe ist eine OpenSource-Anwendung, deren GUI zuerst mit Swing und später mit SWT realisiert wurde und die nach Erscheinen von Java 8 nach JavaFX portiert wurde. Zwar ist die Anwendung überschaubar – im Wesentlichen eine Listenansicht mit Menüleiste und Statuszeile sowie ein Dialog zur Detailein- und -ausgabe – doch hat sie Migrationspotential: Einige Megabyte an SWT-Code wurden mit JavaFX eingespart und der Weg zu alternativen GUI-Entwürfen ist offen.

In diesem Vortrag wird einerseits gezeigt wie JavaFX die bekannten GUI-Aufgaben in sehr ähnlicher Weise wie SWT oder auch Swing löst und andererseits werden wir uns Neues ansehen: Die deklarative graphische Gestaltung der View mittels FXML und dem Tool Scene Builder sowie das Styling eines Rich Client mittels CSS. Desweiteren geht es um Lessons learned bei der Gestaltung des Models, d. h. um eine möglichst nicht-invasive Anwendung des Properties-Konzepts von JavaFX. Genauso wenig wie in der Entwicklung kommt man dann im Vortrag um das Unit-Testing herum, bei dem gezeigt wird, wie die Anwendung automatisch getestet wird. Zum Schluss wird es dann um die Realisierung von neuen App-ähnlichen GUI-Designs gehen. Über die bloße Portierung hinaus war ein Redesign der Anwendung möglich geworden.

Knochenarbeit alias Königsdisziplin

Techniken und Strategien für den Umgang mit Legacy-Code

Yann Massard

BTC Business Technology Consulting AG
A31 Donnerstag, 4. 9., 09:40 – 10:50 Uhr Do de PDF

Das Arbeiten mit Legacy Code gehört zu den unbeliebtesten und schwierigsten Tätigkeiten für Software-Entwickler. Die wenigsten wurden während ihrer Ausbildung auf diese Herausforderung vorbereitet. Dennoch spielt Legacy Code in vielen Projekten eine große Rolle.

Dieser Vortrag bietet einen Überblick über Techniken und Strategien, die ein effektives Arbeiten mit Legacy Code ermöglichen.

Trau, schau wem!

Absicherung gegenüber externen Diensten mit Hystrix

Alexander Schwartz

msg systems ag
A32 Donnerstag, 4. 9., 11:20 – 12:30 Uhr Do de PDF

Anwendungen benötigen meist mehr als nur Daten aus ihrer eigenen Datenbank. Mit zunehmender Verknüpfung mit externen Diensten steigt jedoch die Gefahr von Ausfällen der eigenen Anwendung, wenn diese Dienste gar nicht, falsch oder zu langsam antworten. Schnell wird die eigene Anwendung unbedienbar, sobald ein Dienst ausfällt.

Hystrix, das von Netflix 2012 als OpenSource-Projekt bereitgestellt wurde, ermöglicht einfach und konsistent Sollbruchstellen und Backup-Srategien zu implementieren. Alle wichtigen Informationen zum Zustand der Schnittstellen zu den Diensten können komfortabel überwacht, zur Laufzeit rekonfiguriert und in Echtzeit als Dashboard dargestellt werden. Hystrix kann auch in bestehenden Software-Projekten mit wenigen Schritten Schnittstelle für Schnittstelle integriert werden. Bestehende Bibliotheken können gekapselt werden, um nachträglich eine Absicherung hinzuzufügen.

The Whole Nine Yards

Integrationstests für Software-Entwickler

Jens Schauder

T-Systems on site services GmbH
A33 Donnerstag, 4. 9., 14:00 – 15:10 Uhr Do de PDF

Wir schreiben alle Unit-Tests für unseren Code, richtig? Wir haben eine Code Coverage von über 90% und treiben sie Richtung 100%, richtig? Aber reicht das?

Ich denke Nein. Ein Unit-Test ist wie wenn man einzelne Legosteine kontrolliert: Dass die alle in Ordnung sind, die passende Form haben und schön fest zusammensteckbar sind, ist wichtig. Wenn ich das für alle Legosteine überprüft habe, weiß ich aber immer noch nicht, ob das Haus, das ich daraus gebaut habe, meinen Anforderungen entspricht.

Wir brauchen also auch Integrationstests. Aber warum reden alle von Unit-Tests und kaum einer von Integrationstests? Weil sie oft schlecht zu warten sind. Weil sie langsam sind. Weil sie schwer zu automatisieren sind.

In diesem Vortrag stellt der Referent einige Strategien vor, wie man zu guten Integrationstests kommen kann, die einem wirklich helfen in der Entwicklung stabiler Software-Systeme. Wichtige Fragen, zu denen Anregungen gegeben werden, sind:
- Wie geht man mit Drittsystemen um, zu denen man Schnittstellen hat?
- Auf welche Weisen kann man die Datenbank in den Griff bekommen?
- Schreibe ich meine Integrationstests in einem Unit-Test-Tool wie JUnit?
- Wie kann ich verhindern, dass meine schönen Integrationstests von den Testern ignoriert und manuell wiederholt werden?

Was eine QS-Abteilung immer wollte...

Mit automatisierten Tests zum Ziel

Stefan Hildebrandt

A34 Donnerstag, 4. 9., 15:40 – 16:50 Uhr Do de PDF

Früher war alles gut: Die Anforderungen lagen vor dem Entwicklungsbeginn vor, wurden aggregiert, in Testfälle überführt und am Ende wurde das System dagegen getestet. Zeitrahmen: viele Monate. In agilen Projekten werden Anforderungen kontinuierlich erhoben und umgesetzt. Jede Änderung ist als Delta in Form von Userstories oder Ähnlichem dokumentiert. Um zu einer kumulierten Liste zu kommen, muss dieses Delta auf alle bestehenden Anforderungen und Testfälle angewendet werden. Da es keinen Compiler und keine automatisierte Testausführung gibt, werden sich viele Fehler einschleichen! Es gibt nur eine vollständige Beschreibung des Systems und seiner Anforderungen: das System mit seinen automatisierten Tests! Eine fortgeschriebene, vollständige und menschenlesbare Liste mit Anforderungen und deren Quellen ist allerdings etwas, was die Weiterentwicklung über viele Jahre unglaublich erleichtern kann, z. B. beim explorativen Testen oder bei externen und gesetzlichen Vorgaben.

In diesem Vortrag wird beschrieben wie ein Java EE-System mit JUnit, Arquillian und Cucumber testgetrieben entwickelt werden kann und wie Tests auf Unit-, Integrations- und Systemintegrationstestebenen so kombiniert werden können, dass am Ende eine Liste von automatisch geprüften Akzeptanzkriterien entsteht, ohne dass Laufzeit und Wartungsaufwand explodieren.

Auf die inneren Werte kommt es an

Kontinuierliche Architekturvalidierung

Kai Spichale

adesso AG
B12 Dienstag, 2. 9., 11:20 – 12:30 Uhr Di de PDF

Eine wichtige Eigenschaft der Software-Architektur, die großen Einfluss auf die Wartbarkeit eines Systems hat, ist die Modularität. Wenn Applikationen größer werden oder über einen langen Zeitraum entwickelt werden, dann wird diese Eigenschaft zunehmend wichtiger, aber auch schwieriger zu realisieren. Bereits vor vier Jahrzehnten wurden eine möglichst hohe Modulkohäsion und eine möglichst schwache Modulkopplung als grundlegende Strukturierungsziele erkannt. Trotzdem werden häufig Abhängigkeitsmanagement und Best-Practices zur Quellcode-Organisation vernachlässigt.

In diesem Vortrag werden verschiedene Ansätze zur logischen und physischen Strukturierung von Java-Applikationen vorgestellt. Der Einsatz von Frameworks und Komponentenmodellen wird ebenfalls beleuchtet. Auch das Planen und Überprüfen von Abhängigkeiten zwischen den Modulen einer Applikation – denn Design-Entscheidungen müssen auch im Code wiederzufinden sein – wird anhand von praktischen Beispielen mit verschiedenen Werkzeugen demonstriert.

Kleiner ist besser

Architekturen mit Micro Services

Eberhard Wolff

Freelance Trainer & Consultant / adesso AG
B13 Dienstag, 2. 9., 14:00 – 15:10 Uhr Di de PDF

Micro Services sind ein neues Architektur-Paradigma: Anwendungen werden in kleine Dienste aufgeteilt, die beispielsweise mit REST kommunizieren. Das soll nicht nur Systeme wartungsfreundlicher machen, sondern auch eine breitere Technologie-Auswahl nutzbar machen und zum Beispiel Vorteile für Continuous Delivery bringen.

Dieser Vortrag führt in Micro Services ein und zeigt Vor- und Nachteile dieses Ansatzes auf.

Reactive UIs

Event-gesteuerte Architektur für moderne Applikationen

Thomas Spiegl

IRIAN Solutions GmbH

Manfred Geiler

IRIAN Solutions GmbH
B14 Dienstag, 2. 9., 15:40 – 16:50 Uhr Di de PDF

State-of-the-Art Applikationen basieren auf asynchroner Kommunikation (event-driven), sind skalierbar, robust und „responsive?. Dieses Reactive Design-Pattern lässt sich auch für Client/Server-Architekturen im Hinblick auf das UI gut anwenden. Das OpenSource-Projekt Ankor.io bietet dafür eine gute Grundlage.

Die Referenten zeigen die Architektur anhand praktischer Beispiele, die auf Ankor.io basieren. Wie lassen sich moderne UI-Technologien wie HTML5, JavaFX und Mobile Apps mit einem ereignisgesteuerten Server kombinieren? Können solche Applikationen einfach zu entwickeln und zugleich robust, skalierbar und performant sein?

Angular JS

Die Grundlagen

Philipp Burgmer

Weigle Wilczek GmbH
B15 Dienstag, 2. 9., 17:20 – 18:30 Uhr Di de PDF

AngularJS, das JavaScript-Framework zur Entwicklung von Single-Page-Web-Anwendungen erfreut sich immer größerer Beliebtheit. Trotzdem soll es doch tatsächlich immer noch Leute geben, die noch nichts davon gehört haben! Macht nichts, das holen wir ja jetzt nach! Was ist AngularJS? Was hat es mit Direktiven, Dependency Injection und Data-Binding auf sich? Wie kann ich einsteigen und wie sieht die Lernkurve aus?

In diesem Vortrag zeigt der Referent um was es geht und wie man schnell und einfach loslegen kann!

Android Puzzlers

Kurioses und Unerwartetes in Googles mobiler Plattform

Thomas Künneth

MATHEMA Software GmbH
B16 Dienstag, 2. 9., 20:00 – 21:10 Uhr Di de ZIP

Android ist eine äußerst mächtige und leicht handhabbare mobile Plattform. Im Laufe der Jahre hat Google das System, dessen Programmierschnittstellen und die Entwicklungsumgebung konsequent erweitert, verbessert und von Fehlern befreit. Dennoch hat Android seine dunklen Seiten – unerwartetes Verhalten, lustige bis unsinnige Fehlermeldungen, nicht intuitiv nutzbare APIs.

Dieser Vortrag stellt die skurrilsten Merkwürdigkeiten vor und zeigt, wie man als Anwender und Entwickler damit umgeht.

Moderne Zeiten

Architekturen für eine Next Generation IT

Uwe Friedrichsen

codecentric AG
B21 Mittwoch, 3. 9., 09:40 – 10:50 Uhr Mi de PDF

Die IT ist das Nervensystem praktisch jedes Unternehmens. Das bedeutet, dass die IT-Systeme stets laufen und zügig antworten müssen. Das bedeutet auch: Keine Business-Änderung ohne eine Änderung der IT-Systeme, d. h. die IT limitiert die mögliche Änderungsgeschwindigkeit des Unternehmens. Aber wie können wir Anwendungen designen, die diesen Herausforderungen gerecht werden?

In diesem Vortrag betrachten wir die Treiber und Anforderungen an Next Generation IT-Systeme und versuchen Designkonzepte abzuleiten, die diese adressieren. Helfen Micro Services? Brauchen wir „reactive applications“? Was ist mit Cloud-Provisioning? Zustandslos? Elastisch? Resilient? Was benötigen wir und wie designen wir es? Neben diversen Designkonzepten und einer Menge Tipps und Tricks für die Umsetzung wird dieser Vortrag auch Platz für Diskussionen und Ihre Ideen bieten. Seien Sie dabei und helfen Sie, die Next Generation IT zu gestalten.

Hochmodern

Modernes Web mit Java und GWT

Daniel Kurka

Google Germany GmbH
B22 Mittwoch, 3. 9., 11:20 – 12:30 Uhr Mi de

GWT ist seit 2006 eines der wichtigsten Web-Frameworks. Es werden viele wichtige Anwendungen bei Google mit GWT realisiert. Es ermöglicht Entwicklern kompromisslose Ajax-Anwendungen in Java zu erstellen. Dabei können nicht nur alle bevorzugten Tools aus der Java-Welt verwendet werden, die Anwendungen sind durch den Compiler sogar schneller als von Hand geschriebenes JavaScript. Dabei entwickelt sich GWT stets weiter und unterstützt die neuesten Features in der Web-Entwicklung.
Neben einer Einführung in GWT gibt es in diesem Vortrag einen Einblick in die neuen Features, an denen wir für GWT 2.7 und GWT 3.0 arbeiten, und wie wir den GWT-Compiler zu einem der besten Tools machen um Web-Applikationen in Java zu entwickeln.

Was nicht passt...

Agile Methoden in der Anforderungsanalyse

Christian Pikalek

SOPHIST GmbH

Marius Schmidt-Colberg

SOPHIST GmbH
B23 Mittwoch, 3. 9., 14:00 – 15:10 Uhr Mi de PDF

Haben Sie ihn auch vernommen? Den Ruf nach Agilität in Ihrem IT-Projekt? Auch in Punkto Anforderungsanalyse steigt die Nachfrage nach agilen Vorgehensweisen, denn – mal ehrlich – vollständig agile Projekte, in denen sowohl Analyse und Dokumentation als auch Umsetzung agil vorgehen, finden sich in der Praxis kaum. Dennoch gibt es sie, die agile Anforderungsanalyse und vor allem gibt es agile Methoden, die sich hervorragend in der Analyse einsetzen lassen.

Wenn Sie wissen wollen, wie Sie z. B. User-Stories systematisch im Sinne der Anforderungen ermitteln und dokumentieren können, was Akzeptanzkriterien mit Ihren Anforderungen machen und wie Agilität in der Analyse gelebt werden kann, sind Sie in diesem Vortrag genau richtig. Und: Unsere Erfahrungen aus der Praxis wollen wir Ihnen nicht vorenthalten. Also, seien Sie gespannt!

Clean Code

Carsten Siedentop

PDFUnit.com
B24 Mittwoch, 3. 9., 15:40 – 16:50 Uhr Mi de PDF

Übermitteln statt Dokumentieren

Die Rolle der Dokumentation in agilen Projekten

André Pflüger

SOPHIST GmbH

Alexander Rauh

SOPHIST GmbH
B25 Mittwoch, 3. 9., 17:20 – 18:30 Uhr Mi de PDF

Dokumentation ist in vielen Projekten ein schwieriges Thema, da sie häufig nur als Mittel zur Wissenssicherung gesehen wird und scheinbar keinen direkten Mehrwert erzeugt. Gerade in agilen Projekten ist dies bei Fehlinterpretation eines der agilen Werte (funktionierende Software mehr als umfassende Dokumentation) häufig anzutreffen. Wie aber stellen Sie sicher, dass Sie im Sprint-Meeting alle Informationen korrekt an das Entwicklungsteam übermitteln? Wie konsolidieren Sie unterschiedliche Meinungen, ohne sich dabei in eine langwierige, sich im Kreis drehende Diskussion zu verlieren? Wie erarbeiten Sie sich komplizierte Sachverhalte und wie behalten Sie bei großen Informationsmengen den Überblick? Auf alle diese Fragen können Sie antworten: Mit Dokumentation.

Die Referenten möchten Ihnen in diesem Vortrag zeigen, dass Dokumentation mehr als nur eine von Entwicklern als ungeliebte Arbeit empfundene Tätigkeit ist. Dokumentation ist vielmehr die Voraussetzung zur Erarbeitung, Verarbeitung und Übermittlung von Informationen. Sie ist ein täglich verwendetes Hilfsmittel, was nicht zwingend zu unnötigen Papierbergen führt. Anhand eines von uns begleiteten agilen Entwicklungsprojektes aus dem Java EE-Bereich möchten wir Ihnen verdeutlichen, wie Sie eine projektspezifische Dokumentationsstrategie festlegen und ggf. an sich ändernde Rahmenbedingungen anpassen können.

Fluent Interfaces

Heiner Kücker

B26 Mittwoch, 3. 9., 20:00 – 21:10 Uhr Mi de PDF

Total abgemeldet – oder doch nicht?

Web-Security bei Login- und Session-Management

Dr. Stefan Schlott

BeOne Stuttgart GmbH
B31 Donnerstag, 4. 9., 09:40 – 10:50 Uhr Do de PDF

SQL-Injection und Cross-Site-Scripting sind inzwischen vielen Entwicklern geläufig; das Thema Login, Session-Management und Verwaltung der Benutzerdaten wird hingegen eher stiefmütterlich behandelt – zu Unrecht, rangieren Probleme in diesem Bereich doch unter den ersten Plätzen der häufigsten Sicherheitslücken. Im Gegensatz zu den zuerst genannten Bereichen gibt es hier keine einfache Bibliothekslösung.

Dieser Vortrag möchte Denkanstöße geben, was abseits vom einfachen Anlegen einer Session und dem Speichern des Benutzerpasswortes passieren kann – und auf Möglichkeiten der Authentisierung hinweisen, die sicherer sind als ein einfaches Passwort.

Meine Friseurin und die Agilität

Requirement Engineering beim Haareschneiden

Udo Wiegärtner

conplement AG
B32 Donnerstag, 4. 9., 11:20 – 12:30 Uhr Do de PDF

Tagebucheintrag eines Scrum Masters: Beim Friseur gewesen. Mit Erschrecken festgestellt, dass die Friseurin mehr agile Prinzipien lebt als ich mit meinem Software-Team. Wie kann das sein, die kennt Scrum doch gar nicht? Was, wenn da draußen noch viel mehr Berufsgruppen sind, von denen wir uns in Sachen Agilität mehrere Scheiben abschneiden können?

Mein Vorsatz: Ich gehe jetzt raus, beobachte ein paar IT-fremde Berufe und frage nach. Mein Ziel: Am Ende will ich wieder agiler sein als meine Friseurin. Die Ergebnisse dieser Interviews teile ich danach in einem Vortrag mit der Developer-Community.

Wer braucht das schon?

Unternehmensarchitektur im agilen Zeitalter

Ramon Anger

Capgemini Deutschland GmbH
B33 Donnerstag, 4. 9., 14:00 – 15:10 Uhr Do de PDF

Enterprise Architecture hat in unserer heutigen, auf agile Software-Entwicklung ausgerichteten, Welt überlebt: EA-Prozesse sind langsam, schwergewichtig und so gar nicht agil. EA richtet sich zu wenig am Geschäft aus und scheint irgendwie dem Elfenbeinturm entsprungen zu sein. Da scheint die Frage berechtigt, ob wir EA überhaupt noch brauchen?

Der Vortrag versucht diese Frage zu beantworten und beschreibt Ansätze, wie Enterprise Architecture – richtig ausgerichtet – für agile Software-Entwicklung einen echten Mehrwert bieten kann.

Size Does Matter

Antifragility mit Micro Services

Ralph Winzinger

Senacor Technologies AG
B34 Donnerstag, 4. 9., 15:40 – 16:50 Uhr Do de PDF

Begriffe wie Mirco Services und Antifragility geistern aktuell durch die Welt und deuten darauf hin, dass sich neue Architekturparadigmen ankündigen. Auf jeden Fall verstecken sich hinter diesen Begriffen neue Ideen, wie man nicht nur Teams sondern auch Software agil gestalten kann. Was sind Micro Services und wie können sie uns beim Design, der Entwicklung und dem Betrieb von Software-Systemen helfen? Wir verwenden überall Mittel zur Dekomposition – Methoden, Klassen, Packages und Module. Und am Ende wird ein großer Monolith geschnürt und in die Produktion gebracht.

Micro Services führen den Gedanken der Dekomposition weiter bis in die Laufzeitumgebung und ermöglichen somit das Design eines echt lose gekoppelten Systems. Derartige Systeme bauen darauf auf, mit dem Ausfall einzelner Komponenten leben zu können, sind testbarer und wartbarer. Nicht zuletzt unterstützen sie die Idee des Continuous Delivery, welche ebenfalls davon lebt viele kleine Änderungen in die Produktion zu bringen, statt eines großen Releases. Die dadurch entstehende Flexibilität in der Software-Entwicklung ermöglicht es nicht nur organisatorisch, sondern auch technisch eines der Paradigmen der agilen Software-Entwicklung zu verfolgen: Embrace Change!

Die wunderbare Welt der Graphen

Eine Einführung in Neo4j

Stefan Armbruster

Neo Technology
C12 Dienstag, 2. 9., 11:20 – 12:30 Uhr Di de PDF

NoSQL-Technologien sind jetzt in aller Munde, und das Interesse daran steigt immer weiter. Der Aufklärungsbedarf ist enorm, da die Verantwortung für die Entscheidung für Technologien immer mehr in den Händen der Entwickler liegt. Die meisten nichtrelationalen Datenbanken kümmern sich bisher nur um den Aspekt der riesigen Datenmenge, aber nicht der hohen (und steigenden) Komplexität der zu verarbeitenden Domäne. Große Firmen wie Google, Facebook und Twitter entwickeln zwar ihre eigenen In-House-Lösungen für die Verarbeitung vernetzter Daten, aber auch für uns Normalverbraucher gibt es erfolgreiche Alternativen im OpenSource-Umfeld.

Neo4j wird schon seit über 10 Jahren entwickelt und ist die ausgereifteste Datenbank in diesem Segment. Graphendatenbanken modellieren Informationen als Knoten, die durch gerichtete, getypte Kanten (oder Verbindungen) verknüpft werden. Beide können beliebige Attribut-Wert-Paare enthalten. Wie viele NoSQL-Lösungen ist Neo4j in Java programmiert, und bietet somit Entwicklern auf der JVM besonders gute Integration, sowohl die Bibliotheken und APIs für Programmiersprachen auf der JVM als auch die Möglichkeit Neo4j eingebettet in der eigenen Anwendung laufen zu lassen. Es gibt aber auch viele Treiber für die meisten anderen Programmiersprachen, die den Neo4j-Server nutzen.

Container verschiffen

Continuous Delivery mit Docker

Dr. Halil-Cem Gürsoy

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

Bei Docker handelt es sich um ein System, mit dessen Hilfe sich sehr leichtgewichtige und selbstständige Container für Applikationen aufbauen lassen. Diese Container können von einfachen „echo 'Hallo Welt'“-Applikationen bis hin zu komplexen Application Server-Installationen alles enthalten. Einmal gebaut, werden diese Container von der Entwicklung bis hin zur Produktion promoted.

Wie dies konkret funktioniert und welche Vorteile wir daraus in Entwicklungsprojekten ziehen können, werden wir im Detail betrachten.

Gesucht und gefunden

Solr vs. Elasticsearch

Markus Klose

SHI GmbH & Co. KG
C14 Dienstag, 2. 9., 15:40 – 16:50 Uhr Di de PDF

Die beiden Shooting Stars Apache Solr und Elasticsearch haben zuletzt viel Aufmerksamkeit genossen. Und das nicht nur infolge der Akquisitionswut der Großen in Bezug auf proprietäre Technologiehersteller und der daraus resultierenden Welle der Verunsicherung. Das technologische Fundament hat sich in zahlreichen Projekten, unter äußersten Bedingungen als stabil erwiesen, das Lizenzmodell als attraktiv und das Ökosystem als gesund. Wenn da nur nicht die Qual der Wahl wäre.

Um Ihnen die Entscheidung zu erleichtern, stellt der Referent in diesem Vortrag beide Such-Server in einem objektiven Vergleich vor.

Bullseye

Ein Blick auf Dart

Florian Hirsch

adorsys GmbH & Co. KG
C15 Dienstag, 2. 9., 17:20 – 18:30 Uhr Di de ZIP

Mit Dart hat sich Google das Ziel gesetzt JavaScript als Lingua Franca des Webs abzulösen. Zwei Jahre nach der ersten Ankündigung wurde Ende 2013 die Version 1.0 vorgestellt. Seitdem wird Dart von Google produktiv eingesetzt.

Am Beispiel einer kleinen Web-Anwendung zeigt der Vortrag wie Dart tickt und was es anders macht als JavaScript.

Vertragsgemäß

Design By Contract, aber zur Übersetzungszeit

Heiner Kücker

C16 Dienstag, 2. 9., 20:00 – 21:10 Uhr Di de ZIP

Moderne Programmiersprachen wie Haskell oder Scala beeindrucken mit hochentwickelten Typ-Systemen und versprechen die Vermeidung von Fehlern bereits zur Kompilierzeit. Mit einem Code-Generator ist manches davon auch mit dem (guten) alten Java möglich.

Der Stack für neue Mobile-Apps

AngularJS, Ionic und PhoneGap

Philipp Burgmer

Weigle Wilczek GmbH
C21 Mittwoch, 3. 9., 09:40 – 10:50 Uhr Mi de PDF

Durch die Fragmentierung der mobilen Betriebssysteme gewinnt der alte Java Slogan „Write once run everywhere“ wieder an Bedeutung. Web-Technologien haben sich bei der App-Entwicklung in den letzten Jahren zu einer echten Alternative zu nativen Sprachen und SDKs entwickelt. Mithilfe von HTML5, JavaScript und Frameworks wie PhoneGap, AngularJS und Ionic lassen sich plattformunabhängige und dennoch für den Benutzer nativ wirkende Apps entwickeln.

In diesem Vortrag zeigt der Referent wie der Stack für so eine App aussieht, welches Tool für was zuständig ist und demonstriert anhand einer kleinen Demo-Anwendung wie die Entwicklung abläuft.

The Joy of Programming

Eine Einführung in die Sprache Ruby

Johannes Held

FAU Erlangen-Nürnberg /Lehrstuhl für Informatik 6
C22 Mittwoch, 3. 9., 11:20 – 12:30 Uhr Mi de PDF

Dieser Vortrag dient als Einführung in die objektorientierte Sprache Ruby. Nach einem kurzen Ritt durch die Entwicklungsgeschichte und Designprinzipien geht es los mit der Syntax, den angebotenen Datentypen, der Magie von Blöcken und weiteren Feinheiten dieser wundervollen Sprache, wie beispielsweise die zwei Gesichter des Exceptionhandlings. Klassen, Module Mixins, Reflection und Meta-Programmierung sind weitere Schlagworte. Zu guter Letzt befassen wir uns mit JRuby (Ruby auf der JVM).

Die ganze Wahrheit

Ecmascript 6

Lars Gersmann

Content Management AG
C23 Mittwoch, 3. 9., 14:00 – 15:10 Uhr Mi de PDF

Seit Mai 2011 befindet sich Ecmascript 6 im „Proposal Freeze?-Status – Zeit, sich die Neuerungen genauer anzuschauen. Ecmascript 6 erweitert nicht nur vorhandene Klassen und die Syntax, sondern bringt auch neue langersehnte Klassen wie Map, Set und Proxy mit. Die wohl gravierendsten Veränderungen sind aber Scoping, Virtualisierung, Modularisierung, Template Strings und Generatoren.

Der Vortrag wird sowohl die neuen Features im Detail beleuchten als auch deren Vorteile erläutern. Den Abschluss wird die Anwendbarkeit von ES6 in aktuellen Browsern (mittels Shims und Transpilern) und Node.js bilden, sodass Entwickler erfahren, wie und warum sie schon heute „aufwärtskompatiblen? und eleganteren JavaScript-Code schreiben können.

Schemafrei

PostgreSQL: Die NoSQL-Datenbank, die keiner kennt

Stephan Hochdörfer

bitExpert AG
C24 Mittwoch, 3. 9., 15:40 – 16:50 Uhr Mi de PDF

PostgreSQL ist dafür bekannt ein „klassisches“ relationales Datenbanksystem zu sein. Dass PostgreSQL seit geraumer Zeit auch mit schemafreien Daten arbeiten kann ist nur wenigen bekannt.
Der Vortrag gibt einen Überblick über die neuen Features von PostgreSQL im Umgang mit schemafreien Daten und zeigt auf, warum es durchaus Sinn machen kann ein RDBMs als NoSQL-Backend einsetzen zu wollen.

Berühren verboten!

Berührungsfreie Interfaces in der industriellen Fertigung

Dr. Hariolf Betz

eXXcellent solutions gmbh

Stefan Partsch

Wieland Werke AG
C25 Mittwoch, 3. 9., 17:20 – 18:30 Uhr Mi de PDF

Die Gestenerkennungs-Hardware „Kinect“ von Microsoft kam Ende 2010 als Spielgerät in den Handel. Gut drei Jahre später unterstützt die Kinect die Diagnose neurologischer Erkrankungen, ermöglicht die berührungsfreie Bedienung medizinischer Software während chirurgischer Eingriffe, verbessert Videokonferenz-Systeme und hilft bei der Überwachung der innerkoreanischen Grenze. Zeichnet sich hier eine Revolution ab, die die IT-Welt nachhaltig verändern wird?

In diesem Vortrag stellen wir die prototypische Implementierung einer Gestensteuerung für eine industrielle Fertigungsanlage vor. Wir diskutieren die technologischen Anforderungen einer solchen Steuerung, besprechen den verwendeten Technologie-Stack und wägen die Chancen berührungsfreier Interfaces im industriellen Umfeld ab.

Ganz unten

Des Programmierers kleine Vergnügen

Michael Wiedeking

MATHEMA Software GmbH
C26 Mittwoch, 3. 9., 20:00 – 21:10 Uhr Mi de

Was macht man eigentlich, wenn man Operationen braucht, die auf der Zielplattform nicht verfügbar sind? Was macht man also, wenn man etwa mit vorzeichenlosen Zahlen arbeiten will, diese aber unter Java einfach nicht verfügbar sind? Wie findet man heraus, wie viele Bits in einem Wort gesetzt sind? Und wie implementiert man eigentlich beliebig große Zahlen?

In diesem Vortrag geht es um das vergnügliche „Frickeln“ mit Bits und Bytes, so dass dem geneigten Programmierer all das zur Verfügung steht, was sein Herz begehrt. Dabei lernt man, wie Zahlen im Rechner repräsentiert werden, wie man diese manipulieren kann und warum und wie man gelegentlich schneller ans Ziel kommt, wenn man Bedingungen vermeiden kann.

Die Wahl der Waffen

jQuery mobile und Sencha Touch im praktischen Vergleich

Werner Eberling

MATHEMA Software GmbH
C31 Donnerstag, 4. 9., 09:40 – 10:50 Uhr Do de PDF

Web-Anwendungen gelten inzwischen als die Geheimwaffe zur Beherrschung der heterogenen Welt mobiler Endgeräte. Im Zusammenspiel mit hybriden Ansätzen, wie z. B. PhoneGap bieten sie eine (mehr oder weniger) einfache Möglichkeit zur Gestaltung mobiler Oberflächen. Doch die Anzahl der Frameworks zur Gestaltung von Web-Seiten für mobile Endgeräte ist groß. Anhand eines praktischen Beispiels werden im Rahmen dieses Vortrags zwei bekannte Vertreter ihrer Zunft (jQuery Mobile und Sencha Touch) vorgestellt.

Ziel des Vortrags ist es, den Teilnehmern die Möglichkeit zu geben ein Gefühl dafür zu bekommen, wie sich die einzelnen Frameworks „anfühlen“ ohne sich tief in deren Theorie einarbeiten zu müssen.

Noch eine!?

Eine neue Hochsprache für JVM und CLR

Michael Wiedeking

MATHEMA Software GmbH
C32 Donnerstag, 4. 9., 11:20 – 12:30 Uhr Do de

AL3 ist eine neue Hochsprache für diverse Plattformen, insbesondere aber für .NET und Java. Aufbauend auf dem AL1 Assembler, mit dem Bytecode für virtuelle Maschinen erzeugt werden kann, erweitert diese objektorientierte und funktionale Sprache die Möglichkeiten von C# und Java etwa um primitive, komplexe und rationale Zahlen, große Arrays mit long-Indizes, Schnittstellenverträge, Einheiten und vieles mehr. Darüber hinaus kann AL3 recht einfach erweitert werden.

Dieser Vortrag gibt eine kurze Einführung in AL3, zeigt einige der besonderen Möglichkeiten und demonstriert, wie einfach die Sprache erweitert werden kann.

Spring MVC

Gerrit Meier

T-Systems on site services GmbH
C33 Donnerstag, 4. 9., 14:00 – 15:10 Uhr Do de PDF

Unsichtbar

Entwurf und Entwicklung interaktiver Bedienkonzepte für Sehbehinderte

Mandy Goram

TREvisto GmbH
C34 Donnerstag, 4. 9., 15:40 – 16:50 Uhr Do de PDF

Mobile Endgeräte und Applikationen integrieren und etablieren sich immer stärker in unserem Alltag. Egal ob Smartphone oder Tablet, jeder kann fast immer und überall auf die vielfältigen Anwendungen zugreifen. Wirklich jeder? Menschen mit Sehbehinderung können das nicht! Zwar gibt es Screenreader für mobile Endgeräte, zum Vorlesen von Texten, dennoch sind fast alle mobilen Applikationen für diese Menschen unzugänglich, da sie deren Bedürfnisse nicht berücksichtigen.

Der Beitrag thematisiert, was bei der Entwicklung mobiler Anwendungen für sehbehinderte Menschen zu beachten ist und wie spezielle Interaktionsmechanismen in die Anwendung integriert werden können. Er zeigt eine mögliche Herangehensweise beim Entwurf und der Entwicklung mobiler Anwendungen mit Android für Menschen mit Sehbehinderung auf. Ziel ist es Entwickler für die Bedürfnisse dieser Menschen zu sensibilisieren, um die Entwicklung geeigneter Anwendungen für Sehbehinderte voranzutreiben. Dadurch soll ein Zugang zu mobilen Technologien unterstützt und die alltägliche Nutzung ermöglicht werden.

Der Vortrag gibt Anhaltspunkte und Ideen, was beim Entwurf beachtet werden sollte und wie Interaktionsmechanismen gestaltet werden können. Während des Vortrags erfolgt die Vorführung einer Android-App die für Sehbehinderte entworfen und entwickelt wurde.

Kryptokalypse now?

Apache Tomcat aber sicher!

Frank Pientka

MATERNA GmbH
J12 Dienstag, 2. 9., 11:20 – 12:30 Uhr Di de PDF

Sicherheit wird im Internet groß geschrieben. Trotzdem hat die Zahl der Sicherheitslücken erschreckende Ausmaße angenommen. Am Beispiel des am meisten verbreiteten Java-Web-Servers Apache Tomcat wird gezeigt, welche Angriffsszenarien es gibt und was man dagegen tun kann.

Mit aktuellen Gefahrenpotentialen nach OWASP und CVE werden Lösungen mit Tomcat 8 und Java 8 diskutiert. Mit wenigen konsequent und regelmäßig durchgeführten Maßnahmen lässt sich das Sicherheitsniveau erhöhen. Eine gute Möglichkeit sein Wissen zum Thema Web-Sicherheit und Verschlüsselung aufzufrischen und sich auf Herausforderungen der Zukunft frühzeitig vorzubereiten.

JSF trifft JavaScript

JSF-Komponenten mit JavaScript für Enterprise-Anwendungen

Sven Kölpin

open knowledge GmbH
J13 Dienstag, 2. 9., 14:00 – 15:10 Uhr Di de PDF

Komponentenbibliotheken wie Primefaces und Richfaces stellen für die Entwicklung von JSF-Anwendungen eine Vielzahl komplexer Komponenten bereit. Aber der ersten Euphorie folgt die Ernüchterung. Und statt der erhofften Vorteile muss man sich mit neuen Problemen befassen. Dabei kann man sich mit HTML5, JavaScript, Composite Components und der Behavior API maßgeschneiderte Erweiterungen für die eigene Anwendung schaffen. 

Der Vortrag zeigt wie man für eine JSF-Anwendung dynamische und wiederverwendbare Bausteine für die eigene Anwendung realisieren kann.

Enterprise Java in JavaScript

Avatar: Mehr als nur Node.js auf der JVM

Heiko Spindler

Qualitects Group

Niko Köbler

Qualitects Group
J14 Dienstag, 2. 9., 15:40 – 16:50 Uhr Di de PDF

Aktuell sind leichtgewichtige Architekturen gefragt, in denen der Server lediglich die Ressourcen per (REST-/Push-)Services zur Verfügung stellt und ein großer Teil der Logik in HTML5-Clients per JavaScript implementiert ist. Das Projekt Avatar macht mit seiner Thin-Server-Architektur (TSA) Java EE-Ressourcen direkt per JavaScript zugreifbar, egal ob auf dem Application-Server (Service Components) oder dem Client (View Components). Server-seitig basiert Avatar auf der Node-Implementierung für die JVM
(Avatar.js für die Nashorn Scripting-Engine) und stellt somit fast die gesamte Node.js-API zur Verfügung. Es nutzt ebenfalls das Node-Programmingmodel einer Single Threaded Event-Loop (REPL) – falls gewünscht, auch parallel in mehreren Threads. Auf dem Client sorgt das Framework für das Binding der Ressourcen an HTML5-Widgets und beschränkt sich dabei auf so wenig JavaScript wie möglich, und nur so viel wie gerade nötig. Die Programmierung erinnert hier stark an die Expression Language und ist so für den erfahrenen Java-Entwickler einfach umsetzbar. Da bei einer TSA Client und Server losgelöst voneinander sind und nur protokollbasiert miteinander kommunizieren, ist die Verwendung der View Components nicht zwingend nötig. Hier kann der Entwickler auf das Framework seiner Wahl zurückgreifen.

Die Live-Demo zeigt, wie eine vollständige Java EE-Applikation ganz ohne Java-Code erstellt werden kann, nur mit dem Einsatz von JavaScript.

Kein blasses Schema?

NoSQL mit JPA und Hibernate OGM

Thomas Much

muchsoft.com
J15 Dienstag, 2. 9., 17:20 – 18:30 Uhr Di de PDF

In der Java-Welt ist Hibernate der bekannteste Vertreter der objekt-relationalen Mapper (ORM), mit denen Domänen-Objekt-Modelle auf relationale Datenbanken abgebildet werden können. Die API ist seit langem als JPA (Java Persistence) standardisiert, aber die immer häufiger eingesetzten NoSQL-Datenbanken blieben bisher außen vor bzw. mussten mit den produktspezifischen Schnittstellen angesprochen werden. Hibernate OGM (Object/Grid Mapping) verwendet nun die bekannten JPA-Konzepte, um auch NoSQL-Datenbanken wie MongoDB oder Neo4j anzubinden. Java-Programmierer können dadurch auf die unterschiedlichsten Datenbanksysteme zugreifen – mit einer einheitlichen Schnittstelle, die vielen bereits geläufig ist.

Dieser Vortrag zeigt, wie erstaunlich gut JPA und NoSQL zusammenpassen und welche Einsatzmöglichkeiten sich daraus für Hibernate OGM ergeben. Und natürlich auch, wo die Grenzen eines solchen vereinheitlichenden Ansatzes liegen.

Supernova

Java 8, Lambdas und Streams

Michael Wiedeking

MATHEMA Software GmbH
J21 Mittwoch, 3. 9., 09:40 – 10:50 Uhr Mi de

Mit dem Erscheinen des JDK 8 wurde Java nicht nur um Lambdas erweitert, sondern hat auch umfangreiche Änderungen bei den Collections mit sich gebracht. Erstere versprechen nicht nur ein völlig neues Programmiergefühl, vielmehr wird damit ein Programmieren möglich, mit denen zweitere praktisch ohne explizites Zutun des Programmierers, das Beste aus einem Multicore-Rechner herausholen.

Dieser Vortrag beschäftigt sich mit den Lambdas, erläutert was die neuen Collections mit sich bringen, beschäftigt sich ausführlicher mit den Streams und zeigt wie diese auch performanzsteigernd in einem parallelen Umfeld eingesetzt werden können.

Im Schatten der Lambdas

Weitere interessante Neuerungen in Java 8

Ralph Henze

Sparda-Datenverarbeitung eG
J22 Mittwoch, 3. 9., 11:20 – 12:30 Uhr Mi de PDF

Die Java-Welt schaut derzeit gebannt auf die neuen Sprachmöglichkeiten in Java 8. Dabei stehen meist Lambda-Ausdrücke, Streams und Methoden-Referenzen im Vordergrund. Jedoch bringt Java 8 auch weitere wissenswerte Neuerungen mit, die es verdienen, erwähnt zu werden anstatt im Lambda-Hype unterzugehen.

Dieser Vortrag beschäftigt sich mit neuen Features von Java 8 jenseits von Lambda-Ausdrücken. Dazu zählen Optionals, Concurrent Adders, StampedLocks, Overflow-sichere arithmetische Operationen, Verbesserungen an der File-API sowie die neue Date Time API (letztgenannte kann aufgrund des Umfangs jedoch nur rudimentär betrachtet werden). Alle Features werden erklärt und ihre Verwendung anhand von konkreten Code-Beispielen gezeigt.

Schnelle Winkel

Zehn Mal schneller mit AngularJS statt JSF

Benjamin Schmid

eXXcellent solutions gmbh

Rainer Schneider

eXXcellent solutions gmbh
J23 Mittwoch, 3. 9., 14:00 – 15:10 Uhr Mi de PDF

Server-seitige Web-Technologien waren lange Zeit das Mittel der Wahl für Java-basierte Web-Anwendungen. Der Trend jedoch geht immer mehr zu JavaScript-basierten und damit Client-seitigen Web-GUIs. Wir werfen dazu einen Blick auf Google's AngularJS und erläutern an plastischen Beispielen seine Kernkonzepte und Funktionsweise. Was zeichnet AngularJS für die Realisierung der im Java-Umfeld häufig vertretenen, datengetriebenen Anwendungen besonders aus und wie fühlt sich die Entwicklung damit im direkten Vergleich dazu an?

Ein konkretes Fallbeispiel aus der Praxis, bei dem wir durch den Wechsel von einer JSF/Portlet-basierten Portal-Lösung hin zu einem AngularJS-basierten Ansatz bei identischem JEE-Backend und Funktionalität Performanz-Gewinne im Bereich von Zehnerpotenzen realisieren können, zeigt dabei auf, dass sich dieser Paradigmenwechsel durchaus lohnen kann! Dabei greift das Projektbeispiel die bestehende Umsetzung einer B2C Portal-Lösung basierend auf Liferay, JSF und IceFaces auf, welche bereits kleineren Nutzerzahlen nicht mehr ordentlich gewachsen war. Durch einen Austausch des Frontends mit einem AngularJS-basierten Stack und gleichzeitigem Erhalt des gut geschnittenen JEE-Backends, konnte nicht nur eine massive Verbesserung der Performanz und Skalierbarkeit sondern auch eine bessere User Experience (snappier, schicker, interaktiver) realisiert werden. Auf der anderen Seite hat das JavaScript-Umfeld und damit AngularJS auch einige scharfe Ecken und Kanten, die dem klassischen Java-Entwickler auch die Vorteile der Java-Plattform nochmals sehr verdeutlichen.

Dieser Vortrag verbindet somit eine sehr konkrete Projekterfahrung mit der Vorstellung und Einführung in AngularJS, seinen Konzepten und seinem Ökosystem aus Sicht klassischer Java-Entwickler.

Avatar

Erweiterung der Java EE-Plattform für JavaScript-Fans

Peter Doschkinow

ORACLE Deutschland B.V. & Co. KG
J24 Mittwoch, 3. 9., 15:40 – 16:50 Uhr Mi de PDF

Avatar ist ein OpenSource End-to-End JavaScript-Framework zur Vereinfachung der Erstellung von HTML5-Anwendungen. Das Framework setzt auf einer Thin-Server-Architektur auf, bei der UI-Logik und Zustand komplett auf dem Client bleiben, während der Server nur die statischen Ressourcen der Anwendung bereitstellt und Data-Services über REST-Schnittstellen und/oder Push-Protokolle wie WebSocket und Server-Sent-Events exponiert. Für HTML5-Clients bietet Avatar eine MVC-Architektur und Model-View-Bindings für eine Reihe von UI-Widgets, die mit der Expression-Language von Java EE 7 formuliert werden. REST-Services, WebSockets und Server-Sent-Events werden Out-of-the-Box unterstützt. Server-Komponenten können auf einer Implementierung von Node.js auf der JVM aufsetzten und auch auf Java- und Java EE-Komponenten zugreifen.

Der Vortrag erläutert die wichtigsten Konzepte des Avatar-Frameworks und wird mit Demos auf GlassFish und WebLogic begleitet.

Parallelisierung eines Compilers

Michael Wiedeking

MATHEMA Software GmbH
J25 Mittwoch, 3. 9., 17:20 – 18:30 Uhr Mi de

Blick in die Glaskugel

Die Oracle GlassFish Strategie und wie es mit Java EE 8 weitergeht

Wolfgang Weigend

ORACLE Deutschland B.V. & Co. KG
J31 Donnerstag, 4. 9., 09:40 – 10:50 Uhr Do de PDF

Nach der Ankündigung im November 2013, keinen kommerziellen Oracle-Support für GlassFish 4 mit Java EE 7 anzubieten, wurden die Fakten von der Java-Community intensiv diskutiert. Es werden alternative Lösungswege für kommerziellen GlassFish-Support dargestellt. Oracle wird weiterhin die Entwicklung des GlassFish-Servers, als strategische OpenSource-Plattform im Java EE-Bereich und das GlassFish-Projekt, mit einem fest zugeordneten Entwickler-Team unterstützen. Dies umfaßt die Bereitstellung der zukünftigen Java EE-Referenzimplementierung (RI). Im Java-Community-Process ist verankert, dass der Specification Lead eine Implementierung zum Nachweis der Umsetzung der verschiedenen Spezifikationen erbringen muss.

GlassFish ist die RI für Java EE und nach Planung wird GlassFish 5.0 die Java EE 8-Spezifikation implementieren. Dies beinhaltet die Erstellung vom Java EE-SDK mit Tutorien, Beispielen und der Dokumentation für Java-Entwickler. Die GlassFish OpenSource-Edition (OSE) ist fester Bestandteil von Oracle und wird als kostenloser, OpenSource-basierter Server zum Deployment von Java EE-Anwendungen angeboten. Die Planung beinhaltet ein jährliches Release mit Bug-Fixes und Updates für GlassFish. Die Weiterentwicklung von Java EE 8 unter Einbeziehung der Java-Community wird fortgeführt und dazu wurde eine zweistufige Community-Umfrage durchgeführt. Die Ergebnisse der Java EE 8-Umfrage liegen bereits vor und werden im Vortrag besprochen.

Java Persistence in Action

Einsatz von JPA 2.x in Java EE-Anwendungen

Dirk Weil

GEDOPLAN Unternehmensberatung und EDV-Organisation GmbH
J32 Donnerstag, 4. 9., 11:20 – 12:30 Uhr Do de PDF

Der überwiegende Teil von Unternehmensanwendungen nutzt O/R-Mapper zum Zugriff auf Datenbanken. Reicht dafür der Standard JPA 2.x oder braucht man zwingend spezielle Eigenschaften von Hibernate, Eclipselink oder OpenJPA? Soll man transaktionsgebunden oder konversationsorientiert arbeiten? Welche Neuerungen bringt uns JPA 2.1?

Dieser Vortrag beantwortet die Fragen anhand diverser Beispiele aus der Praxis.

Aber sicher!

Mehr Typsicherheit in Java 8

Róbert Bräutigam

MATHEMA Software GmbH
J33 Donnerstag, 4. 9., 14:00 – 15:10 Uhr Do de PDF

Jedes neue Werkzeug braucht eine gewisse Zeit bis die Benutzer lernen können, wann und wie sie es korrekt einsetzen können. So ist es auch mit Lambdas in Java 8. Ohne Zweifel ist es ein mächtiges Konstrukt, aber mit Macht kommt auch Verantwortung hinzu, deshalb muss man aufpassen es nur für „gute“ Zwecke einzusetzen. Ein guter Zweck ist z. B. die Typsicherheit im Code zu erhöhen. Typsicherheit, kurz und unvollständig gesagt, ist die Eigenschaft des Codes Fehler durch zusätzliche Beschränkungen auf Werte (Variablen, Parameter, Rückgabewerte, usw.) zu verhindern. Damit erreicht man, dass Fehler sich nicht zur Laufzeit sondern schon beim Compilieren manifestieren.

Dieser Vortrag stellt ein ganz einfaches (aber nicht triviales) Problem aus dem JEE/Middleware-Bereich vor und demonstriert Schritt für Schritt durch Live-Coding wie man dieses Problem so umformulieren kann (mit der Hilfe von Java 8 und Lambdas), dass man für die Lösung (fast) nur roten Kreuzchen im Eclipse folgen muss. Jeder Schritt ergibt sich automatisch, ohne sich dabei auf Mengenlehre oder funktionale Programmierung zu berufen, oder in die Theorie von Lambdas eingehen zu müssen.

Pronto!

UIs auf Fingerschnippen mit Naked Objects

Jan Leßner

arvato IT services GmbH
J34 Donnerstag, 4. 9., 15:40 – 16:50 Uhr Do de PDF

Das Architekturmuster „Naked Objects“ verspricht einen hocheffizienten Weg zur weitgehend automatischen Ableitung von UIs aus einem sauberen, objektorientierten Entwurf der Geschäftsobjekte. Die Implementierung des Patterns war allerdings immer eine erhebliche Herausforderung. Aber die Zeiten wandeln sich und inzwischen liegen viele Grundbausteine vor, die eine solche Architektur möglich machen, wie z. B. der Bean Validation Standard, flexible Layout-Manager und Frameworks für Window-Docking.

Der Vortrag stellt eine Java-Implementierung für Swing und Wicket vor, die seit einigen Jahren für den Bau von Servicecenter-Applikationen Verwendung findet und seit Kurzem OpenSource verfügbar ist. Spannende Abfallprodukte sind die erhebliche Steigerung automatisierter Unit-Tests durch einen POJO-Ansatz und einen Modus für Fast Prototyping auf Klassenstrukturen ganz ohne Objekte.

Babelfischchen

Einführung in Xtext

Andreas Heiduk

MATHEMA Software GmbH
T01 Montag, 1. 9., 09:40 – 18:30 Uhr Tutorium Mo de

Mit Xtext ist es sehr einfach möglich, eigene domänenspezifische Sprachen (DSLs) zu entwerfen. Dabei unterstützt Xtext nicht nur beim Entwurf der Grammatik! Vielmehr ist die vollständige Integration in Eclipse mit allen aus Eclipse gewohnten Schikanen das Maß der Dinge. Dazu gehören die sofortige Syntax-Prüfung, strukturierte Outline-View, Code-Completion, automatische Code-Formatierung, Hyperlink-Navigation sowie inkrementelle Generatoren inklusive einer komfortablen Template-Sprache. Dies und vieles mehr erhält man ohne großen Aufwand.

Dieses Tutorium ist eine Einführung in die Grundlagen von Xtext. Sie lernen, wie die einzelnen Module zusammenspielen und angepasst werden können. Machen Sie sich dieses mächtige Werkzeug zunutze!

Intro to Neo4j

Stefan Armbruster

Neo Technology
T02 Montag, 1. 9., 09:40 – 18:30 Uhr Tutorium Mo de

Dieses Neo4j-Tutorium führt in die Funktionsweise und Nutzung der Neo4j Graphendatenbank ein. Durch eine Mischung aus Theorie und praktischen Übungen können die Teilnehmer schnell erlernen, wie einfach es ist, eine auf Neo4j-basierende Applikation zu erstellen.

Die Themen im Einzelnen:
- Einführung in Neo4j
- Überblick über die Abfragesprache Cypher
- Darstellung eines Anwendungsfalls: Soziales Netzwerk, inklusive Freundes-Empfehlung
- praktische Modellierung von Zugriffsrechten
- Modellierung weiterer Anwendungsfälle in verschiedenen Gebieten
- Diskussion von Fragen zu bestehenden Projekten, mögliche Implementierungsstrategien, Evaluations-Ansätze

Die Teilnehmer benötigen keinerlei Erfahrung mit Neo4j, mit NoSQL-Datenbanken oder spezifischen Programmiersprachen. Erfahrungen mit Datenbanken im Allgemeinen sind hilfreich. Sie benötigen aber einen eigenen Laptop für eine Installation von Neo4j.

Jedem seine eigene Teststage

Den ganzen Zoo auf einem Rechner

Stefan Hildebrandt

T03 Montag, 1. 9., 09:40 – 18:30 Uhr Tutorium Mo de

Wer schon mal in einem größeren Team mit einer zentralen Entwicklungs- und Testumgebung gearbeitet hat, wird wissen, was dort allerhand Kompromisse eingegangen werden müssen: relativ seltene Deployments, die dann genau zur falschen Zeit, viele Abstimmungen, inkompatible Schnittstellen und Datenbankschema zur lokalen Version, etc.. Wie schön wäre es doch seine eigene definierte Umgebung zu haben. Dies ist nun mit Werkzeugen aus der DevOps-Bewegung, die unter dem Begriff „Infrastructure as Code“ laufen, möglich. Mit diesen Mitteln sind auch Continous Integrationsumgebungen für mehrere Branches einfach umzusetzen, so dass der Code vor der Integration in zentrale Branches bereits getestet ist. Bei ausreichend hoher Testabdeckung können die erstellten Artifacte direkt für Deployments bereitgestellt werden (continous delivery).

In diesem Tutorium werden anhand eines konkreten Beispiels alle Schritte durchgegangen, um auf dem eigenen Rechner eine Laufzeitumgebung für eine typische Java-Applikation mit einem Datenbank-Server einzurichten. Hierzu werden primär vagrant, puppet und VirtualBox genutzt. Weiterhin wird ein Ausblick auf den Einsatz im CI-Server, mehrerer VMs und Docker gegeben.

Voraussetzungen: Programmierkenntnisse, keine Angst vor Linux, ein Notebook mit 64Bit CPU und Virtualisierungsunterstützung, 4GB Ram und 8GB freier Plattenplatz.

JSF meets JavaScript

Hands on JSF-Komponenten mit JavaScript

Sven Kölpin

open knowledge GmbH

Sebastian Reiners

open knowledge GmbH
T04 Montag, 1. 9., 09:40 – 18:30 Uhr Tutorium Mo de

Komponentenbibliotheken wie Primefaces und Richfaces stellen für die Entwicklung von JSF-Anwendungen eine Vielzahl komplexer Komponenten bereit. Aber der ersten Euphorie folgt die Ernüchterung. Und statt der erhofften Vorteile muss man sich mit neuen Problemen befassen. Dabei kann man sich mit HTML5, JavaScript, Composite Components und der Behavior API maßgeschneiderte Erweiterungen für die eigene Anwendung schaffen. 

Im Rahmen des eintägigen Tutoriums werden aus JSF-Core-Komponenten Formularelemente mit Client-seitiger Validierung, ansprechende Charts und dynamische Tabellen inkl. lazy loading für die eigene Anwendung entwickelt.

1, 2, fertig

Ajax-Frontend, REST-API, Java-Backend – vollständige Web-Anwendung in 3 Minuten

Stefan Isele

prefabware UG
T05 Montag, 1. 9., 09:40 – 18:30 Uhr Tutorium Mo de

Web-Anwendungen sollen ein modernes User-Interface haben, über eine REST-API verfügen und robuste Services und Persistenz bieten. Dazu einfach zu entwickeln sein, automatisch gebaut, getestet, released und deployed werden können.

Der Referent zeigt, mit welcher Architektur, Frameworks und Tools man diese Anforderungen erfüllen kann. Die verwendeten Technologien werden anhand einzelner, leicht verständlicher Tutorium-Projekte vorgestellt. Parallel dazu wird eine komplette Web-Anwendung als durchgängiges Beispiel entwickelt. Basis dafür ist das Framework appdriver, das die vorgestellten Technologien integriert und es so ermöglicht eine funktionierende Web-Anwendung mit moderner Oberfläche in 3 Minuten zu erstellen und dann iterativ zu erweitern.

Das Tutorium vermittelt Software-Entwicklern und -Architekten aktuelle Technologien und Vorgehensweisen, wie sie diese konkret in Projekten einsetzen können.

Themen
- Anforderungen an Web-Anwendung und deren Entwicklung
Architektur
Entwicklungsumgebung
Build mit Maven
Testen – Unit-Tests, Integration-Test,
Browser-Test mit Selenium
Releases bauen und ausrollen – auf eigenem Server oder Cloud (Amazon S3)
Deployen – auf eigenem Server oder Cloud (Amazon Beanstalk, EC2)

Der Stack für neue Mobile-Apps

AngularJS, Ionic und PhoneGap

Philipp Burgmer

Weigle Wilczek GmbH
T06 Montag, 1. 9., 09:40 – 18:30 Uhr Tutorium Mo de

Durch die Fragmentierung der mobilen Betriebssysteme gewinnt der alte Java-Slogan „Write once run everywhere“ wieder an Bedeutung. Web-Technologien haben sich bei der App-Entwicklung in den letzten Jahren zu einer echten Alternative zu nativen Sprachen und SDKs entwickelt. Mithilfe von HTML5, JavaScript und Frameworks wie PhoneGap, AngularJS und Ionic lassen sich plattformunabhängige und dennoch für den Benutzer nativ wirkende Apps entwickeln.

In diesem Tutorium zeigt der Referent wie der Stack für so eine App aussieht, welches Tool für was zuständig ist und demonstriert anhand einer kleinen Demo-Anwendung wie die Entwicklung abläuft.

KaffeeKlatsch
Bookware
MATHEMA
adesso