Especialista Spring REST

Lançamento Oficial
06 de Janeiro

Você está pronto para se tornar Especialista em Spring REST?

maior e mais novo treinamento de desenvolvimento de APIs RESTful avançadas com o ecossistema Spring está pronto para ser lançado!

No dia 06 de Janeiro de 2020, todas as informações sobre o treinamento mais aguardado do ano serão divulgadas.

E estamos convidando você para receber as novidades do lançamento oficial.

QUERO PARTICIPAR DO LANÇAMENTO OFICIAL

SIM, eu quero participar do Lançamento Oficial do Especialista Spring REST.

privacy Seus dados estão seguros.

Veja o que você vai aprender nesse treinamento...

  • Spring e Injeção de Dependências

    Você vai conhecer os principais projetos do ecossistema Spring para desenvolvimento de REST APIs. Vai também entender definitivamente como funciona a injeção de dependências com Spring e vai aprender a trabalhar com Spring Profiles, publicação e consumo de eventos customizados, configuração de projetos com application.properties e muito mais.

  • JPA, Hibernate e Flyway

    Você vai aprender o que é ORM, como fazer mapeamento de entidades e relacionamentos com JPA . Vai também entender e trabalhar com transações no Spring, usar JPQL e Criteria do JPA, além de criar e evoluir o schema do banco de dados com Flyway e muito mais.

  • Spring Data JPA

    Você vai conhecer os super poderes do Spring Data JPA, como criação de repositórios super inteligentes com a abstração do SDJ e criação de query methods com filtros. Vai também aprender a implementar repositórios customizados, externalização de consultas JPQL em arquivo XML e muito mais.

  • Domain-Driven Design (DDD)

    Durante o desenvolvimento do projeto o curso, usaremos alguns conceitos e padrões do DDD, como Repository, Aggregate, Aggregate Root, Domain Event, Domain Service, Infrastructure Service, Specification e Linguagem Ubíqua.

  • Fundamentos avançados de REST com Spring

    Vai entender o que é de fato e a diferença conceitual e prática de uma API, vai conhecer todos os níveis do Modelo de Maturidade de Richardson e conhecer a abordagem pragmática e purista de desenvolvedores de REST APIs. Também vai entender com detalhes o protocolo HTTP e muito mais.

    .

  • Validações com Bean Validation

    Você vai aprender a adicionar validações no seu modelo com as anotações do Bean Validation, além de customizar mensagens de validação, criar validações compostas, criar validações customizadas com ConstraintValidator, criar validações customizadas em nível de classe e muito mais.

  • Tratamento e modelagem de erros da API

    Nesse treinamento você vai aprender a tratar as exceptions e devolver uma resposta adequada e consistente (padronizada) para o consumidor da API. Você vai aprender a usar a anotação @ResponseStatus, tratar exceções em nível do controlador com @ExceptionHandler, usar a exceção padrão ResponseStatusException e muito mais.

  • Testes de integração

    Você vai aprender a implementar testes de integração automatizados para a API. Para implementar os testes de integração, vamos usar Spring Boot Test, REST Assured, JUnit, AssertJ e Maven Failsafe Plugin. Vamos também implementar a limpeza e população de dados de testes para cada teste e muito mais.

  • Boas práticas e modelagem avançada de APIs

    Muitos desenvolvedores de APIs não se preocupam ou até desconhecem algumas boas práticas de mercado, por isso um dos objetivos deste treinamento é discutir isso. Você vai aprender as 5 leis fundamentais para trabalhar com data/hora em APIs, como por exemplo, uso e tratamento de timezone na requisição, resposta e muito mais.

  • Modelagem de projeções, pesquisas e relatórios

    Você vai aprender como implementar projeções do modelo de representação de nossos recursos usando DTO e @JsonView. Além disso, vamos estudar sobre como limitar as propriedades retornadas usando property filter do Jackson e também usando a biblioteca Squiggly.

  • Upload e download de arquivos

    Você vai aprender a modelar recursos para isso também, e ainda vai aprender a armazenar o arquivo no próprio servidor ou ainda no storage da Amazon S3. Vai também aprender a fazer o download dos arquivos, com o cuidado de não degradar a performance da API e também seguindo as boas práticas.

  • Envio de e-mails transacionais

    Algo muito comum que quase todos os sistemas precisam é o envio de e-mails transacionais, como por exemplo, e-mails para avisar que um pedido foi confirmado.  Você vai desenvolver isso, além de aprender a montar templates de e-mails com Apache FreeMarker, para dados dinâmicos. E muito mais!

     

  • Cache de HTTP

    Por que fazer cache? Como funciona o cache de HTTP? Quando não fazer cache? Quais são as precauções que devemos ter? Tudo isso será discutido no treinamento. Você vai conhecer e implementar HTTP Caching com Cache-Control, entender o que são ETags (Entity Tags) e muito mais.

  • Documentação com OpenAPI (Swagger)

    APIs bem documentadas simplificam a vida dos consumidores, por isso você vai aprender como fazer isso no treinamento usando a especificação OpenAPI. Também vai aprender a usar a biblioteca SpringFox, que consegue escanear o nosso código e fazer isso “automagicamente”. Usaremos também o Swagger UI dentro do nosso projeto.

  • HATEOAS e Discoverability

    Uma API que usa HATEOAS é classificada no nível máximo do modelo de maturidade de Richardson, o que também chamamos de “A glória do REST”. Vamos estudar as formas de adicionar hypermedia nas representações dos recursos, usar o Spring HATEOAS e a especificação HAL para deixar a API “descobrível” e atrativa aos consumidores.

  • CORS e consumo de APIs com Java e JavaScript

    O foco do treinamento é desenvolver REST APIs, mas todo programador precisa saber como consumir sua própria API também, para se colocar no lugar do consumidor e fazer alguns testes. Por isso, você vai aprender a consumir a API usando a linguagem Java e JavaScript.

  • Segurança com Spring Security, OAuth2 e JWT

    Você vai aprender sobre a diferença entre access token e refresh token e como gerar um novo access token através de um refresh token, além de discutirmos sobre o cuidado que você deve ter com cada tipo de token. Estudaremos sobre a diferença entre Opaque Tokens e Transparent Tokens, e implementaremos das duas formas.

  • Cloud-native APIs

    A aplicação que vamos desenvolver no treinamento será cloud-native, ou seja, planejaremos desde o início pensando que ela será implantada na nuvem. E isso faz uma grande diferença, porque desenvolver para a nuvem tem algumas peculiaridades.

  • Deploy em produção na nuvem

    Se a nossa API é cloud-native, nós faremos o deploy dela na nuvem. Você vai usar Spring Profiles para alternar algumas configurações de desenvolvimento e produção sem precisar recompilar e reempacotar o projeto. Adotaremos a plataforma da Pivotal Web Services (PWS) para o deploy da aplicação

  • Configuração e gerenciamento de logs

    Você vai usar um serviço de gerenciamento de logs na nuvem, para onde vamos configurar a transmissão das mensagens de maneira assíncrona. O legal é que essas ferramentas agregam os logs de todas as instâncias (containers) e fica muito mais fácil e seguro analisar os logs.

  • Versionamento de APIs

    No treinamento, você vai estudar melhor sobre quando versionar uma API, quais as estratégias para separar o código-fonte da API antiga e da API nova e vamos implementar a seleção de versão por Media Types e por URIs. Você vai aprender como evoluir a sua API sem quebrar os clientes.

ATENÇÃO: A ementa completa do treinamento será liberada no dia do lançamento oficial, 06 de Janeiro. Para participar do lançamento, basta clicar no botão abaixo.

QUERO PARTICIPAR DO LANÇAMENTO OFICIAL

SIM, eu quero participar do Lançamento Oficial do Especialista Spring REST.

privacy Seus dados estão seguros.

AlgaWorks Softwares, Treinamentos e Serviços Ltda
CNPJ: 10.687.566/0001-97
Telefone: (34) 9 9655-7776