Aller Anfang …

Begrüßung und Organisatorisches

Herbstcampus-Team

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

Club der toten Teams

Eine Geschichte über Motivation

Udo Wiegärtner

conplement AG
K10 Dienstag, 1. 9., 10:00 – 10:50 Uhr Keynote Di de PDF

Im Film „Club der toten Dichter“ trifft sich eine Gruppe Studenten heimlich, um die Ideale längst verstorbener Dichter wiederzubeleben. Inspiriert durch einen charismatischen Lehrer, entdecken die Schüler, wie Sinn, Zusammengehörigkeit und Mut ungeahnte Motivation in ihnen freisetzen.

Wie funktioniert Motivation in agilen Software-Teams eigentlich? Was treibt uns im Innersten an? Was wären die Team-Ideale, hätten wir einen „Club der toten Teams“?

Der Referent begibt sich auf die Suche nach den Prinzipien von Team-Motivation und nach Gründungsmitgliedern für einen Club, die nicht mehr Teams vergangener Projekte verklären müssen, da sie ihre Motivation in den Teams des Hier und Jetzt finden.

Überzogen

Technische Schulden

Gerrit Beine

adesso AG
K20 Mittwoch, 2. 9., 08:30 – 09:20 Uhr Keynote Mi de

Als Software-Architekten balancieren wir ständig auf dem Grat der Entscheidungen. Und nur allzu oft bewahrheitet sich, dass die Software-Architektur die Summe teurer Entscheidungen ist: Technische Schulden geißeln uns. An etlichen Stellen wird bereits der Ruf laut, dass der Begriff der technischen Schuld überholt ist – der von Anfang an falsch war. Die Suche nach einer neuen Metapher hat begonnen, wohin sie führt, wird sich zeigen.

Diese Keynote geht genau in die andere Richtung und zeigt, warum der Begriff der technischen Schuld genau ins Schwarze trifft. Es wird deutlich, dass eine Diskussion über die Zukunft von Software-Systemen mit Menschen, die keinen IT-Hintergrund haben, eine Brücke benötigt, die die Welten der Ökonomie und der IT zusammenführt. Abgerundet wird der Beitrag mit einer Methode zum Management technischer Schulden, die sich bereits in vielen agilen Projekten bewährt hat.

Dies & das

Allerlei in aller Kürze

N. N.

Bookware

N. N.

Bookware

N. N.

Bookware
K30 Donnerstag, 3. 9., 08:30 – 09:20 Uhr Keynote Do de

In dieser Keynote wird inzwischen traditionsgemäß in aller Kürze über Wissenswertes und Persönliches rund um die Software-Entwicklung referiert.

N. N.
Titel
Untertitel

N. N.
Titel
Untertitel

N. N.
Titel
Untertitel

Das Beste kommt zum Schluss

Verabschiedung

Herbstcampus-Team

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

Inspiziert

Code-Analysen mit Roslyn

Christian Giesswein

Giesswein-Apps
N12 Dienstag, 1. 9., 11:20 – 12:30 Uhr Di de PDF

Mit Roslyn ist es erstmals möglich, sowohl einen Blick in den Compiler zu werfen, als auch den Code mit Roslyn zu bearbeiten und zu analysieren. Visual Studio 2015 unterstützt dieses Szenario vollständig, und per NuGet und VSIX können eigene Analysen installiert werden. Dadurch erhält die .NET-Entwicklergemeinde mit dem neuen Visual Studio die Möglichkeit, sich sowohl eigene Code-Analysen zu schreiben als auch zu verwenden.

In diesem Vortrag sehen Sie, wie mit Roslyn Code analysiert werden kann, wie Roslyn dabei vorgeht und wie sich das neue Visual Studio dabei verhält.

Erfolgsversprechend

Erfolgreich im Scrum-Team mit VS Team Foundation Server

Neno Loje

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

Nur weil man bei einem Projekt mit der Scrum-Prozessvorlage startet, macht man als Team noch lange
kein Scrum. Doch auch, wenn man den Scrum-Regeln folgt, stellt sich nicht automatisch der gewünschte Erfolg ein. Der richtige Mix aus einem gut harmonierendem Team, abgestimmten Vorgehensweisen und den passenden Werkzeugen wird gesucht.

Dieser Vortrag zeigt Tipps und Empfehlungen zu allen drei Bereichen auf.

Asynchron

C# und async/await aus der Praxis

Christian Giesswein

Giesswein-Apps
N14 Dienstag, 1. 9., 15:40 – 16:50 Uhr Di de PDF

Mit dem .NET Framework 4.0 kam die Task Parallel Library (TPL) zum vollen Einsatz und mit C# 5.0 die neuen Schlüsselwörter async/await. Gerade diese zwei Schlüsselwörter sind mittlerweile mehr sagenumwoben als sie verwendet werden. Wie funktionieren Sie denn eigentlich? Was steckt denn hinter dieser asynchronen "State Machine"? Wie kann meine Anwendung davon profitieren?

Wer bis heute geglaubt hat, async/await wäre nur dazu da, dass die Oberfläche wieder reagiert, wird in diesem Vortrag eines besseren belehrt und sieht anhand einiger Beispiele aus der Praxis, wie async/await Ihnen in Ihrem Entwickleralltag einen Vorteil verschaffen kann.

Nachgebessert

Entity-Framework Next Generation

Thomas Haug

MATHEMA Software GmbH
N15 Dienstag, 1. 9., 17:20 – 18:30 Uhr Di de

Mit der Version 7 des Entity-Frameworks will Microsoft dem in die Jahre gekommenen Entity-Framework einer Rundumerneuerung zuteilwerden lassen. Alte Zöpfe werden abgeschnitten: der ObjectContext wird zugunsten des DBContexts aufgegeben und das Framework wird sich fortan stärker auf Code-First fokussieren. Dafür wartet das Framework mit einigen Neuerungen auf: neben Performanz- und Ressourcen-Optimierungen wird das Entity-Framework ab Version 7 auch andere Repositories als SQL-Datenbanken unterstützen.

In diesem Vortrag werden diese Änderungen am Framework vorgestellt und gezeigt, was sich für Entity-Framework 6-Entwickler ändern wird.

Ganz unten (und drüber)

Eine neue Sprache für JVM und CLR

Michael Wiedeking

MATHEMA Software GmbH
N16 Dienstag, 1. 9., 20:00 – 21:10 Uhr Di de

Schon seit Jahren wird auf diversen Veranstaltungen über die neue Programmiersprache (vormals ALx) erzählt, und nebenbei wird erwähnt, dass sie bald fertig ist. So fertig wie dieses Jahr war diese aber noch nie.?Deshalb wird in dem Vortrag präsentiert und demonstriert wie weit sie schon ist, wie es innen drin und ganz unten aussieht, was noch fehlt, was noch gemacht werden muss und wie es weiter geht.

RamphastosUI

Eine HTML5-Bibliothek für C#

Alexander S. Timmermans

matchmycolor GmbH
N21 Mittwoch, 2. 9., 09:40 – 10:50 Uhr Mi de PDF

In diesem Vortrag soll ein Resultat aus Forschung und Entwicklung erstmals einem größeren Publikum vorgestellt werden. RamphastosUI ist eine Bibliothek zur Entwicklung plattformübergreifender User-Interfaces basierend auf C# und HTML5.

Der Ansatz unterscheidet sich vom üblichen Versuch eine Web-Applikation lokal laufen zu lassen, stattdessen wird eine Client-Applikation entwickelt, welche HTML5 als GUI-Technologie verwendet. Das Prinzip ähnelt WPF, nur mit HTML5 anstelle von XAML. Applikationen können sowohl lokal als Rich Client-Applikationen auf Windows, OS X oder Linux, als auch im Browser als Cloud-Applikation ausgeführt werden. RamphastosUI bietet somit eine Alternative zu Node-Webkit, TideSDK, bzw. TideKit und OpenUI5 von SAP, mit dem Vorteil, dass die Applikations-Logik komplett in .NET entwickelt wird.

Bring your own Schufa

Prädikative Analyse selbst gemacht

Jan Schweda

conplement AG
N23 Mittwoch, 2. 9., 14:00 – 15:10 Uhr Mi de PDF

Überall werden heute Daten gesammelt, aber wie können solche riesigen Datenmengen analysiert und aus ihnen eine zuverlässige Aussage über die Zukunft erstellt werden? Mit Machine Learning bietet Microsoft innerhalb von Azure einen neuen Dienst an, der genau das ermöglicht.
Lassen Sie uns selbst ermitteln, wem wir Geld leihen können und wem lieber nicht. Hierzu nutzen wir statistische Daten, erstellen ein Modell zur prädiktiven Analyse und veröffentlichen dieses als Web-Service.

Framework-Zoo

Technologie-Stack für moderne Web-Anwendungen mit .NET

Holger Velke

mediendesign AG
N24 Mittwoch, 2. 9., 15:40 – 16:50 Uhr Mi de PDF

Die Anforderungen an Web-Anwendungen sind vielfältig. Sie sollen über eine moderne, schnelle Benutzeroberfläche verfügen (UI-Performanz, Skalierbarkeit), auf verschiedenen Endgeräten dargestellt werden (Responsive-Design), gut bedienbar (UX) und einfach zu entwickeln sein. Es gilt aus einem ganzen Zoo von Frameworks und Technologien eine geeignete Auswahl zu treffen, die sich nicht beißt und die oben genannten Anforderungen erfüllt.

Dieser Vortrag stellt unseren Technologie-Stack anhand eines realen .NET-Projekts vor, berichtet über praktische Erfahrungen aus Entwicklersicht und geht dabei besonders auf die Frontend-Technologien ein, wie ASP.NET MVC 5, Bootstrap und AngularJS.

Mal was gAntz anderes

Künstliche Intelligenz mit AntMe! zum Anfassen

Dr. Uli Hilburger

NÜRNBERGER Versicherungsgruppe
N25 Mittwoch, 2. 9., 17:20 – 18:30 Uhr Mi de PDF

