Curso Reactive Spring

  • Development

Curso Reactive Spring

32h
Visão Geral

Este Curso Reactive Spring se concentra em fornecer uma compreensão dos princípios e tecnologias fundamentais usados ​​na programação reativa. Esse entendimento é fundamental para poder diagnosticar, solucionar problemas, ajustar e executar outras atividades do ciclo de vida. Voltado para desenvolvedores Java experientes com experiência básica em Spring, este curso explora APIs e técnicas de programação simultânea, assíncrona e reativa usando Spring. Ao longo do curso prático, você explorará os fundamentos da programação reativa, Reactive Streams e as APIs do Project Reactor, bem como como essas APIs são integradas ao Spring. Spring 5 inclui Spring WebFlux, fornecendo um modelo de programação reativo para aplicações web, bem como suporte para APIs REST reativas.

Você também aprenderá sobre o Spring WebSocket, que auxilia na criação de aplicativos da Web para fornecer comunicação bidirecional full-duplex entre cliente e servidor. O curso também aborda Spring Data, que implementa operações de banco de dados com base em APIs de programação reativa. Embora a iniciativa Spring R2DBC vise trazer programação reativa para bancos de dados relacionais, vários bancos de dados NoSQL já oferecem essa possibilidade. Junto com uma introdução ao NoSQL e ao MongoDB, este curso também explora as APIs disponíveis para comunicação com esse banco de dados NoSQL usando APIs de bloqueio e reativas.

Objetivo

Após concluir este Curso Reactive Spring, você será capaz de:

  • Entenda a especificação ReactiveX
  • Entenda os fundamentos da Programação Reativa
  • Discuta as vantagens e limitações dos Observáveis
  • Escreva um aplicativo cliente capaz de lidar com eventos reativos
  • Aplique operadores a fluxos de eventos para filtrar, modificar e combinar os objetos emitidos pelos editores de eventos
  • Selecione o tipo apropriado de fonte de evento
  • Use observáveis ​​frios e quentes
  • Lidar com problemas de contrapressão na programação reativa
  • Desenvolva uma aplicação web reativa usando Spring WebFlux
  • Definir fluxos de aplicativos de um aplicativo WebFlux
  • Use a API WebClient para trabalhar com APIs síncronas e de streaming
  • Desenvolva testes de unidade e integração para testar endpoints WebFlux
  • Criando um endpoint REST reativo
  • Familiarize-se com os conceitos básicos de WebSockets
  • Crie um endpoint WebSocket usando Spring
  • Crie um cliente WebSocket
  • Entenda os fundamentos do NoSQL
  • Familiarize-se com os fundamentos do MongoDB
  • Entenda como os dados no MongoDB podem ser recuperados usando uma API reativa
  • Definir repositórios Spring Data MongoDB
  • Consulte o MongoDB usando Spring Data
  • Defina um repositório reativo usando MongoDB
  • Explore a API experimental Spring Data R2DBC para realizar operações CRUD reativas em um banco de dados relacional
Publico Alvo
  • Desenvolvedores Java com habilidade intermediária e experiência em Spring.
Pre-Requisitos
  • Experiência com Spring Core, Spring Boot e Spring Batch
  • Experiência com Spring Boot 2.x e Spring Data
Materiais
Inglês/Português/Lab Pratico
Conteúdo Programatico

Introduction to Reactive Programming

  1. Reactive Manifesto,
  2. Introduce ReactiveX
  3. ReactiveX implementations
  4. The Observer and Iterator pattern and functional programming
  5. Discuss hot and cold observables

Reactive Streams API

  1. Introduce the Reactive Streams specification
  2. Publisher and Subscribers
  3. java.util.concurrent.Flow
  4. Transformation of Messages (Processor)
  5. Controlling messages

Introduction to Project Reactor

  1. Introduce the Reactor Building blocks
  2. Flux and Mono
  3. Creating observables
  4. Subscribing to a stream

Reactive Operators

  1. Introduce Operators
  2. Show the use of RxMarbles (marble diagrams)
  3. Explain some commonly used operators
  4. Callback operators

Schedulers (Multithreading)

  1. Thread usage of subscriber and consumer
  2. Using the subscribeOn method
  3. Introduce the Scheduler interface
  4. Using the observeOn method

Backpressure

  1. Strategies for dealing with Backpressure
  2. “reactive pull” backpressure
  3. ConnectableFlux
  4. Throtteling

Exception Handling

  1. Handling errors in onError
  2. Exception handling strategies
  3. Using onErrorReturn or onErrorNext operators
  4. Using the retry operators
  5. The Global Error Handler

Introduction to Spring WebFlux

  1. Annotated Controllers
  2. Functional Endpoints
  3. WebFlux configuration
  4. Defining reactive web endpoints

View Technologies

  1. View technologies
  2. Using Thymeleaf to create the view
  3. View Configuration

Defining flows

  1. Defining the application flow
  2. Actions
  3. Defining decision
  4. Navigating flows
  5. RouterFunction

Introduction to WebClient

  1. Working with asynchronous and streaming APIs
  2. Making requests
  3. Handling the response

WebTestClient

  1. Testing WebFlux server endpoints
  2. Testing controllers or functions
  3. Define integration tests

Reactive REST services

  1. Creating a reactive REST endpoint
  2. Creating a reactive client for Reactive streams

Introduction to Spring Reactive WebSockets

  1. Be familiar with the basics of WebSockets
  2. Understand the HTTP handshake and upgrade
  3. Name some of the advantages of WebSockets

Defining the WebSocket

  1. WebSocket Message Handling
  2. WebSocketSession
  3. Implemeting the WebSockethandler
  4. Creating a Browser WebSocket Client

BigData

  1. Introduce Big Data
  2. Explain the need for enhanced data storage

Introduction to NoSQL

  1. Introduce NoSQL
  2. Discuss different types of data stores
  3. ACID vs BASE
  4. CAP (Brewer’s) Theorem
  5. Eventual Consistency

Introduction to MongoDB

  1. JavaScript Object Notation Overview
  2. Introduce Binary JSON (BSON)
  3. Starting the database
  4. Creating Collections and Documents
  5. Executing ‘simple’ database commands
  6. Introduce the ObjectID
  7. Searching for documents using query operators
  8. Updating and deleting documents
  9. MongoDB Compass

Spring and MongoDB

  1. MongoDB Support in Spring Data
  2. MongoClient and MongoTemplate
  3. Spring Data MongoDB configuration
  4. Adding documents to the database
  5. The @Document and @Field annotations
  6. Polymorphism and the _class property

Spring Data MongoDB

  1. MongoRepository
  2. @EnableMongoRepositories
  3. Field naming strategy

Spring MongoDB Queries

  1. Using JSON queries to find documents
  2. The Criteria object
  3. The @PersistenceConstructor annotation

Reactive Repositories with MongoDB

  1. Using Reactive repositories
  2. ReactiveMongoTemplate
  3. ReactiveCrudRepository

Spring Data R2DBC

  1. Reactive Relational Database Connectivity
  2. DatabaseClient
  3. Performing CRUD operations
  4. Reactive Query annotated methods
TENHO INTERESSE

Cursos Relacionados

Curso Python Programação Advanced

32 horas

Curso SAP ABAP S4hana Developer Foundation

32 horas

Curso Full Stack and React Essentials

32 Horas

Curso Node.js for JavaScript Developers

24 horas

Curso Elasticsearch for Developers

16H

Curso Elastic Stack Foundation

24 horas

Curso Apache Spark™ Foundation

8 Horas