Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

REST x SOAP : Qual abordagem escolher?

294 views

Published on

Nessa apresentação apresento ambas arquiteturas e mostro que ao invés de escolher entre uma e outra, podemos tirar o que há de melhor em cada e utilizá-las de forma limpa, simples e objetiva.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

REST x SOAP : Qual abordagem escolher?

  1. 1. REST e SOAP: Usar um dos dois ou ambos? PROF. JOÃO GABRIEL LIMA @JGABRIEL_LIMA
  2. 2. João Gabriel Lima • Engenheiro da Computação, especialista em Software e Hardware • Doutorando em Computação Aplicada • Pesquisador em Mineração de dado e Inteligência Computacional • Professor Universitário • IT Hacker, agregando novos conhecimentos todos os dias
  3. 3. Como escolher? Ambas possuem vantagens e desvantagens e fica na mão do desenvolvedor determinar a melhor abordagem para cada caso em particular REST e SOAP: Usar um dos dois ou ambos? – Prof. João Gabriel Lima
  4. 4. Vamos falar de REST • É simples de entender • Pode ser adotado em praticamente qualquer cliente ou servidor com suporte a HTTP/HTTPS • Facilidade no desenvolvimento • Aproveitamento da infraestrutura web • Esforço de aprendizado pequeno REST e SOAP: Usar um dos dois ou ambos? – Prof. João Gabriel Lima
  5. 5. E o SOAP? Baseado em XML, de três formas: • O envelope, que define o conteúdo da mensagem e informa como processá-la; • Um conjunto de regras de codificação para os tipos de dados; • O layout para os procedimentos de chamadas e respostas. REST e SOAP: Usar um dos dois ou ambos? – Prof. João Gabriel Lima
  6. 6. E o SOAP? Esse "envelope" é enviado por meio de (por exemplo) HTTP/HTTPS. E uma RPC (Remote Procedure Call) é executada, e o envelope retorna com as informações do documento XML formatado. REST e SOAP: Usar um dos dois ou ambos? – Prof. João Gabriel Lima
  7. 7. E o SOAP: Vantagem Uma das vantagens é o uso de um método de transporte "genérico". Enquanto que o REST faz uso de HTTP/HTTPS, o SOAP pode usar qualquer meio de transporte existente para enviar sua requisição, desde SMTP até mesmo JMS (Java Messaging Service) REST e SOAP: Usar um dos dois ou ambos? – Prof. João Gabriel Lima
  8. 8. E o SOAP: Desvantagem O uso de XML tem sua natureza prolixa e o tempo necessário para analisar o resultado apresentado. Traz uma carga adicional não encontrada ao usar REST. REST e SOAP: Usar um dos dois ou ambos? – Prof. João Gabriel Lima
  9. 9. SOAP… “Avô das interfaces de serviços web, não deixará de ser usado tão cedo” REST e SOAP: Usar um dos dois ou ambos? – Prof. João Gabriel Lima
  10. 10. REST vs SOAP | REST + SOAP REST e o SOAP conseguem resolver um grande número de problemas e desafios na web, e em muitos casos tanto um como o outro podem ser utilizados para fazer o que querem os desenvolvedores. Ambas as tecnologias podem ser misturadas e combinadas. REST e SOAP: Usar um dos dois ou ambos? – Prof. João Gabriel Lima
  11. 11. REST + SOAP REST é fácil de entender e extremamente acessível porém faltam padrões, e a tecnologia é considerada apenas uma abordagem arquitetural. - SOAP é um padrão da indústria, com protocolos bem definidos e um conjunto de regras bem estabelecidas REST e SOAP: Usar um dos dois ou ambos? – Prof. João Gabriel Lima
  12. 12. Casos onde o REST funciona bem: • Situações em que há limitação de recursos e de largura de banda: • A estrutura de retorno é em qualquer formato definido pelo desenvolvedor e qualquer navegador pode ser usado. • O REST usa o padrão de chamadas GET, PUT, POST e DELETE. O REST também pode usar objetos XMLHttpRequest (a base do velho AJAX) que a maioria dos navegadores modernos suporta. REST e SOAP: Usar um dos dois ou ambos? – Prof. João Gabriel Lima
  13. 13. Casos onde o REST funciona bem: • Operações totalmente sem-estado: se uma operação precisa ser continuada, o REST não será a melhor opção. • Se forem necessárias operações de CRUD stateless (Criar, Ler, Atualizar e Excluir), o REST seria a melhor alternativa. REST e SOAP: Usar um dos dois ou ambos? – Prof. João Gabriel Lima
  14. 14. Casos onde o REST funciona bem: • Situações que exigem cache: se a informação pode ser armazenada em cache, devido à natureza da operação stateless do REST, esse seria um cenário adequado para a tecnologia. REST e SOAP: Usar um dos dois ou ambos? – Prof. João Gabriel Lima
  15. 15. E o SOAP? REST e SOAP: Usar um dos dois ou ambos? – Prof. João Gabriel Lima
  16. 16. E o SOAP? SOAP é bastante maduro e bem definido e vem com uma especificação completa. Já a abordagem REST é apenas isso: uma abordagem. Está totalmente aberta REST e SOAP: Usar um dos dois ou ambos? – Prof. João Gabriel Lima
  17. 17. Casos onde o SOAP funciona bem: • Processamento e chamada assíncronos: se o aplicativo precisa de um nível garantido de confiabilidade e segurança para a troca de mensagens, então o SOAP 1.2 oferece padrões adicionais para esse tipo de operação como por exemplo o WSRM (WS-Reliable Messaging). REST e SOAP: Usar um dos dois ou ambos? – Prof. João Gabriel Lima
  18. 18. Casos onde o SOAP funciona bem: • Contratos formais: se ambos os lados (fornecedor e consumidor) têm que concordar com o formato de intercâmbio de dados, então o SOAP 1.2 fornece especificações rígidas para esse tipo de interação. REST e SOAP: Usar um dos dois ou ambos? – Prof. João Gabriel Lima
  19. 19. Casos onde o SOAP funciona bem: • Operações stateful: para o caso de o aplicativo precisar de informação contextual e gerenciamento de estado com coordenação e segurança, o SOAP 1.2 possui uma especificação adicional em sua estrutura que apoia essa necessidade (segurança, transações, coordenação etc.). • Comparativamente, usar o REST exigiria que os desenvolvedores construíssem uma solução personalizada. REST e SOAP: Usar um dos dois ou ambos? – Prof. João Gabriel Lima
  20. 20. Considerações Cada uma das abordagens tem sua utilidade. Ambas têm problemas nos quesitos de segurança, camadas de transporte etc. a melhor abordagem é a flexibilidade, pois não importa qual seja o problema, no mundo de hoje do desenvolvimento web, conta-se com excelentes resultados ao fazer uso de um desses padrões REST e SOAP: Usar um dos dois ou ambos? – Prof. João Gabriel Lima
  21. 21. Créditos [Mike Rozlog] https://www.infoq.com/br/articles/rest-soap-when-to-use-each [Programming Web Services with SOAP] http://shop.oreilly.com/product/9780596000950.do [RESTful Web Services ] http://shop.oreilly.com/product/9780596529260.do REST e SOAP: Usar um dos dois ou ambos? – Prof. João Gabriel Lima
  22. 22. REST e SOAP: Usar um dos dois ou ambos? PROF. JOÃO GABRIEL LIMA @JGABRIEL_LIMA

×