Artigo no estilo: Curso

Por que eu devo ler este artigo:Este artigo apresenta, de forma introdutória, uma das principais novidades da Java EE 7, a JSR 352. Essa especificação permite o desenvolvimento de aplicações batch sem o uso de bibliotecas intermediárias.

Assim, estudaremos a Java Batch API, implementação de referência da JSR 352, existente na recém-lançada versão do servidor de aplicações GlassFish, o primeiro a já possuir suporte à Java EE 7.

Este artigo é útil em situações nas quais precisamos processar grandes volumes de dados sem a necessidade de intervenção manual e em janelas de processamento pré-programadas que têm como objetivo realizar o uso consciente dos recursos da máquina, trabalhando em horário de baixa utilização, melhorando assim a performance das execuções.

Esse estudo também é útil a todos os desenvolvedores que não possuem conhecimento em processos batch e gostariam de entender mais a respeito.

Em abril de 2013, a versão final da JSR 352 foi disponibilizada. Esta nova JSR, que tem o nome de Batch Applications for the Java Platform, especifica um modelo de programação voltado para processamento em lote (batch), permitindo assim o desenvolvimento de aplicações batch de forma simplificada.

Essa facilidade só é possível através da implementação de interfaces bem definidas e o uso de arquivos de configuração, que nos permitem desenvolver jobs, fazendo com que vários steps sejam executados em prol de um objetivo específico.

Para quem não está habituado com essa nomenclatura, um job pode ser considerado como a unidade básica de uma execução batch. Um job descreve uma sequência de passos (steps) que, juntos, conseguem atender a um objetivo de negócio específico, como um processamento de operações de DOC em uma instituição financeira.

Portanto, a proposta desta JSR é descrever uma linguagem específica para jobs, denominada Job Specification Language, a partir do modelo de programação Java, possibilitando com ela o desenvolvimento de um ambiente de execução para aplicativos batch de forma padronizada.

Embora anunciada em meio a todas as melhorias da Java EE 7, esta JSR foi projetada para uso em ambas as plataformas, Java SE e Java EE, e possui algumas características importantes, como:

· Configuração orientada a XML;

· Interfaces e classes abstratas para estabelecimento de contratos;

· Possui suporte a injeção de dependências;

· Comunicação entre os elementos da solução através de contextos.

Deste modo, temos como meta no decorrer de dois artigos trabalhar toda a proposta desta nova JSR, explorando desde a parte teórica, através da conceituação dos elementos chaves, até a parte técnica, através de uma implementação utilizando a nova plataforma Java EE.

Introdução ao Processamento Batch

Antes de começarmos a falar sobre a JSR 352, é importante termos o discernimento entre os dois principais tipos de processamento existentes hoje, como o processamento batch se encaixa nesse meio e quais são as suas aplicabilidades, permitindo que todos os leitores consigam aproveitar o assunto abordado.

Como informado, basicamente existem dois tipos de processamento nas organizações. São eles

· Processamento Batch: Nesse tipo de processamento, também conhecido como processamento em lote, as informações são obtidas por diversos meios. Elas podem ser coletadas de uma base de dados, recebidas através da leitura de filas de mensagens ou também armazenadas pelo próprio sistema e submetidas a processamento posterior.

Normalmente um processamento batch não requer nenhuma intervenção do usuário, pois o mesmo acaba sendo automatizado por inteiro. O que acontece manualmente neste caso é apenas a reexecução de uma determinada etapa do processo, caso o mesmo apresente algum tipo de problema ao final de sua execução.

No dia a dia de uma organização, temos diversos processos batch, e eles estão em qualquer segmento, como: Petroquímico, Varejista, Energia, Financeiro, Telecomunicação, entre outros. Nessas organizações, podemos, por exemplo, ter os seguintes processos considerados como batch:

o Processos de convivência, visando à sincronização/equalização de informações;

o Processos voltados para BI (Business Intelligence) como o ETL, no qual existe a necessidade de se processar grandes volumes de dados aplicando regras de conversão, regras de negócio e redefinição de layout, visando o armazenamento posterior das informações em um Data Warehouse ou Data Mart;

o Processos de contabilização de movimentos diários;

o Operações bancárias de DOC;

...
Fim do trecho gratuito • continue abaixo
CONTEÚDO EXCLUSIVO

Desbloqueie toda a DevMedia

  • +2000 artigos e vídeos
  • +40 trilhas sobre Front-end, Back-end, IA e muito mais
  • +5000 exercícios práticos
  • Mentorias ao vivo individuais
até 50% OFF
A partir de
R$ 69 /mês
Assinar agora