SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Andere mochten auch

Controle do diabetes
Controle do diabetes Controle do diabetes
Controle do diabetes Dessa Reis
 
SQLSat 253 - Por Onde Começar no BigData
SQLSat 253 - Por Onde Começar no BigDataSQLSat 253 - Por Onde Começar no BigData
SQLSat 253 - Por Onde Começar no BigDataDiego Nogare
 
Oasis Rules Hole 2
Oasis Rules Hole 2Oasis Rules Hole 2
Oasis Rules Hole 2dshcweigert
 
Understanding Web Services by software outsourcing company india
Understanding Web Services by software outsourcing company indiaUnderstanding Web Services by software outsourcing company india
Understanding Web Services by software outsourcing company indiaJignesh Aakoliya
 
Organització política espanyola
Organització política espanyolaOrganització política espanyola
Organització política espanyolaciclesuperiorpm
 
[Estácio - IESAM] Automatizando Tarefas com Gulp.js
[Estácio - IESAM] Automatizando Tarefas com Gulp.js[Estácio - IESAM] Automatizando Tarefas com Gulp.js
[Estácio - IESAM] Automatizando Tarefas com Gulp.jsJoão Gabriel Lima
 
Disrupting Conventional Therapies with Digital Therapies
Disrupting Conventional Therapies with Digital TherapiesDisrupting Conventional Therapies with Digital Therapies
Disrupting Conventional Therapies with Digital TherapiesMedullan
 
IDS_Rapport plug-in for Salesforce_success story
IDS_Rapport plug-in for Salesforce_success storyIDS_Rapport plug-in for Salesforce_success story
IDS_Rapport plug-in for Salesforce_success storyMansa Systems
 
Lowering students' anxiety during information skills training with active lea...
Lowering students' anxiety during information skills training with active lea...Lowering students' anxiety during information skills training with active lea...
Lowering students' anxiety during information skills training with active lea...IL Group (CILIP Information Literacy Group)
 

Andere mochten auch (15)

Controle do diabetes
Controle do diabetes Controle do diabetes
Controle do diabetes
 
La Unió Europea
La Unió EuropeaLa Unió Europea
La Unió Europea
 
SQLSat 253 - Por Onde Começar no BigData
SQLSat 253 - Por Onde Começar no BigDataSQLSat 253 - Por Onde Começar no BigData
SQLSat 253 - Por Onde Começar no BigData
 
Oasis Rules Hole 2
Oasis Rules Hole 2Oasis Rules Hole 2
Oasis Rules Hole 2
 
Asia política
Asia políticaAsia política
Asia política
 
Do you speak belbin?
Do you speak belbin?Do you speak belbin?
Do you speak belbin?
 
Understanding Web Services by software outsourcing company india
Understanding Web Services by software outsourcing company indiaUnderstanding Web Services by software outsourcing company india
Understanding Web Services by software outsourcing company india
 
Organització política espanyola
Organització política espanyolaOrganització política espanyola
Organització política espanyola
 
[Estácio - IESAM] Automatizando Tarefas com Gulp.js
[Estácio - IESAM] Automatizando Tarefas com Gulp.js[Estácio - IESAM] Automatizando Tarefas com Gulp.js
[Estácio - IESAM] Automatizando Tarefas com Gulp.js
 
Disrupting Conventional Therapies with Digital Therapies
Disrupting Conventional Therapies with Digital TherapiesDisrupting Conventional Therapies with Digital Therapies
Disrupting Conventional Therapies with Digital Therapies
 
La població
La poblacióLa població
La població
 
IDS_Rapport plug-in for Salesforce_success story
IDS_Rapport plug-in for Salesforce_success storyIDS_Rapport plug-in for Salesforce_success story
IDS_Rapport plug-in for Salesforce_success story
 
Lowering students' anxiety during information skills training with active lea...
Lowering students' anxiety during information skills training with active lea...Lowering students' anxiety during information skills training with active lea...
Lowering students' anxiety during information skills training with active lea...
 
Fitxa islam2016
Fitxa islam2016Fitxa islam2016
Fitxa islam2016
 
L' islam
L' islamL' islam
L' islam
 

Ähnlich wie REST vs SOAP escolha

Uaijug ADF - spring boot - microservice - Introdução
Uaijug ADF - spring boot - microservice - IntroduçãoUaijug ADF - spring boot - microservice - Introdução
Uaijug ADF - spring boot - microservice - IntroduçãoRogerio Fontes
 
Psdc - 2014/01
Psdc - 2014/01Psdc - 2014/01
Psdc - 2014/01Isa Prati
 
