HTTP/2 Server Push no Java EE 8

O Java EE 8 chegou e com ele muitas novidades. Há atualizações nas APIs JAX-RS, Bean Validation, JSF, CDI, JSONP e Servlet. Uma das maiores atualizações está na API Servlet, que está agora na versão 4.0. A maior novidade na API Servlet é o suporte ao protocolo HTTP/2 que traz consigo muitas melhorias, como request/response…

Java EE CDI: Como e quando utilizar Interceptors e Decorators

A Revista Java Magazine 156 traz um artigo meu sobre CDI. CDI é a especificação do Java EE para lidar com contextos (diferentes estados da aplicação e seus objetos relacionados) e injeção de dependências. Essa especificação se integra tão bem e de forma tão natural ao restante da plataforma Java que, muitas vezes, seus recursos…

Como executar comandos no Linux a partir do Java

Há muito tempo o sistema operacional Linux se tornou o principal SO rodando em servidores corporativos. Considerando a importância dessa plataforma e o número elevado de soluções rodando sob o Linux, é comum aparecerem diversas necessidades em termos de integração para execução de comandos no Linux a partir de alguma ferramenta de implementação. Recentemente fui…

Java Reflection: um exemplo prático

Reflexão (reflection) é uma característica que permite a um programa observar e até modificar a sua estrutura e o seu comportamento interno. Os termos comumente utilizados são reflexão e introspecção. Na reflexão, um programa observa e modifica seu comportamento enquanto que na introspecção ele apenas observa e obtém informações dele mesmo. A linguagem Java possui…

Replicação de sessão e balanceamento de carga em ambientes distribuídos (Tomcat, NGinx e Java)

A edição de outubro de 2014 da Revista easy Java Magazine trás um artigo meu sobre cluster e replicação de sessão com Tomcat, NGinx e Java, abordando diversos conceitos relacionados à computação distribuída e oferecendo uma introdução aos principais tópicos da disciplina como base para a aplicação prática de um cluster, implementado com o servidor HTTP NGinx como…

Java performance: aprimorando o desempenho de aplicações

A edição de setembro de 2014 da Java Magazine trás um artigo meu sobre performance de aplicações Java, sendo um guia abrangente contendo diversas técnicas que auxiliam e melhoram o desempenho de aplicações Java. O artigo aborda diversos conceitos relacionados à performance de aplicações e apresenta um leque de técnicas e práticas que podem ser…

JAX-RS: Como customizar o status code em uma HTTP Response de uma aplicação REST

Os métodos HTTP mais comuns em uma aplicação REST são GET, POST, PUT e DELETE. O protocolo HTTP e a arquitetura REST especificam que cada método HTTP retorne um determinado código de status (status code) ao cliente sobre o resultado da sua requisição. A recomendação em uma aplicação REST é que ela retorne um status…

Criando um web service RESTful com JAX-RS

REST é um padrão arquitetural baseado nas operações básicas do protocolo HTTP. Os posts REST, JAX-RS, RESTeasy e integração e Entendendo web services em Java (JAX-WS e JAX-RS) fornecem mais detalhes sobre REST. Alguns conceitos sobre aplicações RESTful Basicamente, uma aplicação REST utiliza o conceito de recursos, considerando tudo como recurso. O recurso é acessado e manipulado…

Entendendo web services em Java (JAX-WS e JAX-RS)

Ao aprender sobre web services de forma mais abrangente e detalhada, especialmente em Java, logo no início percebemos certa complexidade. O conceito de web service é simples, mas essa complexidade existe devido a quantidade de siglas e acrônimos para designar o emaranhado de tecnologias que compõem o universo dos web services em Java. Vejamos a…