SlideShare uma empresa Scribd logo
1 de 18
Webservices em PHP e a
liberdade da web
Uma palestra descansada e limpa
com sabão!
Quem sou eu
• Mantenedor do PHP Rocks
(Offline);
• Membro do Conselho Editorial da
PHP Review;
• Analista/Desenvolvedor Sênior na
Atos Origin
• Bebedor de Cerveja Convicto
• Mergulhador (Divemaster/Padi)
Agenda
• O que é webservice?
• Porque usar webservices?
• Quando usar webservices?
• Quais são os padrões de webservices?
• SOAP?
• REST?
• RESTFUL.
• O suporte do PHP para os padrões de webservices?
• Os frameworks e os webservices.
O que não cobriremos
• Essa apresentação não trará código funcional;
• Esta apresentação não visa alterar estilos de
codificação, mas atitudes;
• Para melhor entender essa palestra é
necessário conhecer o básico sobre HTTP
• Não estamos vendendo conceitos ou
produtos, então relaxem.
O que é um webservice
• Um webservice é um serviço fornecido
utilizando o protocolo HTTP;
• Fornece uma interface comum para diferentes
tipos de operações;
• Facilita a comunicação entre plataformas
diferentes
• Serve como comunicação entre máquinas, e
como comunicação direta para interface.
Porque usar webservices.
• Porque é legal.
• Porque já usa e nem sabe!
• Porque isso pode resolver problemas de
comunicação inter-sistemas;
• Isso reduz as buscas malditas por cURL;
• Facilita o seu controle sobre a sua lógica de negócio
mesmo com dados de fonte diferentes (sistemas
diferentes);
• Porque você estará usando um padrão da indústria;
Quando usar um webservice?
• Quando você precisa de uma interface comum
para muitas aplicações;
• Quando você está usando uma aplicação local
que pega dados diretos da Web;
• Quando você de operações sem conexão
direta ao seu banco de dados;
• Quando você tenta acessar informações de
outros servidores de aplica
Quais são os padrões de Webservice
• SOAP (Service Oriented Architecture Protocol)
• REST()
• XMLRPC
• Outros
SOAP
• Baseado no XML
• Utiliza-se de um arquivo WSDL para definir os
métodos
• Retorna uma quantidade muito grande de
informações descritivas
• É um padrão de webservice utilizado por
muitos frameworks (.Net framework SQL
Server);
SOAP Continuação
• É mais recomendado para comunicação entre
máquinas;
• Não é muito humanamente legível;
• Consome muito mais tráfego que REST;
REST
• REST não é RESTFUL, RESTFUL é REST
(especificação);
• REST pode retornar vários tipos de dados
(texto, imagem, zip etc.);
• Você pode fazer uma interface com o quê
você quiser (XML, JSON, STRING
Customizada);
• Métodos (GET, POST, PUT e DELETE)
RESTFUL
• Ao contrário do REST, aqui a forma da URL
importa;
• POST = inserir (POST /usuario);
• PUT = update (/usuario/username);
• DELETE = delete (/usuario/username);
• GET = SELECT BUSCAR (/usuario?q=);
• GET = SELECT BUSCAR (/usuario/username);
• Segue todos os padrões de requisição do REST;
Suporte do PHP para Webservice
• PHP é uma linguagem naturalmente utilizada
na web (criada para isso)
• Suporte nativo para REST, SOAP e XMLRPC
• Tanto para servidor para cliente
• Gera o WSDL automaticamente
• Trata o método http para fazer a sua
requisição
Os webservices e os frameworks
• ZEND Framework;
• Kohanna;
• Code Igniter;
• Cake;
• Simfony;
• Outros
Perguntas
E agora o que fazer?
• Estudar o RFC de HTTP;
• Começar a utilizar Webservices;
• Ler sobre os tipos de webservices;
• Sempre twitar #chupaivo
Contatos
• Email: alexandretaz[at]gmail[dot]com
• Twitter: @alexandretaz
• Blog: http://www.phprocks.com.br (Volta essa
semana JURO)
• Leia-me: http://www.phpreview.com.br
Webservices em PHP e a liberdade da Web

Mais conteúdo relacionado

Mais procurados

SaaS - RubyMastersConf.com.br
SaaS - RubyMastersConf.com.brSaaS - RubyMastersConf.com.br
SaaS - RubyMastersConf.com.brJuan Maiz
 
Web Services Xml
Web Services XmlWeb Services Xml
Web Services XmlUFMG
 
Gerenciamento de Redes com Zabbix
Gerenciamento de Redes com ZabbixGerenciamento de Redes com Zabbix
Gerenciamento de Redes com ZabbixAndré Déo
 
Técnicas de Programação para a Web
Técnicas de Programação para a WebTécnicas de Programação para a Web
Técnicas de Programação para a WebLuiz Cláudio Silva
 
JBoss-WildFly - Avançado
JBoss-WildFly - AvançadoJBoss-WildFly - Avançado
JBoss-WildFly - AvançadoAdriano Schmidt
 
Zabbix, monitorando ambientes de banco de dados.
Zabbix, monitorando ambientes de banco de dados.Zabbix, monitorando ambientes de banco de dados.
Zabbix, monitorando ambientes de banco de dados.Samuel Dos Santos Tolentino
 
Introdução ao Rails (Linguagil)
Introdução ao Rails (Linguagil)Introdução ao Rails (Linguagil)
Introdução ao Rails (Linguagil)Daniel Lopes
 
WildFly Avançado - TDC Floripa 2015
WildFly Avançado - TDC Floripa 2015WildFly Avançado - TDC Floripa 2015
WildFly Avançado - TDC Floripa 2015Adriano Schmidt
 

Mais procurados (10)

REST and JEE
REST and JEEREST and JEE
REST and JEE
 
SaaS - RubyMastersConf.com.br
SaaS - RubyMastersConf.com.brSaaS - RubyMastersConf.com.br
SaaS - RubyMastersConf.com.br
 
Web Services Xml
Web Services XmlWeb Services Xml
Web Services Xml
 
Gerenciamento de Redes com Zabbix
Gerenciamento de Redes com ZabbixGerenciamento de Redes com Zabbix
Gerenciamento de Redes com Zabbix
 
Técnicas de Programação para a Web
Técnicas de Programação para a WebTécnicas de Programação para a Web
Técnicas de Programação para a Web
 
JBoss-WildFly - Avançado
JBoss-WildFly - AvançadoJBoss-WildFly - Avançado
JBoss-WildFly - Avançado
 
Zabbix, monitorando ambientes de banco de dados.
Zabbix, monitorando ambientes de banco de dados.Zabbix, monitorando ambientes de banco de dados.
Zabbix, monitorando ambientes de banco de dados.
 
Introdução ao Rails (Linguagil)
Introdução ao Rails (Linguagil)Introdução ao Rails (Linguagil)
Introdução ao Rails (Linguagil)
 
Rails asservice
Rails asserviceRails asservice
Rails asservice
 
WildFly Avançado - TDC Floripa 2015
WildFly Avançado - TDC Floripa 2015WildFly Avançado - TDC Floripa 2015
WildFly Avançado - TDC Floripa 2015
 

Semelhante a Webservices em PHP e a liberdade da Web

Introdução ao ASP .NET Web API
Introdução ao ASP .NET Web APIIntrodução ao ASP .NET Web API
Introdução ao ASP .NET Web APIVinicius Mussak
 
Psdc - 2014/01
Psdc - 2014/01Psdc - 2014/01
Psdc - 2014/01Isa Prati
 
AspNet 5 & Redis - Escalando sua performance
AspNet 5 & Redis - Escalando sua performanceAspNet 5 & Redis - Escalando sua performance
AspNet 5 & Redis - Escalando sua performanceJosé Roberto Araújo
 
Conhecendo o Novo REST Framework
Conhecendo o Novo REST FrameworkConhecendo o Novo REST Framework
Conhecendo o Novo REST FrameworkMario Guedes
 
Minicurso - Banco de Dados NoSQL com .Net Core
Minicurso - Banco de Dados NoSQL com .Net CoreMinicurso - Banco de Dados NoSQL com .Net Core
Minicurso - Banco de Dados NoSQL com .Net CoreBruno Roldão
 
