GOTO is a vendor independent international software development conference with more that 90 top speaker and 1300 attendees. The conference cover topics such as .Net, Java, Open Source, Agile, Architecture and Design, Web, Cloud, New Languages and Processes

Viktor Klang, Chief Architect at Typesafe

Viktor Klang

Biography: Viktor Klang

Viktor Klang (@viktorklang) is Chief Architect at Typesafe, former Tech Lead for the Akka project and co-author of scala.concurrent in the Scala Standard Library. Viktor has a long background on the JVM and a passion for concurrent, asynchronous, distributed and resilient systems and the making thereof.

Hailing from southern Sweden, Viktor is a passionate Scala hacker since 2007, a Java enterprise systems architect since 2003 and a programmer since 1998.

He's a big fan of agile development, scalable software and elegant code. He's spent the past 7 years building a EIS, ERP, CRM and PDM system for a large international enterprise.

After being involved in the Lift web framework for 2 years, he joined the Akka team in the middle of 2009 as one of the earliest committers.

Presentation: How I Learned to Stop Worrying and Love the Flow

Track: Leading & Bleading Edge - Day 1 / Time: Thursday 10:20 - 11:10 / Location: Frederik

Stream-based programming holds the promise of unifying IO with traditional Functional Programming manipulation of collections. In this session we will introduce you to Akka Streams—an asynchronous Stream-based programming library with non-blocking back pressure implemented on top of Akka—an implementation of the Actor Model. We'll demonstrate the Flow API—a lifted representation—as well as a pluggable way of transforming the lifted representation into the execution representation—Flow Materialization. We will also discuss the implications of non-blocking back pressure for fan-in (many producers to single consumer) as well as fan-out (single producer to many consumers) as well as discuss dynamic runtime optimization as well as compile time optimization.

Presentation: What is a Reactive Application Part I

Track: Leading & Bleading Edge - Day 2 / Time: Friday 14:40 - 15:30 / Location: Frederik

Reactive is becoming the new cool kid on the block when it comes to developing mission critical applications. What is the big deal? The old hands that were involved in the likes of Erlang and Tandem will say this is nothing new. Indeed that is very true. However many seem to have lost their way with enterprise applications and descended into the tar pit of big frameworks such as JEE, or built Rails apps that fall apart when they grow up into successful applications. Yet some large scale web companies, telco providers, financial trading firms, and multi-player online games are delivering services that are always available by being resilient to failures, always responsive so that users are not left waiting, and reactive to load by elastic use of resources. How do they offer this level of service? Well that is what we want to discuss.

In this deep dive we will explore what are considered the desirable characteristics of reactive applications via a series of lightening talks. Then we will discuss the design approaches that can be taken to achieve these desirable characteristics. The discussion will be open to the audience so everyone can explore this topic and learn.

Presentation: What is a Reactive Application Part II

Track: Leading & Bleading Edge - Day 2 / Time: Friday 15:50 - 16:40 / Location: Frederik

Reactive is becoming the new cool kid on the block when it comes to developing mission critical applications. What is the big deal? The old hands that were involved in the likes of Erlang and Tandem will say this is nothing new. Indeed that is very true. However many seem to have lost their way with enterprise applications and descended into the tar pit of big frameworks such as JEE, or built Rails apps that fall apart when they grow up into successful applications. Yet some large scale web companies, telco providers, financial trading firms, and multi-player online games are delivering services that are always available by being resilient to failures, always responsive so that users are not left waiting, and reactive to load by elastic use of resources. How do they offer this level of service? Well that is what we want to discuss.

In this deep dive we will explore what are considered the desirable characteristics of reactive applications via a series of lightening talks. Then we will discuss the design approaches that can be taken to achieve these desirable characteristics. The discussion will be open to the audience so everyone can explore this topic and learn.