Course Outline
Introduction to Reactive Programming
- Blocking versus non-blocking architectures
- The Reactive Streams specification
- Advantages and applicable use cases
Project Reactor and Mono/Flux
- Publisher, Subscriber, and Subscription mechanisms
- Utilizing Mono and Flux
- Managing errors and backpressure
Initializing Spring WebFlux
- Establishing a Spring Boot WebFlux project
- Setting up necessary dependencies
- Comparing WebClient and RestTemplate
Creating Reactive REST APIs
- Configuring routes and handlers
- Mapping requests using RouterFunction
- Implementing reactive controllers and data binding
Database Integration
- Employing R2DBC for reactive SQL operations
- Interacting with MongoDB in a reactive manner
- Connecting to external APIs with reactive patterns
Testing WebFlux Applications
- Developing unit tests using StepVerifier
- Conducting integration tests with WebTestClient
- Simulating data sources and services
Performance Optimization and Best Practices
- Handling threading and scheduling in WebFlux
- Debugging reactive code structures
- Design patterns for scalable reactive applications
Deployment and Practical Examples
- Deploying WebFlux applications
- CI/CD pipeline considerations
- Production case studies and usage examples
Conclusion and Future Directions
Requirements
- Proficiency in Java programming
- Background in developing web applications
- Knowledge of HTTP protocols and RESTful APIs
Target Audience
- Java developers beginning their journey with reactive programming
- Technical leads and architects evaluating Spring WebFlux
- Backend engineers aiming to develop non-blocking web applications
Testimonials (1)
The training helped me expand my knowledge and understanding of Burp Suite. I also realized that what I had learned through self-study was still quite limited. This training was very helpful to me as a QA because Burp Suite is a valuable tool for performing security testing and improving the overall quality of application testing. I will continue exploring this tool and learning more about its features and capabilities.