Arquiteturas SOA, WOA e REST
Arquiteturas SOA, WOA e RESTArquiteturas SOA, WOA e REST
Arquiteturas SOA, WOA e RESTlucasbarsand
 
Workshop do Bem: O mundo das APIs
Workshop do Bem: O mundo das APIsWorkshop do Bem: O mundo das APIs
Workshop do Bem: O mundo das APIsHeider Lopes
 
O MUNDO DAS APIS OTIMIZANDO A INTEGRAÇÃO DE SISTEMAS
O MUNDO DAS APIS OTIMIZANDO A INTEGRAÇÃO DE SISTEMASO MUNDO DAS APIS OTIMIZANDO A INTEGRAÇÃO DE SISTEMAS
O MUNDO DAS APIS OTIMIZANDO A INTEGRAÇÃO DE SISTEMASHeider Lopes
 
PHP RESTful Web Services - PHPConf'09
PHP RESTful Web Services - PHPConf'09PHP RESTful Web Services - PHPConf'09
PHP RESTful Web Services - PHPConf'09Felipe Ribeiro
 
JustJava 2005: Web Services em Java com o JWSDP 1.5
JustJava 2005: Web Services em Java com o JWSDP 1.5JustJava 2005: Web Services em Java com o JWSDP 1.5
JustJava 2005: Web Services em Java com o JWSDP 1.5Helder da Rocha
 
Introdução à Servlets e JSP
Introdução à Servlets e JSPIntrodução à Servlets e JSP
Introdução à Servlets e JSPledsifes
 
Desenvolvemos para web?
Desenvolvemos para web?Desenvolvemos para web?
Desenvolvemos para web?Luis Vendrame
 
JBoss Fuse Service Works - O Fuse além da integração - PT-BR
JBoss Fuse Service Works - O Fuse além da integração - PT-BRJBoss Fuse Service Works - O Fuse além da integração - PT-BR
JBoss Fuse Service Works - O Fuse além da integração - PT-BRElvis Rocha
 
SQL Server Heterogêneo: SQL Server + BigData
SQL Server Heterogêneo: SQL Server + BigDataSQL Server Heterogêneo: SQL Server + BigData
SQL Server Heterogêneo: SQL Server + BigDataRodrigo Dornel
 
Soa – Woa Rest Arquiteturas
Soa – Woa   Rest ArquiteturasSoa – Woa   Rest Arquiteturas
Soa – Woa Rest Arquiteturasrafaslide
 

Semelhante a Webservices em PHP e a liberdade da Web (20)

Rest
RestRest
Rest
 
Introdução ao ASP .NET Web API
Introdução ao ASP .NET Web APIIntrodução ao ASP .NET Web API
Introdução ao ASP .NET Web API
 
Psdc - 2014/01
Psdc - 2014/01Psdc - 2014/01
Psdc - 2014/01
 
AspNet 5 & Redis - Escalando sua performance
AspNet 5 & Redis - Escalando sua performanceAspNet 5 & Redis - Escalando sua performance
AspNet 5 & Redis - Escalando sua performance
 
Conhecendo o Novo REST Framework
Conhecendo o Novo REST FrameworkConhecendo o Novo REST Framework
Conhecendo o Novo REST Framework
 
Minicurso - Banco de Dados NoSQL com .Net Core
Minicurso - Banco de Dados NoSQL com .Net CoreMinicurso - Banco de Dados NoSQL com .Net Core
Minicurso - Banco de Dados NoSQL com .Net Core
 
REST com Python
REST com PythonREST com Python
REST com Python
 
A Linguagem Php
A Linguagem PhpA Linguagem Php
A Linguagem Php
 
Arquiteturas SOA, WOA e REST
Arquiteturas SOA, WOA e RESTArquiteturas SOA, WOA e REST
Arquiteturas SOA, WOA e REST
 
Workshop do Bem: O mundo das APIs
Workshop do Bem: O mundo das APIsWorkshop do Bem: O mundo das APIs
Workshop do Bem: O mundo das APIs
 
