ANÚNCIO

Aula 15 – Vibe Coding: Implementando um sistema de Gestão de Mudancas

Aprenda Jakarta EE, JAX-RS e JPA para construir APIs REST estruturadas e persistência eficiente em Java.

⏱ 46min 👁 231 visualizações 📅 agosto 5, 2025

Resumo

Transição do Vibe Coding para Jakarta EE

Este vídeo marca um ponto de inflexão na série de desenvolvimento de um sistema de gestão de mudanças. Após várias aulas utilizando a abordagem informal do vibe coding, o instrutor Victor Osório decide abandonar essa metodologia para adotar um framework mais robusto e estruturado: Jakarta EE. Essa mudança representa uma evolução natural no projeto, passando de um estilo de codificação improvisado para uma arquitetura baseada em específicações e padrões enterprise consolidados no ecossistema Java.

O que é Jakarta EE e sua Importância

Jakarta EE é um conjunto de específicações que definem como construir aplicações Java escaláveis e confiáveis. Diferente de um simples framework, Jakarta EE estabelece padrões claros para desenvolvimento, permitindo que diferentes implementações (como Quarkus e WildFly) sigam as mesmas convenções. Isso significa que código escrito seguindo essas específicações pode ser portado entre implementações com relativa facilidade. A principal vantagem é a padronização: ao invés de improvisar soluções, o desenvolvedor utiliza específicações que já resolveram problemas comuns da indústria, resultando em código mais previsível, testável e fácil de manter.

JAX-RS e Construção de APIs REST

JAX-RS é a específicação Jakarta para criar aplicações REST em Java. Através de anotações simples, é possível definir endpoints, mapear URLs a métodos e processar requisições HTTP. O vídeo demonstra como criar endpoints com parâmetros de caminho (path parameters), parâmetros de consulta (query parameters) e corpos de requisição (request bodies). Com JAX-RS, o desenvolvedor não precisa lidar manualmente com roteamento ou parsing de HTTP; a específicação abstrai esses detalhes, permitindo foco na lógica de negócio. Essa abordagem declarativa, baseada em anotações, reduz código boilerplate significativamente em comparação com implementações ad-hoc.

JPA e Persistência Estruturada de Dados

JPA (Java Persistence API) é a específicação para mapeamento objeto-relacional em Java. Ao invés de escrever queries SQL manualmente, o desenvolvedor define entidades que representam tabelas do banco de dados através de anotações simples. O Entity Manager, componente central de JPA, gerencia o ciclo de vida dos objetos persistidos, automatizando operações de create, read, update e delete. O vídeo também aborda o Criteria Builder, uma API type-safe para construir queries dinâmicas sem risco de SQL injection, tornando o código mais robusto e refatorável.

Entity Manager e Gerenciamento de Ciclo de Vida

O Entity Manager é responsável por rastrear o estado das entidades (managed, detached, removed) e sincronizá-las com o banco de dados. Compreender esse mecanismo é fundamental para evitar erros comuns como lazy loading exceptions ou dados desincronizados. O instrutor demonstra como utilizar o Entity Manager para executar operações de persistência e como aproveitar seus recursos para simplificar operações complexas. Essa abstração permite que o desenvolvedor trabalhe com objetos Java nativos, deixando a complexidade do mapeamento e sincronização para JPA.

Criteria Builder para Queries Dinâmicas

O Criteria Builder oferece uma alternativa type-safe ao JPQL (Java Persistence Query Language) para construir queries programaticamente. Isso é especialmente útil quando filtros e condições são determinados em tempo de execução baseados na entrada do usuário. Diferente de concatenar strings SQL, o Criteria Builder valida tipos em tempo de compilação e evita erros comuns. O vídeo mostra exemplos práticos de como construir queries complexas de forma legível e manutenível, tornando o código mais resiliente a refatorações.

Integração com Quarkus

Quarkus é uma implementação moderna de Jakarta EE otimizada para cloud-native e serverless. O vídeo menciona o Quarkus Code Generator, ferramenta que acelera a criação de projetos pré-configurados com as dependências corretas. A integração entre JAX-RS, JPA e Quarkus é perfeita, permitindo desenvolvimento rápido sem perder em clareza e estrutura. O Quarkus também oferece live reload, facilitando o feedback imediato durante o desenvolvimento, e compilação nativa para executáveis com tempo de startup ultracurto.

Evolução do Projeto de Gestão de Mudanças

A série demonstra como um projeto que começou com improvisação (vibe coding) evolui para uma arquitetura mais profissional. Essas mudanças não são apenas cosméticas; refletem decisões de design que impactam escalabilidade, manutenibilidade e performance. Aplicar específicações consolidadas como Jakarta EE permite que o projeto cresça sem acumular dívida técnica. Desenvolvedores que ingressam posteriormente no projeto têm um norte claro para entender a estrutura, já que essas convenções são conhecidas na comunidade Java enterprise.

O que você vai aprender

  • Entender os fundamentos de Jakarta EE e suas específicações principais
  • Implementar endpoints REST usando JAX-RS com path, query e body parameters
  • Modelar entidades e gerenciar persistência com JPA e Entity Manager
  • Construir queries dinâmicas type-safe com Criteria Builder
  • Integrar Jakarta EE com Quarkus para development experience otimizado
  • Estruturar um sistema de gestão de mudanças com padrões enterprise

Conceitos abordados

Tecnologias utilizadas

Capítulos 8 marcações

  1. Introdução e mudança de abordagem
  2. O que é Jakarta EE e suas específicações
  3. Criando endpoints REST com JAX-RS
  4. Path parameters, query e body na prática
  5. Modelagem de entidades com JPA
  6. Entity Manager e ciclo de vida
  7. Criteria Builder para queries dinâmicas
  8. Integração com Quarkus e conclusões

Próximo vídeo sugerido

Avaliações

Avaliação dos alunos 0.0
0 avaliações
Avalie esta aula

Ajude outros alunos a entenderem se esta aula foi útil.

Ainda não há avaliações. Seja o primeiro a avaliar esta aula.