[OFF-TOPIC] Lançamento do livro de Microsserviços e EJB pela Casa do Código

23 views
Skip to first unread message

Gilliard Cordeiro

unread,
Sep 14, 2020, 10:42:53 AM9/14/20
to JUGMS
Bom dia pessoal,
estou passando aqui pra anunciar meu 3º livro pela Casa do Código.
Assim como nos outros livros, boa parte do que eu aprendi veio da comunidade, Javaneiros, e fóruns. Então fico muito feliz em poder compartilhar isso com vocês.


Preview-cover-Microsserviços-e-EJB-Escale-sua-aplicação-não-a-complexidade.png

Muito obrigado e segue o conteúdo:

Conteúdo

Seja no modelo tradicional ou de microsserviços, separar nossa aplicação em partes menores facilita a escalabilidade, a manutenção, dentre outras qualidades que buscamos nos nossos projetos. Para desenvolver um bom back-end, não basta seguir uma receita pronta. É preciso realmente entender as ferramentas para tirar o máximo delas sem comprometer o desempenho. Em java, dentre as tecnologias para atingir esse objetivo, temos CDI, JPA e principalmente EJBs e JAX-RS.

Neste livro, Gilliard Cordeiro ensina como escalar uma aplicação sem aumentar sua complexidade. Você verá como sair do básico, seja com microsserviços, seja em uma arquitetura mais tradicional. A primeira parte do livro é dedicada ao Thorntail, pensada principalmente em quem precisa rapidamente aprender como fazer um back-end, construindo uma API Rest com as tecnologias do Java EE (Jakarta EE). Já a segunda parte é focada em mostrar realmente como os EJBs funcionam por dentro. Ao fim do livro, você saberá como melhorar a performance de operações pesadas através de paralelismo, incluindo entre as técnicas a programação reativa.


Sumário

Parte 1: Início rápido

  • 1 Microsserviços e Java EE
  • 1.1 Por que microsserviços?
  • 1.2 Thorntail ou Spring Boot?
  • 1.3 Criando primeiro serviço com JAX-RS
  • 1.4 Adicionando persistência de dados
  • 1.5 EJBs e Java EE no geral não são muito complexos para microsserviços?
  • 2 Serviços REST com JAX-RS
  • 2.1 Escalando serviços REST através do uso de Cache
  • 2.2 Revalidando o cache com GETs condicionais
  • 2.3 Cliente usando GET condicional
  • 2.4 Server-Sent Events (SSE) como alternativa ao cache
  • 2.5 Enviando dados (POST) através do cliente REST
  • 2.6 Criando uma interface Java do lado cliente para servir de proxy
  • 2.7 Enviando dados através de um POST condicional
  • 2.8 Como o desenvolvimento de microsserviços se relaciona com o restante do livro

Parte 2: Conhecendo de forma mais profunda

  • 3 Sendo reapresentados aos EJBs
  • 3.1 Por que usar EJB hoje em dia?
  • 3.2 O que vamos usar para criar nossa aplicação?
  • 3.3 Fazer o código na mão, utilizar Wizards, ou o JBoss Forge?
  • 3.4 Baixando o servidor e criando o projeto
  • 3.5 Criando um EJB simples
  • 4 Os Sessions Beans por estado
  • 4.1 EJB Stateless
  • 4.2 EJB Stateful
  • 4.3 Removendo um EJB Stateful
  • 4.4 Removendo um bean Stateful via timeout
  • 4.5 Lidando com Stateful Session Beans removidos e NoSuchEJBException
  • 4.6 Remoção automática de beans Stateful associados a um contexto CDI
  • 4.7 EJB Singleton
  • 5 Os Sessions Beans por interface
  • 5.1 EJBs Remotos
  • 5.2 Desenvolvendo um EJB remoto
  • 5.3 Criando um cliente de EJB remoto
  • 5.4 EJBs Locais
  • 5.5 EJBs sem interface
  • 5.6 Revisão geral sobre exposição de interfaces dos EJBs
  • 6 Integrando EJB e JPA
  • 6.1 Iniciando com a JPA
  • 6.2 Primeiras diferenças entre JPA puro e seu uso com EJBs
  • 6.3 Usar o padrão DAO, Service Bean + Controller, ou tudo junto?
  • 6.4 Usando JSF para construir as telas
  • 6.5 Lidando com LazyInitializationException ou equivalente
  • 6.6 Evitando LazyInitializationException com EJB Stateful
  • 7 Gerenciando transações com EJBs
  • 7.1 Executando commit em uma transação
  • 7.2 Executando rollback em uma transação
  • 7.3 Exceções de sistema e exceções de aplicação
  • 7.4 EJB Stateful e o rollback de transações
  • 8 Lidando com mais de uma transação
  • 8.1 As opções de transações com @TransactionAttribute
  • 9 Testando nossos serviços
  • 9.1 Criando testes de integração com Mockito
  • 9.2 Criando testes de integração com o contêiner
  • 9.3 Utilizando o Arquillian para testes de integração
  • 9.4 Configurando o Arquillian na nossa aplicação
  • 9.5 Criando um teste "hello world"
  • 9.6 Criando um teste real
  • 9.7 Usando mocks nos testes com Arquillian
  • 10 Criando WebServices com JAX-RS
  • 10.1 JAX-RS: Transformando um EJB em um serviço REST que devolve JSON
  • 10.2 Retornando um XML através do serviço REST
  • 10.3 Retornando diferentes formatos com o mesmo serviço REST
  • 10.4 Criando um cliente de serviço REST
  • 10.5 Criando um cliente JS para um serviço REST
  • 10.6 Acessar diretamente a camada de negócios a partir da visualização é uma boa?
  • 11 Server-Sent Events ou SSE (JAX-RS 2.1, Java EE 8)
  • 11.1 Reactive Client API (JAX-RS 2.1, Java EE 8)
  • 11.2 A diferença entre Future e CompletionStage
  • 11.3 Como usar o CompletionStage?
  • 12 Métodos assíncronos e paralelismo para aumento de performance
  • 12.1 O uso de @Asynchronous para não bloquear o usuário
  • 12.2 Recuperando o retorno de uma execução em segundo plano
  • 12.3 Executando código em paralelo com @Asynchronous
  • 12.4 Paralelizando a persistência no banco de dados
  • 12.5 Pós-créditos
  • 13 Utilizando a Concurrency Utilities for Java EE
  • 13.1 Criando um novo Managed Executor Service
  • 13.2 Criando um Executor Service programaticamente
  • 14 Conclusão
Reply all
Reply to author
Forward
0 new messages