Urs Peter | KotlinConf 2024, May 22–24, Copenhagen
all speakers

Urs Peter

Urs Peter

Urs Peter Senior Software Engineer and JetBrains certified Kotlin Trainer

Urs is a seasoned software engineer, solution architect, conference speaker, and trainer with over 20 years of experience in building resilient, scalable, and mission-critical systems, mostly involving Kotlin and Scala. Besides his job as a consultant, he is also a passionate trainer and author of a great variety of courses ranging from language courses for Kotlin and Scala to architectural trainings such as Microservices and Event-Driven Architectures. As a people person by nature, he loves to share knowledge and inspire and get inspired by peers on meetups and conferences. Urs is a JetBrains certified Kotlin trainer.

Grow with the Flow: How Kotlin Flow Became a Game-Changer for our Business

Kotlin’s Flow is a powerful abstraction with unprecedented potential that revolutionized data exchange of my client in the telecom industry.

This talk will explore this success story with Kotlin Flow as the main actor that powered a groundbreaking streaming application using server-sent events. This application had a disruptive impact both in B2B interactions and internally.

Starting with a crisp and understandable exploration of Kotlin Flow and its brothers StateFlow and SharedFlow, we will live-code the essentials of the game-changing solution step by step. Along the way, we will show off all the crucial capabilities of the Flow family on stage, revealing how all aspects enable you to build a cutting-edge, mission-critical streaming application.

Finally, discover how Flow not only facilitated the development of a game-changing streaming API but also became the cornerstone of our Event-Driven Architecture. This shift allowed us to bypass traditional messaging solutions like Kafka entirely, simplifying our infrastructure and significantly reducing operational overhead.

After this session, you will have tasted the transformative power of Kotlin's Flow and how to leverage it to your benefit so that you, too, can 'Grow with the Flow'!

Reactive Spring Boot With Coroutines and Virtual Threads

If you want to get the most out of Spring Boot in terms of low latency, high throughput, and resource efficiency, there’s no way around Spring Boot’s reactive stack WebFlux. However, the price you pay in terms of WebFlux code’s complexity, readability, and maintainability is rather high and will likely give you a lot of headaches.

In this workshop, you’ll learn how Spring Boot’s coroutine support will wipe out all the downsides of the ‘raw’ WebFlux approach and provide you with the best of both worlds: reactive characteristics without the complexity.

You’ll also explore Kotlin’s reactive building blocks, such as coroutines, channels, and flows, and apply them in Spring Boot. By building a reactive API in Spring Boot from scratch, you’ll learn how to:

  • Perform non-blocking remote API calls using WebClient.
  • Access a relational database with the reactive R2DBC driver.
  • Apply parallelism in your business logic.
  • Write and test reactive API endpoints.
  • Create an advanced streaming API based on Server-Sent Events that combines coroutines and flows.

By the end of the workshop, you’ll know all the ins and outs of reactive programming in Spring Boot with coroutines, as well as the benefits they offer over the WebFlux abstractions Mono and Flux.

Furthermore, you’ll explore Project Loom’s virtual threads and see how they fit into the picture. You’ll also learn how virtual threads can further leverage the power of coroutines.