BT

Eric Newcomer sobre a Diferença Entre Transações RESTful vs. Web Services

por Dilip Krishnan , traduzido por Paulo R. C. Siqueira em 24 Mar 2009 |

Eric Newcomer, presidente da OSGi Alliance Enterprise Expert Group e antigo CTO da IONA Technologies, postou uma resposta para a questão “Qual é a diferença entre transações RESTful e transações Web Services?”

Eric prepara o contexto diferenciando transações em transações locais e globais, dizendo que transações locais não são particularmente interessantes já que elas trabalham da mesma forma em ambos os casos.

A questão portanto realmente pertence a transações globais – aquelas que envolvem mais do que um banco de dados, potencialmente em computadores diferentes – já que é ali que as coisas são muito diferentes.

Ele avisa que já que Web services são uma tecnologia, e REST é uma abordagem arquitetural a comparação pode não ser exata. No entanto ele atribui as diferenças em implementações de transações às diferentes suposições decorrentes da infraestrutura básica, especialmente relacionadas ao acesso distribuido a dados compartilhados, ou estado compartilhado.

Transações Web services ([…]WS-Transactions[…]) tem intenção de ser compatíveis com infraestrutura de TP [Transaction Processing] existentes. A abordagem REST, por outro lado, evolui da Web.

Como resultado ele diz que as diferenças chave entre os dois tipos de transações são baseadas em:

1. Como as transações são coordenadas entre sistemas participantes

Para compatibilidade com mecanismos de estado compartilhado existentes, transações Web services propagam o contexto transacional compartilhado entre participantes em uma transação global de forma que o acesso de cada participante ao estado compartilhado possa ser coordenado com os outros. Transações baseadas em REST assumem que apenas uma parte de uma transação global acessa o estado compartilhado em um determinado momento, algo como a passagem de um token. […] Eles são responsáveis apenas em saber o que têm que fazer quando eles recebem o estado compartilhado – quando é a vez deles.

2. Como os sistemas lidam com falha e recuperação de transações

Sistemas RESTful requerem um design muito diferente para tratamento de falha e recuperação, já que isso não pode ser automatizado, a escolha de um nível adicional de design e código de aplicação mostra resultado em um sistema mais bem situado para as pressuposições da Web.

Tenha certeza de verificar o artigo original.

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2013 C4Media Inc.
Política de privacidade
BT