BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Estratégias de Transação Baseadas nos Modelos de Transação Java

Estratégias de Transação Baseadas nos Modelos de Transação Java

Favoritos

O conceito de transações é essencial para garantir a integridade e consistiencia. Um entendimento completo de transações requere familiaridade com modelos básicos e estratégias. Mark Richards comenta " É um erro comum confundir modelos de transações com estratégias de transações." Esse artigo cobre " os três modelos de transações suportados pela plataforma Java e introduz quatro estratégias de transações que usam aqueles modelos. Usando exemplos do Framework Spring e a especificação Enterprise JavaBeans (EJB) 3.0, Mark explica como os modelos de transação trabalham e como eles podem formular o básico para desenvolver estratégias de transação variando do processamento de transação básico para o sistema de processamento de alta rapidez."

A plataforma Java suporta três modelos de transação:

  • Modelo de Transação Local - transações são gerenciadas pelo recurso de Banco de Dados e não no container da aplicação ou framework. O desenvolvedor gerencia mais conexão do que transações.
  • Modelos de Transação Programática - O programador obtém uma transação de um gerenciador de transações mais depois devem escrever seus próprios códigos para iniciar, comitar e dar uma exceção, fazer rollback de transações.
  • Modelos de Transação Declarativos - o modelo mais comum, também conhecido como Container Gerenciador de Transações. Nesse modelo o container gerencia as transações ativamente, o desenvolvedor define (declara) o comportamento e parâmetros da transação.

Mas esse suporte é limitado para uma descrição de transações básicas e comportamentos esperados, descrição da implementação, e regras e sintaxe para uso. A estratégia de transação é necessária para responder questões como: 'Quando devo usar os atributos REQUIRED vs. MANDATORY, diretivas específicas, um modelo versus outro, ou como otimizar para uma situação particular?

Os benefícios e as falhas dos modelos de transações são discutidos por Mark no artigo.

Estratégias para usar modelos específicos e usar um dado modelo de uma maneira apropriada são introduzidos nesse artigo. As quatro estratégias apresentadas são:

  • "A estratégia de orquestração Cliente de Transação é usada quando múltiplas chamadas baseadas no servidor ou chamadas baseadas no modelo da camada cliente compleando uma única unidade de trabalho.
  • A estratégia de Camada API de transação é usada quando você tem métodos grosseiros que atuam como estratégia de entrada primária para funcionalidades back-end. (Chame de serviços, se preferir.)
  • A estratégia de transações de Alta Concorrência, uma variação de estratégia de Camada de API, é usada para aplicações que não podem suportar transações longas da camada da API (geralmente por causa da necessidade de performance e escalabilidade).
  • A estratégia de transação de Alta Rapidez de Processamento é talvez o mais extremo das estratégias de transação. Você usa quando necessita ter um tempo de processamento o mais rápido possível na aplicação e ainda mantém algum grau de atomicidade transacional em seu processamento.

 

 

 

 

Mark Richards é autor do mini-book Java Transaction Design Strategies da InfoQ que fornece informações adicionais para esse tópico importante.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT