REST	e	SOAP:	Usar um	
dos	dois ou ambos?
PROF.	JOÃO GABRIEL	LIMA
@JGABRIEL_LIMA
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
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
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
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
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
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
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
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
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
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
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
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
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
E	o	SOAP?
REST	e	SOAP:	Usar um	dos	dois ou ambos?	– Prof.	João Gabriel	Lima
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
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
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
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
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
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
REST	e	SOAP:	Usar um	
dos	dois ou ambos?
PROF.	JOÃO GABRIEL	LIMA
@JGABRIEL_LIMA

REST x SOAP : Qual abordagem escolher?

  • 1.
    REST e SOAP: Usar um dos dois ouambos? PROF. JOÃO GABRIEL LIMA @JGABRIEL_LIMA
  • 2.
    João Gabriel Lima • Engenheiroda 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.
    Como escolher? Ambas possuem vantagense 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.
    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.
    E o SOAP? Baseado em XML, de trêsformas: • 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.
    E o SOAP? Esse "envelope" é enviadopor 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.
    E o SOAP: Vantagem Uma das vantagens é o usode 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.
    E o SOAP: Desvantagem O uso de XML tem suanatureza 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.
    SOAP… “Avô das interfaces de serviços web, nãodeixará de ser usado tão cedo” REST e SOAP: Usar um dos dois ou ambos? – Prof. João Gabriel Lima
  • 10.
    REST vs SOAP | REST + SOAP REST e o SOAP conseguemresolver 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.
    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.
    Casos onde o REST funcionabem: • 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.
    Casos onde o REST funcionabem: • 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.
    Casos onde o REST funcionabem: • 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.
    E o SOAP? REST e SOAP: Usar um dos dois ouambos? – Prof. João Gabriel Lima
  • 16.
    E o SOAP? SOAP é bastante maduroe 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.
    Casos onde o SOAP funcionabem: • 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.
    Casos onde o SOAP funcionabem: • 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.
    Casos onde o SOAP funcionabem: • 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.
    Considerações Cada uma das abordagenstem 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.
  • 22.
    REST e SOAP: Usar um dos dois ouambos? PROF. JOÃO GABRIEL LIMA @JGABRIEL_LIMA