RSocket Messaging with Spring
Win a Spring Testing Trophy
RSocket is a protocol that enables high-performance message passing over a multiplexed connection using a pluggable byte stream transport such as TCP, WebSockets, UDP, or other. The passing of messages follows Reactive Streams semantics (i.e., respecting demand signals), and there are libraries in multiple languages, including Java built on Project Reactor. This means the back pressure from your reactive chain of components within the JVM can now extend across the network boundary to remote peers. This session will start by providing a succinct overview of the RSocket protocol and then dive into writing a Spring based RSocket application.
Bootiful Reactive Testing
Testing is an art. It is more than verification and validation, but also documentation and reliability estimation. Do you have a good signal to noise ratio? Where is the right integration point to plug your test doubles? How to maximize the freedom to refactor or switching dependencies while still maintaining a high confidence in the quality? What is available in the Spring ecosystem that can help? In this talk, we'll review these testing concepts and how Spring can help you achieve these goals. We will discuss why we should embrace the Testing Trophy in Spring, and more generically, the principles we should keep in mind when designing our test suite.
Join us for an exploration of testing a reactive Spring Boot 2.x application. Test driven development gives us the confidence necessary to improve our code faster, safely. But how do you test components and services, as well as integrations across distributed systems, while maintaining fast feedback loops, and how do you do all of this within the context of reactive Java? In this talk, we'll look at how to test imperative components, reactive data flows, and mocks. We’ll examine how to take advantage of test slices, and how to test web applications. We'll look at how to ensure that API producers and consumers work well together using consumer driven contract testing without sacrificing the testing pyramid for end-to-end integration tests. And we’ll do it all within the context of reactive programming.
Spring on Kubernetes
Now that you are familiar with Kubernetes, in this workshop we are going to show you how to get your Spring apps up and running on Kubernetes. This workshop will take you from everyone’s favorite place on the internet, start.spring.io all the way to automated deployments directly to Kubernetes. We will cover tools, as well as best practices, that will make getting your Spring app from your dev machine to your Kubernetes (production) even faster and easier. In addition we will spend some time showing you how to use Spring Cloud Kubernetes to build cloud native Spring apps that run on Kubernetes. By the end of this workshop you will have all the knowledge you need to target Kubernetes as your production environment.
Space is limited.
Rich Hickey once said programmers know the benefits of everything and the trade offs of nothing...an approach that can lead a project down a path of frustrated developers and unhappy customers. As architects though, we must consider the trade offs of every new library, language, pattern or approach and quickly make decisions often with incomplete information. How should we think about the inevitable technology choices we have to make on a project? How do we balance competing agendas? How do we keep our team happy and excited without chasing every new thing that someone finds on the inner webs? Working in small teams, you will work through a kata (http://nealford.com/katas/list.html) identifying: Quality Attributes, Fitness Functions, Technology decisions, An overall architectural approach.
Space is limited.