Silcher-Saal
Themenbereich: Internet of Things / Embedded
Im Bereich des Internet of Things (IoT) ist derzeit ein Wettlauf verschiedener Protokolle und Frameworks im Gange. Architekten und Entwicklern fällt es zunehmend schwer den Überblick zu wahren. Die Eclipse Foundation hat daher einen eigenen Open Source Technologiestack für dieses Thema zur Verfügung gestellt. Dieser Stack soll es ermöglichen IoT Anwendungen mit Java zu entwickeln und eine Abstraktion zu schaffen, die Java Entwickler anspricht und keine ausführlichen Low-Level Kenntnisse erfordert. Damit vergrößert sich vor allem der Kreis potentieller Entwickler.
Der Vortrag vermittelt eine grobe Vorstellung des Eclipse IoT Stacks und wie dieser für einen konkreten Anwendungsfall verwendet werden kann. Im ersten Teil erfolgt die Vorstellung der verfügbaren Frameworks und Protkolle, sowie deren primäre Einsatzgebiete. Anschließend wird ein Anwendungsfalls live vorgestellt. Hier erfolgt die Abstraktion von einer IoT Plattform wie dem Raspberry Pi mit Hilfe des Frameworks Kura auf Basis von Java und OSGi. Zur Kommunikation zwischen verschiedenen Knoten kommt das Message Queue Telemetry Transport (MQTT) Protokoll in Verbindung mit einem MQTT Broker zum Einsatz. Im Nachgang erfolgt die Betrachtung der gewonnenen Erfahrungen und ein Überblick zu bestehenden Problemen und möglichen Perspektiven.
Beethoven-Saal
Themenbereich: Security
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 Webanwendungen anregen, denn so bekommt man nochmals einen ganz anderen Bezug zu den sonst eher abstrakten Themen.
Hegel-Saal
Themenbereich: SW-Architekturen
Für Java gibt es Qualitätsanalysewerkzeuge wie Sand am Meer: Architektur-Konformitätsanalysen erkennen Verletzungen der Soll-Architektur im Code. Clone Detection erkennt Copy-Paste-Programmierung und damit zukünftige Wartungsprobleme. Strukturanalysen erkennen unverständliche Quelltextabschnitte. Und viele mehr. Richtig eingesetzt erkennen sie Probleme früh, wenn ihre Behebung noch kostengünstig ist. Oft sind die Werkzeuge dabei sogar kostenfrei.
Sie werden auch von vielen Teams eingesetzt. Meistens führen sie jedoch nicht zu Qualitätsverbesserungen. Was macht sie für wenige Teams wertvoll, für die meisten aber scheinbar nutzlos?
Die Ursachen sind vielfältig, aber interessanterweise bei den meisten Teams die gleichen. Dieser Vortrag stellt Erfahrungen, Lessons Learned und Best Practices aus sieben Jahren Praxiseinsatz in unterschiedlichen Teams, Domänen und Firmen vor.
Dabei gebe ich konkrete Empfehlungen und gehe neben technischen Faktoren auch auf Prozesse und Change-Management ein.
Raum Usedom
Themenbereich: IDE / Eclipse u. Tools
Verglichen mit den Texteditoren früher Zeiten, sind heutige IDEs um ein vielfaches intelligenter und hilfreicher geworden. Zum Beispiel helfen sie Entwicklern mit ihren eingebauten Suche- und Code-Completion Funktionen, zu sehen was Sie (theoretisch) alles in Ihrem Code machen *könnten*. Ob Sie das jedoch auch wirklich tuen *sollten*, kann ihre IDE Ihnen nicht beantworten. Oder doch?
Wie oft haben Sie Ihre IDE verflucht, wenn sie Ihnen mal wieder hunderte von Vorschlägen für ein simples "List mylist ?= new |<>" anzeigt? Ist hier nicht klar, dass in 99% aller Fälle new ArrayList() oder new LinkedList() aufgerufen werden soll? Wie würden Sie sich fühlen, wenn Ihre IDE in Zukunft nur noch genau das vorschlagen würde, was Sie wirklich brauchen? Stellen Sie sich vor, wie viel Zeit Sie sparen würden, wenn Sie nicht mehr die (ohnehin veraltete) API Dokumentation durchsuchen müssten, um zu erfahren welche Methoden Sie überschreiben oder aufrufen müssen, weil Ihnen ihre IDE einfach sagt, was zu tun ist. Oder wie viel Zeit haben Sie suchend bei Google verbracht um Code Beispiele für eine bestimmte Framework Klasse zu finden - und wie viel Zeit könnten Sie sparen, wenn ihre IDE Ihnen dieses Beispiel einfach anbieten könnten - nur einen Klick weit weg?
Wenn das für Sie unrealistisch klingt, dann ist dieser Vortrag für Sie. Diese Session stellt Ihnen eine Reihe von Softwarewerkzeugen vor, die das Wissen das verborgen in frei im Internet verfügbaren Code existiert, findet, extrahiert und Ihnen wieder *in* Ihrer Entwicklungsumgebung zur Verfügung stellt. Wir zeigen Ihnen, wie 33 Millionen Code Completion Events, geteilt von tausenden von Softwareentwicklern weltweit, die wahrscheinlich smarteste Entwicklungsumgebung der Welt schaffen und wie sie mittels Crowdsourcing z.B. auch ihre API Dokumentation aktuell halten können. Welcome to the Java (Tools) Wonderland!
Raum Sylt
Themenbereich: Enterprise Java
Sowohl bei Storm als auch bei Spark Streaming handelt es ich um Open-Source-Frameworks für Distributed Stream Processing. Storm wurde von Twitter mitentwickelt und später Apache überreicht. Spark ist als Ersatz für Hadoop MapReduce angedacht, mit dem Vorteil der besseren Performance, wurde vom Berkeley AMPLab entwickelt und gehört mittlerweile auch zu Apache. Spark Streaming, eine Erweiturung von Spark erlaubt die Verarbeitung von Nachrichten in Echtzeit. Dieser Vortrag behandelt Gemeinsamkeiten, aber natürlich auch die Unterschiede zwischen den beiden Lösungen und zeigt, wie sich damit Event-Streams verarbeiten lassen.
Mozart-Saal
Themenbereich: Core-Java
Oleg Šelajev is an engineer, author, speaker, lecturer and advocate at ZeroTurnaround. He spends his time testing, coding, writing, giving conference talks, crafting blogposts and reports. He is also pursuing a PhD on dynamic software updates and code evolution. Oleg enjoys speaking and participating in Java/JVM development conferences such as JavaOne, Devoxxes and others. In his free time, Oleg plays chess at a semi-grandmaster level, loves puzzles and solving all kinds of problems.
Schiller-Saal
Themenbereich: Core-Java