BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Eric Newcomer sobre a Diferença Entre Transações RESTful vs. Web Services

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

Favoritos

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

Conteúdo educacional

BT