rest x soap : qual abordagem escolher?
Post on 20-Jan-2017
48 Views
Preview:
TRANSCRIPT
RESTeSOAP:Usar umdosdois ou ambos?
PROF.JOÃO GABRIELLIMA
@JGABRIEL_LIMA
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
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
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
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
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
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
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
SOAP…
“Avô dasinterfacesdeserviços web,não deixará deser usado tão
cedo”
RESTeSOAP:Usar umdosdois ou ambos?– Prof.João GabrielLima
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
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
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
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
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
EoSOAP?
RESTeSOAP:Usar umdosdois ou ambos?– Prof.João GabrielLima
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
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
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
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
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
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
RESTeSOAP:Usar umdosdois ou ambos?
PROF.JOÃO GABRIELLIMA
@JGABRIEL_LIMA
top related