O MUNDO DAS APIS OTIMIZANDO A INTEGRAÇÃO DE SISTEMAS
O MUNDO DAS APIS OTIMIZANDO A INTEGRAÇÃO DE SISTEMASO MUNDO DAS APIS OTIMIZANDO A INTEGRAÇÃO DE SISTEMAS
O MUNDO DAS APIS OTIMIZANDO A INTEGRAÇÃO DE SISTEMAS
 
PHP RESTful Web Services - PHPConf'09
PHP RESTful Web Services - PHPConf'09PHP RESTful Web Services - PHPConf'09
PHP RESTful Web Services - PHPConf'09
 
Web Services
Web ServicesWeb Services
Web Services
 
JustJava 2005: Web Services em Java com o JWSDP 1.5
JustJava 2005: Web Services em Java com o JWSDP 1.5JustJava 2005: Web Services em Java com o JWSDP 1.5
JustJava 2005: Web Services em Java com o JWSDP 1.5
 
Introdução à Servlets e JSP
Introdução à Servlets e JSPIntrodução à Servlets e JSP
Introdução à Servlets e JSP
 
Desenvolvemos para web?
Desenvolvemos para web?Desenvolvemos para web?
Desenvolvemos para web?
 
JBoss Fuse Service Works - O Fuse além da integração - PT-BR
JBoss Fuse Service Works - O Fuse além da integração - PT-BRJBoss Fuse Service Works - O Fuse além da integração - PT-BR
JBoss Fuse Service Works - O Fuse além da integração - PT-BR
 
Web service
Web serviceWeb service
Web service
 
SQL Server Heterogêneo: SQL Server + BigData
SQL Server Heterogêneo: SQL Server + BigDataSQL Server Heterogêneo: SQL Server + BigData
SQL Server Heterogêneo: SQL Server + BigData
 
Soa – Woa Rest Arquiteturas
Soa – Woa   Rest ArquiteturasSoa – Woa   Rest Arquiteturas
Soa – Woa Rest Arquiteturas
 

Mais de Alexandre Andrade

Apresentacao festival Agile Trends - Errando e aprendendo frequentemente
Apresentacao festival Agile Trends - Errando e aprendendo frequentementeApresentacao festival Agile Trends - Errando e aprendendo frequentemente
Apresentacao festival Agile Trends - Errando e aprendendo frequentementeAlexandre Andrade
 
Seja um júnior não seja um sobrinho
Seja um júnior não seja um sobrinhoSeja um júnior não seja um sobrinho
Seja um júnior não seja um sobrinhoAlexandre Andrade
 
Desenvolvendo Aplicações Web compatíveis com Celulares
Desenvolvendo Aplicações Web compatíveis com CelularesDesenvolvendo Aplicações Web compatíveis com Celulares
Desenvolvendo Aplicações Web compatíveis com CelularesAlexandre Andrade
 
Usando MVC para agilizar o desenvolvimento
Usando MVC para agilizar o desenvolvimentoUsando MVC para agilizar o desenvolvimento
Usando MVC para agilizar o desenvolvimentoAlexandre Andrade
 

Mais de Alexandre Andrade (8)

Apresentacao festival Agile Trends - Errando e aprendendo frequentemente
Apresentacao festival Agile Trends - Errando e aprendendo frequentementeApresentacao festival Agile Trends - Errando e aprendendo frequentemente
Apresentacao festival Agile Trends - Errando e aprendendo frequentemente
 
Desenvolver é...
Desenvolver é...Desenvolver é...
Desenvolver é...
 
Microframeworksphp
MicroframeworksphpMicroframeworksphp
Microframeworksphp
 
Porque PHP?
Porque PHP?Porque PHP?
Porque PHP?
 
O Bushidô do PHP
O Bushidô do PHPO Bushidô do PHP
O Bushidô do PHP
 
Seja um júnior não seja um sobrinho
Seja um júnior não seja um sobrinhoSeja um júnior não seja um sobrinho
Seja um júnior não seja um sobrinho
 
Desenvolvendo Aplicações Web compatíveis com Celulares
Desenvolvendo Aplicações Web compatíveis com CelularesDesenvolvendo Aplicações Web compatíveis com Celulares
Desenvolvendo Aplicações Web compatíveis com Celulares
 
