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

Webservices em PHP e a liberdade da Web

  • 1.
    Webservices em PHPe 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ãocobriremos • 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 umwebservice? • 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 ospadrões de Webservice • SOAP (Service Oriented Architecture Protocol) • REST() • XMLRPC • Outros
  • 9.
    SOAP • Baseado noXML • 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áriodo 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 PHPpara 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 eos frameworks • ZEND Framework; • Kohanna; • Code Igniter; • Cake; • Simfony; • Outros
  • 15.
  • 16.
    E agora oque 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