O ecossistema Java viu uma série de atualizações significativas nesta semana, incluindo a reintrodução dos <strong>Value Objects (JEP 401)</strong> no <em>Project Valhalla</em>, o lançamento do <strong>WildFly 41</strong> com suporte a JDK 25, e importantes novidades em frameworks como <strong>LangChain4j</strong> e <strong>Micronaut</strong>, além da apresentação do <strong>Oracle AI Agent Studio</strong> para <em>Fusion Applications</em>.
- Value Objects (JEP 401) retornam ao Project Valhalla, prometendo ganhos de performance no Java.
- WildFly 41 alcança GA com suporte a JDK 25 e Bootable JARs para nuvem.
- Open Liberty 26.0.0.7 foca em segurança com rastreamento de cookies SSO e correções de CVEs.
- TornadoVM 5.1.0 otimiza GPUs com suporte a FP8 e melhorias de concorrência.
- LangChain4j 1.18.0 aprimora agentes de IA com padrão BDI e novas APIs (OpenAI TTS, Mistral Batch).
- Micronaut 5.0.5 recebe manutenção, e Quarkus Shim oferece extensão experimental para modificação de classes em build-time.
- Oracle lança AI Agent Studio, integrando IA nativamente com Fusion Applications em abordagens no-code, low-code e pro-code.
Lançamentos do OpenJDK: Value Objects e Builds Early-Access
As últimas semanas foram movimentadas para o OpenJDK, com a reintrodução de uma proposta chave e a disponibilização de novas builds de acesso antecipado para as próximas versões do JDK.
Value Objects (JEP 401) no Project Valhalla
Os <strong>Value Objects</strong>, propostos pela JEP 401, foram oficialmente reintroduzidos ao status de Candidato dentro do <em>Project Valhalla</em>, atualizando a proposta original de 2020. Essa iniciativa visa aprimorar a linguagem Java com objetos que não possuem identidade, sendo definidos exclusivamente pelos valores de seus campos, os quais devem ser <code>final</code>.
Isso permite que a JVM execute otimizações de layout e acesso de memória, melhorando o desempenho de forma substancial. A ausência de identidade significa que dois Value Objects são considerados iguais se seus conteúdos forem idênticos, independentemente de serem instâncias diferentes na memória. Tal conceito é vital para cenários onde a performance e a imutabilidade são prioritárias, como em processamento de dados e estruturas de dados.
Atualizações do JDK 27 e JDK 28
Novas <em>early-access builds</em> foram disponibilizadas para o <strong>JDK 27 (Build 31)</strong> e o <strong>JDK 28 (Build 7)</strong>. Essas compilações contêm correções para vários problemas identificados em versões anteriores, refletindo o trabalho contínuo da comunidade OpenJDK em aprimorar a estabilidade e o desempenho da plataforma.
Os desenvolvedores são incentivados a testar essas builds para fornecer feedback, contribuindo para a robustez das futuras versões do Java. Os detalhes completos das alterações e correções podem ser encontrados nas respectivas notas de lançamento, que são publicadas regularmente no site do OpenJDK.
Servidores de Aplicação e Runtimes Java: WildFly 41 e Open Liberty 26.0.0.7
Grandes atualizações em servidores de aplicação e runtimes Java trazem melhorias de performance, segurança e compatibilidade com as versões mais recentes do JDK, essenciais para o mercado de TI.
WildFly 41: Novidades e Suporte a JDK 25
A versão <strong>41 do WildFly</strong> foi lançada, apresentando uma série de correções de bugs, atualizações de dependências e novas funcionalidades. Entre os destaques, a inclusão de <strong>Bootable JARs</strong> nos pacotes <code>wildfly-cloud-galleon-pack</code> e <code>wildfly-maven-plugin</code> facilita a criação de aplicações compactas e facilmente implantáveis na nuvem.
Outra mudança significativa é a substituição das imagens de container WildFly baseadas no JDK 17 por uma nova edição que suporta <strong>JDK 25</strong>, incluindo o S2I builder e as imagens de runtime. Isso alinha o WildFly com as versões mais recentes do Java, garantindo que as aplicações possam tirar proveito das últimas inovações da plataforma. Várias funcionalidades que estavam em preview foram promovidas a níveis de estabilidade comunitária e padrão.
Open Liberty 26.0.0.7: Melhorias de Segurança e Funcionalidades
O <strong>Open Liberty 26.0.0.7</strong> chegou com correções de bugs e novas funcionalidades focadas em segurança e gerenciamento. Agora, o rastreamento de cookies de <strong>Single Sign-On (SSO)</strong> deslogados é habilitado por padrão, impedindo que sejam reutilizados após o logout e aumentando a segurança das sessões.
Além disso, foi adicionada a capacidade de desabilitar os endpoints <code>/health</code> do MicroProfile Health 4.0 quando um mecanismo de verificação de saúde baseado em arquivo é utilizado, oferecendo mais flexibilidade no monitoramento de aplicações. Esta versão também endereça oito CVEs (Vulnerabilidades e Exposições Comuns) que poderiam causar negação de serviço, HTTP request smuggling e server-side request forgery, reforçando a segurança da plataforma.
Ferramentas e Frameworks: TornadoVM, TomEE, JOSDK e LangChain4j
O cenário de ferramentas e frameworks Java recebeu uma onda de atualizações, trazendo otimizações de desempenho, correções críticas e novos recursos para diversas áreas do desenvolvimento.
TornadoVM 5.1.0: Otimizações e Suporte a FP8
O <strong>TornadoVM 5.1.0</strong> foi lançado com correções de bugs e novas funcionalidades que aprimoram sua capacidade de aceleração de hardware. Destaque para o suporte ao armazenamento de ponto flutuante de oito bits (FP8) nos formatos <strong>E4M3 e E5M2</strong> no backend CUDA, o que é crucial para aplicações de IA e aprendizado de máquina que buscam maior eficiência de memória e processamento em GPUs.
A versão também introduz um caminho de transferência <em>host-to-device</em> em estágios (opt-in) para os backends PTX e CUDA, e uma melhoria de desempenho no método <code>withIntraPlanConcurrency()</code> da classe <code>TornadoExecutionPlan</code>. Isso reduz o custo geral de contabilidade por operação e por junção para todos os planos de concorrência intra-plano, resultando em execuções mais rápidas.
Apache TomEE 10.2.0: Dependências e Correções
O <strong>Apache TomEE 10.2.0</strong> foca em atualizações de dependências e na resolução de bugs notáveis. Entre as correções, destacam-se a proteção do parâmetro <code>sslTruststorePassword</code> da classe interna <code>HttpConnection</code>, garantindo que não seja mais exposto em logs, e a preservação da causa original de uma <code>AuthenticationException</code> lançada pelo método <code>authenticate()</code> na classe <code>JNDIContext</code>, melhorando o diagnóstico de problemas de autenticação.
Essas melhorias visam aumentar a estabilidade e a segurança do servidor de aplicações, que combina Apache Tomcat com recursos Java EE/Jakarta EE. A atualização é fundamental para sistemas que dependem da robustez e conformidade do TomEE.
Java Operator SDK 5.5.0: Métodos de Atualização e Matcher Personalizado
O <strong>Java Operator SDK (JOSDK) 5.5.0</strong> traz mudanças notáveis que simplificam a interação com a API do Kubernetes. Uma família completa e consistente de métodos <code>update</code>/<code>patch</code>/<code>create</code> na classe <code>ResourceOperations</code> agora suporta as especificações <strong>RFC 6902 (JSON Patch)</strong> e <strong>RFC 7386 (JSON Merge Patch)</strong>, proporcionando maior flexibilidade e precisão na manipulação de recursos.
Além disso, uma nova interface <code>Matcher</code> permite que os desenvolvedores conectem uma estratégia de correspondência personalizada no método sobrecarregado <code>matchAndFilter()</code>, definido na classe <code>Options</code>. Isso oferece um controle mais granular sobre como os recursos são filtrados e processados pelos operadores Kubernetes.
LangChain4j 1.18.0: Padrão BDI e APIs de IA
A versão <strong>1.18.0 do LangChain4j</strong>, acompanhada por sua vigésima oitava <em>beta release</em>, introduz importantes recursos para o desenvolvimento de aplicações baseadas em modelos de linguagem. O novo <strong>padrão agentic Belief-Desire-Intention (BDI)</strong> oferece uma metodologia estruturada para formalizar conceitos psicológicos em sistemas de software e robóticos, permitindo a criação de agentes de IA mais sofisticados e autônomos.
A biblioteca também ganhou uma nova interface <code>TextToSpeechModel</code> para suportar a <strong>API OpenAI Text-to-Speech</strong>, facilitando a integração de funcionalidades de conversão de texto em fala. Além disso, a classe <code>MistralAiBatchChatModel</code> foi adicionada para fornecer suporte à <strong>Mistral Batch API</strong>, expandindo as opções para interagir com diferentes modelos de linguagem. Essas adições posicionam o LangChain4j como uma ferramenta ainda mais poderosa para o desenvolvimento de sistemas de IA.
Novidades em Frameworks Modernos: Micronaut e Quarkus
Os frameworks Java de nova geração continuam a ser atualizados, com foco em performance, modularidade e experiência do desenvolvedor, essenciais para a construção de microserviços e aplicações nativas em nuvem.
Micronaut Framework 5.0.5: Manutenção e Patches
A <strong>Micronaut Foundation</strong> lançou a versão <strong>5.0.5 do Micronaut Framework</strong>, baseada no <code>Micronaut Core 5.0.6</code>. Esta é uma versão de manutenção que inclui atualizações de patch para módulos cruciais como <em>Micronaut AWS, Micronaut gRPC, Micronaut Oracle Cloud e Micronaut Logging</em>. Essas atualizações garantem a estabilidade, a compatibilidade e a segurança do framework, que é conhecido por sua leveza e tempo de inicialização rápido, ideal para aplicações serverless e microserviços.
O Micronaut continua a ser uma escolha robusta para desenvolvedores que buscam alta performance e um baixo footprint de memória em suas aplicações Java.
Quarkus Shim: Nova Extensão Experimental
A equipe <strong>Quarkus</strong> introduziu uma nova extensão experimental chamada <strong>Quarkus Shim</strong>. Esta ferramenta inovadora permite aos desenvolvedores adicionar, envolver ou substituir o comportamento em uma classe Java durante o processo de build do Quarkus. A principal vantagem é que a mudança ocorre durante a fase de <em>augmentation</em>, sem a necessidade de agentes Java ou instrumentação em tempo de execução. Isso significa que a classe transformada funciona perfeitamente nos modos JVM, dev e executáveis nativos.
Esta extensão, construída com Quarkus 3.37.3, abre portas para otimizações e personalizações avançadas no comportamento de classes, oferecendo um novo nível de controle sobre a arquitetura da aplicação. É uma ferramenta promissora para desenvolvedores que buscam ajustar e otimizar o código de forma profunda.
Oracle AI Agent Studio para Fusion Applications
<div class="box-destaque">O Oracle AI Agent Studio oferece uma experiência de construção nativa em IA para os Fusion Applications, permitindo a criação e execução de <em>Fusion Agentic Applications</em> diretamente nas aplicações Oracle Fusion Cloud. A ferramenta integra desenvolvimento no-code, low-code e pro-code em um único framework Fusion-native.</div>
A <strong>Oracle</strong> lançou o novo <strong>AI Agent Studio</strong>, uma experiência de construção nativa em IA projetada especificamente para <strong>Oracle AI Agent Studio para Fusion Applications</strong>. Esta plataforma permite que os clientes criem e executem <em>Fusion Agentic Applications</em> diretamente de dentro das aplicações <em>Oracle Fusion Cloud</em>. A ferramenta se destaca por integrar desenvolvimento <em>no-code, low-code e pro-code</em> em um único framework, facilitando a vida de desenvolvedores com diferentes níveis de experiência.
É importante notar que tanto o AI Agent Studio quanto as Fusion Cloud Applications são serviços de assinatura. Esta iniciativa da Oracle sublinha a crescente importância da inteligência artificial embarcada em aplicações corporativas, permitindo que as empresas automatizem e otimizem processos de negócios complexos com maior eficiência e inteligência. É um avanço significativo para a integração de IA no ecossistema de negócios.
Perguntas Frequentes (FAQ)
O que são Value Objects no Project Valhalla?
Value Objects são uma proposta do Project Valhalla para o Java que define objetos sem identidade própria, distinguidos unicamente pelos valores de seus campos, que devem ser finais. Isso permite otimizações de memória e desempenho.
Quais as principais novidades do WildFly 41?
O WildFly 41 traz Bootable JARs para facilitar a implantação em nuvem, suporte a imagens de container com JDK 25 (substituindo JDK 17) e a promoção de funcionalidades de preview para níveis de estabilidade comunitária e padrão.
Como o LangChain4j 1.18.0 melhora o desenvolvimento com IA?
O LangChain4j 1.18.0 introduz o padrão agentic Belief-Desire-Intention (BDI) para agentes de IA mais sofisticados, suporte à API OpenAI Text-to-Speech e à Mistral Batch API, expandindo as capacidades de integração com modelos de linguagem.
O que é o Quarkus Shim e qual seu objetivo?
Quarkus Shim é uma extensão experimental que permite modificar o comportamento de classes Java durante o processo de build do Quarkus. Ela atua na fase de 'augmentation', sem agentes de runtime, e funciona em modos JVM, dev e nativo, oferecendo controle avançado sobre a arquitetura.
Qual o propósito do Oracle AI Agent Studio para Fusion Applications?
O Oracle AI Agent Studio oferece uma plataforma para criar e executar Fusion Agentic Applications diretamente nas Oracle Fusion Cloud Applications, unindo abordagens no-code, low-code e pro-code para integrar IA em processos de negócios.
Fontes e referencias
- JEP 401: Value Objects (Preview) (openjdk.org)
- WildFly 41 Release Notes (docs.wildfly.org)