Handling Data-Flow the Reactive Way using Akka Streams
(Roland Kuhn -Typesafe)
Akka Streams are an implementation of the Reactive Streams specification ( http://reactive-streams.org/ ), a joint effort that aims at standardizing the exchange of streams of data across asynchronous boundaries in a fully non-blocking way while providing flow control and mediating back pressure. In this presentation we go into the details of what this new abstraction can be used for and what the guiding principles are behind its development. We then pop the hood to inspect the inner workings of how the idiomatic Scala and Java DSLs translate the description of a stream transformation into a running chain of actors. Finally I give an outlook on how this will enable the distributed processing of real-time or big data streams across an Akka Cluster.
Intended Audience: Programmers, architects, CIO/CTOs and everyone with a desire to challenge the status quo and expand their horizons on how to tackle the current and future challenges in the computing industry.
Introducing HIP, the Human Interaction Protocol
(Kees Jan Koster - java-monitor.com)
An API and framework to coworkers, managers and that idiot down the hall
Humans have wonderfully weird interfaces. Ranging from elegantly simple to brutish and infuriating. It is an interface that we use every day. It is so prevalent that, regrettably, we tend to forget it is there. For all our love of tinkering with systems, developers seem to have no interest whatsoever in hacking this particular API.
HIP is Open Source, with nearly 7 billion users and almost as many contributors. Over the course of history, the API to humans has been well documented and explored. It is the only API that can be talked about at parties.
In Human Interaction Protocol, Kees Jan Koster talks about the API to various implementations of the human class. He introduces a framework that makes it easier to interface with individual objects. The framework is particularly suitable for clustering humans. From personal experience he explains a few useful design patterns to apply in your HIP clusters.
You take home a set of recipes to apply when using HIP. Simply using these will improve your own use of HIP, and explain and possibly address some of the performance issues you've been seeing in your clusters. They serve as a starting point to tinkering and experimenting with this wonderful API.
After introducing the basic HIP protocols, Kees Jan explains the following patterns: breaking endless loops, efficient interrupt handling, scheduling, response codes and API level negotiation.
This talk is accessible to developers of all levels of experience.
Einführung in Gradle
(Stefan Oehme - itemis)
Gradle (http://www.gradle.org) ist ein modernes Build-System, das die Stärken seiner Vorgänger vereint. Auf Nutzerseite lautet das Motto "Konvention statt Konfiguration". Die verwendete Sprache ist allerdings kein starres XML, sondern eine Groovy-DSL. So kann beliebiger Code ausgeführt werden. Gegen dieselbe API werden auch Plugins entwickelt. Der Übergang vom Nutzer zum Plugin-Autor ist fließend und einfach. Im Kern von Gradle arbeitet ein Task-System, vergleichbar mit Ant. Zusätzlich leiht sich Gradle die inkrementellen Tasks des Build-Veteranen Make. Eine Entscheidung zwischen "schnelle Builds" und "lesbare Buildskripte" ist endlich nicht mehr nötig.
Aber Vorsicht, der Anblick von Maven-POMs kann nach diesem Vortrag körperliche Schmerzen hervorrufen!
16:30 Get Together
17:00 Einführung in Gradle (Stefan Oehme)
18:15 Introducing HIP, the Human Interaction Protocol (Kees Jan Koster)
19:30 Handling Data-Flow the Reactive Way using Akka Streams (Roland Kuhn)
20:30 Abschluss und Networking
21:00 Ende der Veranstaltung
Über die Vortragenden:
Roland Kuhn is leading the Akka (http://akka.io/) project at Typesafe (http://typesafe.com/), a co-author of the Reactive Manifesto (http://reactivemanifesto.org/) and the book Reactive Design Patterns (http://www.manning.com/kuhn/), co-teaching the Coursera course “Principles of Reactive Programming (https://www.coursera.org/course/reactive)” and a passionate open-source hakker. He also holds a PhD in particle physics and has worked in the space industry for several years. See also rolandkuhn.com (http://rolandkuhn.com/).
Kees Jan Koster is a freelance Java architect and technical project leader. He is currently starting up http://java-monitor.com as a community service, and as a business.
Stefan Oehme is a software architect and consultant at itemis (http://www.itemis.de). His primary focus is on connecting developers and domain experts through domain driven design, better languages and continuous delivery. In his last project at a large German bank he cut down release cycles from six months to two weeks. Stefan is a committer on Xtext (http://www.xtext.org) and Xtend (http://www.xtend-lang.org).