Video description
7.5 Hours of Video Instruction
Spring is the most used framework for building services and applications and getting them to production. Today’s applications need to scale more and more to handle more users and content with the increasing demand. Reactive Spring Boot LiveLessons, Third Edition, by Josh Long, Spring Developer Advocate, introduces key concepts of reactive programming and examines different aspects of the Spring ecosystem that lend themselves to the functional and reactive style of programming.
These videos not only show you where to start and how to build these applications, but they also provide a solid foundation that will allow you to apply the skills learned to other parts of the Spring ecosystem that build on these core concepts. The Third Edition has been updated and expanded to cover GraphQL.
Customer Review
(5 Stars) “A great walkthrough of all the reactive capabilities of Spring Boot, and then some!”
--O’Reilly Online Learning reviewer
Skill Level
Learn How To
- Examine the different aspects of the Spring ecosystem that lend themselves to the functional and reactive style of programming
- Explore Reactive Data Access using Spring Data and Spring Data MongoDB
- Understand the Reactive Streams specification as a compatibility layer and how to use the Reactive Stream types as a mechanism for interoperability across OS projects
- Test reactive applications
- Consume data from a publisher in Spring Integration and from a publisher in Spring Cloud Stream
- Use Spring Cloud Function
- Build Edge Services
Who Should Take This Course
- Existing or new Spring users
- Experienced Java developers
Course Requirements
Basic Java familiarity. The course uses Java 8, although Spring Boot and most Spring projects support Java 6.
Lesson Descriptions
Lesson 1, “Basics,” examines what motivates the move to reactive programming and how it is supported in the Reactive Streams specification.
Lesson 2, “Data,” covers the importance of data and how Spring supports non-blocking data access for any NoSQL and SQL data stores.
Lesson 3, “HTTP Services,” focuses on what reactive programming means in an HTTP environment. It introduces functional reactive HTTP handlers, `@RestController`-style controllers, reactive server-sent event streams and more.
Lesson 4, “WebSockets,” focuses on Websockets, a binary protocol that supports bi-directional communication. This lesson examines how websockets, which are an extension to HTTP, integrate with Reactive Streams.
Lesson 5, “HTTP Clients,” briefly reviews the `Webclient`, the reactive HTTP client. It also discusses some patterns that clients will care about when dealing with distributed services.
Lesson 6, “RSocket,” covers this protocol designed by engineers at Netflix and then Facebook. It’s a binary protocol that supports bi-directional communication and is used for service-to-service communication. This lesson covers the motivations for using RSocket, Raw RSocket, and RSocket in Spring.
Lesson 7, “GraphQL,” a protocol developed at Facebook, is a way to build data integration gateways and changes the way edge services are built. This lesson introduces GraphQL, GraphQL Schema and the Domain. It also covers low level “RuntimeWiring Configurer”, queries, mutations, and subscriptions. This lesson also introduces the new Spring GraphQL.
Lesson 8, “Security,” shows how Spring Security works flawlessly to protect HTTP and RSocket-based services.
Lesson 9, “Gateway,” examines how to use Spring Cloud Gateway and how it is used to act as an API gateway for HTTP- and RSocket-based services.
Lesson 10, “Reactive Streams Redux,” focuses on the Reactive Streams specification as a compatibility layer and shows how to use the Reactive Stream types as a mechanism for interoperability across open source projects like Akka Streams, Vert.x. Spring Web Flux, and Spring Data.
Lesson 11, “Reactive Streams Redux,” briefly reviews testing reactive applications and covers Reactive data access, Reactive web services, and how to test reactive microservices.
About the Instructor
Josh Long (@starbuxman) is the Spring Developer Advocate at Pivotal. Josh is a Java Champion, author of five books (including Cloud Native Java: Designing Resilient Systems with Spring Boot, Spring Cloud, and Cloud Foundry) and six best-selling video trainings (including Building Microservices with Spring Boot Livelessons with Phil Webb), and is an open source contributor (Spring Boot, Spring Integration, Spring Cloud, Activiti, and Vaadin).
About Pearson Video Training
Pearson publishes expert-led video tutorials covering a wide selection of technology topics designed to teach you the skills you need to succeed. These professional and personal technology videos feature world-leading author instructors published by your trusted technology brands: Addison-Wesley, Cisco Press, Pearson IT Certification, Sams, and Que. Topics include IT Certification, Network Security, Cisco Technology, Programming, Web Development, Mobile Development, and more. Learn more about Pearson Video training at http://www.informit.com/video.
Table of Contents
Introduction
Reactive Spring Boot: Introduction
Lesson 1: Basics
Learning objectives
1.1 Motivations for Reactive Programming
1.2 Reactive Streams and Java 9 “Flow”
1.3 Project Reactor
1.4 The Spring Initializr
Lesson 2: Data
Learning objectives
2.1 NoSQL with MongoDB
2.2 SQL with R2DBC
2.3 Transactions
Lesson 3: HTTP Services
Learning objectives
3.1 Spring MVC-style HTTP Controllers
3.2 Functional Reactive-style Controllers
3.3 Server-Sent Events
Lesson 4: WebSockets
Learning objectives
4.1 A Simple Neverending Websocket Example
4.2 JavaScript to Talk to It
Lesson 5: HTTP Clients
Learning objectives
5.1 The Reactive HTTP Client
5.2 Reactor Error Handling
5.3 Spring Cloud Circuitbreaker
5.4 Service Hedging
Lesson 6: RSocket
Learning objectives
6.1 Motivations
6.2 Raw RSocket
6.3 RSocket in Spring
Lesson 7: GraphQL
Learning objectives
7.1 Introducing GraphQL
7.2 Introducing GraphQL Schema
7.3 Introducing the Domain
7.4 The Low Level ‘RuntimeWiringConfigurer’
7.5 Queries
7.6 Mutations
7.7 Subscriptions
Lesson 8: Security
Learning objectives
8.1 Motivations
8.2 HTTP
8.3 RSocket
Lesson 9: Gateway
Learning objectives
9.1 Motivations
9.2 HTTP
9.3 RSocket
Lesson 10 Reactive Streams Redux
Learning objectives
10.1 Reactive Streams Specification
10.2 Processing Data with Akka Actors
Lesson 11 Testing
Learning objectives
11.1 Motivations for Test-Driven Development
11.2 Basic Testing
11.3 Testing Data Tier
11.4 Testing the Web Tier
11.5 Testing a Client
11.6 Microservice Testing
Summary
Reactive Spring Boot: Summary