Drei Tage ScalaDays 2014 im Überblick

1 Kommentar

Der Fokus der ScalaDays 2014 in Berlin lag auf Vereinfachung, Reactive Streams und Event Sourcing mit Akka Persitence. Vom 16. bis 18. Juni trafen sich dazu Entwickler und konnten 59 Vorträgen in mehreren Tracks zuhören. Die Vorträge waren ein spannende Mischung aus theoretischen und praktischen Themen sowie eindrucksvollen War Stories. In diesem Artikel stelle ich meine Mischung vor und berichte, was bei mir die stärksten Eindrücke hinterlassene hat.

Edit: Mittlerweile sind die Vorträge als Videos bei Parleys verfügbar.

Vereinfachung

Martin Odersky hat in seiner Keynote Scala: The Simple Parts über den neuen Scala Compiler dotc gesprochen, der neben besserer Performance auch eine Vereinfachung der Sprache bringen soll. So sind einige Sprachkonstrukte wie Implicit Conversions und einige Typenspezifika nur über Feature Flags zu aktivieren. Er sprach aber auch über seine 7 Scala Muster, die er bei der täglichen Arbeit nutzt. Interessant fand ich seine Bemerkung, dass er Scala nicht als object/functional Sprache ansieht, sondern als modulare Sprache. Gerade erst die Kombination von objektorientierten und funktionalen Aspekten erleichtern Modularisierung.

Reactive Streams

Das Akka Team arbeitet an der Integration von eventsourced und Spray.io als neue Module namens Akka Persistence bzw. Akka HTTP. Gerade diese beiden Module werden als Basis für viele andere Projekte herbeigesehnt. Zum Beispiel beabsichtigt das Play Team mit diesen Modulen ihre Iteratee Implementierung und Netty als Webserver zu ersetzen.

Überhaupt hat das Play Team in seiner Vorstellung von Play 2.4 viel über die Modularisierung von Play in einzelne Komponenten wie zum Beispiel sbt-web und die Templating Engine Twirl gesprochen. Diese Aufteilung von Play soll zum Einen die zukünftige Entwicklung beschleunigen und zum Anderen einzelne Komponenten austauschbar machen.

Ein besonderes Highlight war Nilanjan Raychaudhuri Vortrag zu Play Recipes for the Real World zu Best Practises für Play. Als Koch in Kochschürze wirbelte er energiegeladen durch den Raum und schaffte es noch dabei mit Live Coding zwei hoch performante Play Muster vorzustellen. Leider ist ihm die Zeit davon gelaufen, so dass er ein drittes nicht mehr zeigen konnte.

Matthias Nehlsen stellte in seinem Vortrag Writing Reactive Applications for Fun zwei seiner Open Source Projekte vor. BirdWatch zeigt alle Twitter Tweets zu einem bestimmten Suchbegriff in Echtzeit an. Es ist mit Play, Iteratees und ElasticSearch erstaunlich einfach und mit wenigen Zeilen umgesetzt.

Event Sourcing mit Akka Persitence

Das Akka Team demonstrierte im Vortrag Resilient Applications with Akka Persistence die Grundlagen von Akka Persistence und wie man damit Event und Command Sourcing umsetzt. Mit Hilfe von Akka Persistence ist es möglich, eintreffende Anfragen automatisch zu persistieren, bevor man sie verarbeitet. Im Fall eines Systemabsturzes wird der Systemzustand anhand des Logs wiederhergestellt.

Duncan DeVore stellte Building a Reactive Application vor, wie er und sein Team die Erfassung von Stromverbrauchsdaten mit Event Sourcing und Akka Persistence umgesetzt haben. Sie starteten dabei mit einer klassischen, auf JPA basierten Architektur, die der Last nicht gewachsen war. Durch die Umstellung auf Scala und Akka konnten sie diese Probleme lösen.

Etc

Im Live Coding DI w/o Frameworks hat Adam Waski MacWire vorgestellt. MacWire ist eine kleine Bibliothek um ein Scala Makro herum, dass Dependency Injection vollständig mit Scala Bordmitteln löst und mit Play kompatible ist. Philipp Haller diskutierte den Unterschied zwischen Scalas Future sowie Promise und seiner Async Bibliothek – Futures and Async: When to Use Which?. Insbesondere wenn man mit mehreren Futuren arbeitet, erleichtert Async die Übersichtlichkeit und das Verständnis des Codes. Eric Torreborre gab eine geniale Einführung in das Testing Framework Specs2 2.3. In 45 Minuten hat er tatsächlich alles gezeigt, was Specs2 so besonders macht und wie man es nutzt.

Als Randnotiz ist mir aufgefallen, dass fast alle Vortragenden Macs benutzen und wenn sie Live Coding gezeigt haben, IntelliJ verwendeten.

Lukas Pustina

Dr. Lukas Pustina hat langjährige Erfahrung in der Entwicklung und dem Betrieb von verteilten Systemen. Er hat dabei stets ein Auge auf neue Technologien in diesem Umfeld. Zur Zeit arbeitet er als Betriebsleiter bei der CenterDevice GmbH an der Realisierung einer hochskalierbaren Cloudsoftware. Gemeinsam mit Daniel Schneller hat er die CloudFibel ins Leben gerufen.

Share on FacebookGoogle+Share on LinkedInTweet about this on TwitterShare on RedditDigg thisShare on StumbleUpon

Kommentare

  • Malocher

    20. Juli 2014 von Malocher

    Martin Odersky hat in seiner Keynote Scala: The Simple Parts über den neuen Scala Compiler dotc gesprochen, der neben besserer Performance auch eine Vereinfachung der Sprache bringen soll.

    Der Satz könnte falsch verstanden werden. Jemand der Oderskys Keynote nicht gesehen hat könnte denken der Compiler erzeugt performanteren Code, gemeint waren aber schnellere Copiletimes.

Kommentieren

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.