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.
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.
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.
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 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.
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.