JAVAX-REACT
Reactive programming using Spring Boot
Description
Reactive programming is a development approach that allows applications to run asynchronously and scalably in systems with high load. Reactive applications can use event-driven and reactive data flow models that efficiently handle incoming events and data.
This course provides an in-depth look at the fundamentals of reactive programming and their practical application in the Spring Boot framework. Participants will learn about the principles of reactive programming, the Reactor project, the use of WebFlux, reactive database management, communication between reactive services, error handling and scalability, and testing and monitoring techniques.
Through practical examples and exercises, participants will learn the basic concepts of reactive programming and their application.
This course is ideal for all developers interested in developing modern and scalable applications and who want to gain a deeper insight into reactive programming.
Outline
- Introduction to reactive programming and the Spring Boot framework
- What is reactive programming?
- Why choose Spring Boot to develop reactive applications?
- Benefits and challenges of reactive application architecture
- Basics and principles
- Reactive principles and concepts
- Asynchrony and competition in systems
- Fundamentals of functional reactive programming
- Reactor project and use of basic operators
- Debugging in reactive environments
- Spring WebFlux
- The concept of asynchronous web applications
- Introduction and use of WebFlux in Spring Boot applications
- Defining WebFlux controllers and endpoints
- Managing reactive data streams in the WebFlux layer
- Conversion between Request-Response and Reactive Streams models
- Reactive database management
- Reactive databases and control layers
- Reactive database management with Spring Data R2DBC and Spring Data R2DBC project
- Performing reactive data operations using the Repository interface
- Reactive transaction management
- Reactive services and communication
- Microservices and reactive architecture
- Reactive communication using WebClient and HTTP interface
- Communication with Kafka using Spring Cloud Stream
- Error handling and scalability
- Reactive error handling strategies and patterns
- Error message handling and transformation
- Reactive application scalability and load balancing
- Testing
- Unit and integration testing of reactive applications
- Using test tools and frameworks
- Security in reactive environments
- Security aspects of reactive applications
- OAuth 2.0 and JWT authentication in reactive environments
- Managing access control policies and rules
- Performance optimization and caching
Prerequisites
The training requires prior knowledge of Java and Spring Boot, but no prior experience in reactive programming is required.
The required prior knowledge can be acquired in the Building a Microservice Application with Spring Boot Framework in a Docker Environment (JAVAX-MCR) training.