Persistência Poliglota, Big Data e NoSQL FISL 15
Persistência Poliglota, Big Data e NoSQL FISL 15Persistência Poliglota, Big Data e NoSQL FISL 15
Persistência Poliglota, Big Data e NoSQL FISL 15Christiano Anderson
 
Big data para programadores convencionais
Big data para programadores convencionaisBig data para programadores convencionais
Big data para programadores convencionaisRoberto Oliveira
 
Modelos NoSQL e a Persistência Poliglota
Modelos NoSQL e a Persistência PoliglotaModelos NoSQL e a Persistência Poliglota
Modelos NoSQL e a Persistência PoliglotaGlaucio Scheibel
 
.Net Community Summit - Construindo APIs REST seguras com o ASP.NET Core - Re...
.Net Community Summit - Construindo APIs REST seguras com o ASP.NET Core - Re....Net Community Summit - Construindo APIs REST seguras com o ASP.NET Core - Re...
.Net Community Summit - Construindo APIs REST seguras com o ASP.NET Core - Re...iMasters
 
Construindo APIs seguras com o ASP.NET Core - .NET Community Summit 2018
Construindo APIs seguras com o ASP.NET Core - .NET Community Summit 2018Construindo APIs seguras com o ASP.NET Core - .NET Community Summit 2018
Construindo APIs seguras com o ASP.NET Core - .NET Community Summit 2018Renato Groff
 
Diferenças entre SOAP e REST
Diferenças entre SOAP e RESTDiferenças entre SOAP e REST
Diferenças entre SOAP e RESTtiagolimas
 
ExpressoBR para Um Milhão (de Usuários)
ExpressoBR para Um Milhão (de Usuários)ExpressoBR para Um Milhão (de Usuários)
ExpressoBR para Um Milhão (de Usuários)Flávio Lisboa
 
Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Marcelo Dieder
 
Cache, Concorrência e Sincronização.
Cache, Concorrência e Sincronização.Cache, Concorrência e Sincronização.
Cache, Concorrência e Sincronização.Thiago Rondon
 
REST vs GraphQL - A batalha das APIs.pdf
REST vs GraphQL - A batalha das APIs.pdfREST vs GraphQL - A batalha das APIs.pdf
REST vs GraphQL - A batalha das APIs.pdfBrunoAlbuquerque864673
 
Xen e CoreOS: solução para data mining com NodeJS e ElasticSearch
Xen e CoreOS: solução para data mining com NodeJS e ElasticSearchXen e CoreOS: solução para data mining com NodeJS e ElasticSearch
Xen e CoreOS: solução para data mining com NodeJS e ElasticSearchBernardo Donadio
 
[LatinoWare 2012] Mini Curso PHP 5.4 + MongoDB
[LatinoWare 2012] Mini Curso PHP 5.4 + MongoDB[LatinoWare 2012] Mini Curso PHP 5.4 + MongoDB
[LatinoWare 2012] Mini Curso PHP 5.4 + MongoDBVinicius de Sá
 

Ähnlich wie REST vs SOAP escolha (20)

Uaijug ADF - spring boot - microservice - Introdução
Uaijug ADF - spring boot - microservice - IntroduçãoUaijug ADF - spring boot - microservice - Introdução
Uaijug ADF - spring boot - microservice - Introdução
 
Psdc - 2014/01
Psdc - 2014/01Psdc - 2014/01
Psdc - 2014/01
 
Rest e soap
Rest e soapRest e soap
Rest e soap
 
Persistência Poliglota, Big Data e NoSQL FISL 15
Persistência Poliglota, Big Data e NoSQL FISL 15Persistência Poliglota, Big Data e NoSQL FISL 15
Persistência Poliglota, Big Data e NoSQL FISL 15
 
Big data para programadores convencionais
Big data para programadores convencionaisBig data para programadores convencionais
Big data para programadores convencionais
 
Modelos NoSQL e a Persistência Poliglota
Modelos NoSQL e a Persistência PoliglotaModelos NoSQL e a Persistência Poliglota
Modelos NoSQL e a Persistência Poliglota
 
.Net Community Summit - Construindo APIs REST seguras com o ASP.NET Core - Re...
.Net Community Summit - Construindo APIs REST seguras com o ASP.NET Core - Re....Net Community Summit - Construindo APIs REST seguras com o ASP.NET Core - Re...
.Net Community Summit - Construindo APIs REST seguras com o ASP.NET Core - Re...
 
Construindo APIs seguras com o ASP.NET Core - .NET Community Summit 2018
Construindo APIs seguras com o ASP.NET Core - .NET Community Summit 2018Construindo APIs seguras com o ASP.NET Core - .NET Community Summit 2018
Construindo APIs seguras com o ASP.NET Core - .NET Community Summit 2018
 
