Em constante avanço, a tecnologia tem se tornado cada vez mais acessível e supercomputadores podem ser encontrados até mesmo em residências. No entanto, é fundamental que as aplicações sejam capazes de utilizar o hardware de forma eficiente, a fim de traduzir processamento em performance para o usuário, pois como consequência dessa evolução, aplicações podem executar múltiplas ações ao mesmo tempo, paralelamente, em diferentes núcleos de um mesmo processador. No Java, conforme demonstrado no artigo abaixo, isso é possível a partir da Concurrency Utilities API:
Em geral uma aplicação precisa executar tarefas criadas para o negócio, como processar uma venda, e também aquelas que gerenciam os recursos físicos necessários para a completude dessas tarefas, como a atualização de dados em um banco. Uma aplicação transacional procura identificar a natureza desses processos, a fim de dividir responsabilidades em camadas. JTA, Java Transaction API, define uma interface de alto nível, além de anotações, e escopo para demarcar os limites da transação em uma aplicação transacional. Ela permite que interfaces locais sejam utilizadas entre as partes envolvidas em um sistema de transação distribuído como: a aplicação, o gerenciador de recursos e o servidor de aplicação. No artigo abaixo você encontrará uma introdução prática a essa API, bem como seus recursos:
É possível que em algum momento você precise gerenciar grandes volumes de dados em sua aplicação. Enviar e-mails para todos os usuários cadastrados com um resumo das publicações realizadas na semana é um exemplo, dentre muitos, que gera a necessidade de programar rotinas específicas. Levando em conta o tempo e os recursos necessários para concluir tarefas dessa natureza, a ideia de processamento de lote foi introduzida. Nesses programas é definido o conjunto de etapas que devem ser concluídas em sequência para a execução do processo. A fim de padronizar a programação dessas rotinas, a Java EE 7 incluiu a biblioteca Batch Applications for the Java Platform, apresentada nos seguintes artigos: