DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da .net Magazine DIGITAL
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!

Suporte transacional com WCF - .Net Magazine 82

É fundamental e indispensável que um projeto de software de qualidade contenha alguns atributos que garantam aos seus usuários maior segurança e confiabilidade, pois um erro de consistência nas informações de um sistema pode em muitas circunstâncias trazer incalculáveis prejuízos.

[fechar]

Você não gostou da qualidade deste conteúdo?

(opcional) Você gostaria de comentar o que não lhe agradou?





.net Magazine 82

[Artigo disponível no Leitor Digital DevMedia. Clique aqui para acessá-lo]

> Clique aqui para ler todos os artigos da .net Magazine 82


Suporte transacional com WCF
Mantendo integridade e consistência de informações


Resumo do DevMan
O Windows Communication Foundation (WCF) é um modelo de programação unificado criado pela Microsoft para facilitar a criação de aplicações empregando os conceitos da arquitetura orientada a serviços (SOA). O WCF permite que desenvolvedores criem aplicações distribuídas e também acrescenta diversos recursos, tal como o suporte transacional. Através de um exemplo de uma aplicação bancária o leitor descobrirá como é simples empregar estes conceitos utilizando o WCF.
    
O artigo inicia com uma breve descrição da infraestrutura utilizada pelo WCF para o suporte a transações, estes conceitos são importantes para contextualizar a respeito do funcionamento da tecnologia. Em seguida será construída uma aplicação de exemplo que empregará os recursos abordados por este artigo. Este projeto consiste em uma aplicação que realiza operações financeiras de saque, depósito, transferência e saldo. A solução é composta por dois projetos, onde o primeiro é um WCF Service Library e o outro Console Application que atuará como cliente do serviço WCF. Neste exemplo será simulada uma situação em que uma transferência será mal sucedida para observar como a infraestrutura transacional do WCF irá de forma totalmente transparente manter a integridade dos dados, retornando ao estado original os dados que foram parcialmente alterados pela operação de transferência.      
MSDTC
O serviço Microsoft Distributed Transactions Coordinator é um componente nativo do Windows que é responsável por coordenar transações envolvendo recursos tais como banco de dados, filas de mensagens (MSMQ), sistema de arquivos etc. Quando se abre uma transação utilizando os recursos do WCF de forma implícita o controle da transação é transferido para o MSDTC que será responsável pelo gerenciamento da transação. O MSDTC para efetuar seu controle transacional utiliza alguns protocolos, tais como OLE-Transactions, XA ou X/Open, WS-Atomic etc. No exemplo será utilizado o OLE-Transactions que é um protocolo desenvolvido pela Microsoft e é recomendado quando se tem um cenário onde toda a infraestrutura é baseada em soluções Microsoft. No caso de um cenário com soluções heterogêneas é necessário adotar outro protocolo tal como XA ou WS-Atomic. O mais interessante aqui é que a tecnologia suporta transações com diversos fabricantes de banco de dados, desta forma é possível ter uma solução distribuída em mais de um servidor, onde informações de um banco de dados Oracle fossem transacionadas com um banco de dados SQL Server, DB2, Sybase, Informix ou qualquer outro que suporte os protocolos utilizados pelo MSDTC de forma totalmente transparente dentro de um serviço WCF.
Transações
Uma transação dentro do universo computacional é definida como uma operação ou uma série de operações que transformam dados de um estado consistente para outro, como uma exclusiva unidade de trabalho. E toda transação deve possuir quatro requerimentos essenciais conhecidos coletivamente como propriedades ACID que é o acrônimo de Atomicidade, Consistência, Isolamento e Durabilidade. A seguir cada uma destas propriedades será descrita:
"
A exibição deste artigo foi interrompida.

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da .net Magazine DIGITAL
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Anderson Santos Gusmão
É analista de sistemas com mais de 10 anos de experiência em desenvolvimento de software. Formado em técnologia da informação no Instituto de Educação Santo André, possui o título MCPD e trabalha na IT Group.
O que você achou deste post?

    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!
Cursos relacionados
Publicidade
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03