Der Vortrag gibt eine Einführung in AntMe!, eine in C# geschriebene Simulation, die Programmieranfängern das Thema künstliche Intelligenz näherbringen und den Einstieg in C#/VB erleichtern soll. Was eigentlich für Jugendliche gedacht ist, bringt auch erfahrenen Programmierern in spielerischer Weise gAntz neue Denkweisen über Lösungsstrategien näher.

Wer nach dem Vortrag gerne selbst Spaß haben will und seine eigenen KI-Strategien ausprobieren möchte, dem sei die nachfolgende AntMe!-Challenge empfohlen.

Das kAntz Du auch

Die AntMe!-Challange

Dr. Uli Hilburger

NÜRNBERGER Versicherungsgruppe

Andreas Michler

NÜRNBERGER Versicherungsgruppe
N26 Mittwoch, 2. 9., 20:00 – 21:10 Uhr Mi de PDF

In der AntMe!-Challenge treten 2-4 Teams mit ihren Ameisen-Strategien gegeneinander an. In Phase I sind Monokultur-Optimierungen gefragt, es werden die Einzel-Volk-Punktzahlen gewertet. Im anschließenden Jeder-gegen-Jeden-Wettbewerb heißt es möglichst schnell adaptive Strategien gegen ggf. mehrere unbekannte Gegner zu entwickeln.

Als Vorbereitung sollten die Teilnehmer entweder den Einführungsvortrag gehört oder sich schon einmal das AntMe!-Tutorial angesehen haben. Um antreten zu können, benötigen Sie ein eigenes Laptop mit installiertem Visual Studio (2008-2015), als Express/Community- oder Vollversion, und einen USB-Anschluss, damit die programmierten Völker-DLLs transferiert werden können. Das Referenten-Team wünscht gAntz viel Spaß!

Reaktionär

Reactive Microservices mit Vert.x 3

Jochen Mader

codecentric AG
A12 Dienstag, 1. 9., 11:20 – 12:30 Uhr Di de PDF

Es hat sich mal wieder Einiges getan in der Vert.x-Welt. Brachte der Wechsel von Version 1 auf 2 schon einiges an Neuerungen, wird das mittlerweile dritte Major-Release die bestehenden Konzepte noch einmal deutlich erweitern. Es wurde sowohl an Kernkomponenten als auch an einer Vielzahl von Modulen geschraubt. Einige Schmankerl sind dabei, wie die verbesserte Unterstützung verschiedener Programmiersprachen, erweitertes Eventhandling (Header, Custom Codecs, local Consumers), eine neue HTTP-Infrastruktur, ein neues Test-Framework, die Integration der Reactive Extensions und Reactive Streams.

Anhand verschiedener Code-Beispiele wird der Referent das Framework an sich, seine wichtigsten Eigenschaften und die Änderungen gegenüber der Version 2 erklären.

Wie geht das zusammen?

GUI-Redesign in einer Continuous Delivery-Umgebung

Martin Aschoff

AGNITAS AG
A13 Dienstag, 1. 9., 14:00 – 15:10 Uhr Di de PDF

Die Software-Entwicklung per Continuous Delivery (CD) ist heutzutage nichts Besonderes mehr. Mit bewährten Entwicklungsmustern wie Gradual Feature Release, Feature Toggles oder Branch by Abstraction sowie automatisierten Build-, Test- und Deployment-Prozessen ist CD mittlerweile relativ problemlos umsetzbar. Doch wie schaut es aus, wenn nicht die Entwicklung einzelner Features, sondern ein komplettes Redesign der Benutzeroberfläche ansteht? Schließlich lässt sich eine Benutzeroberfläche nicht Feature für Feature umstellen, wenn man dem Nutzer stets eine konsistente Bedienung präsentieren will.

Der Referent hat kürzlich ein umfangreiches GUI-Redesign einer Software abgeschlossen, die in einem CD-Prozess entwickelt und als Lizenz und per SaaS angeboten wird. Er berichtet von dem geplanten und dem tatsächlichen Vorgehen, von den – teilweise schmerzhaft – gesammelten Erfahrungen, überraschenden Erkenntnissen und wie man es beim nächsten Mal vielleicht noch besser machen könnte.

Kenntnisstand

Was ein Professional (Scrum) Developer alles können muss

Neno Loje

teamsystempro.de
A14 Dienstag, 1. 9., 15:40 – 16:50 Uhr Di de PDF

Vor ein paar Jahren hat Microsoft zusammen mit scrum.org ein Programm ins Leben gerufen, um Entwicklern die nötigen Kenntnisse zu vermitteln in einem Team mit modernen, agilen Praktiken zu
entwickeln. Diese sind allgemeingültig und keinesfalls auf die Microsoft-Welt oder Visual Studio-Werkzeuge beschränkt.

Dieser Vortrag gibt einen Überblick und eine Einführung in diese Themen.

How many logs would a logstash stash if a logstash could stash logs

Wie man Logs unter Kontrolle bekommt

Jens Schauder

T-Systems on site GmbH
A15 Dienstag, 1. 9., 17:20 – 18:30 Uhr Di de ZIP

Wenn ein Auto kaputt geht, hört das selbst ein Autolaie wie ich oft schon lange vorher. Irgendwas klingt anders. Es klirrt, schnarrt oder kratzt. Oder vielleicht beschleunigt es einfach nicht mehr so wie wir es gewohnt sind. Bei Software sieht das meist ganz anders aus. Hier nimmt man Probleme erst war, wenn sie den Benutzern auffallen. Wenn sie z. B. die Web-Seite nicht mehr benutzen können oder sich beschweren, dass die Applikation zu langsam ist. Erst dann beginnt die Spurensuche. Dabei schreien die Anwendungen oft schon lange vorher um Hilfe. Leider verhallen diese Hilferufe oft ungehört oder unverstanden in langen Logfiles, verdeckt von dem alltäglichen, bedeutungslosen Gejammer, das sie auch dann von sich geben, wenn sie gar kein Problem haben.

In diesem Vortrag werden einige Tools vorgestellt, mit denen man die Kontrolle über seine Logs wiedergewinnt und eine grundlos jammernde von einer Anwendung in Not schnell zu unterscheiden lernt.

Wer einsam bleibt ist selber schuld...

Softwarearchitektur Speed-Dating

Stefan Zörner

embarc Software Consulting GmbH
A16 Dienstag, 1. 9., 20:00 – 21:10 Uhr Di de PDF

Zeitgemäße Software-Architektur ist nicht das Werk einzelner. Architekturansätze und Ideen entstehen im Team und werden gemeinsam reflektiert. Alle Entwickler müssen sie zumindest verstehen und mittragen können. Aber was genau müsst Ihr vermitteln? Reicht aufschreiben? Hilft UML?
Stefan Zörner zeigt auf lebendige Weise, wie Ihr Eure Softwarearchitektur wirkungsvoll kommunizieren könnt. Nach kurzen theoretischen Inputs rund um Architekturdokumentation und -bewertung probiert Ihr das Gehörte gleich aus. Ihr lernt die Lösungen anderer Teilnehmer kennen und erfahrt Schritt für Schritt, welche Zutaten in einem Architekturüberblick keinesfalls fehlen sollten ? egal wie kurz er ist. Ihr lernt die richtigen Fragen zu stellen und passende Antworten parat zu haben.
Bringt bitte die Bereitschaft mit, Euch über Eure Projekte und Software-Lösungen auszutauschen, und anderen Teilnehmern Feedback zu geben. Die sonst üblichen Speed-Dating-Themen wie Kinderwünsche klammern wir aus.

Built to last

Prinzipien für nachhaltige Software-Architekturen

Frank Pientka

MATERNA GmbH
A21 Mittwoch, 2. 9., 09:40 – 10:50 Uhr Mi 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 und einige Kardinalfehler früh vermieden werden. Das gern zitierte IT-Mantra „never change a running system“ kommt meist daher, dass Änderungen am Code für viele Firmen hoch riskant geworden sind. Das Thema Wartung ist nicht nur ein technisches oder methodisches Problem, sondern auch ein soziales. Das Prinzip der Nachhaltigkeit kann, um unnötige Ressourcen-Verschwendung zu vermeiden, auch auf die Software-Entwicklung übertragen werden.

Der Referent stellt Prinzipien für nachhaltige Software vor und erläutert in einem Praxisteil, wie eine minimale Software-Architektur aus dem Bestehenden rekonstruiert werden kann. Stichworte dabei sind die Systemevolution über die Zeit, Verschwendung vermeiden und Ressourcen besser nutzen.

Das Ende des Enterprise Service Bus (ESB)?

Moderne Microservices-Architekturen

Kai Wähner

TIBCO Software Inc.
A22 Mittwoch, 2. 9., 11:20 – 12:30 Uhr Mi de PDF

Microservices sind der nächste Schritt nach SOA. Services implementieren eine begrenzte Anzahl von Funktionen einer Domäne und werden eigenständig und unabhängig voneinander implementiert, automatisch deployed und skaliert. Die Vorteile daraus sind höhere Flexibilität und schnellere Reaktionsfähigkeit auf neue Anforderungen. Ein solides Microservice-Design erfordert eigenständige Verantwortlichkeiten, lose Kopplung und eine dezentrale Architektur. Ein Microservice kann nur innerhalb des eigenen Unternehmens genutzt oder den Partnern und unabhängigen Entwicklern über APIs angeboten werden.

Dieser Vortrag diskutiert die Herausforderungen, Anforderungen und Best Practices für eine gute Microservices-Architektur, und erläutert, welche Rolle ein Enterprise Service Bus (ESB) dabei spielt.

Punktlandung

Systemanalyse auf den Punkt gebracht

Kristina Schöne

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

