Canoo @ JavaLand 2017

Canoo @ JavaLand 2017

From March 28 to 30, 2017 Phantasialand in Bruehl (Germany) will once again become a mecca for Java-Enthusiasts – more than 100 lectures and many community activities await you. With more than 100 talks in 8 different streams (e.g. Core Java and JVM languages, architecture and security, frontend and mobile, IoT, etc.), JavaLand 2017 is one of the most important Java events in Germany.

Canoo experts will talk about the following topics:

TypeScript, PureScript und Elm für funktionales JavaScript
Man kann reines JavaScript funktional programmieren, wenn man eiserne Disziplin durchhält. Das wird zunehmend schwierig, sobald das Team größer wird und wechselnde Mitglieder hat. Sprachen, die funktionales Programmieren auf JavaScript abbilden, können einen Teil dieser Disziplin über den Compiler und das Typsystem durchsetzen.

Von den vielen Möglichkeiten schauen wir uns neben reinem "Vanilla" JavaScript noch TypeScript, PureScript und Elm an, die unterschiedliche, interessante Eigenschaften haben.

Ziel des Vortrags ist, die Neugierde für alternative Ansätze zu wecken und Hilfestellung bei der Entscheidung zu geben, welche Optionen man sich später genauer anschauen möchte.

Speaker: Dierk König
Date: 28.03.2017
Time: 13:00 Uhr
Room: Silverado Theater
AsciiDoctor mal Groovy
AsciiDoctorJ ist die offizielle Portierung von Asciidoctor auf die JVM. Damit lassen sich AsciiDoc-Dateien direkt aus einer Java-Anwendung in HTML, PDF oder DocBook-Dokumente umwandeln. Neben der vielen Standardfunktionen stellen AsciiDoctor und auch AsciiDoctorJ eine einfache Plugin-API zur Verfügung. Dadurch lassen sich eigenen Funktionalitäten realisieren und die Fähigkeiten von AsciiDoctor erweitern.

Eine solche Erweiterung ist das AsciiDoctorJ Screenshot Plugin. Es verwendet Geb, um einen Browser zu kontrollieren und Screenshots zu erstellen, welche danach direkt in das Dokument eingefügt werden. Eine Automatisierung dieses Arbeitsschritts ist ein weiteres Puzzle-Teil hin zu einer lebenden Dokumentation.

In dieser Präsentation wird eine Einführung in die AsciidoctorJ Plugin API gegeben. Dazu wird das Screenshot-Plug-in als Beispiel verwendet, um einerseits zu zeigen, wie einfach eine Erweiterung geschrieben werden kann und andererseits warum Groovy die perfekte Sprache für diese Aufgabe ist. Weil theoretisch immer alles gut und einfach ist, die Tücken jedoch meistens im Detail liegen, wird direkt auf der Bühne eine reduzierte Version des Screenshot-Plug-in erstellt. Dadurch wird demonstriert, welche Eleganz und Mächtigkeit Groovy für AsciidoctorJ-Erweiterungen zur Verfügung stellt.

Speaker: Stephan Classen
Date: 28.03.2017
Time: 14:00 Uhr
Room: Eventhalle
IoT-Integration in Java-Enterprise-Umgebungen
Der Raspberry Pi is sicherlich ein interessanter Einstieg in die Welt des IoT, in der Produktion wird allerdings in der Regel mit Edge Nodes gearbeitet, in dessen max. 16 k Speicher man keine Frameworks oder Programmiersprachen wie Java mehr nutzen kann.

In unserem Vortrag zeigen wir, wie man solche Devices mit Enterprise-Anwendungen und Microservices verbinden kann und so in seinem Java-Servern Zugriff auf die Live-Daten (Update alle 1 bis 10 Sekunden) von beliebig vielen Devices hat. REST ist hier sicherlich nicht das geeignete Protokoll und steht teils auf den Devices noch nicht einmal zur Verfügung.

Natürlich reicht es nicht diese Daten auf dem Server zu haben. Zur Überwachung von IoT-Devices oder ganzen Netzen aus Devices muss es natürlich auch visuelle Frontends geben, in denen die Daten live angezeigt werden. Auch hier stellen wir eine interessante Lösung vor, um die Live-Daten von verschiedenen Devices auf Clients zu verfolgen. Alle unsere Lösungen basieren auf Open-Source-Bibliotheken und anerkannten Standards.