Usando MVC para agilizar o desenvolvimento
Usando MVC para agilizar o desenvolvimentoUsando MVC para agilizar o desenvolvimento
Usando MVC para agilizar o desenvolvimento
 

Webservices em PHP e a liberdade da Web

  • 1. Webservices em PHP e a liberdade da web Uma palestra descansada e limpa com sabão!
  • 2. Quem sou eu • Mantenedor do PHP Rocks (Offline); • Membro do Conselho Editorial da PHP Review; • Analista/Desenvolvedor Sênior na Atos Origin • Bebedor de Cerveja Convicto • Mergulhador (Divemaster/Padi)
  • 3. Agenda • O que é webservice? • Porque usar webservices? • Quando usar webservices? • Quais são os padrões de webservices? • SOAP? • REST? • RESTFUL. • O suporte do PHP para os padrões de webservices? • Os frameworks e os webservices.
  • 4. O que não cobriremos • Essa apresentação não trará código funcional; • Esta apresentação não visa alterar estilos de codificação, mas atitudes; • Para melhor entender essa palestra é necessário conhecer o básico sobre HTTP • Não estamos vendendo conceitos ou produtos, então relaxem.
  • 5. O que é um webservice • Um webservice é um serviço fornecido utilizando o protocolo HTTP; • Fornece uma interface comum para diferentes tipos de operações; • Facilita a comunicação entre plataformas diferentes • Serve como comunicação entre máquinas, e como comunicação direta para interface.
  • 6. Porque usar webservices. • Porque é legal. • Porque já usa e nem sabe! • Porque isso pode resolver problemas de comunicação inter-sistemas; • Isso reduz as buscas malditas por cURL; • Facilita o seu controle sobre a sua lógica de negócio mesmo com dados de fonte diferentes (sistemas diferentes); • Porque você estará usando um padrão da indústria;
  • 7. Quando usar um webservice? • Quando você precisa de uma interface comum para muitas aplicações; • Quando você está usando uma aplicação local que pega dados diretos da Web; • Quando você de operações sem conexão direta ao seu banco de dados; • Quando você tenta acessar informações de outros servidores de aplica
  • 8. Quais são os padrões de Webservice • SOAP (Service Oriented Architecture Protocol) • REST() • XMLRPC • Outros
  • 9. SOAP • Baseado no XML • Utiliza-se de um arquivo WSDL para definir os métodos • Retorna uma quantidade muito grande de informações descritivas • É um padrão de webservice utilizado por muitos frameworks (.Net framework SQL Server);
  • 10. SOAP Continuação • É mais recomendado para comunicação entre máquinas; • Não é muito humanamente legível; • Consome muito mais tráfego que REST;
  • 11. REST • REST não é RESTFUL, RESTFUL é REST (especificação); • REST pode retornar vários tipos de dados (texto, imagem, zip etc.); • Você pode fazer uma interface com o quê você quiser (XML, JSON, STRING Customizada); • Métodos (GET, POST, PUT e DELETE)
  • 12. RESTFUL • Ao contrário do REST, aqui a forma da URL importa; • POST = inserir (POST /usuario); • PUT = update (/usuario/username); • DELETE = delete (/usuario/username); • GET = SELECT BUSCAR (/usuario?q=); • GET = SELECT BUSCAR (/usuario/username); • Segue todos os padrões de requisição do REST;
  • 13. Suporte do PHP para Webservice • PHP é uma linguagem naturalmente utilizada na web (criada para isso) • Suporte nativo para REST, SOAP e XMLRPC • Tanto para servidor para cliente • Gera o WSDL automaticamente • Trata o método http para fazer a sua requisição
  • 14. Os webservices e os frameworks • ZEND Framework; • Kohanna; • Code Igniter; • Cake; • Simfony; • Outros
  • 16. E agora o que fazer? • Estudar o RFC de HTTP; • Começar a utilizar Webservices; • Ler sobre os tipos de webservices; • Sempre twitar #chupaivo
  • 17. Contatos • Email: alexandretaz[at]gmail[dot]com • Twitter: @alexandretaz • Blog: http://www.phprocks.com.br (Volta essa semana JURO) • Leia-me: http://www.phpreview.com.br