Die Wünsche der Kunden und Anwender zu kennen, ist heute der entscheidende Faktor in der System-Entwicklung. Aber wissen Sie, wie Sie am besten an die bewussten, unbewussten und unterbewussten Anforderungen Ihrer Anwender herankommen? Moderne Requirements Engineering-Methoden bieten Ihnen hierzu zahlreiche Alternativen zu Interviews und dicken Pflichtenheften. Der geschickte Einsatz von Ermittlungstechniken ist eine Schlüsselkompetenz auf dem Weg zu System-Lösungen, die das Herz der Benutzer höher schlagen lassen und dabei in „Internetzeit“ fertig sein müssen. Gewonnenes Wissen muss dann dokumentiert werden, so dass es lesbar, ausschreibbar, realisierbar und wartbar ist.

An einem Beispiel aus der Praxis zeigt der Vortrag einige Notationstechniken und deren Anwendung im Projekt, sowie Möglichkeiten der Qualitätsprüfung und -verbesserung von Anforderungen. Der Vortrag zeigt auch, woran Requirements Engineering häufig scheitert und wie genau Sie diese Stolpersteine überspringen können, ohne zu stolpern.

Sie haben Post!

Mobiles polyglottes Messaging

Frank Pientka

MATERNA GmbH
A24 Mittwoch, 2. 9., 15:40 – 16:50 Uhr Mi de PDF

Die Zahl der mobilen und intelligenten Geräte nimmt zu. Gerade im Internet of Things (IoT) steigt die asynchrone Machine-to-Machine (M2M)-Kommunikation an. Auch wenn Messaging im Unternehmensbereich seit Jahrzehnten etabliert ist, gibt es beim mobilen Messaging einiges zu beachten. Hier kommen nicht nur andere Protokolle zum Einsatz, es gibt auch ganz andere Mengengerüste und Anforderungen an die Übertragungskapazität, -güte und den Energieverbrauch. Die Protokolle MQTT und STOMP sind mit den dazugehörigen Produkten geeignet, eine polyglotte und plattformübergreifende Realisierung zu ermöglichen. Dafür existieren eine große Anzahl von Server-Produkten und Client-Bibliotheken für verschiedene Programmiersprachen.

In diesem Vortrag wird Apache Apollo für STOMP und Eclipse Paho für MQTT vorgestellt. Als Client wird neben der Kommandozeile, Java und JavaScript genutzt und mit Beispielen gezeigt. Damit wird mobiles polyglottes Messaging einfacher möglich.

... guter Jurist von sonst geringem Verstande

Jura für Informatiker

Frank Lauterwald

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

Allzu oft sind wir unzufrieden mit juristischen Entscheidungen oder Prozessen. Als Schuldige werden dann die Juristen ausgemacht (und teilweise verspottet). Dabei fehlt es oft nur an ein paar Grundlagen, um Entscheidungen nachvollziehen zu können – oder besser noch: sie vorherzusehen, und sich spätere Probleme zu ersparen.
Verschärft wird das Nichtwissen durch die Amerikanisierung des Fernsehprogramms. In Diskussionen hört man dann von Präzedenzfällen, Sammelklagen und Ähnlichem – alles Dinge, die es in Deutschland so gar nicht gibt.

Eigentlich ist die Denkweise von Informatikern und Juristen gar nicht sonderlich verschieden. Das Recht ist – ähnlich wie Software – eine komplexe Struktur aus vielen Einzelbausteinen, die teilweise aufeinander aufbauen. Seine Anwendung soll für alle denkbaren Parameter vernünftige Ergebnisse liefern, ohne dass man alle Fälle a priori testen kann.

Mit dieser Denkweise gerüstet, werden einige Gesetze betrachtet, die für Informatiker relevant sind – insbesondere das Urheberrecht. Hierdurch soll sich zeigen, dass viele juristische Probleme ihren
Schrecken verlieren, wenn man ein paar Grundregeln kennt. Einblicke in die betrachteten Gesetze – und welche Konsequenzen sie für uns als Software-Entwickler oder Vortragende haben – gibt es als Bonus dazu.

Rundungsfehler

Was Sie schon immer über Gleitkommazahlen wissen wollten

Michael Wiedeking

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

Dass man Gleitkommazahlen (Floating Point Numbers) besser nicht für die Repräsentation von Geldbeträgen verwendet, mag sich ja inzwischen herumgesprochen haben. Warum das aber so ist, mag dem einen oder anderen noch nicht so klar sein. ?Deshalb wird in diesem Vortrag gezeigt, wie die Gleitkommazahlen aufgebaut sind, warum das Probleme mit sich bringt, wie diese zu vermeiden sind und welche Konsequenzen das hat. Darüber hinaus wird der Unterschied zu den in einigen Sprachen verfügbaren Dezimalzahlen erklärt und auf den kommenden Standard für Intervallzahlen hingewiesen.

Lass die Affen testen

Das Ende der Bananen-Software

Dr. Jeremias Rößler

ReTest
A31 Donnerstag, 3. 9., 09:40 – 10:50 Uhr Do de PDF

Wer hat den Teufelskreis aus Testing und Debugging noch nicht erlebt: In zwei Wochen ist Release-Date und die Tester finden täglich neue Fehler. Jeder Fehler führt zu einer Änderung im Programm. Und jede Änderung kann selbst wieder Fehler verursachen und muss deshalb getestet werden...

Kosten entstehen hauptsächlich durch manuelles Testen bzw. manuelle Testfallerstellung. GUI-Tests sind brüchig und bringen demzufolge einen hohen Pflegeaufwand mit sich – was die Amortisation verzögert. Deshalb werden heute 85% aller Oberflächentests noch manuell ausgeführt. Was wenn man automatisch Testen könnte? Und d. h. nicht manuell erstellte Tests (die will sowieso keiner erstellen und erst recht keiner pflegen) automatisch ablaufen lassen, sondern wirklich vollautomatisch Testen? Monkey-Testing bezeichnet zufallsbasiertes Testen von Software über die Benutzeroberfläche, und findet vollautomatisch und kostengünstig Fehler.

In diesem Vortrag zeigt der Referent, wie jeder Anwesende mit ein paar Zeilen Code einen eigenen primitiven Affen zum automatischen Testen programmieren kann. Davon ausgehend werden auch Ansätze und Konzepte gezeigt, wie man diesen Affen (u. a. mit genetischen Algorithmen) immer weiter verbessern kann, bis er teilweise bessere Ergebnisse als menschliche Tester bringt. Dazu gibt es Demos und Erfahrungsberichte aus großen Projekten.

Event Sourcing in einer Microservice-Architektur

Ein Erfahrungsbericht aus der Werkhalle

Michael Omann

Senacor Technologies AG
A32 Donnerstag, 3. 9., 11:20 – 12:30 Uhr Do de PDF

Microservices gelten als vielversprechender Lösungsansatz für Architekturprobleme, die in klassischen, monolithischen Anwendungen auftreten. In der Theorie ist alles ganz einfach. Bei großen Vorhaben mit hohen Anforderungen an Verfügbarkeit und Adaptierbarkeit, kristallisieren sich im Praxiseinsatz rasch komplexe Abhängigkeiten zwischen Services heraus. Die versprochenen Eigenschaften des Architekturkonzepts wie „unabhängig entwickelbare, lose gekoppelte Einheiten“ und „Skalierbarkeit“ erfüllen sich nicht von selbst. Event Sourcing kann helfen diese Abhängigkeiten aufzubrechen, gleichzeitig macht es Applikationen robuster und besser skalierbar.?Im Vortrag werden die Erkenntnisse aus einem großen eCommerce-Payment Umsetzungsvorhaben vorgestellt, das in hohem Maße auf Event Sourcing setzt. Können die Erwartungen im Ergebnis erfüllt werden? An welchen Punkten treten unerwartete Schwierigkeiten auf? 
Der Vortrag berichtet direkt aus der Werkhalle und spricht diejenigen an, die Event Sourcing aus der Theorie kennen und wissen wollen, wie sie in der Praxis funktionieren.

App-ocalypse now

The dark side of your App

Tim Bourguignon

MATHEMA Software GmbH

Thomas Künneth

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

Cross-platform, Wiederverwendbarkeit, Performanz – welche Programmiersprache ist die Beste? C# natürlich. Oder vielleicht doch Java? Oder Objective-C, Swift, oder gar JavaScript? Diese Themen beschäftigen Entwickler jeden Tag und werden gerne und oft auf Konferenzen diskutiert. Letztlich berühren sie aber nur einen kleinen Bereich der App-Entwicklung. Viele spannende Fragen werden dafür nie gestellt, oder gar beantwortet. Was passiert mit der App, wenn sie im Store verfügbar ist? Auf welche Informationen kann ich als Entwickler zugreifen – Statistiken, Fehlerberichte, Kundenkommentare? Wie komme ich an mein Geld? Und wie viel verdiene ich überhaupt?

Dieser Vortrag blickt hinter die Kulissen von Google Play und des Microsoft App-Store. Dabei werden Gemeinsamkeiten und Unterschiede vorgestellt, gezeigt was die beiden Welten jeweils gut machen und wo sie voneinander lernen könnten.

Ich habe fertig!

Production-ready statt Feature-complete

Uwe Friedrichsen

codecentric AG
A34 Donnerstag, 3. 9., 15:40 – 16:50 Uhr Do de PDF

Agilität hat uns gelehrt, auf Geschäftswert zu achten – was wichtig ist. Clean Code hat uns gelehrt, wartbaren Code zu schreiben – was wichtig ist. Aber all das ist wertlos, wenn unsere Software nicht zuverlässig in der Produktion läuft, denn nur in Produktion macht unsere Software Umsatz und stellt unsere Kunden zufrieden. Damit unsere Software zuverlässig unsere Kunden zufrieden stellt, reicht es aber nicht, dass sie nur „Feature-complete“ ist, sie muss „Production-ready“ sein.

In diesem Vortrag lernen Sie Patterns und Prinzipien zum Schreiben von „Production-ready Software“ kennen, natürlich garniert mit Code und jeder Menge Tipps und Tricks. „It's all about production!“

SOLIDes Design

Kriterien für objektorientiertes Design

David Tanzer