Trabalho final psdc
Trabalho final psdcTrabalho final psdc
Trabalho final psdc
 
XPT Framework
XPT FrameworkXPT Framework
XPT Framework
 
Diferenças entre SOAP e REST
Diferenças entre SOAP e RESTDiferenças entre SOAP e REST
Diferenças entre SOAP e REST
 
ExpressoBR para Um Milhão (de Usuários)
ExpressoBR para Um Milhão (de Usuários)ExpressoBR para Um Milhão (de Usuários)
ExpressoBR para Um Milhão (de Usuários)
 
Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?
 
De 1 a 1.000.00 de usuários
De 1 a 1.000.00 de usuáriosDe 1 a 1.000.00 de usuários
De 1 a 1.000.00 de usuários
 
Cache, Concorrência e Sincronização.
Cache, Concorrência e Sincronização.Cache, Concorrência e Sincronização.
Cache, Concorrência e Sincronização.
 
REST vs GraphQL - A batalha das APIs.pdf
REST vs GraphQL - A batalha das APIs.pdfREST vs GraphQL - A batalha das APIs.pdf
REST vs GraphQL - A batalha das APIs.pdf
 
Postgresql +python
Postgresql +pythonPostgresql +python
Postgresql +python
 
Postgre sql +python
Postgre sql +pythonPostgre sql +python
Postgre sql +python
 
Xen e CoreOS: solução para data mining com NodeJS e ElasticSearch
Xen e CoreOS: solução para data mining com NodeJS e ElasticSearchXen e CoreOS: solução para data mining com NodeJS e ElasticSearch
Xen e CoreOS: solução para data mining com NodeJS e ElasticSearch
 
[LatinoWare 2012] Mini Curso PHP 5.4 + MongoDB
[LatinoWare 2012] Mini Curso PHP 5.4 + MongoDB[LatinoWare 2012] Mini Curso PHP 5.4 + MongoDB
[LatinoWare 2012] Mini Curso PHP 5.4 + MongoDB
 

Mehr von João Gabriel Lima

Deep marketing - Indoor Customer Segmentation
Deep marketing - Indoor Customer SegmentationDeep marketing - Indoor Customer Segmentation
Deep marketing - Indoor Customer SegmentationJoão Gabriel Lima
 
Aplicações de Alto Desempenho com JHipster Full Stack
Aplicações de Alto Desempenho com JHipster Full StackAplicações de Alto Desempenho com JHipster Full Stack
Aplicações de Alto Desempenho com JHipster Full StackJoão Gabriel Lima
 
Realidade aumentada com react native e ARKit
Realidade aumentada com react native e ARKitRealidade aumentada com react native e ARKit
Realidade aumentada com react native e ARKitJoão Gabriel Lima
 
Big data e Inteligência Artificial
Big data e Inteligência ArtificialBig data e Inteligência Artificial
Big data e Inteligência ArtificialJoão Gabriel Lima
 
Mineração de Dados no Weka - Regressão Linear
Mineração de Dados no Weka -  Regressão LinearMineração de Dados no Weka -  Regressão Linear
Mineração de Dados no Weka - Regressão LinearJoão Gabriel Lima
 
Segurança na Internet - Estudos de caso
Segurança na Internet - Estudos de casoSegurança na Internet - Estudos de caso
Segurança na Internet - Estudos de casoJoão Gabriel Lima
 
Segurança na Internet - Google Hacking
Segurança na Internet - Google  HackingSegurança na Internet - Google  Hacking
Segurança na Internet - Google HackingJoão Gabriel Lima
 
Segurança na Internet - Conceitos fundamentais
Segurança na Internet - Conceitos fundamentaisSegurança na Internet - Conceitos fundamentais
Segurança na Internet - Conceitos fundamentaisJoão Gabriel Lima
 
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...João Gabriel Lima
 
Mineração de dados com RapidMiner + WEKA - Clusterização
Mineração de dados com RapidMiner + WEKA - ClusterizaçãoMineração de dados com RapidMiner + WEKA - Clusterização
Mineração de dados com RapidMiner + WEKA - ClusterizaçãoJoão Gabriel Lima
 
Mineração de dados na prática com RapidMiner e Weka
Mineração de dados na prática com RapidMiner e WekaMineração de dados na prática com RapidMiner e Weka
Mineração de dados na prática com RapidMiner e WekaJoão Gabriel Lima
 
Visualizacao de dados - Come to the dark side
Visualizacao de dados - Come to the dark sideVisualizacao de dados - Come to the dark side
Visualizacao de dados - Come to the dark sideJoão Gabriel Lima
 
Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...
Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...
Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...João Gabriel Lima
 
