List of videos

Event Streaming for the Best of All Worlds by Mary Grygleski @ Spring I/O 2022
Spring I/O 2022 - Barcelona, 26-27 May Slides: https://bit.ly/3m3zGWp When it comes to distributed, event-driven messaging systems, we usually see them supporting either one of two types of semantics: streaming, or queueing, and rarely do we find a platform that supports both. In this presentation, we’ll first get an introduction and some clarifications of event-driven versus message-driven systems, event streams, and stream processing. We’ll then take a look at Apache Pulsar which offers a very unique capability in modern, cloud-native applications and architecture, in which its platform supports both Publish-Subscribe and Message Queues, and extends into streams processing as well as performs message mediation & transformation. We will see how it works closely with and relies on Apache Bookkeeper for its durable, scalable, and performant storage of log streams, and leverages on Apache Zookeeper to manage the otherwise very complex ecosystem. We will then compare Apache Pulsar with the popular Apache Kafka platform to understand some of their key differences as to how Pulsar can overcome some of Kafka's limitations. With Pulsar's flexible architecture and cloud-native readiness, we will take a look to see how it can be integrated and work collaboratively with the popular Spring framework.
Watch
Thoughts about layered architecture – Mapping efficiently with SQL by Tim Zöller @ Spring I/O 2022
Spring I/O 2022 - Barcelona, 26-27 May In enterprise contexts, developers are often taught that we need to decouple our application layers and create reusable access methods for our data – but is that really true? Join me to find out how to write less code and create fast & easily maintainable software with Spring Data Projections. Software that has multiple domains needs code which maps between them. The reasoning behind this is, that domains have to be decoupled from each other. This is especially important in layered architecture, a style that is widely used in todays’ software projects. Having layers in the application – usually a persistence layer, an application layer and a presentation layer – enforces separation of concerns and decouples the data models from each other. But: does it really? In this session I will share some thoughts on the up- and downsides of layered architecture, boilerplate code, a common JPA antipattern, why “decoupled classes” do not mean “decoupled data” and how we could make our lives easier, if we let the database do what it does best: Transforming data.
Watch
Bootiful CQRS and Event Sourcing with Axon Framework by Allard Buijze @ Spring I/O 2018
Spring I/O 2018 - Barcelona, 24-25 May GitHub repo: https://github.com/AxonIQ/giftcard-demo-series Events are becoming increasingly important in modern architectures. Although CQRS and Event Sourcing are increasingly being adopted, the complexity of implementing it is often highly over-estimated. In this session, we will first briefly cover what CQRS and Event Sourcing are, and how it addresses some common requirements that modern applications have. Next, we will open up the IDE and see how Spring Boot and Axon Framework work neatly together to get you up and running with Event Sourcing in mere minutes. Once we have the application running, we will use Spring Cloud Discovery to scale the application out, where Axon will ensure optimal routing of commands. We will also see how we can easily use Spring AMQP to publish all events to an AMQP message queue as well.
Watch
Spring I/O 2018 - Video Summary
Spring I/O is the leading european conference focused on the Spring Framework ecosystem. Spring I/O 2019 will take place on 16-17 May in Barcelona. Save the date! Join the Spring community from around the world. There is no better place to share, discuss, collaborate and socialise with other Spring professionals and enthusiasts.
Watch
Flight of the Flux: A look at Reactor execution model by Simon Basle @ Spring I/O 2018
Spring I/O 2018 - Barcelona, 24-25 May Slides: https://speakerdeck.com/simonbasle/flight-of-the-flux If you're familiar with the **Reactor** `Flux` API but have always wondered what exactly was happening at runtime, look no further! In this session, we'll observe various instances of the majestic `Flux` and `Mono` in their natural habitat, the JVM. We'll look past the APIs and Reactive Stream concepts, towards less abstract matters such as the Reactor execution model (is there even such a thing?). What is the difference between assembly time and execution time? What is work stealing? Why does nothing happen until we subscribe? What is operator fusion? Magnets, how do they even work? Come join us and we'll try to answer all of these questions, and more!
Watch
Consumer driven contracts in a polyglot world by Riccardo Lippolis / Jeroen Bruinink @ Spring I/O
Spring I/O 2018 - Barcelona, 24-25 May Slides: https://docs.google.com/presentation/d/19BFGJiTElU3VVIbpF3Gqac26m4uaNpPEQpVB1eIPa90/edit#slide=id.p Have you ever been in the situation where your microservice stopped working, because one of the services it consumes changed? Or did you ever want to change a service but found it difficult to find out which consumers it has? We ran into these problems numerous times (usually head first) after breaking up a monolithic application into microservices. Where once the compiler would complain or our unit tests would fail, everything would now seem fine at first. Problems would only become visible after deploying to the integration environment, or worse: in production! In this talk, we will explain how we mitigate these problems using Spring Cloud Contract to specify and test the interface between our Spring Boot microservices. Furthermore, with the new Polyglot support, we are now able to extend the specifications to include our non-JVM services and frontend applications. The presented code examples will be shared on GitHub.
Watch
Bootiful Kotlin by Sébastien Deleuze and Josh Long @ Spring I/O 2018
Spring I/O 2018 - Barcelona, 24-25 May Spring Boot, the convention-over-configuration centric framework from the Spring team at Pivotal, marries Spring’s flexibility with conventional, common sense defaults to make application development on the JVM not just fly, but pleasant! Spring Boot aims to make address the common functional and non-functional requirements that gate quickly moving to production. The framework is as clean as it gets, wouldn’t it be nice if the language matched its elegance? Kotlin, the productivity-focused language from our friends at JetBrains, takes up the slack to make the experience leaner, cleaner and even more pleasant! The Spring and Kotlin teams have worked hard to make sure that Kotlin and Spring Boot are a first-class experience for all developers trying to get to production, faster and safer. In this talk, Josh and Sébastien will live code a Spring Boot 2 + Kotlin application to show you concretely how efficient and fun coding can be when using these 2 technologies together.
Watch
Spring Boot 2 in JHipster by Sendil Kumar @ Spring I/O 2018
Spring I/O 2018 - Barcelona, 24-25 May JHipster is the leading Spring boot + Angular / React application generator, focusing on improving the developer productivity and scaffolding the latest technologies. JHipster with Spring boot2, lets kickstart a production ready application in minutes and share the journey of our spring boot 2 migration.
Watch
Reactor Netty, the default runtime for Spring Boot 2.0 by Violeta Georgieva @ Spring I/O 2018
Reactor Netty is a new runtime which aims to provide an asynchronous and non-blocking runtime that supports Reactive Streams backpressure for client or server needs over a range of protocols (UDP|TCP|HTTP). In this session the internal architecture and structure of Reactor Netty will be explored. All major features will be covered. Best practices and recommendations will be demonstrated with live coding.
Watch