B12 Dienstag, 1. 9., 11:20 – 12:30 Uhr Di de ZIP

Geringe Qualität und fehlendes Qualitätsbewusstsein sind ein Projektrisiko. Immer wieder explodieren Projektkosten oder die Projekte scheitern sogar, weil die Qualität nicht stimmt. Aber wie entwickelt man denn wartbare Software? Wie schreibe ich Software so, dass sie der nächste Entwickler (oder ich selbst in ein paar Monaten) auch verstehen kann?

In diesem Vortrag geht es um objektorientiertes Design. Die Prinzipien und Kriterien dazu sind den meisten von uns bekannt. Und trotzdem haben wir dann in unseren Projekten Klassen mit hunderten Zeilen, die 10 verschiedene Dinge tun, nicht 100%ig kompatibel mit der Oberklasse sind, und die man ändern muss um ihre Funktionalität zu erweitern. Deshalb wollen wir uns einige Prinzipien und Kriterien für gutes Design wieder in Erinnerung rufen (z. B., aber nicht nur, SOLID). Wir werden auch darüber diskutieren, wie man sie in neuem Code beachten kann, und wie man bestehenden Code verbessern kann.

Nummer 5 lebt

Aktuelle Java-Features unter Android nutzen

Thomas Künneth

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

Android-Apps werden üblicherweise in Java programmiert. Aber gegen welche Java-Version entwickelt man eigentlich? Wie sieht es mit der Verwendbarkeit von neuen Sprach-Features aus? Stehen Erweiterungen der Java-Standardklassenbibliothek „einfach so“ unter Googles mobiler Plattform zur Verfügung?

Dieser Vortrag beleuchtet nicht nur die Frage, wie schnell Android-Entwickler an der Evolution von Java teilhaben können, sondern zeigt auch Wege auf, um eigentlich unerreichbare Funktionen doch noch zu nutzen.

Get yourself conected

IoT mit Tessel

Ralph Winzinger

Senacor Technologies AG
B14 Dienstag, 1. 9., 15:40 – 16:50 Uhr Di de PDF

Unsere physikalische Welt wird mit jedem Tag ein wenig digitaler – das Internet of Things wird langsam greifbar und es wird bereits in naher Zukunft massive Auswirkungen auf unser Leben haben. In den nächsten Jahren werden wir vor der Herausforderung stehen, immer mehr „Dinge“ ins Netz zu integrieren und ihre Funktionen und Daten clever zu nutzen. Einen ersten Schritt in diese neue Welt kann man ganz einfach mit den Tessel-Boards machen.

In diesem Vortrag wird gezeigt, wie man innerhalb von wenigen Minuten mit Hilfe von JavaScript Sensordaten erfasst und zur Auswertung in die Cloud schickt – Startpunkt ist ein leerer Texteditor und ein Bash-Window. Auch wenn Tessel nicht für produktive Umgebungen gedacht ist, so zeigt es doch, dass es keine finanziellen oder technischen Hindernisse mehr gibt. All die Infrastruktur für das nächste digitale Zeitalter wartet bereits auf uns.

Wer hat an der Uhr gedreht?

App-Entwicklung für Android Wear

Thomas Künneth

MATHEMA Software GmbH
B15 Dienstag, 1. 9., 17:20 – 18:30 Uhr Di de PDF

Smartwatches liegen voll im Trend. Das durch eigene Apps erweiterbare Android Wear basiert auf Android 5. Entwickler können deshalb viele der bekannten APIs nutzen. Dennoch gibt es bei der Programmierung einiges zu beachten. Ob Paketierung und Verteilung der Software, Test und Fehlersuche – die richtigen Tipps und Tricks helfen, Stolpersteine zu umgehen und unnötigen Ärger zu vermeiden.

Dieser Vortrag möchte eine praxisnahe Einführung in die Entwicklung von Apps für Android Wear bieten.

Projektmanagement – eine Geschichte voller Missverständnisse

... und was wir daraus lernen könn(t)en

Alexander Brož

Comsol Unternehmenslösungen AG
B21 Mittwoch, 2. 9., 09:40 – 10:50 Uhr Mi de PDF

Warum waren schon im Mittelalter agile Multiprojektmanager gefragt und was hat der Kölner Dom mit Continuous Delivery zu tun? Die Suche nach der ultimativen Projektmanagementmethode gleicht der Suche nach dem Heiligen Gral und neue Begriffe und Methoden werden immer schneller aus der Taufe gehoben. Bei all dem bleibt oft der schale Beigeschmack von „kenn ich doch irgendwoher“ und „ist doch logisch, mach ich immer so“, bis am Ende doch wieder alles in Hektik, Budget-Stress bis zu unzufriedenen Anwendern ausartet.

Dieser Vortrag möchte Projektleiter, Entwickler, Tester und eigentlich Alle, die am und im Projekt arbeiten auf eine historische Reise rund um das Projektmanagement mitnehmen. Erfahren sie Best Practices, die schon vor Hunderten von Jahren für Projekterfolg gesorgt haben, verstehen Sie welche Aspekte Projektleiter in allen Dekaden zur Verzweiflung gebracht haben und warum es selbst der heutigen Informationsgesellschaft so schwer fällt aus all dem nachhaltig zu lernen. Machen Sie es sich aber nicht zu bequem, das wird kein Dia-Vortrag! Dieser Vortrag möchte anregen, in Frage stellen und diskutieren, was wir aus der Vergangenheit lernen können und was besser nicht.

JavaScript von morgen schon heute

Ein Ausblick auf ECMA Script 6

Philipp Burgmer

w11k GmbH
B22 Mittwoch, 2. 9., 11:20 – 12:30 Uhr Mi de PDF

EcmaScript6, die nächste Version von „JavaScript“, nimmt immer konkretere Formen an. Viele Teile der Spezifikation sind so gut wie fertig und die neuesten Browser-Versionen implementieren bereits einen Teil davon. Dennoch kann man heute und auch in naher Zukunft noch keine Anwendung mit ES6 ausliefern, da es eben nicht von allen relevanten Browsern unterstützt wird. Aber entwickeln kann man sehr wohl mit ES6 und dabei viele der tollen neuen Features bereits heute nutzen!

In diesem Vortrag zeigt der Referent wie man mit Transpilern und Polyfills heute schon mit ES6 entwickeln kann und welche Vorteile es bietet. Anhand von Code-Beispielen wird gezeigt wie man proprietäre Lösungen wie requireJS und Promises durch neue Standards ersetzen kann und seinen Code dadurch zukunftssicherer macht. Natürlich wird auch auf die Hürden und Grenzen dieses Ansatzes eingegangen.

Coming to a Cloud near You

MBaaS: The Emerging Enterprise Platform

Jason Haley

Oracle Canada ULC
B23 Mittwoch, 2. 9., 14:00 – 15:10 Uhr Mi de PDF

The days of the web development platform may not necessarily be going away tomorrow, but there is no question that the next generation of application development is already upon us, and it?s all about mobile devices. An Enterprise Mobile Platform supports the development of mobile apps that connect to enterprise resources through a common shared scalable infrastructure platform. It hosts a well-defined set of APIs to access those resources, as well as enabling the use of services like push notifications, device management and geo-location that go hand-in-hand with mobile apps. Furthermore, interactions and operations must be secured using enterprise-grade security, employing proven protocols to satisfy even the most paranoid of corporate IT managers.

In this session we will cover some of the basic features and characteristics of an Enterprise Mobile Platform. We?ll show how mobile app developers, server-side orchestration architects, and system resource administrators all play a role in the enterprise apps of today and look at the challenges of meeting the needs of all three in a mobile-focused age.

Aber sicher!

Sicherheit in Single-Web-Anwendungen

Philipp Burgmer

w11k GmbH
B24 Mittwoch, 2. 9., 15:40 – 16:50 Uhr Mi de PDF

In diesem Vortrag wird anhand von AngularJS gezeigt auf was man bei Single-Page-Applications (SPA) achten muss. Anhand von Code-Beispielen wird natürlich auch gezeigt wie man sich z. B. vor Cross-Site-Scripting, Cross-Site-Request-Forgery und Code-Injection schützt und welche Gefahren sonst noch so lauern.

Das Paarungsverhalten qualitätsbewusster Software-Entwickler

Pair Programming-Coaching im Großprojekt

Thomas Much

muchsoft.com
B25 Mittwoch, 2. 9., 17:20 – 18:30 Uhr Mi de PDF

Scrum und Kanban sind als agile Vorgehensweisen bei der Software-Entwicklung etabliert. Es existieren diverse unterstützende Arbeitstechniken, u. a. TDD und Pair Programming. Während Test Driven- Development in aller Munde ist, ist Pair Programming eher ein ewiger Geheimtipp. Es wird zwar an Hochschulen vermittelt, trifft in der Praxis aber auf Vorbehalte. Andererseits – wer es einmal erfolgreich kennengelernt hat, möchte diese Technik zur Qualitätsverbesserung und Wissensverteilung nicht mehr missen.

Dieser Vortrag ist ein Praxisbericht aus einem der größten E-Commerce-Projekte der vergangenen Jahre in Deutschland. Dort erleben die zahlreichen Teams des Projekts die positiven Effekte vom Pair Programming im Rahmen eines speziellen Pair Programming-Coachings. Es wird der Ansatz und der Ablauf des Coachings vorgestellt (inkl. der wichtigsten Grundlagen des Pair Programmings), die erwarteten und unerwarteten Herausforderungen beschrieben und von den kleinen und größeren Erfolgen berichtet.

Der Schmetterlingseffekt

CSS in größeren Projekten

Sebastian Reiners

open knowledge GmbH
B31 Donnerstag, 3. 9., 09:40 – 10:50 Uhr Do de PDF

Je größer ein Web-Projekt wird, umso komplizierter und nervenaufreibender wird die Wartung und erst recht die Änderung des bestehenden CSS. Jeder der schon einmal zwei Wochen vor dem Live-Gang das Web-Frontend komplett umstellen durfte oder ein in die Jahre gekommenes (und entsprechend gewachsenes) Stylesheet überarbeiten sollte, wird wissen wovon hier die Rede ist.

