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.

Avalie esse artigo

Relevância
Estilo/Redação

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 mensagens dessa discussão
Comentários da comunidade

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

Receber mensagens dessa discussão

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

Receber mensagens dessa discussão

Dê sua opinião
Feedback geral
Bugs
Publicidade
Editorial
Marketing
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2016 C4Media Inc.
Política de privacidade
BT

We notice you’re using an ad blocker

We understand why you use ad blockers. However to keep InfoQ free we need your support. InfoQ will not provide your data to third parties without individual opt-in consent. We only work with advertisers relevant to our readers. Please consider whitelisting us.