WS-AtomicTransaction – Desenvolvimento de aplicativos móveis, serviços da Web, arquitetura SOA - Tecnologia
Pular para o conteúdo

WS-AtomicTransaction – Desenvolvimento de aplicativos móveis, serviços da Web, arquitetura SOA

  • por

Anúncios

WS-AtomicTransaction (WS-AT) é um protocolo de transação interoperável. Ele permite o fluxo de transações distribuídas por meio do uso de mensagens de serviço da Web e coordena de maneira interoperável entre infraestruturas de transações heterogêneas. O WS-AT usa o protocolo de execução de duas fases para criar um resultado atômico entre aplicativos distribuídos, gerenciadores de transações e gerenciadores de recursos.

A implementação fornecida do WS-AT no Windows Communication Foundation (WCF) inclui um serviço de protocolo integrado ao gerenciador de transações MSDTC (Microsoft Distributed Transaction Coordinator). Os aplicativos WCF podem transmitir transações para outros aplicativos por meio do WS-AT, incluindo serviços da Web interoperáveis ​​criados com tecnologia de terceiros.

Quando uma transação flui entre um aplicativo cliente e um aplicativo servidor, o protocolo de transação usado é determinado pela ligação que o servidor expõe no terminal cliente selecionado. Algumas associações fornecidas para WCF por padrão especificam o protocolo OleTransactions como o formato de propagação da transação, enquanto outras são padronizadas para a especificação WS-AT. Você também pode modificar programaticamente a escolha do protocolo de transação dentro de uma determinada ligação.

A escolha do protocolo influencia:

  • O formato dos cabeçalhos de mensagem usados ​​para fluir a transação do cliente para o servidor.
  • O protocolo de rede usado para executar o protocolo de execução de duas fases entre o gerenciador de transações do cliente e a transação do servidor, a fim de resolver o resultado da transação.

Se o servidor e o cliente forem escritos usando WCF, você não precisará usar WS-AT. Em vez disso, você pode usar a configuração NetTcpBinding padrão com o atributo TransactionFlow ativado, que usará o protocolo OleTransactions.

Esta especificação define os seguintes protocolos para transações atômicas.

conclusão: O protocolo de terminação inicia o processo de confirmação. Com base nos participantes inscritos de cada protocolo, o Coordenador começa com 2PC Volátil e prossegue até 2PC Durável. O resultado final é sinalizado para o iniciador.

Compromisso de duas fases (2PC): O protocolo 2PC coordena os participantes registrados para chegar a uma decisão de confirmação ou cancelamento e garante que todos os participantes sejam informados do resultado final. O protocolo 2PC tem 2 variantes:

  • Volátil 2PC: a Os participantes que gerenciam recursos voláteis, como um cache, devem se registrar neste protocolo.
  • Durável 2PC: Os participantes que gerenciam recursos duráveis, como um banco de dados, devem se registrar neste protocolo.

Um participante pode se registrar em mais de um desses protocolos enviando várias mensagens de registro.