In diesem Vortrag werden kleine und größere Tipps gegeben, wie man solchen Situationen begegnet, sie unter Kontrolle behält und bestenfalls von vorneherein vermeidet. Der Fokus wird dabei auf dem Aufbau wartbarer Stylesheets, der Nutzung von CSS-Frameworks wie Bootstrap, CSS-Preprocessing mittels Less und der Integration ins Build-Management liegen.

Chicken Little, Cold Turkey etc.

Welche Migrationsstrategie ist die richtige?

Stephan Kaps

Bundesversicherungsamt
B32 Donnerstag, 3. 9., 11:20 – 12:30 Uhr Do de PDF

Unter Migration versteht man jegliche Art von Umstellung. Nicht selten sind davon ganze Anwendungssysteme betroffen, d. h. es ändert sich die Plattform, das Front-End, die Datenbank usw., wie es z. B. bei der Migration von Großrechnersystemen häufig der Fall ist. Die Gründe für eine Migration können vielfältig sein. Ziel dieser Umstellungen ist jedoch immer, die fachliche Funktionalität beizubehalten.

Der Vortrag stellt die folgenden sechs Migrationsstrategien aus Theorie und Praxis vor: Big Bang Approach (Cold Turkey Strategy); Chicken-Little Strategy; Database First Approach (Forward Migration Method); Database Last Approach (Reverse Migration Method); Composite Database Approach (Parallel Database Strategy); Butterfly Methodology.

„Sichere“ Software

Erkennen und Vermeiden von Angriffspunkten

Andreas Vombach

ABB Semiconductors, Lenzburg
B33 Donnerstag, 3. 9., 14:00 – 15:10 Uhr Do de

Sicherheit auf Betriebssystemebene kennt jeder (?) und für Server-Sicherheit sind die Administratoren zuständig. Daher macht sich der gestresste Software-Entwickler (meist Mädchen für Alles, von Architektur bis zum Testen) wohl kaum auch noch Gedanken über zusätzlich mögliche Sicherheitsaspekte. Dabei fängt „Security by Design“ schon beim Konzept seiner Software an.
Dieser Vortrag beleuchtet sicherheitsrelevante Bereiche im gesamten?Entwicklungsprozess bis zu dem „sicheren“ Gefühl, das der Benutzer einer Software haben sollte.

Flyway vs. LiquiBase

Kampf der Datenbank-Migrationswerkzeuge

Stephan Kaps

Bundesversicherungsamt
B34 Donnerstag, 3. 9., 15:40 – 16:50 Uhr Do de PDF

Wenn es das Ziel ist, Software regelmäßig auszuliefern, gegebenenfalls mehrmals am Tag, darf bei all den derzeitigen Überlegungen zur Automatisierung von Tests, Deployments und Infrastruktur die Datenbank nicht vergessen werden. Die Automatisierung von Änderungen (Migrationen) ist auch hier unverzichtbar. Inzwischen existieren Tools für diese Aufgabe, die sich sehr gut in den Entwicklungsprozess integrieren lassen.

Die zwei bekanntesten Tools werden in diesem Vortrag vorgestellt und miteinander verglichen. Der Vergleich geht über sechs Runden:
1. Funktionen; 2. Einbindung in bestehende Projekte; 3. Integrationsmöglichkeiten; 4. Inbetriebnahme und Handhabung; 5. Verfügbare PlugIns; 6. Rahmenbedingungen

Love it, change it, lead it!

Wie Sie vom Kollegen zur Führungskraft werden

Sabine Zehnder

Management-Trainerin & Coach
C12 Dienstag, 1. 9., 11:20 – 12:30 Uhr Di de PDF

Das Rad der Zeit dreht sich ständig weiter. Und so
strebt der eine oder andere nach mehr und möchte endlich mal sein eigener Chef sein. Wenn nun aber die Beförderung da oder das eigene Unternehmen gegründet ist, verändert sich die eigene Rolle quasi von einem Tag auf den nächsten.

Mal ganz unabhängig davon, ob Sie Projektmanager, Teamleiter, selbstständig sind oder noch werden möchten: In diesem Vortrag lernen Sie, welche Fallstricke es bei der Wandlung vom Kollegen zur Führungskraft so gibt und wie Sie Ihren ganz persönlichen Führungsstil finden können.

Docker Dir einen

Virtualisierung mit Docker

Simon Sudler

Redheads Ltd.
C13 Dienstag, 1. 9., 14:00 – 15:10 Uhr Di de PDF ZIP

Docker ist eine Virtualisierungsumgebung, die es erlaubt einzelne Programme zu virtualisieren. Im Gegensatz zu vollständigen Virtualisierungsumgebungen, wie VMWare, Virtualbox oder KVM, benötigt Docker kein „Betriebssystem im Betriebssystem“, sondern nutzt die Ressourcen des Host-Systems.

In diesem Vortrag erfahren Sie was Docker ist, welche Vorteile es gegenüber klassischen VMs mit sich bringt, was Docker-Container sind und wie Sie eigene Container erstellen können. Außerdem wird ein Szenario mit mehreren vernetzten Containern (WebServer, Gerrit, Jenkins, Build-Nodes) vorgestellt.

Der Referent nutzt Docker täglich als Build-Umgebung und betreut ein Entwicklungssystem, bestehend aus Single-Sign-On-Server (Kerberos und LDAP), Apache, Gerrit, Jenkins und entsprechenden Jenkins-Build-Nodes. All diese Services laufen in eigenen Docker-Containern, was zu einer großen Zeitersparnis in Wartung und Reproduzierbarkeit geführt hat.

Frodo & Co. – agil!?

Waren die Gefährten aus "Der Herr der Ringe" ein agiles Team?

Udo Wiegärtner

conplement AG
C14 Dienstag, 1. 9., 15:40 – 16:50 Uhr Di de

Mordor und so. Am Ende lag der Ring im Feuer und die Welt war gerettet. Aber auf dem Weg dahin hatte das Team ziemlich zu kämpfen. War das eigentlich ein agiles Team? War Gandalf ein Scrum Master und warum haben wir keine Zauberstäbe in unseren Projekten? War Sauron eher der Kunde, der Endanwender oder unser Manager? Muss man beim Daily Scrum wirklich Schwerter dabei haben??Dieser Vortrag ist keine Präsentation, sondern eine (nur ganz leicht) moderierte Diskussionsrunde aller Anwesenden - quasi DIE Gelegenheit, gemeinsam wilde Analysen über Agiliät, Teamplay und Weltherrschaft zu diskutieren. "Der Herr der Ringe" liefert dafür lediglich die Plattform.?Disclaimer: Wer "Der Herr der Ringe" gar nicht kennt, wird vermutlich nur schwerlich folgen können. Außerdem müssen Orks und Trolle leider draußen bleiben.

Testen mit Containern

Docker für Integrationstests

Stefan Hildebrandt

consulting.hildebrandt.tk
C15 Dienstag, 1. 9., 17:20 – 18:30 Uhr Di de PDF

Docker-Container bieten ein interessantes Auslieferungs- und Betriebskonzept. Allerdings lässt es sich in vielen Organisationen aus unterschiedlichen Gründen noch nicht für den produktiven Einsatz verwenden. Dennoch kann Docker auf dem Weg zu Continuous Delivery in der Testautomatisierung schon einen wichtigen Beitrag leisten!

Dieser Vortrag stellt die Einsatzbereiche vor, in denen Docker in automatisierten Tests verwendet werden kann: Klassisch als Ausführungsumgebung für das Testobjekt, als Umgebung für Um-Systeme oder Simulatoren und insbesondere für die Bereitstellung von definierten Testdaten, und wie diese am besten in den Container gelangen können. Weiterhin wird die Einbindung der Container in die Testausführung mit Gradle, Maven und Arquillian vorgestellt.

Follow the Leader

Wie Sie Ihr Team beeinflussen und gestalten können

Sabine Zehnder

Management-Trainerin & Coach
C21 Mittwoch, 2. 9., 09:40 – 10:50 Uhr Mi de PDF PDF

Was ist ein Team? Was unterscheidet lose zusammen gewürfelte Individuen von einem guten Team? Woran hakt es, wenn Ihr Team nicht so richtig als Team agiert? Und an welchen Stellschrauben
könnten Sie drehen, um Ihr Team zu verändern – egal, ob Sie das Team selbst leiten oder nicht?

Fragen über Fragen, denen wir uns im Laufe des Vortrags stellen werden, um herauszufinden, wie Sie sich Ihren Arbeitsalltag vereinfachen können. Von gruppendynamischen Prozessen über Teambildung bis hin zur Kommunikation ist für Jeden etwas dabei. Lernen Sie wissenswertes zur Gestaltung von Teams und vor allem: nutzen Sie die Gelegenheit zur Reflexion Ihres Arbeitsalltags!

So sieht's aus!

Architekturüberblicke: Tipps und Tricks

Stefan Zörner

embarc Software Consulting GmbH
C22 Mittwoch, 2. 9., 11:20 – 12:30 Uhr Mi de PDF

Ihr habt eine bestehende Software-Lösung und wollt deren Architektur erklären? Vielleicht einem neuen Team-Mitglied oder einem Kooperationspartner. Der Quelltext ist zu ?ausführlich? und erzählt trotzdem nicht die ganze Geschichte. Was zeigt Ihr in solchen Fällen von Eurer Dokumentation? Ach, habt Ihr nicht?
Nicht schlimm: In diesem Vortrag geht es um das Anfertigen eines Architekturüberblicks aus dem Nichts heraus. Das stumpfe Ausfüllen eines Templates führt dabei oft zu Frust. Hier wird stattdessen gezeigt, wie Ihr die Aufgabe pragmatisch und zugleich wirkungsvoll angeht. Dabei diskutieren wir auch Formen, Zutaten, Werkzeuge und Vorgehen mit an. Ihr lernt die minimale Ausprägung eines Architekturüberblicks kennen und erfahrt, in welchen Situationen Ihr von diesem Minimalset abweichen könnt.

Teile und herrsche

Verteilte Anwendungen mit Docker

Dr. Ralph Guderlei

eXXcellent solutions GmbH

Benjamin Schmid

eXXcellent solutions GmbH
C23 Mittwoch, 2. 9., 14:00 – 15:10 Uhr Mi de PDF

Docker ist in aller Munde. Gleichzeitig hört man vom Tod der klassischen Application-Server. Nur wenige neue Technologien haben in einer derart kurzen Zeitspanne so umfassend Fuß fassen können wie die erst 2013 erschienene Plattform zum Entwickeln und für den Betrieb verteilter Anwendungen. Inzwischen um 15 Millionen US-Dollar Risikokapital reicher und namhaften Anwendern wie Red Hat, ebay und Google im Rücken, ist die leichtgewichtige Virtualisierungslösung schon längst auf dem Weg die Grundlage für neue Lösungsarchitekturen zu formen.

Welche Chancen und Vorteile sich mit Docker für die Entwicklung, das Deployment und den Betrieb von Java-Anwendungen ergeben, möchte dieser Vortrag zeigen. Dazu erläutern die Referenten zuerst die grundlegende Funktionsweise und Konzepte von Docker. Danach wird die Faszination für typische Einsatzszenarien, wie für Microservices, näher ergründet. Anhand praktischer Beispiele wird gezeigt wie leicht und schnell sich die eigene Java-Anwendung als Container verschiffen lässt und in die alltägliche Entwicklungsarbeit einfügt. Auch praktische Erfahrungswerte und -szenarien z. B. beim Einsatz unter Windows oder für JavaScript-basierte Lösungen dürfen dabei nicht fehlen.
Der Vortrag zeigt somit, was es bei der Entwicklung zu berücksichtigen gilt und beschreibt den Weg vom Build bis zum Betrieb der Anwendung.

Unkaputtbar

Muster für Resilient Software-Design

Uwe Friedrichsen

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

In der Produktion wird das Geld gemacht und werden die Kunden zufrieden gestellt – aber nur so lange, wie unsere Software läuft und zügig antwortet. Läuft unsere Anwendung nicht oder ist langsam, ist sie wertlos – schlimmer noch: Wir verlieren Geld und Reputation. In der Vergangenheit hat man diese Anforderung mit hochverfügbarer Hardware und Infrastruktur adressiert, mit dem Ziel, Fehler möglichst lange herauszuzögern.

Dieser Ansatz trägt aber nicht mehr in den heute üblichen verteilten, hochvernetzten Anwendungslandschaften und Trends wie Cloud Computing. Microservices, Mobile und IoT verschärfen die Situation noch weiter. Das Vermeiden von Fehlern ist in solchen Anwendungslandschaften keine Option mehr. Fehler sind der Normalfall und um eine hohe Verfügbarkeit zu gewährleisten, muss man aktiv mit ihnen umgehen. Genau darum geht es bei Resilient Software-Design: Wie man eine Anwendung gestaltet, damit sie hochverfügbar ist und zügig antwortet – selbst unter unerwarteten Fehler- und Lastsituationen.
In diesem Vortrag lernen Sie eine (kleine) Resilience-Mustersprache kennen, natürlich garniert mit Code und jeder Menge Tipps und Tricks.

Hack your own website!

Web-Security im Selbstversuch

Dr. Stefan Schlott

BeOne Stuttgart GmbH
C25 Mittwoch, 2. 9., 17:20 – 18:30 Uhr Mi de PDF

Grau ist alle Theorie! Zwar haben wohl viele Entwickler von verschiedenen Sicherheitsproblemen wie SQL-Injection oder Cross-Site-Scripting gehört, den Selbstversuch haben aber dennoch nur Wenige gewagt.

Dieser Vortrag will an konkreten Beispielen und Demos verschiedene Arten von Sicherheitsproblemen demonstrieren und zum Experimentieren mit den eigenen Web-Anwendungen anregen. Denn so bekommt man nochmal einen ganz anderen Bezug zu den sonst eher abstrakten Themen.

Container verschiffen

Continuous Delivery mit Docker – revisited

Dr. Halil-Cem Gürsoy

adesso AG
C31 Donnerstag, 3. 9., 09:40 – 10:50 Uhr Do de PDF

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

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

Die Flux Application Architecture

Facebooks Ansatz für Client-side Web Applications

Sven Kölpin

open knowledge GmbH
C32 Donnerstag, 3. 9., 11:20 – 12:30 Uhr Do de PDF

Facebooks ReactJS ist der neue Stern am Himmel der client-seitigen JavaScript-Bibliotheken. Neben diesem innovativen Framework hat der Software-Gigant zusätzlich ein Pattern veröffentlicht, welches die Nachteile des klassischen MVC-Prinzips umgehen soll: Die Flux-Architektur. Auf Basis dieser Architektur wurden bereits Web-Anwendungen wie facebook.com und instagram.com entwickelt.

Im Vortrag werden die Ideen und Vorteile dieses Architekturansatzes näher erläutert. Außerdem soll diskutiert werden, ob und wie sich die Flux Application Architecture auch abseits von ReactJS verwenden lässt.

Auch SQL ist Source-Code

Continuous Database Integration mit Flyway

Sandra Parsick

C33 Donnerstag, 3. 9., 14:00 – 15:10 Uhr Do de PDF

Skripte für relationale Datenbanken werden von Java-Entwicklern gerne stiefmütterlich behandelt. Beim ersten Release können sie dank ORM-Frameworks generiert werden. Doch spätestens beim zweiten Release, müssen Datenbankmigrationsskripte geschrieben werden. Sie werden dann gerne an Tickets angehangen, per E-Mail verteilt, in Release-Notes versteckt etc. Irgendwann gibt es keinen Überblick mehr, welche Datenbankskripte zu welcher Software-Version gehören.

Dieser Vortrag zeigt, – warum eine Einbindung von Datenbankskripten in den Continuous Integration-Prozess erstrebenswert ist, – welche Voraussetzungen dafür geschaffen werden müssen und – wie Flyway dabei helfen kann.

Puppenspielereien

Infrastruktur in Code mit Puppet beschreiben

Sebastian Hempel

IT-Consulting Hempel
C34 Donnerstag, 3. 9., 15:40 – 16:50 Uhr Do de PDF

Nicht erst seit der DevOps-Bewegung werden Entwickler mit der Konfiguration von Systemen konfrontiert. So gibt es in jedem Team einen „Auserwählte(n)“, der/die sich um die Konfiguration der Build-Umgebung kümmert. Neben der Erstellung und Pflege des/der Build-Skripte umfasst diese Rolle auch den Aufbau und die Pflege der zugehörigen Rechner und darauf laufender Dienste.
Meistens wird diese Arbeit mehr schlecht als recht durch Checklisten dokumentiert. Muss ein System neu gebaut oder ein zusätzliches System konfiguriert werden, hofft man mit diesen Checklisten den Aufwand für die Arbeiten so gering wie möglich zu halten. Änderungen an der
Konfiguration werden aber nur sehr selten in den Checklisten nachgezogen. Die in den Listen dokumentierte Konfiguration weicht somit so gut wie immer von der tatsächlichen Konfiguration ab. Das Thema Konfigurationsmanagement hat im Zuge der DevOps-Bewegung an Bedeutung gewonnen. Die Konfiguration eines Systems wird dabei nicht als Text sondern als Code/Programm „dokumentiert“. Ist eine Konfiguration einmal codiert, kann sie immer wieder auf ein System angewendet werden. Auch die Duplizierung einer Konfiguration ist ohne großen Aufwand möglich.

Der Vortrag zeigt die Nutzung des Konfigurationsmanagement-Systems Puppet für den Entwickler. Nach einer kurzen Einführung in Puppet werden die folgenden Fragen beantwortet. Wie kann die Konfiguration des Build-Systems mit Puppet beschrieben werden? Welche Möglichkeiten gibt es die Jobs im CI-System (Jenkins) mit Puppet zu definieren? Wie wird das Test-System (Application-Server) mit Puppet konfiguriert? Wie kann die auf dem Test-System definierte Konfiguration für die weiteren Stages bis hin zur Produktion weiterverwendet werden? Wie kann der „Konfigurations-Code“ von Puppet sowie der Code des eigentlichen Systems verwaltet werden?

Bestandsaufnahme

Java Enterprise Edition 8

Peter Doschkinow

ORACLE Deutschland B.V. & Co. KG
J12 Dienstag, 1. 9., 11:20 – 12:30 Uhr Di de PDF

Vieles hat sich von J2EE bis Java EE 7 geändert und es wird wieder mit Hochdruck an der nächsten Java EE-Version gearbeitet. Der bewährte Trend der kontinuierlichen Vereinfachung der API für Zugriff auf Container-Services und die Erweiterung des Umfangs dieser Services wird in Java EE 8 fortgesetzt. Nach detaillierten Umfragen und mehr als 4500 Antworten aus der Java-Community wurden bereits die Hauptinhalte der sich in Arbeit befindlichen Java EE-Spezifikation festgelegt. Zum weiteren Ausbau der Unterstützung von HTML5-Anwendungen gehören der Ausbau der Servlet-API zur Unterstützung des nagelneuen HTTP/2-Protokolls, die Standardisierung von Server-Sent-Events und JSON-Binding, sowie die Einführung eines neuen Action-basierten MVC-Framework. Die Entwickler-Produktivität wird durch neue Security-Interceptors, eine einfache CDI-basierte Alternative zu den Message Driven-Beans und diverse CDI-Verbesserungen gesteigert. Der Betrieb der Java EE-Plattform in Cloud-Umgebungen wird durch neue REST-basierte API für Management und Deployment und eine neue Security-API vereinfacht.

Der Vortrag wird ein gutes Verständnis über die Neuerungen und Vorteile, die Java EE 8 mit sich bringt, vermitteln.

Wie geht's? Was geht? Wann hat es Sinn?

Portierung von COBOL-Programmen nach Java

Carsten Siedentop

PDFUnit.com
J13 Dienstag, 1. 9., 14:00 – 15:10 Uhr Di de PDF

Viele Großunternehmen haben unternehmenskritische Anwendungen, die nach wie vor mit COBOL programmiert werden. Die technische Integration von COBOL-Programmen mit Programmen anderer Sprachen, überwiegend Java, findet zwar schon statt, ist aber nicht ganz einfach. Da drängt sich doch die Frage auf: Warum nicht den bestehenden COBOL-Code nach Java portieren?

Der Vortrag geht auf Themen ein, wie die Relevanz des Themas für den Markt, die Sprachkonzepte von COBOL, die eine Entsprechung in Java haben und die, für die es keine Entsprechung in Java gibt. Auch die Sprachkonzepte von Java, für die es keine Entsprechung in COBOL gibt und verschiedene Ansätze für eine automatische Portierung kommen zur Sprache. Darüber hinaus die Konfrontation zweier Welten, sowie der typische Entwicklungsprozess auf einem IBM-Host mit COBOL und der eines agilen Java-Projektes. Der Faktor Mensch spielt ebenfalls eine Rolle. Warum ticken die Java-Entwickler anders, als die COBOL-Entwickler? Was sagt der Performanzvergleich zwischen COBOL und Java, und können Java-Programme die erforderliche Performanz liefern?

Der Vortrag stellt nicht so sehr die Frage in den Vordergrund, ob mit einer Portierung Kosten gespart werden können, geht dieser Frage aber auch nicht aus dem Weg. Trotz der Darstellung technischer Aspekte sollten sich auch Projektleiter und Unternehmensverantwortliche angesprochen fühlen, denn auch die betriebs- und volkswirtschaftlichen Aspekte des Themas „COBOL/Java-Portierung“ kommen nicht zu kurz.

Rufen Sie nicht an – wir rufen Sie an!

Server-sent Events und Web-Sockets im Java EE-Umfeld

Sebastian Reiners

open knowledge GmbH
J14 Dienstag, 1. 9., 15:40 – 16:50 Uhr Di de PDF

Seit Java EE 7 stehen auch Enterprise-Entwicklern Server-Sent Events und WebSockets in standardisierter Form zur Verfügung. Höchste Zeit also, sich diese andere Art der Kommunikation im Web einmal näher anzusehen. Was sind Server-Sent Events und WebSockets überhaupt, was sind ihre Vorteile und wo bieten sich sinnvolle Anwendungsbereiche?

Im Rahmen der Vorstellung der unterschiedlichen Ansätze werden praktische Erfahrungen und Fallstricke, insbesondere im Zusammenspiel mit JSF und CDI veranschaulicht, sowie ein erstes Resümee gezogen.

Saubere Sache

Refactoring und Clean Code am praktischen Beispiel

Carsten Siedentop

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

Die Prinzipien von Clean Code und die Refactoring-Unterstützung in Eclipse / IntelliJ / NetBeans sind den Konferenzteilnehmern vermutlich bekannt. Aber wie sieht deren Umsetzung in der Praxis aus?

In diesem Vortrag wird der Code eines kleinen OpenSource-Projektes aus dem Jahre 2002 live „refactored“. Dabei werden die Prinzipien von Clean Code direkt sichtbar gemacht. Auftretende Probleme, die üblicherweise mit dem Begriff „mehr geht nicht“ tituliert werden, werden vorgestellt und gelöst. Gleichzeitig werden ausgewählte Regeln von PMD und Checkstyle verwendet, die das Refactoring unterstützen.

Die gewonnenen Erkenntnisse können gut in den Styleguide aktueller Projekte einfließen, damit deren Code zukünftig besser „refactored“ werden kann. Am Ende des Vortrags ist ein Review aller Teilnehmer über das vorgestellte Refactoring vorgesehen. Ist das Maß des Refactorings sinnvoll? Geht es zu weit? Wird Refactoring zum Selbstzweck? Welche weiteren Vorschläge gibt es?

Aus, sitz, platz!

CDI-Komponenten lokal ohne Server testen

Werner Eberling

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

„Ich kann keine vernünftigen Unit-Tests schreiben, ohne ständig den Application-Server hoch und runter zu fahren.“ So oder so ähnlich hören sich die Standardargumente gegen testgetriebene Ansätze im Bereich der Java EE-Entwicklung an. Auch wenn hier in den letzten Jahren teilweise bereits ein Umdenken stattgefunden hat, begegnet man diesen Argumenten leider noch immer viel zu häufig.

Der neueste JEE-Komponentenstandard CDI eröffnet hier neue Möglichkeiten. Obwohl ursprünglich als server-seitiger Standard spezifiziert, sind CDI-Container inzwischen auch in einer Java SE-Umgebung lauffähig. So bietet beispielsweise die Referenzimplementierung (Weld) einen solchen lokalen Container an.
Der Vortrag zeigt, wie ein solcher Container im Zusammenspiel mit den CDI-Erweiterungen von Apache Deltaspike für lokale Unit-Tests genutzt werden kann. Darüber hinaus werden Themen wie Persistenz, Transaktionshandling und das Ausblenden von Dritt-Services durch Dummies oder Mockups beleuchtet.

Das Aquarium lässt grüßen

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

Wolfgang Weigend

ORACLE Deutschland B.V. & Co. KG
J22 Mittwoch, 2. 9., 11:20 – 12:30 Uhr Mi de PDF

Der GlassFish-Server 4.1 hat sich mit Java EE 7 im Aquarium der großen Fische etabliert. Oracle wird weiterhin die Entwicklung des GlassFish-Servers, als strategische OpenSource-Plattform im Java EE-Bereich und das GlassFish-Projekt, mit einem fest zugeordneten Entwicklerteam 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, mit dem JSR-366, unter Einbeziehung der Java-Community ist vollzogen und dazu wurden die benötigten Spezifikationen und API?s für den Java EE 8 Final-Draft-Vorschlag Ende des Jahres 2015 vorbereitet.

Die Java EE 8-Themenschwerpunkte beinhalten die Unterstützung von HTML5 mit erweiterten Web-Eigenschaften, stärkere CDI-Ausrichtung und Cloud-Infrastrukturfähigkeiten.

Kinderspiel (aber kein Kinderspielzeug)

Web-Anwendungen mit dem Play-Framework

Dr. Stefan Schlott

BeOne Stuttgart GmbH
J23 Mittwoch, 2. 9., 14:00 – 15:10 Uhr Mi de PDF

Die Anwendungsentwicklung mit dem Play-Framework beschreitet Wege abseits des klassischen Servlet-zentrischen Modells. Mit einem Gerüst, das an Ruby on Rails erinnert, lassen sich zügig Anwendungen erstellen. Dabei bietet Play verschiedenste Möglichkeiten, die Anwendung skalierbar zu gestalten.

Dieser Vortrag bietet einen Überblick anhand einer einfachen Beispielanwendung und zeigt die Stellen auf, an denen die Denkweise und Philosophie etwas anders als bei anderen Web-Frameworks ist.

Trypanophobia

Keine Angst vor Injektionen mit Java 8

Robert Bräutigam

MATHEMA Software GmbH
J24 Mittwoch, 2. 9., 15:40 – 16:50 Uhr Mi de PDF

Seit Robert C. Martin das Abhängigkeits-Umkehr-Prinzip beschrieben hat, ist ?Dependency Injection? (DI) eine beliebte Strategie, explizite Abhängigkeiten zwischen Implementierungen zu vermeiden und diese durch Schnittstellen zu ersetzten. In der Java-Welt hat DI seit Spring und vor Kurzem auch seit CDI in Enterprise Java einen großen Einfluss. Diese Frameworks sind tatsächlich mit üblichen Java-Architekturen so zusammengewachsen, dass der Zweifel über die Berechtigung, sie einzusetzen, vielleicht zuerst blasphemisch erscheinen mag. Nichtsdestoweniger sollte man die Entscheidung, eine solche Komplexität in eine Software einzuführen, immer abwägen und gründlich prüfen.?Dieser Vortrag demonstriert durch Live Coding wie Java 8 Dependency Injection ganz ohne schwere Frameworks möglich macht. Es ist nicht nur möglich, alle Funktionen herkömmlicher Frameworks mit Besonderheiten von Java 8 wie Lambdas und Default-Methoden nachzubauen, man gelangt auch an eine Lösung die typsicher, explizit und ganz ohne Magie funktioniert.

Plug & Play Benutzerverwaltung

Web-Anwendungen absichern mit OAuth 2 und JBoss Keycloak

Alexander Schwartz

msg systems ag
J25 Mittwoch, 2. 9., 17:20 – 18:30 Uhr Mi de PDF

Die Benutzerverwaltung ist der wichtigste Baustein für eine sichere Anwendung. Das „Open Web Application Security Project“ (OWASP) gibt hierzu viele Empfehlungen. Es wird schnell klar, dass eine eigene Benutzerverwaltung viel Arbeit bedeutet, und die Wiederverwendung einer fertigen Benutzerverwaltung sicherer wäre.
Mit JBoss Keycloak gibt es eine OpenSource-Benutzerverwaltung, die sich über OAuth 2.0 auf einfache Art in die eigene Anwendung integrieren lässt. Alle Funktionen, von der Registrierung über die Integration von Google, Facebook, Twitter und LDAP, stehen so ohne Programmierung zur Verfügung und können individuell konfiguriert werden. Teilen sich mehrere Anwendungen eine Benutzerverwaltung, so steht ein anwendungsübergreifendes Single-Sign-On und Single-Sign-Out zur Verfügung.

Der Vortrag gibt einen kurzen Überblick über OAuth 2 und die Funktionalität von Keycloak. Beispielanwendungen zeigen die verschiedenen Integrationsmöglichkeiten, angefangen bei Java EE-Web-Anwendungen über JavaScript-Client-Anwendungen bis hin zu Java-REST-Services.