Speaker: Hendrik Ebbers
Date: 28.03.2017
Time: 16:00 Uhr
Room: Neptun
Mutierbare verteilte Daten einfach gemacht mit Conflict-free Replicated Data Types (CRDT)
Zugriff und Änderung von Daten, die auf mehrere Computer verteilt sind, die wiederum durch unzuverlässige Netzwerke verbunden sind, gilt als eines der schwersten Probleme in der modernen Softwareentwicklung. Conflict-free Replicated Data Types (CRDT) sind ein neuer und vielversprechender Ansatz, um diese Herausforderung anzugehen. CRDTs sind Datentypen, die auf mehreren Computer repliziert und gleichzeitig modifiziert werden können - sogar während sie offline sind - wobei es niemals zu Konflikten kommen kann und daher niemals Rollbacks erforderlich sind.

Diese Session behandelt die Grundlagen von CRDTs, erläutert die gebräuchlichsten Datentypen und stellt Projekte und Tools vor, die bereits heute die Nutzung von CRDTs erlauben.

Speaker: Michael Heinrichs
Date: 29.03.2017
Time: 12:00 Uhr
Room: Neptun
Robuste, lesbare Web-UI-Tests mit Page Object Pattern, Geb und Spock
Die UI gilt gemeinhin als schwierig zu testen, und die Tests haben den Ruf, fragil zu sein und bei kleinen Änderungen im produktiven Code reihenweise umzufallen. Das Page Object Pattern erlaubt es, die Details der HTML-Struktur in einer wiederverwendbaren Form zu kapseln. Dadurch wird der Test-Code von der Web-UI separiert und er gewinnt an Stabilität.

Im JVM-Ökosystem hat Geb sich als De-facto-Standard für Web-UI-Tests etabliert. Geb bietet mit seiner Groovy-basierten DSL und einer jQuery-ähnlicher Syntax eine pragmatische Abstraktion über den Selenium WebDriver. Mit Spock als letzte Zutat ergibt sich eine Mischung, die es erlaubt, ohne großen Aufwand gut leserliche Tests zu schreiben, welche äußerst robust gegenüber Änderungen sind.

Für Entwickler, die bis jetzt noch wenig oder hauptsächlich schlechte Erfahrungen mit UI-Tests gemacht haben, wird dieser Vortrag eine Reise durchs Wunderland. Die Fahrt beginnt mit eine kurze Einführung in das Page Object Pattern sowie Geb und Spock. Da auch im Wunderland ein paar Überraschungen lauern, folgen eine Reihe von Tipps und Tricks wie die Stabilität und Lesbarkeit und somit auch die Wartbarkeit von Web-UI-Tests zusätzlich erhöht werden kann. Am Ziel des Ausflugs geht es dann in die Tiefe mit einer detaillierte Betrachtung des Page Object Pattern im Umfeld von Single Page Applications und asynchronen Webseiten.

Speaker: Stephan Classen
Date: 29.03.2017
Time: 13:00 Uhr
Room: Eventhalle
Was macht Java auf dem Client?
Swing und SWT sind veraltet, die JavaFX-Entwicklung lahmt, während JavaScript und HTML5 auch in der Java-Welt zunehmend neue Fans gewinnt. Ist Java auf dem Client überhaupt noch sinnvoll, und welche Frameworks und Alternativen gibt es? Wie kann man mobile Java-Anwendungen entwickeln, und wo sind die Vorteile von Java gegenüber nativen Apps und Applikationen?

In dieser Session stellen wir die Alternativen vor und beantworten Fragen aus dem Publikum zu den einzelnen Lösungen.

Speaker: Hendrik Ebbers & Anton Epple
Date: 29.03.2017
Time: 14:00 Uhr
Room: Wintergarten
All of our speakers will be at our booth (no. 306) at specific times during the two days of exhibition to answer your questions. You will also have the possibility to get to know Canoo as an employer - with first-hand input from developers at Canoo. You are also invited to join our twitter challenge and to win awesome prices.

We look forward to meeting you at JavaLand 2017!

Please use the following form to secure your personal slot with Canoo experts at our booth.

X