REST x SOAP : Qual abordagem escolher?

22
REST e SOAP: Usar um dos dois ou ambos? PROF. JOÃO GABRIEL LIMA @JGABRIEL_LIMA

Transcript of REST x SOAP : Qual abordagem escolher?

Page 1: REST x SOAP : Qual abordagem escolher?

RESTeSOAP:Usar umdosdois ou ambos?

PROF.JOÃO GABRIELLIMA

@JGABRIEL_LIMA

Page 2: REST x SOAP : Qual abordagem escolher?

João GabrielLima• Engenheiro daComputação,especialista emSoftwareeHardware

• Doutorando em Computação Aplicada

• Pesquisador emMineração dedadoeInteligência Computacional

• ProfessorUniversitário

• ITHacker,agregando novos conhecimentostodos os dias

Page 3: REST x SOAP : Qual abordagem escolher?

Comoescolher?

Ambas possuem vantagens edesvantagens efica na mão dodesenvolvedor determinar a

melhor abordagem paracada caso emparticular

RESTeSOAP:Usar umdosdois ou ambos?– Prof.João GabrielLima

Page 4: REST x SOAP : Qual abordagem escolher?

Vamos falar deREST• É simplesdeentender

• Pode ser adotado em praticamente qualquer cliente ou servidor comsuporte aHTTP/HTTPS

• Facilidade nodesenvolvimento

• Aproveitamento dainfraestrutura web

• Esforço deaprendizado pequeno

RESTeSOAP:Usar umdosdois ou ambos?– Prof.João GabrielLima

Page 5: REST x SOAP : Qual abordagem escolher?

EoSOAP?Baseado em XML,detrês formas:

• Oenvelope,quedefineoconteúdo damensagem einforma como

processá-la;

• Umconjunto deregras decodificação paraos tipos dedados;

• Olayoutparaos procedimentos dechamadas erespostas.

RESTeSOAP:Usar umdosdois ou ambos?– Prof.João GabrielLima

Page 6: REST x SOAP : Qual abordagem escolher?

EoSOAP?Esse "envelope"é enviado por meio de(por exemplo)HTTP/HTTPS.E

uma RPC(RemoteProcedureCall)é executada,eoenveloperetorna

comasinformações dodocumento XMLformatado.

RESTeSOAP:Usar umdosdois ou ambos?– Prof.João GabrielLima

Page 7: REST x SOAP : Qual abordagem escolher?

EoSOAP:VantagemUmadasvantagens é ouso deummétodo detransporte "genérico".

Enquanto queoRESTfaz uso deHTTP/HTTPS,oSOAPpode usar

qualquer meio detransporte existente paraenviar sua requisição,

desde SMTPaté mesmo JMS(JavaMessagingService)

RESTeSOAP:Usar umdosdois ou ambos?– Prof.João GabrielLima

Page 8: REST x SOAP : Qual abordagem escolher?

EoSOAP:DesvantagemO uso deXMLtemsua natureza prolixa eotemponecessário para

analisar oresultado apresentado.

Traz uma carga adicional não encontrada ao usar REST.

RESTeSOAP:Usar umdosdois ou ambos?– Prof.João GabrielLima

Page 9: REST x SOAP : Qual abordagem escolher?

SOAP…

“Avô dasinterfacesdeserviços web,não deixará deser usado tão

cedo”

RESTeSOAP:Usar umdosdois ou ambos?– Prof.João GabrielLima

Page 10: REST x SOAP : Qual abordagem escolher?

RESTvs SOAP|REST+ SOAPRESTeoSOAPconseguem resolverumgrande número deproblemas

edesafios na web,eem muitos casos tanto umcomo ooutropodem

ser utilizados parafazer oquequerem os desenvolvedores.

Ambas astecnologias podem ser misturadas ecombinadas.

RESTeSOAP:Usar umdosdois ou ambos?– Prof.João GabrielLima

Page 11: REST x SOAP : Qual abordagem escolher?

REST+ SOAPREST é fácil deentender eextremamente acessível porém faltam

padrões,eatecnologia é considerada apenas uma abordagem

arquitetural.

-SOAP é umpadrão daindústria,comprotocolos bem definidos eum

conjunto deregras bem estabelecidas

RESTeSOAP:Usar umdosdois ou ambos?– Prof.João GabrielLima

Page 12: REST x SOAP : Qual abordagem escolher?

Casos onde oRESTfunciona bem:

• Situações em quehá limitação derecursos edelargura debanda:• Aestrutura deretorno é em qualquer formato definido pelodesenvolvedor equalquer navegador pode ser usado.• ORESTusa opadrão dechamadas GET,PUT,POSTeDELETE.ORESTtambém pode usar objetos XMLHttpRequest (abasedovelho AJAX)queamaioria dosnavegadores modernos suporta.

RESTeSOAP:Usar umdosdois ou ambos?– Prof.João GabrielLima

Page 13: REST x SOAP : Qual abordagem escolher?

Casos onde oRESTfunciona bem:

• Operações totalmente sem-estado:seuma operação precisa sercontinuada,oRESTnão será amelhor opção.• Seforem necessárias operações deCRUDstateless(Criar,Ler,Atualizar eExcluir),oRESTseria amelhor alternativa.

RESTeSOAP:Usar umdosdois ou ambos?– Prof.João GabrielLima

Page 14: REST x SOAP : Qual abordagem escolher?

Casos onde oRESTfunciona bem:

• Situações queexigem cache:seainformação pode ser armazenadaem cache,devido à natureza daoperação stateless doREST,esseseria umcenário adequado paraatecnologia.

RESTeSOAP:Usar umdosdois ou ambos?– Prof.João GabrielLima

Page 15: REST x SOAP : Qual abordagem escolher?

EoSOAP?

RESTeSOAP:Usar umdosdois ou ambos?– Prof.João GabrielLima

Page 16: REST x SOAP : Qual abordagem escolher?

EoSOAP?

SOAPé bastante maduro ebem definido evem comumaespecificação completa.Já aabordagem RESTé apenas isso:uma abordagem.Está totalmenteaberta

RESTeSOAP:Usar umdosdois ou ambos?– Prof.João GabrielLima

Page 17: REST x SOAP : Qual abordagem escolher?

Casos onde oSOAPfunciona bem:

• Processamento echamada assíncronos:seoaplicativo precisa deumnível garantido deconfiabilidade esegurança paraatroca demensagens,então oSOAP1.2oferece padrões adicionais paraessetipo deoperação como por exemplo oWSRM(WS-ReliableMessaging).

RESTeSOAP:Usar umdosdois ou ambos?– Prof.João GabrielLima

Page 18: REST x SOAP : Qual abordagem escolher?

Casos onde oSOAPfunciona bem:

• Contratos formais:seambosos lados (fornecedor econsumidor)têm queconcordar comoformato deintercâmbio dedados,então oSOAP1.2fornece especificações rígidas paraesse tipo deinteração.

RESTeSOAP:Usar umdosdois ou ambos?– Prof.João GabrielLima

Page 19: REST x SOAP : Qual abordagem escolher?

Casos onde oSOAPfunciona bem:

• Operações stateful:paraocaso deoaplicativo precisar deinformação contextualegerenciamento deestado comcoordenaçãoesegurança,oSOAP1.2possui uma especificaçãoadicional em suaestrutura queapoia essa necessidade (segurança,transações,coordenação etc.).• Comparativamente,usar oRESTexigiria queos desenvolvedoresconstruíssem uma solução personalizada.

RESTeSOAP:Usar umdosdois ou ambos?– Prof.João GabrielLima

Page 20: REST x SOAP : Qual abordagem escolher?

Considerações

Cada uma dasabordagens temsua utilidade.Ambas têm problemas nos quesitos desegurança,camadas detransporte etc.amelhor abordagem é aflexibilidade,pois não importa qual seja oproblema,nomundo dehoje dodesenvolvimento web,conta-secomexcelentes resultados ao fazer uso deumdesses padrões

RESTeSOAP:Usar umdosdois ou ambos?– Prof.João GabrielLima

Page 21: REST x SOAP : Qual abordagem escolher?

Créditos[MikeRozlog]https://www.infoq.com/br/articles/rest-soap-when-to-use-each

[ProgrammingWebServiceswithSOAP]http://shop.oreilly.com/product/9780596000950.do

[RESTfulWebServices]http://shop.oreilly.com/product/9780596529260.do

RESTeSOAP:Usar umdosdois ou ambos?– Prof.João GabrielLima

Page 22: REST x SOAP : Qual abordagem escolher?

RESTeSOAP:Usar umdosdois ou ambos?

PROF.JOÃO GABRIELLIMA

@JGABRIEL_LIMA