E-trânsito cidadão - IPVA em suas mãos
E-trânsito cidadão - IPVA em suas mãosE-trânsito cidadão - IPVA em suas mãos
E-trânsito cidadão - IPVA em suas mãosJoão Gabriel Lima
 
Hackeando a Internet das Coisas com Javascript
Hackeando a Internet das Coisas com JavascriptHackeando a Internet das Coisas com Javascript
Hackeando a Internet das Coisas com JavascriptJoão Gabriel Lima
 
Mercado de Trabalho em Computação - Perfil Analista de Sistemas e Programador
Mercado de Trabalho em Computação - Perfil Analista de Sistemas e ProgramadorMercado de Trabalho em Computação - Perfil Analista de Sistemas e Programador
Mercado de Trabalho em Computação - Perfil Analista de Sistemas e ProgramadorJoão Gabriel Lima
 
[Fapan] criando aplicações mobile híbridas com ionic framework
[Fapan] criando aplicações mobile híbridas com ionic framework[Fapan] criando aplicações mobile híbridas com ionic framework
[Fapan] criando aplicações mobile híbridas com ionic frameworkJoão Gabriel Lima
 

Mehr von João Gabriel Lima (20)

Cooking with data
Cooking with dataCooking with data
Cooking with data
 
Deep marketing - Indoor Customer Segmentation
Deep marketing - Indoor Customer SegmentationDeep marketing - Indoor Customer Segmentation
Deep marketing - Indoor Customer Segmentation
 
Aplicações de Alto Desempenho com JHipster Full Stack
Aplicações de Alto Desempenho com JHipster Full StackAplicações de Alto Desempenho com JHipster Full Stack
Aplicações de Alto Desempenho com JHipster Full Stack
 
Realidade aumentada com react native e ARKit
Realidade aumentada com react native e ARKitRealidade aumentada com react native e ARKit
Realidade aumentada com react native e ARKit
 
JS - IA
JS - IAJS - IA
JS - IA
 
Big data e Inteligência Artificial
Big data e Inteligência ArtificialBig data e Inteligência Artificial
Big data e Inteligência Artificial
 
Mineração de Dados no Weka - Regressão Linear
Mineração de Dados no Weka -  Regressão LinearMineração de Dados no Weka -  Regressão Linear
Mineração de Dados no Weka - Regressão Linear
 
Segurança na Internet - Estudos de caso
Segurança na Internet - Estudos de casoSegurança na Internet - Estudos de caso
Segurança na Internet - Estudos de caso
 
Segurança na Internet - Google Hacking
Segurança na Internet - Google  HackingSegurança na Internet - Google  Hacking
Segurança na Internet - Google Hacking
 
Segurança na Internet - Conceitos fundamentais
Segurança na Internet - Conceitos fundamentaisSegurança na Internet - Conceitos fundamentais
Segurança na Internet - Conceitos fundamentais
 
Web Machine Learning
Web Machine LearningWeb Machine Learning
Web Machine Learning
 
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...
 
Mineração de dados com RapidMiner + WEKA - Clusterização
Mineração de dados com RapidMiner + WEKA - ClusterizaçãoMineração de dados com RapidMiner + WEKA - Clusterização
Mineração de dados com RapidMiner + WEKA - Clusterização
 
Mineração de dados na prática com RapidMiner e Weka
Mineração de dados na prática com RapidMiner e WekaMineração de dados na prática com RapidMiner e Weka
Mineração de dados na prática com RapidMiner e Weka
 
Visualizacao de dados - Come to the dark side
Visualizacao de dados - Come to the dark sideVisualizacao de dados - Come to the dark side
Visualizacao de dados - Come to the dark side
 
Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...
Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...
Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...
 
E-trânsito cidadão - IPVA em suas mãos
E-trânsito cidadão - IPVA em suas mãosE-trânsito cidadão - IPVA em suas mãos
E-trânsito cidadão - IPVA em suas mãos
 
Hackeando a Internet das Coisas com Javascript
Hackeando a Internet das Coisas com JavascriptHackeando a Internet das Coisas com Javascript
Hackeando a Internet das Coisas com Javascript
 
Mercado de Trabalho em Computação - Perfil Analista de Sistemas e Programador
Mercado de Trabalho em Computação - Perfil Analista de Sistemas e ProgramadorMercado de Trabalho em Computação - Perfil Analista de Sistemas e Programador
Mercado de Trabalho em Computação - Perfil Analista de Sistemas e Programador
 
[Fapan] criando aplicações mobile híbridas com ionic framework
[Fapan] criando aplicações mobile híbridas com ionic framework[Fapan] criando aplicações mobile híbridas com ionic framework
[Fapan] criando aplicações mobile híbridas com ionic framework
 

REST vs SOAP escolha

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