Curso para desenvolvimento de jobs com Spring Batch
- Descrição
- Currículo
- FAQ
- Revisões
Se inscreva no curso mais completo de Spring Batch da plataforma Udemy!
Spring Batch – Um framework leve e completo projetado para permitir o desenvolvimento de aplicações robustas de processamento de dados em lote (jobs) que são vitais para as operações diárias de sistemas corporativos. Spring Batch provê funções reusáveis que são essenciais ao processamento de grande volume de dados, incluindo log e monitoramento, controle transacional, estatísticas, reinicialização, skip de dados inválidos e gerenciamento de recursos. Também provê serviços mais avançados que permitem alta performance de jobs através de otimizações e técnicas de particionamento. Jobs com um grande volume de dados se beneficiam com o uso do framework que os torna altamente escaláveis para processar um volume significativo de informação em tempo hábil.
Está incluído no curso:
1 – Instruções detalhadas de configuração tanto para Linux como para Windows
2 – Uma introdução ao framework Spring Batch
3 – Teoria aliada à pratica com exemplos passo a passo
4 – Projetos que resolvem problemas reais de empresas de software para aplicar os conceitos aprendidos
5 – Exercícios com desafios práticos
6 – E mais!
Este curso é para você se…
– Você é um profissional de TI que eventualmente precisa elaborar e manter rotinas de processamento de dados
– Você tem problemas relativos à rotinas de processamento de dados no trabalho e deseja um passo a passo para aprender a lidar com eles utilizando Spring Batch
– Você é um estudante de TI que deseja trabalhar em uma grande empresa de processamento de dados
Este curso não é para você se…
– Você é iniciante em programação
– Você nunca trabalhou com Java, Spring, Maven, e banco de dados
Bibliografia
– Documentação oficial do Spring Batch
– Livro: Michael T. Minella, 2020, The Definitive Guide to Spring Batch
-
1Introdução ao cursoVídeo Aula
Nessa aula, será apresentada a estrutura do curso.
-
2ExpectativasTexto
Quais são as suas expectativas com esse curso? O que você espera aprender e ser capaz de fazer ao final do curso? Compartilhe no quadro de perguntas e respostas!
-
3Configuração do ambiente - LinuxVídeo Aula
Nessa aula, será feita a instalação e configuração do Java 8, banco de dados MySQL, e Spring Tool Suite (STS) no Linux.
-
4Configuração do ambiente - WindowsVídeo Aula
Nessa aula, será feita a instalação e configuração do Java 8, banco de dados MySQL, e Spring Tool Suite (STS) no Windows.
-
5IntroduçãoTexto
Nessa seção, você vai aprender o propósito do framework spring batch, sua arquitetura e irá criar o seu primeiro job spring batch!
-
6Teoria: Sistemas batch e o Spring BatchVídeo Aula
Nessa aula, você entenderá porque utilizar Spring Batch para implementar sistemas batch e como o framework foi projetado para essa finalidade. Serão discutidos os seguintes pontos:
1. Definição de processamento batch/sistema batch
2. Origem do Spring Batch
3. Desafios do processamento batch
-
7Versão do Spring BatchTexto
-
8Prática: Implementação do primeiro projeto Spring BatchVídeo Aula
Nessa aula, você aprenderá como implementar um job simples utilizando Spring Batch (projeto PrimeiroJobSpringBatch):
1. Criação do projeto: Spring Boot: Para facilitar a criação, configuração, e implantação do job
2. Dependências mínimas
3. Classe de configuração Job: Trabalho que executa do começo ao fim sem interação
4. Configuração de Step: Etapas do job
-
9Para se aprofundar...Texto
-
10Visão geral do framework Spring BatchQuestionário
-
11Desafio: Implementação do primeiro projeto Spring BatchTexto
-
12Considerações FinaisTexto
- Recaptular o que foi visto
- Enfatizar o progresso
- Utilizar o QA em caso de problemas ou para trocar experiência
- Fazer a ponte para a próxima seção
-
13IntroduçãoTexto
Nessa seção, você irá aprender dois conceitos chaves no spring batch: jobs e steps. Você aprenderá a configurá-los para criar o Job ideal para atender às necessidades de negócio.
-
14Teoria: Definição e ciclo de vida do Job e seus StepsVídeo Aula
Nessa aula, você entenderá como um job é definido dentro do Spring Batch e o seu ciclo de vida. Serão discutidos os seguintes pontos:
1. Componentes do Job
2. Job -> JobInstance -> JobExecution
3. Parâmetros
Na próxima aula, o primeiro job será utilizado para exibir essa arquitetura na prática.
-
15Prática: Persistência de metadados no banco de dadosVídeo Aula
Nessa aula, serão discutidos os metadados do Spring Batch na prática. Para isso será feita a configuração do primeiro job que elaboramos, que será modificado para persistir dados no banco MySQL.
-
16Prática: Múltiplas execuções e escopoVídeo Aula
Nessa aula, continuaremos o exemplo anterior trabalhando com múltiplas execuções do job, parâmetros e step scope.
-
17Teoria: Tipos de StepsVídeo Aula
Nessa aula, você vai aprender como implementar steps do tipo tasklet e do tipo chunk e será capaz de identificar o cenário adequado para uso de cada um desses tipos.
-
18Prática: Criação de um step chunk-basedVídeo Aula
A tasklet nós já implementamos, vamos só revisá-la. Para o exemplo do chunk, criaremos um contador que informa se um número é par ou ímpar, um exemplo simples para representar o uso do leitor, processador, e escritor.
Em anexo se encontra o esqueleto do projeto utilizado nessa aula.
-
19Prática: Intervalo de CommitVídeo Aula
Nessa aula, será explicado em mais detalhes como selecionar o intervalo de commit apropriado.
-
20Prática: Refatoração do primeiro jobVídeo Aula
O job precisa ser refatorado para não configurar tudo na classe BatchConfig.
-
21Para se aprofundar...Texto
-
22Trabalhando com Jobs e StepsQuestionário
-
23Configuração do JobTexto
-
24Refatoração do Job imprimeParImparTexto
-
25Desafio: Tasklet ou Chunk?Texto
-
26Considerações FinaisTexto
- Recaptular o que foi visto
- Enfatizar o progresso
- Utilizar o QA em caso de problemas ou para trocar experiência
- Fazer a ponte para a próxima seção
-
27IntroduçãoTexto
-
28Prática: Externalização de propriedadesVídeo Aula
Nessa aula, serão realizados ajustes importantes no job pensando no ambiente de produção: externalização de propriedades.
-
29Prática: Configuração de múltiplos bancos de dadosVídeo Aula
Nessa aula, serão realizados ajustes importantes no job pensando no ambiente de produção: múltiplos bancos de dados.
-
30Prática: Configuração do logVídeo Aula
Nessa aula, serão realizados ajustes importantes no job pensando no ambiente de produção: logging.
-
31Para se aprofundar...Texto
-
32Jobs no ambiente produtivoQuestionário
-
33Desafio: Ajustes para ambiente produtivo do Job ImprimeParImparTexto
-
34Considerações FinaisTexto
- Recaptular o que foi visto
- Enfatizar o progresso
- Utilizar o QA em caso de problemas ou para trocar experiência
- Fazer a ponte para a próxima seção
-
35IntroTexto
Nessa seção, vamos utilizar os principais leitores do framework Spring Batch e customizá-los quando necessário.
-
36Teoria: Visão geral dos leitores do Spring BatchVídeo Aula
Nessa aula, será dada uma visão geral dos leitores do Spring Batch.
Algumas referências: https://docs.spring.io/spring-batch/docs/4.2.x/reference/html/readersAndWriters.html#specializedProcessors
-
37Teoria: Arquivos FlatVídeo Aula
Nessa aula, será apresentado o tipo de arquivo Flat e seus subtipos mais comuns.
-
38Prática: Leitura de arquivo de largura fixaVídeo Aula
Nessa aula, será implementada a leitura de arquivo de largura fixa com Spring Batch.
-
39Prática: Restart na leitura de arquivoVídeo Aula
Nessa aula, será discutido o restart na leitura de arquivos com Spring Batch.
-
40Prática: Leitura de arquivo delimitadoVídeo Aula
Nessa aula, será implementada a leitura de arquivo delimitado com Spring Batch.
-
41Prática: Leitura de arquivo de múltiplos formatosVídeo Aula
Nessa aula, será implementada a leitura de um arquivo que possui registros com diferentes formatos em cada linha. Para isso será utilizado o componente PatternMatchingCompositeLineMapper do Spring Batch.
-
42Prática: Leitura de arquivo com registro em múltiplas linhasVídeo Aula
Nessa aula, o exemplo passado será modificado para encapsular as informações do arquivo flat em um único objeto.
-
43Prática: Padrão DelegateVídeo Aula
Nessa aula, vamos implementar um padrão bastante usado no Spring Batch: o padrão Delegate.
-
44Prática: Leitura de vários arquivosVídeo Aula
Nessa aula, vamos implementar um leitor de múltiplos arquivos.
-
45Para se aprofundar...Texto
-
46Teoria: Leitura em banco de dados - JDBCVídeo Aula
Nessa aula, vamos falar sobre a leitura em banco de dados com o Spring Batch e o tipo de leitor mais performático: JDBC.
-
47Prática: Leitura em banco de dados - JdbcCursorItemReaderVídeo Aula
Nessa aula, iremos implementar um leitor JDBCCursorItemReader.
-
48Prática: Leitura em banco de dados - JdbcPagingItemReaderVídeo Aula
Nessa aula, iremos implementar um leitor JDBCPagingItemReader.
-
49Prática: Cursor X PaginadorVídeo Aula
Nessa aula, vamos discutir as principais diferenças entre a leitura com cursor e paginador.
-
50Prática: Tratamento de erros de leitura - SkipVídeo Aula
Nessa aula, será configurado o skip de registros inválidos e serão logados esses dados no console.
-
51Para se aprofundar...Texto
-
52Leitores do Spring BatchQuestionário
-
53Desafio: Leitores do Spring BatchTexto
-
54Considerações FinaisTexto
- Recaptular o que foi visto
- Enfatizar o progresso
- Utilizar o QA em caso de problemas ou para trocar experiência
- Fazer a ponte para a próxima seção
-
55IntroTexto
Nessa seção, vamos utilizar os principais processadores do framework Spring Batch e customizá-los, quando necessário.
-
56Teoria: Visão geral dos processadores do Spring BatchVídeo Aula
Nessa aula, teremos uma visão geral dos processadores do Spring Batch.
-
57Prática: Processadores de validaçãoVídeo Aula
Nessa aula, vamos implementar um processador de validação de dados.
-
58Prática: Processadores compostosVídeo Aula
Nessa aula, vamos implementar um processador composto.
-
59Prática: Processadores de execução de scriptsVídeo Aula
Nessa aula, vamos implementar um processador que executa um script para checar arquivos no sistema.
-
60Prática: Processadores compostos com classificadorVídeo Aula
Nessa aula, vamos implementar um processador que utiliza um classificador.
-
61Para se aprofundar...Texto
-
62Processadores do Spring BatchQuestionário
-
63Desafio: Processadores do Spring BatchTexto
-
64Considerações FinaisTexto
- Recaptular o que foi visto
- Enfatizar o progresso
- Utilizar o QA em caso de problemas ou para trocar experiência
- Fazer a ponte para a próxima seção
-
65IntroTexto
Nessa seção, vamos utilizar os principais escritores do framework Spring Batch e customizá-los, quando necessário.
-
66Teoria: Visão geral dos escritores do Spring BatchVídeo Aula
Nessa aula, vamos ter uma visão geral dos escritores do Spring Batch.
-
67Prática: Escrita em arquivo flat formatadoVídeo Aula
Nessa aula, vamos aprender a escrever em arquivos flat com conteúdo formatado.
-
68Prática: Escrita em arquivo flat delimitadoVídeo Aula
Nessa aula, vamos aprender a escrever em arquivos flat com conteúdo delimitado.
-
69Prática: Escrita em arquivo flat customizadoVídeo Aula
Nessa aula, vamos aprender a escrever um arquivo flat com conteúdo customizado.
-
70Prática: Escrita em arquivo flat com cabeçalho e rodapéVídeo Aula
Nessa aula, vamos aprender a escrever um arquivo flat com cabeçalho e rodapé.
-
71Prática: Escrita em vários arquivos flatVídeo Aula
Nessa aula, vamos aprender a escrever em vários arquivos flat.
-
72Para se aprofundar...Texto
-
73Prática: Escrita em banco de dados - JDBCVídeo Aula
Nessa aula, vamos implementar um escritor JDBC.
-
74Prática: Escritor composto - CompositeItemWriterVídeo Aula
Nessa aula, vamos implementar um escritor composto.
-
75Prática: Escritor com classificadores - ClassifierCompositeItemWriterVídeo Aula
Nessa aula, vamos implementar um escritor que utiliza um classificador.
-
76Para se aprofundar...Texto
-
77Escritores do Spring BatchQuestionário
-
78Desafio: Escritores do Spring BatchTexto
-
79Fim da primeira parte e próximas seções.Texto
Nesse vídeo será encerrada a parte teórica de embasamento no Spring Batch e iniciada a parte de projetos para aplicar a teoria em cenários reais. Os projetos foram selecionados considerando aplicações comumente utilizadas pelas empresas e na sua elaboração serão discutidos aspectos mais avançados do framework. Você terá a oportunidade de usar o conhecimento adquirido em projetos tirados do dia a dia das empresas. Está preparado?
-
80Apresentação do projetoVídeo Aula
Nessa aula, será apresentado o projeto descrevendo os requisitos para a elaboração do sistema de migração de dados.
-
81Configurações e projeto inicialVídeo Aula
Nessa aula, será configurado o projeto inicial de migração de dados.
-
82Leitura de arquivo delimitadoVídeo Aula
Nessa aula, será implementado um leitor de arquivo delimitado para o projeto de migração.
-
83Escrita em banco de dados JDBCVídeo Aula
Nessa aula, será implementado um escritor de banco de dados JDBC para escrever os dados processados no novo banco de dados.
-
84Escritor de arquivo com relatório de itens inválidosVídeo Aula
Nessa aula, você verá como escrever os itens que não foram processados em um arquivo no sistema.
-
85Otimização do Job - Chunk Size e Steps ParalelosVídeo Aula
Nessa aula, serão discutidas alternativas para tornar o job mais eficiente. Quando o número de dados a serem migrados é grande o job se torna bastante lento, por isso será implementada uma solução baseada em particionamento.
-
86Projeto FinalTexto
-
87Considerações FinaisTexto