List of videos

Moving from Imperative to Reactive by Paul Harris @ Spring I/O 2019

Spring I/O 2019 - Barcelona, 16-17 May Most of the demos on reactive programming I’ve seen use either simple one-liner examples, or complicated codebases that can leave the viewer behind. I’d like to strike a balance, using an example real enough to impart understanding, but simple enough to inspire a room full of heads nodding along! Maybe you’ve heard about this new reactive thing and want to give it a try. Or perhaps management have heard about this new reactive thing, and told you to give it a try. Either way this session will give you an introduction to reactive programming, using Spring’s support for reactive streams to convert a simple but realistic Java application from imperative to reactive. We’ll cover everything from the building blocks of reactor through to a running reactive application, sharing some hard-won wisdom along the way.

Watch
Clean Architecture with Spring by Tom Hombergs @ Spring I/O 2019

Spring I/O 2019 - Barcelona, 16-17 May Slides: https://speakerdeck.com/thombergs/o-2019 Buzzwords like “Clean Architecture” and “Hexagonal Architecture” have been around for quite some time now. But have you actually seen an application built with one of these paradigms? How do we actually implement such an architecture in a way that the software we create stays flexible and maintainable? This talk presents the concepts and reasoning behind the buzzwords “Clean Architecture” and “Hexagonal Architecture” and translates them into actual code. Going through an example web application based on Java and Spring, we’ll discuss the full stack ranging from the web layer to the persistence layer. How should we structure our application? Where does the input validation code belong? How do I access my domain logic? How can I let my bounded contexts communicate cleanly? And how does Spring help with all of this? These questions and more will be answered.

Watch
Going Cloud Native with Spring Cloud Azure by Julien Dubois and Josh Long @ Spring I/O 2019

Spring I/O 2019 - Barcelona, 16-17 May GitHub repo: https://github.com/joshlong/spring_io_2019/tree/master/azure In this session, Julien and Josh will show how you can use Spring Cloud Azure to implement and enhance Spring-based apps that include high scalability through Cloud Foundry, access to NoSQL data services on Azure with Spring Data, authentication and authorization mechanisms and messaging with Spring Cloud Stream, and more useful Spring Cloud modules for Azure.

Watch
GraalVM for Java developers by Oleg Šelajev @ Spring I/O 2019

Spring I/O 2019 - Barcelona, 16-17 May GraalVM is a high-performance runtime for dynamic, static, and native languages. GraalVM supports Java, Scala, Kotlin, Groovy, and other JVM-based languages. At the same time, it can run the dynamic scripting languages JavaScript including node.js, Ruby, R, and Python. In this session we’ll talk about the performance boost you can get from running your code on GraalVM, look at the examples of running typical web-applications with it, enhancing them with code in other languages, creating native images for incredibly fast startup and low memory overhead for your services. GraalVM offers you the opportunity to write the code in the language you want, and run the resulting program really fast.

Watch
Continuous Delivery of Microservices using Jenkins and Gradle - Alex Soto @ Spring I/O 2016

Through the use of build pipelines, Continuous Delivery will enable faster and more frequent build, test and deployment cycles of software. To ensure that what you are delivering has the required quality: how do we build a continuous delivery pipeline in the real world, and how do we correctly implement real integration and functional tests? In this session, instead of relying on static step configurations, we are going to demonstrate how to code a pipeline using Jenkins and Gradle. To write readable tests, we will see how Spock or Docker can help or how to create traceable Docker containers. The end result is faster application releases with higher quality. Using a simple Java application as an example, we will use Gradle: to build; to automate unit, integration and functional tests; and to utilize popular code quality tools. In addition, the Jenkins Workflow will act as the director of the process: to package, publish and deploy the deliverables.

Watch
Building Progressive Web Apps with Spring Boot and Polymer - Matti Tahvonen @ Spring I/O 2016

Spring I/O 2016 - 19 -20 May Barcelona Progressive Web Applications are as easy to find and start using as any webpage, but offer the rich user experience we associate with apps. The user experience is progressively upgraded as the user interacts with the application so that the app can be installed on the device, load faster, work offline and re-engage users through push notifications. In this talk we’ll explore what it takes to build a progressive web application – Service Workers, App Shells and Web App Manifests. We’ll then take a practical look at how we can use Spring Boot and Polymer to build a simple Progressive Web Application of our own.

Watch
40 Tips & Tricks for Spring in IntelliJ IDEA - Yann Cébron & Stéphane Nicoll @ Spring I/O 2016

Spring I/O 2016 - 19 -20 May Barcelona IDEs can be powerful, but hard to learn. Some features are hidden or simply not well known. Let’s end this dilemma and make you more productive and efficient when working on Spring applications. Learn how to navigate, edit and perform refactorings across a variety of common Spring technologies. You’ll leave this session with a whole stack of power tricks - right from the developers working on it.

Watch
From Imperative To Reactive - Rossen Stoyanchev @ Spring I/O 2016

Spring I/O 2016 - 19 -20 May Barcelona The change to reactive involves a fundamental shift in writing application logic from imperative to non-blocking. Understanding what this change means is an essential first step towards creating reactive applications. This talk introduces reactive programming and discusses some of the tools for Java developers. We’ll use examples to demonstrate how to compose async logic and write non-blocking applications.

Watch
Cloud-native streaming and event-driven microservices - Marius Bogoevici @ Spring I/O 2016

Spring I/O 2016 - 19 -20 May Barcelona The future of scalable data processing is event-driven microservices! They provide a powerful paradigm that solves issues typically associated with distributed applications, such as availability, data consistency, or communication complexity, and allows the creation of sophisticated and extensible data processing pipelines, bridging the gap between the big data and more traditional enterprise integration world. Building on the ease of development and deployment provided by Spring Boot, the cloud native capabilities of Spring Cloud, and the messaging model and integration patterns of Spring Integration, the Spring Cloud Stream project provides a simple and powerful framework for event-driven microservices. It defines primitives and abstractions specifically addressing the needs of both event-driven integration, as well as data streaming. For addressing the complexity of deployment, at a higher level of abstraction, Spring Cloud Data Flow is an integrated orchestration layer that provides a highly productive experience for deploying and managing sophisticated data pipelines consisting of standalone microservices. A pluggable runtime SPI allows Spring Cloud Data Flow to coordinate these applications across a variety of distributed runtime platforms such as Apache YARN, Cloud Foundry, Kubernetes, or Apache Mesos. We will demonstrate how to easily create complex data processing pipelines that bridge the world of big data and enterprise integration together, by building Spring Cloud Stream applications from the ground up, and, in the end, how to orchestrate them with Spring Cloud Data Flow.

Watch