REST ruck-zuck fertig

Microservices mit Dropwizard entwickeln

Alexander Schwartz

msg systems ag
J31 Donnerstag, 3. 9., 09:40 – 10:50 Uhr Do de PDF

Das Dropwizard-Projekt hat den Java EE-Stack ausgemistet und stellt eine Plattform für leichtgewichtige REST-Services auf Basis von JAX-RS bereit. Auf diese Weise lassen sich Services im Handumdrehen schreiben, dokumentieren, testen und absichern. Entwickler mit Java EE-Hintergrund finden sich sehr schnell zurecht. Automatische Tests fallen leichter. Die aufwändige Konfiguration eines Application-Servers entfällt. Deployment und Monitoring wurden auch deutlich vereinfacht.

Während des Vortrags entsteht Schritt für Schritt eine Anwendung. Dabei werden die Best Practices rund um Domain Driven Design wie z. B. Hexagon Architecture, Adapter, Repository und Inversion of Control verwendet. Dropwizard unterstützt dies mit Basisfunktionalität für Unit- und Integrations-Tests. Eine Swagger Live-API stellt die Dokumentation der REST-API bereit. OAuth 2 sichert die Services gegen unbefugten Zugriff ab.

Boldly go where no JUnit test has gone before

Außerirdisch gute Tests mit Spock

Tobias Ahlers

Smartsquare GmbH
J32 Donnerstag, 3. 9., 11:20 – 12:30 Uhr Do de PDF

Software, unendliche Weiten. Dies sind die Abenteuer des Spock-Frameworks, das mit uns Entwicklern unterwegs ist, fremden Code zu erforschen, zu spezifizieren und zu testen. Viele Lichtjahre von überflüssigem Boilerplate entfernt, dringt das Spock-Framework in Produktivitätsgalaxien vor, die nie ein JUnit-Test zuvor gesehen hat.

Dieser Vortrag stellt das Spock Testing-Framework vor und erklärt, warum es sich lohnt einmal über den JUnit-Tellerrand zu schauen. Mit seiner durch Groovy ermöglichten Testing-DSL bietet Spock nicht nur eine Reihe von Vereinfachungen und Verbesserungen im Vergleich zu JUnit, sondern auch ganz neue Ansätze wie das Data Driven-Testing. Neben einigen (wenigen) Folien werden wir die Eigenschaften von Spock am lebenden (Code-)Objekt erkunden.

JSF meets JS (2. ed.)

JSF-Komponenten mit JavaScript

Sven Kölpin

open knowledge GmbH
J33 Donnerstag, 3. 9., 14:00 – 15:10 Uhr Do 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.

Durchgemischt

Mixins und Traits mit Java 8

Michael Wiedeking

MATHEMA Software GmbH
J34 Donnerstag, 3. 9., 15:40 – 16:50 Uhr Do de

Mit Java 8 haben neben den Lambda-Ausdrücken auch default-Implementierungen in Interfaces Einzug in die Sprache gehalten. Damit eröffnen sich ganz neue Gestaltungsmöglichkeiten, mit denen man Wiederverwendung von Code deutlich vereinfachen kann.
Dieser Vortrag zeigt, wie man mit Lambda-Ausdrücken Klassen beeindruckend konfigurierbar machen kann; und wie man mit Hilfe von Interfaces Code, vergleichbar zu Traits oder Mixins, einbetten kann.

Bestens ausgerichtet

Neo4j Fundamentals

Stefan Armbruster

Neo Technology Inc.
T01 Montag, 31. 8., 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.

Nach einer Einführung in Neo4j und einem Überblick über die Abfragesprache Cypher, folgt die Darstellung eines Anwendungsfalls: Soziales Netzwerk inklusive einer Freundes-Empfehlung. Die praktische Modellierung von Zugriffsrechten und weiterer Anwendungsfälle in verschiedenen Gebieten sind ebenfalls Themen, die behandelt werden. Außerdem werden Fragen zu bestehenden Projekten, möglichen Implementierungsstrategien und Evaluations-Ansätzen diskutiert.

Die Teilnehmer benötigen keinerlei Erfahrung mit Neo4j, mit NoSQL-Datenbanken oder spezifischen Programmiersprachen. Erfahrungen mit Datenbanken im Allgemeinen sind hilfreich. Es wird ein eigenes Laptop für die Installation von Neo4j benötigt. USB-Sticks mit den notwendigen Daten werden bereitgestellt.

JSF meets JavaScript – 2nd Edition

Hands on JSF-Komponenten mit JavaScript

Sven Kölpin

open knowledge GmbH

Sebastian Reiners

open knowledge GmbH
T02 Montag, 31. 8., 09:40 – 18:30 Uhr Tutorium Mo de

Komponenten-Bibliotheken 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 dieses 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. Anfangs wird die von JSF mitgelieferte JavaScript-API betrachtet, um die verschiedenen Möglichkeiten einer JavaScript- und ManagedBean-Kommunikation zu erläutern. Darauffolgend werden unter dem Oberthema Enterprise JavaScript die speziellen Eigenschaften von JavaScript, Pattern für den Einsatz der Sprache im Enterprise-Kontext und Themen wie Testen und Build-Umgebungen behandelt. Die erlernten Pattern- und Kommunikationsmöglichkeiten werden anschließend dafür genutzt, um beispielhaft eigene JavaScript-JSF-Komponenten zu entwickeln, welche die Erstellung komplexer GUI-Anwendungen ermöglichen.

Reise in eine andere Welt

Eine praktische Einführung in Arquillian

Stefan Hildebrandt

consulting.hildebrandt.tk
T03 Montag, 31. 8., 09:40 – 18:30 Uhr Tutorium Mo de

Arquillian ist der aufsteigende Stern in der OpenSource-Software-Community, wenn es um Tests in Java EE Applikations-Servern geht. Allerdings ist bei vielen die Unsicherheit recht groß, wenn es um den Einsatz von Arquillian in einem konkreten Inhouse-Projekt geht. Ursachen sind sicher die teilweise lückenhafte Dokumentation, die vielen Misserfolge, die sich im Internet finden, und die Komplexität am Anfang. Begründet sind sie in erster Linie in dem abweichenden Fokus: Arquillian ist maßgeblich von Framework- und Applikations-Server-Entwicklern für den Test ihrer Produkte entwickelt worden. Trotzdem ist es eine gute Lösung für viele Testszenarien einer Java EE-Anwendung!

Dieses Tutorium bietet einen Einstieg in Tests mit Arquillian. Dabei wird an einem durchgängigen Beispiel die Einbindung und die Erstellung von Tests auf den unterschiedlichen Teststufen gezeigt, sowie auf mögliche Probleme eingegangen.

Die Gelegenheit in COBOL reinzuschnuppern

COBOL für Java-Entwickler u.a.

Carsten Siedentop

PDFUnit.com
T04 Montag, 31. 8., 09:40 – 18:30 Uhr Tutorium Mo de

Warum sollten Sie COBOL kennenlernen? Einerseits könnte man mit David Thomas und Andrew Hunt antworten: „Jedes Jahr eine neue Programmiersprache“ (aus ihrem Buch „Der Pragmatische Programmierer“). Andererseits könnte es sein, dass Sie in einer Bank, Versicherung, dem Öffentlichen Dienst oder einem anderen Unternehmen arbeiten, das noch COBOL-Programme einsetzt, und Ihr nächstes Java-Projekt Daten mit einem COBOL-Programm austauschen soll. Dann wäre es nützlich, solche Programme lesen und verstehen zu können. Es könnte aber auch sein, dass Sie eine bestehende COBOL-Anwendung in Java neu schreiben müssen/dürfen. Auch dann schadet Ihnen ein Grundmaß an COBOL-Kenntnissen nicht.

Im Tutorium werden folgende Inhalte behandelt. – Struktur einer COBOL-Programmierung; – Datendefinitionen mit Vergleichen zu Java; – einfache Datentypen, Tabellen, Strukturen; – Wertzuweisung bei der Definition; – Befehle zur Datenmanipulation; – MOVE, INITIALIZE, INSPECT, STRING, UNSTRING; – Befehle für mathematische Berechnungen; – ADD, SUBTRACT, MULTIPLY, DIVIDE, COMPUTE; – Befehle für Programmverzweigungen; – PERFORM, PERFORM UNTIL, PERFORM VARYING; – IF, EVALUATE; – Vergleichsoperatoren, Mehrfachbedingungen; – Bedingungen mit 88-er Stufennummern deklarieren; – Programm-Modularisierung; – CALL-Anweisung, externe Unterprogramme; – statische und dynamische Unterprogramme; – Parameter-Übergabe „by reference“, „by content“; – Tabellenverarbeitung; – Zugriffe auf Dateien; – nützliche Funktionen aus der Standardbibliothek; – CURRENT-DATE, LOWER-CASE, UPPER-CASE, ...; – Exception-Handling; Wenn die Zeit reicht, kann auch noch das Thema „Zugriff auf Datenbanken“ besprochen werden.

Während des Tutoriums wird zwar GnuCOBOL verwendet, jedoch werden die Beispiele kompatibel zum COBOL-Standard erstellt. Damit laufen sie auch auf einem IBM- oder Siemens-Großrechner, auf einem PC mit kommerziellen Compilern und eben unter Linux bzw. Windows mit GnuCOBOL.

Benötigt wird ein Notebook, auf dem noch ca. 10 GByte für eine virtuelle Maschine frei sind. Eine VM mit Linux und fertig installiertem GnuCOBOL wird zur Verfügung gestellt. Alternativ kann GnuCOBOL auch direkt unter Linux oder unter Windows installiert werden. Die notwendige Installation wird gezeigt und ist schnell erledigt, 1 GByte an freiem Plattenplatz ist dafür mehr als ausreichend.

KaffeeKlatsch
Bookware
MATHEMA