Pergunta

Há uma controvérsia que vejo usando as APIs da Web (serviço RESTful) para acessar a infra -tração remota. Eu ficaria grato, se você pudesse comentar. A recomendação vinda do artigo "RESTful Web Services vs." Big "Web Services: tomando a decisão arquitetônica certa" 1] é usar as APIs da Web em vez de integração ad hoc (a la 'mashup) e prototipagem rápida. Estudos empíricos feitos em [2] mostram que essas recomendações são seguidas em cenário de reutilizar a informação e a funcionalidade existentes. No entanto, reutilizar a infraestrutura com APIs da Web não se encaixa bem na tarefa de integração ad hoc. Minha impressão é que a infraestrutura geralmente é reutilizada em cenários em que os recursos que não escalam bem para o problema que desejo resolver: grande número de dados, alta largura de banda e alta concorrência. No entanto, a Amazon fornece acesso remoto à sua infraestrutura (espaço de armazenamento, fila de mensagens), ambos através de:

  • Serviços da Web de sabão clássico (os chamados grandes serviços da Web) e
  • Serviços da Web Restful Light (a chamada Web APIs).

Embora não haja nada escrito se os clientes (descritos em estudos de caso de serviços da Web da Amazon) empregam grandes serviços da Web ou APIs da Web, o fato de a Amazon fornecer acesso à sua infra -tração na forma de APIs da Web como alternativa deve ser significativa.

Você sabe qual pode ser a motivação deles? Você conhece algum caso em que as pessoas reutilizem a infra-tração apenas para prototipagem rápida? Ou talvez para teste? Em outras palavras, se eu gostaria de reutilizar a infraestrutura oferecida pela Amazon, qual estilo da API devo usar sabão ou descansar em que exemplo situações?

EDIT: Nesse caso, como infraestrutura, eu quis dizer: espaço de armazenamento, energia computacional, largura de banda da Internet. Assim, me pergunto se esses recursos são reutilizados na integração ad hoc.


  1. Cesare Pautasso, Olaf Zimmermann, Frank Leymann, RESTful Web Services vs. "Big" Web Services: tomando a decisão arquitetônica correta, pp. 805-814, Jinpeng Huai, Robin Chen, Hsiao-Wuen Hon, Yunhao Liu, Weiyy MA, Andrew Tomkins, Xiaodong Zhang (ed.), Anais da 17ª Conferência Internacional World Wide Web, ACM Press, Pequim, China, abril de 2008.

  2. Hartmann, Bjorn & Doorley, Scott & Klemmer, Scott R., Hacking, esmagamento, colagem: compreendendo o design oportunista, IEEE Computação difundida , vol. 7, não. 3, 46-54 (2008).

Foi útil?

Solução

A chave para entender qual versão usar está na compreensão de uma coisa - se você precisar executar operações complicadas na Web com hierarquias de objetos profundamente incorporadas, é efetivamente forçado a usar serviços da Web. O REST é excepcionalmente capaz quando se trata de executar operações simples, mas operações complexas rompem sua missão.

Normalmente, gosto de prever sistemas RESTful como sendo aqueles que posso testar apenas invocando um comando através da barra de comando do navegador. As aplicações RESTful são realmente fáceis de testar e geralmente são muito adequadas para testes por meio de zombaria.

Outras dicas

Acho que quando as pessoas falam sobre alavancar a infraestrutura existente com serviços da Web RESTful, eles significam que podem usar as coisas existentes projetadas para a Web, em vez de ter que usar o software criado especificamente para serviços da Web. Por exemplo, se eu tiver um serviço da Web usando REST, posso aproveitar coisas como proxies de cache HTTP, onde obter a funcionalidade equivalente com sabão, eu precisaria de algo especializado.

O descanso é infinitamente mais fácil de usar do que o sabão. FWIW, o Google não usa mais sabão, está tudo descansado.

A única vantagem para o sabão é que você obtenha objetos para usar imediatamente. Com o descanso, você precisa de uma estrutura, como Jax-Rs, para criar esses objetos para você ou analisá-los manualmente.

Outra grande vantagem do descanso é que você pode realmente ver as solicitações em seus logs de acesso. A maioria das solicitações de sabão posta exatamente o mesmo terminal, por isso é mais difícil determinar o que você estava tentando fazer. Por outro lado, o descanso normalmente publica para pontos de extremidade específicos, para que você possa atingi-los no seu navegador da web, sem a necessidade de um aplicativo sofisticado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top