Die zwei Tage Spring I/O in Barcelona waren vollgepackt mit meist interessanten Vorträgen von Rednern der Spring-Community aus der ganzen Welt. Gewisse Themen waren sehr prominent vertreten und wurden überall "gehyped".
Es folgt eine Übersicht meiner favorisierten Buzz-Words.

Völlig unumstritten waren Microservices das meist erwähnte Thema der Spring I/O. Netflix ist dabei das Vorzeige-Exemplar unter den Firmen welche Software nach diesem Architekturstil entwickeln. David Syer gab einen Vortrag über den Open-Source-Stack des amerikanischen Streaming-Giganten. Dazu erwähnte er im Schnellgang einige Tools, welche den Betrieb von Microservices vereinfachen.
Beispielsweise:


Spring Boot ist die Technologie, zu welcher es an der Konferenz die meisten Talks gab. Das relativ junge Spring-Produkt ermöglicht es, mit wenig Code neue Applikationen zu entwickeln und zu deployen. Der Clou bei Spring Boot ist die automatische Konfiguration der Module. Ein Spring-Boot-Modul muss nur als Abhängigkeit eingebunden werden. Es bringt bereits selbst eine sinnvolle Konfiguration mit.
Spring Boot ist ausserdem perfekt geeignet für den Einsatz mit Docker. Es ermöglicht das Erzeugen eines startbaren JARs inklusive aller Abhängigkeiten wie auch z.B. Embedded Tomcat oder Undertow.

Josh Long gab einen unterhaltsamen Talk mit dem Titel How to build 'Bootiful' applications with Spring Boot. Prägnant formulierte er das Motto: "Make jar, not war". Mit Groovy schrieb er einen winzigen Demo-Service der sogar in einen Tweet passte.
Auf der URL http://start.spring.io bietet Pivotal, die neue Firma hinter Spring, einen Projekt-Generator der hilft die passenden Maven- oder Gradle-Konfigurationen zu erstellen. Die Website ist sogar optimiert für curl!
Welche Vereinfachungen Spring Boot für den Betrieb bieten, vermittelte Nicolas Fränkel im Vortrag Spring Boot for Devops. Jede Spring-Komponente registriert seine Metrics und Health-Status automatisch. Ein Rest-API ermöglicht das andocken von existierenden Monitoring-Tools wie zum Beispiel Graphite. Als Implementierung wird die bewährte Dropwizard-Metrics Library verwendet.

start.spring.io with curl


Alvaro Sanchez-Mariscal erklärte Lösungen für Stateless Authentication. Einerseits zeigte er dass es mit OAuth2 einen verbesserten Standard gibt, der in seiner Funktionsweise relativ leicht verständlich ist. Andererseits vermittelte er die Konzepte von JSON Web Tokens, einem Standardformat für Tokens mit OAuth2.

Ray Tsang von Google demonstrierte in seinem Talk wie man mit Kubernetes seine Docker-Container orchestrieren kann. Er demonstrierte auch das neue UI. Google arbeitet aktuell an einem Container-Service Google Container Engine, welcher auf Kubernetes basiert.

Kubernetes UI


Sehr aufschlussreich war der Vortrag von Sébastien Deleuze über Isomorphic Templating. Es ermöglich das Verwenden der gleichen Templates für das Rendern auf dem Server und dem Client. Was erst etwas weit hergeholt erscheint für normale Web-Applikationen, hat in der Anwendung für grosse Websites mit viel Inhalt durchaus seine Berechtigung.
Die Technik kann die initiale Ladezeit von Mobil-Applikationen etwa um einen Faktor Fünf verringern. Sie vereinfacht auch die Zugänglichkeit für Suchmaschinen, was für manche Zwecke auch wichtig sein kann. 
Sébastien demonstrierte eine Implementierung auf Basis von der Nashorn und React.

Wer Big Data betreibt, findet mit Spring XD eine Platform für Entwicklung und Betrieb. Sie baut auf Spring Integration auf und wird als Alternative zu Frameworks wie Storm, Flume, Oozie oder Sqoop bezeichnet. 
Die Runtime bietet Stream Processing, Batch Workflows, Analytics und einen Message Bus.
Natürlich bringt die Platform bereits komfortable Management-Tools mit, die den Betrieb vereinfachen.
Spring XD

Neben den Vorträgen fanden auch Workshops zu verwandten Themen statt. Dort gab es die Gelegenheit die Themen in der Praxis zu vertiefen.
Ingesamt fand ich die Spring I/O extrem interessant und kann einen Besuch sehr empfehlen. Ob die Konferenz nächstes Jahr wieder stattfindet ist noch nicht gesichert.