Transações Atômicas com o Distributed Transaction Coordinator (DTC) |
O que é DTC – Distributed Transaction Coordinator?
O
DTC é uma infraestrutura distribuída de serviços para realização de transações.
Ele está disponível no Windows Server 2003 SP1 ou superior. O DTC é
especialmente útil em cenários distribuídos com serviços conectados, diferentes
bancos de dados, transações com arquivos em disco, message queues entre outros.
Porque utilizar o DTC?
Quando
se cria uma aplicação que persiste dados em banco de dados, fatalmente será
necessário o uso de transações atômicas, utilizando BEGIN TRANSACTION,
ROLLBACK, COMMIT. Quando se guarda arquivos em disco isto é um pouco mais
complicado porque normalmente é tratado manualmente. Se der algum tipo de falha
o programador deve saber voltar o ambiente para o último estado estável. Em cenários com múltiplos bancos de dados ou
com aplicações distribuídas em serviços COM, COM+, WebServices ou quaisquer
outras tecnologias, o DTC é bastante relevante.
A
Microsoft e empresas terceiras criaram várias aplicações transacionais que
implementam o DTC. Desta forma, tanto o SQL Server 2008 quanto o Oracle 9i
funcionam de maneira distribuída com o DTC.
Como instalar o DTC?
O
Distributed Transaction Coordinator deve ser configurado em todas as maquinas
que envolvam a transação distribuída. Numa aplicação distribuída em 3 camadas,
tanto a maquina com a camada de apresentação, quando a de negócios quanto a
maquina com o banco de dados devem estar devidamente configuradas.
A
Seguir pode-se ver como configurar o DTC em 6 passos, divididos em 2 partes. A configuração vista a seguir
é padrão. Caso existam necessidades específicas de login ou outros detalhes,
verifique a documentação oficial em:
1 – Como configurar o DTC – Distributed Transaction Coordinator?
1.1 – Vá no Painel de Controle,
Administrative Tools, Component Services
Figura 1- Painel de Controle - Component Services
|
1.2 – No Component Services, expanda a
arvore:
Component Services > Computers > My
Computer > Local DTC.
Clique com o botão direito em Local DTC.
Após, clique em propriedades.
Figura 2 - Encontrando o DTC no Component Services
|
1.3 – Na tela de propriedades do Local DTC,
vá para a guia Security
Figura 3 - Abrindo as propriedades do Component Services
|
1.4 – Na
guia Security do Local DTC, Marque as propriedades abaixo:
·
Network DTC Access
·
Cliente and Administration
o
Allow Remote Clients
o
Allow Remote Administration
(não é obrigatório)
·
Transaction Manager
Communication
o
Allow Inbound
o
Allow Outbound
o
Mutual Authentication Required
·
Enable SNA LU 6.2 Transactions
Mantenha a
área de login, DTC Logon Account, com o usuário padrão.
Figura 4 - Configurando o DTC
|
2 – Como liberar o Firewall para o
DTC – Distributed Transaction Coordinator?
Após configurar o DTC é necessária sua
liberação no Firewall de todas as maquinas envolvidas na transação.
2.1 – Vá no Painel de Controle e abra o
Windows Firewall. Clique em ‘Allow a program or feature through Windows
Firewall’
Figura 5 - Abrindo as configurações do Firewall
|
2.2 – Aparecerá um tela com uma lista de
programas. Selecione o ‘Distributed Transaction Coordinator’, conforme a figura
abaixo.
Figura 6 - Criando uma exceção para o uso do DTC no Firewall
|
Muito bom, parabéns.
ResponderExcluirMuito bom. Me ajudou a solucionar um problema de transação.
ResponderExcluirObrigadão!!!!